@26lights/orcha 0.42.147 → 0.42.148

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.cjs.js CHANGED
@@ -55,4 +55,4 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
55
55
  * vue-color-kit v1.0.6
56
56
  * (c) 2023
57
57
  * @license MIT
58
- */function Bo(t){let e={r:0,g:0,b:0,a:1};/#/.test(t)?e=$fe(t):/rgb/.test(t)?e=pp(t):typeof t=="string"?e=pp(`rgba(${t})`):Object.prototype.toString.call(t)==="[object Object]"&&(e=t);const{r:n,g:o,b:i,a:s}=e,{h:a,s:l,v:c}=Mfe(e);return{r:n,g:o,b:i,a:s===void 0?1:s,h:a,s:l,v:c}}function od(t){const e=document.createElement("canvas"),n=e.getContext("2d"),o=t*2;return e.width=o,e.height=o,n.fillStyle="#ffffff",n.fillRect(0,0,o,o),n.fillStyle="#ccd5db",n.fillRect(0,0,t,t),n.fillRect(t,t,t,t),e}function Kc(t,e,n,o,i,s){const a=t==="l",l=e.createLinearGradient(0,0,a?n:0,a?0:o);l.addColorStop(.01,i),l.addColorStop(.99,s),e.fillStyle=l,e.fillRect(0,0,n,o)}function Dfe({r:t,g:e,b:n},o){const i=a=>("0"+Number(a).toString(16)).slice(-2),s=`#${i(t)}${i(e)}${i(n)}`;return o?s.toUpperCase():s}function $fe(t){t=t.slice(1);const e=n=>parseInt(n,16)||0;return{r:e(t.slice(0,2)),g:e(t.slice(2,4)),b:e(t.slice(4,6))}}function pp(t){return typeof t=="string"?(t=(/rgba?\((.*?)\)/.exec(t)||["","0,0,0,1"])[1].split(","),{r:Number(t[0])||0,g:Number(t[1])||0,b:Number(t[2])||0,a:Number(t[3]?t[3]:1)}):t}function Mfe({r:t,g:e,b:n}){t=t/255,e=e/255,n=n/255;const o=Math.max(t,e,n),i=Math.min(t,e,n),s=o-i;let a=0;o===i?a=0:o===t?e>=n?a=60*(e-n)/s:a=60*(e-n)/s+360:o===e?a=60*(n-t)/s+120:o===n&&(a=60*(t-e)/s+240),a=Math.floor(a);let l=parseFloat((o===0?0:1-i/o).toFixed(2)),c=parseFloat(o.toFixed(2));return{h:a,s:l,v:c}}var rd=r.defineComponent({props:{color:{type:String,default:"#000000"},hsv:{type:Object,default:null},size:{type:Number,default:152}},emits:["selectSaturation"],data(){return{slideSaturationStyle:{}}},mounted(){this.renderColor(),this.renderSlide()},methods:{renderColor(){const t=this.$refs.canvasSaturation,e=this.size,n=t.getContext("2d");t.width=e,t.height=e,n.fillStyle=this.color,n.fillRect(0,0,e,e),Kc("l",n,e,e,"#FFFFFF","rgba(255,255,255,0)"),Kc("p",n,e,e,"rgba(0,0,0,0)","#000000")},renderSlide(){this.slideSaturationStyle={left:this.hsv.s*this.size-5+"px",top:(1-this.hsv.v)*this.size-5+"px"}},selectSaturation(t){const{top:e,left:n}=this.$el.getBoundingClientRect(),o=t.target.getContext("2d"),i=a=>{let l=a.clientX-n,c=a.clientY-e;l<0&&(l=0),c<0&&(c=0),l>this.size&&(l=this.size),c>this.size&&(c=this.size),this.slideSaturationStyle={left:l-5+"px",top:c-5+"px"};const u=o.getImageData(Math.min(l,this.size-1),Math.min(c,this.size-1),1,1),[d,f,p]=u.data;this.$emit("selectSaturation",{r:d,g:f,b:p})};i(t);const s=()=>{document.removeEventListener("mousemove",i),document.removeEventListener("mouseup",s)};document.addEventListener("mousemove",i),document.addEventListener("mouseup",s)}}});const Bfe={ref:"canvasSaturation"};function Ofe(t,e,n,o,i,s){return r.openBlock(),r.createBlock("div",{class:"saturation",onMousedown:e[1]||(e[1]=r.withModifiers((...a)=>t.selectSaturation&&t.selectSaturation(...a),["prevent","stop"]))},[r.createVNode("canvas",Bfe,null,512),r.createVNode("div",{style:t.slideSaturationStyle,class:"slide"},null,4)],32)}rd.render=Ofe;rd.__file="src/color/Saturation.vue";var id=r.defineComponent({props:{hsv:{type:Object,default:null},width:{type:Number,default:15},height:{type:Number,default:152}},emits:["selectHue"],data(){return{slideHueStyle:{}}},mounted(){this.renderColor(),this.renderSlide()},methods:{renderColor(){const t=this.$refs.canvasHue,e=this.width,n=this.height,o=t.getContext("2d");t.width=e,t.height=n;const i=o.createLinearGradient(0,0,0,n);i.addColorStop(0,"#FF0000"),i.addColorStop(.17*1,"#FF00FF"),i.addColorStop(.17*2,"#0000FF"),i.addColorStop(.17*3,"#00FFFF"),i.addColorStop(.17*4,"#00FF00"),i.addColorStop(.17*5,"#FFFF00"),i.addColorStop(1,"#FF0000"),o.fillStyle=i,o.fillRect(0,0,e,n)},renderSlide(){this.slideHueStyle={top:(1-this.hsv.h/360)*this.height-2+"px"}},selectHue(t){const{top:e}=this.$el.getBoundingClientRect(),n=t.target.getContext("2d"),o=s=>{let a=s.clientY-e;a<0&&(a=0),a>this.height&&(a=this.height),this.slideHueStyle={top:a-2+"px"};const l=n.getImageData(0,Math.min(a,this.height-1),1,1),[c,u,d]=l.data;this.$emit("selectHue",{r:c,g:u,b:d})};o(t);const i=()=>{document.removeEventListener("mousemove",o),document.removeEventListener("mouseup",i)};document.addEventListener("mousemove",o),document.addEventListener("mouseup",i)}}});const Lfe={ref:"canvasHue"};function Ife(t,e,n,o,i,s){return r.openBlock(),r.createBlock("div",{class:"hue",onMousedown:e[1]||(e[1]=r.withModifiers((...a)=>t.selectHue&&t.selectHue(...a),["prevent","stop"]))},[r.createVNode("canvas",Lfe,null,512),r.createVNode("div",{style:t.slideHueStyle,class:"slide"},null,4)],32)}id.render=Ife;id.__file="src/color/Hue.vue";var sd=r.defineComponent({props:{color:{type:String,default:"#000000"},rgba:{type:Object,default:null},width:{type:Number,default:15},height:{type:Number,default:152}},emits:["selectAlpha"],data(){return{slideAlphaStyle:{},alphaSize:5}},watch:{color(){this.renderColor()},"rgba.a"(){this.renderSlide()}},mounted(){this.renderColor(),this.renderSlide()},methods:{renderColor(){const t=this.$refs.canvasAlpha,e=this.width,n=this.height,o=this.alphaSize,i=od(o),s=t.getContext("2d");t.width=e,t.height=n,s.fillStyle=s.createPattern(i,"repeat"),s.fillRect(0,0,e,n),Kc("p",s,e,n,"rgba(255,255,255,0)",this.color)},renderSlide(){this.slideAlphaStyle={top:this.rgba.a*this.height-2+"px"}},selectAlpha(t){const{top:e}=this.$el.getBoundingClientRect(),n=i=>{let s=i.clientY-e;s<0&&(s=0),s>this.height&&(s=this.height);let a=parseFloat((s/this.height).toFixed(2));this.$emit("selectAlpha",a)};n(t);const o=()=>{document.removeEventListener("mousemove",n),document.removeEventListener("mouseup",o)};document.addEventListener("mousemove",n),document.addEventListener("mouseup",o)}}});const Vfe={ref:"canvasAlpha"};function Pfe(t,e,n,o,i,s){return r.openBlock(),r.createBlock("div",{class:"color-alpha",onMousedown:e[1]||(e[1]=r.withModifiers((...a)=>t.selectAlpha&&t.selectAlpha(...a),["prevent","stop"]))},[r.createVNode("canvas",Vfe,null,512),r.createVNode("div",{style:t.slideAlphaStyle,class:"slide"},null,4)],32)}sd.render=Pfe;sd.__file="src/color/Alpha.vue";var ad=r.defineComponent({props:{color:{type:String,default:"#000000"},width:{type:Number,default:100},height:{type:Number,default:30}},data(){return{alphaSize:5}},watch:{color(){this.renderColor()}},mounted(){this.renderColor()},methods:{renderColor(){const t=this.$el,e=this.width,n=this.height,o=this.alphaSize,i=od(o),s=t.getContext("2d");t.width=e,t.height=n,s.fillStyle=s.createPattern(i,"repeat"),s.fillRect(0,0,e,n),s.fillStyle=this.color,s.fillRect(0,0,e,n)}}});function Ffe(t,e,n,o,i,s){return r.openBlock(),r.createBlock("canvas")}ad.render=Ffe;ad.__file="src/color/Preview.vue";var ld=r.defineComponent({props:{suckerCanvas:{type:Object,default:null},suckerArea:{type:Array,default:()=>[]}},data(){return{isOpenSucker:!1,suckerPreview:null,isSucking:!1}},watch:{suckerCanvas(t){this.isSucking=!1,this.suckColor(t)}},methods:{openSucker(){this.isOpenSucker?this.keydownHandler({keyCode:27}):(this.isOpenSucker=!0,this.isSucking=!0,this.$emit("openSucker",!0),document.addEventListener("keydown",this.keydownHandler))},keydownHandler(t){t.keyCode===27&&(this.isOpenSucker=!1,this.isSucking=!1,this.$emit("openSucker",!1),document.removeEventListener("keydown",this.keydownHandler),document.removeEventListener("mousemove",this.mousemoveHandler),document.removeEventListener("mouseup",this.mousemoveHandler),this.suckerPreview&&(document.body.removeChild(this.suckerPreview),this.suckerPreview=null))},mousemoveHandler(t){const{clientX:e,clientY:n}=t,{top:o,left:i,width:s,height:a}=this.suckerCanvas.getBoundingClientRect(),l=e-i,c=n-o,d=this.suckerCanvas.getContext("2d").getImageData(Math.min(l,s-1),Math.min(c,a-1),1,1);let[f,p,m,h]=d.data;h=parseFloat((h/255).toFixed(2));const g=this.suckerPreview.style;Object.assign(g,{position:"absolute",left:e+20+"px",top:n-36+"px",width:"24px",height:"24px",borderRadius:"50%",border:"2px solid #fff",boxShadow:"0 0 8px 0 rgba(0, 0, 0, 0.16)",background:`rgba(${f}, ${p}, ${m}, ${h})`,zIndex:95}),this.suckerArea.length&&e>=this.suckerArea[0]&&n>=this.suckerArea[1]&&e<=this.suckerArea[2]&&n<=this.suckerArea[3]?g.display="":g.display="none"},suckColor(t){t&&t.tagName!=="CANVAS"||(this.suckerPreview=document.createElement("div"),this.suckerPreview&&document.body.appendChild(this.suckerPreview),document.addEventListener("mousemove",this.mousemoveHandler),document.addEventListener("mouseup",this.mousemoveHandler),t.addEventListener("click",e=>{const{clientX:n,clientY:o}=e,{top:i,left:s,width:a,height:l}=t.getBoundingClientRect(),c=n-s,u=o-i,f=t.getContext("2d").getImageData(Math.min(c,a-1),Math.min(u,l-1),1,1);let[p,m,h,g]=f.data;g=parseFloat((g/255).toFixed(2)),this.$emit("selectSucker",{r:p,g:m,b:h,a:g})}))}}});const Rfe=r.createVNode("path",{d:"M13.1,8.2l5.6,5.6c0.4,0.4,0.5,1.1,0.1,1.5s-1.1,0.5-1.5,0.1c0,0-0.1,0-0.1-0.1l-1.4-1.4l-7.7,7.7C7.9,21.9,7.6,22,7.3,22H3.1C2.5,22,2,21.5,2,20.9l0,0v-4.2c0-0.3,0.1-0.6,0.3-0.8l5.8-5.8C8.5,9.7,9.2,9.6,9.7,10s0.5,1.1,0.1,1.5c0,0,0,0.1-0.1,0.1l-5.5,5.5v2.7h2.7l7.4-7.4L8.7,6.8c-0.5-0.4-0.5-1-0.1-1.5s1.1-0.5,1.5-0.1c0,0,0.1,0,0.1,0.1l1.4,1.4l3.5-3.5c1.6-1.6,4.1-1.6,5.8-0.1c1.6,1.6,1.6,4.1,0.1,5.8L20.9,9l-3.6,3.6c-0.4,0.4-1.1,0.5-1.5,0.1"},null,-1),zfe={key:1,class:"sucker",viewBox:"-16 -16 68 68",xmlns:"http://www.w3.org/2000/svg",stroke:"#9099a4"},Ufe=r.createVNode("g",{fill:"none","fill-rule":"evenodd"},[r.createVNode("g",{transform:"translate(1 1)","stroke-width":"4"},[r.createVNode("circle",{"stroke-opacity":".5",cx:"18",cy:"18",r:"18"}),r.createVNode("path",{d:"M36 18c0-9.94-8.06-18-18-18"},[r.createVNode("animateTransform",{attributeName:"transform",type:"rotate",from:"0 18 18",to:"360 18 18",dur:"1s",repeatCount:"indefinite"})])])],-1);function qfe(t,e,n,o,i,s){return r.openBlock(),r.createBlock("div",null,[t.isSucking?r.createCommentVNode("v-if",!0):(r.openBlock(),r.createBlock("svg",{key:0,class:[{active:t.isOpenSucker},"sucker"],xmlns:"http://www.w3.org/2000/svg",viewBox:"-12 -12 48 48",onClick:e[1]||(e[1]=(...a)=>t.openSucker&&t.openSucker(...a))},[Rfe],2)),t.isSucking?(r.openBlock(),r.createBlock("svg",zfe,[Ufe])):r.createCommentVNode("v-if",!0)])}ld.render=qfe;ld.__file="src/color/Sucker.vue";var cd=r.defineComponent({props:{name:{type:String,default:""},color:{type:String,default:""}},emits:["inputColor","inputFocus","inputBlur"],setup(t,{emit:e}){return{modelColor:r.computed({get(){return t.color||""},set(s){e("inputColor",s)}}),handleFocus:s=>{e("inputFocus",s)},handleBlur:s=>{e("inputBlur",s)}}}});const Hfe={class:"color-type"},jfe={class:"name"};function Wfe(t,e,n,o,i,s){return r.openBlock(),r.createBlock("div",Hfe,[r.createVNode("span",jfe,r.toDisplayString(t.name),1),r.withDirectives(r.createVNode("input",{"onUpdate:modelValue":e[1]||(e[1]=a=>t.modelColor=a),class:"value",onFocus:e[2]||(e[2]=(...a)=>t.handleFocus&&t.handleFocus(...a)),onBlur:e[3]||(e[3]=(...a)=>t.handleBlur&&t.handleBlur(...a))},null,544),[[r.vModelText,t.modelColor]])])}cd.render=Wfe;cd.__file="src/color/Box.vue";var ud=r.defineComponent({name:"ColorPicker",props:{color:{type:String,default:"#000000"},colorsDefault:{type:Array,default:()=>[]},colorsHistoryKey:{type:String,default:""}},emits:["selectColor"],setup(t,{emit:e}){const n=r.ref(),o=r.ref([]),i=r.ref();t.colorsHistoryKey&&localStorage&&(o.value=JSON.parse(localStorage.getItem(t.colorsHistoryKey))||[]),i.value=od(4).toDataURL(),r.onUnmounted(()=>{s(n.value)});function s(l){if(!l)return;const c=o.value||[],u=c.indexOf(l);u>=0&&c.splice(u,1),c.length>=8&&(c.length=7),c.unshift(l),o.value=c||[],localStorage&&t.colorsHistoryKey&&localStorage.setItem(t.colorsHistoryKey,JSON.stringify(c))}function a(l){e("selectColor",l)}return{setColorsHistory:s,colorsHistory:o,color:n,imgAlphaBase64:i,selectColor:a}}});const Zfe={class:"colors"},Kfe={key:0,class:"colors history"};function Gfe(t,e,n,o,i,s){return r.openBlock(),r.createBlock("div",null,[r.createVNode("ul",Zfe,[(r.openBlock(!0),r.createBlock(r.Fragment,null,r.renderList(t.colorsDefault,a=>(r.openBlock(),r.createBlock("li",{key:a,class:"item",onClick:l=>t.selectColor(a)},[r.createVNode("div",{style:{background:`url(${t.imgAlphaBase64})`},class:"alpha"},null,4),r.createVNode("div",{style:{background:a},class:"color"},null,4)],8,["onClick"]))),128))]),t.colorsHistory.length?(r.openBlock(),r.createBlock("ul",Kfe,[(r.openBlock(!0),r.createBlock(r.Fragment,null,r.renderList(t.colorsHistory,a=>(r.openBlock(),r.createBlock("li",{key:a,class:"item",onClick:l=>t.selectColor(a)},[r.createVNode("div",{style:{background:`url(${t.imgAlphaBase64})`},class:"alpha"},null,4),r.createVNode("div",{style:{background:a},class:"color"},null,4)],8,["onClick"]))),128))])):r.createCommentVNode("v-if",!0)])}ud.render=Gfe;ud.__file="src/color/Colors.vue";var Dr=r.defineComponent({components:{Saturation:rd,Hue:id,Alpha:sd,Preview:ad,Sucker:ld,Box:cd,Colors:ud},emits:["changeColor","openSucker","inputFocus","inputBlur"],props:{color:{type:String,default:"#000000"},theme:{type:String,default:"dark"},suckerHide:{type:Boolean,default:!0},suckerCanvas:{type:null,default:null},suckerArea:{type:Array,default:()=>[]},colorsDefault:{type:Array,default:()=>["#000000","#FFFFFF","#FF1900","#F47365","#FFB243","#FFE623","#6EFF2A","#1BC7B1","#00BEFF","#2E81FF","#5D61FF","#FF89CF","#FC3CAD","#BF3DCE","#8E00A7","rgba(0,0,0,0)"]},colorsHistoryKey:{type:String,default:"vue-colorpicker-history"}},data(){return{hueWidth:15,hueHeight:152,previewHeight:30,modelRgba:"",modelHex:"",r:0,g:0,b:0,a:1,h:0,s:0,v:0}},computed:{isLightTheme(){return this.theme==="light"},totalWidth(){return this.hueHeight+(this.hueWidth+8)*2},previewWidth(){return this.totalWidth-(this.suckerHide?0:this.previewHeight)},rgba(){return{r:this.r,g:this.g,b:this.b,a:this.a}},hsv(){return{h:this.h,s:this.s,v:this.v}},rgbString(){return`rgb(${this.r}, ${this.g}, ${this.b})`},rgbaStringShort(){return`${this.r}, ${this.g}, ${this.b}, ${this.a}`},rgbaString(){return`rgba(${this.rgbaStringShort})`},hexString(){return Dfe(this.rgba,!0)}},created(){Object.assign(this,Bo(this.color)),this.setText(),this.$watch("rgba",()=>{this.$emit("changeColor",{rgba:this.rgba,hsv:this.hsv,hex:this.modelHex})})},methods:{selectSaturation(t){const{r:e,g:n,b:o,h:i,s,v:a}=Bo(t);Object.assign(this,{r:e,g:n,b:o,h:i,s,v:a}),this.setText()},handleFocus(t){this.$emit("inputFocus",t)},handleBlur(t){this.$emit("inputBlur",t)},selectHue(t){const{r:e,g:n,b:o,h:i,s,v:a}=Bo(t);Object.assign(this,{r:e,g:n,b:o,h:i,s,v:a}),this.setText(),this.$nextTick(()=>{this.$refs.saturation.renderColor(),this.$refs.saturation.renderSlide()})},selectAlpha(t){this.a=t,this.setText()},inputHex(t){const{r:e,g:n,b:o,a:i,h:s,s:a,v:l}=Bo(t);Object.assign(this,{r:e,g:n,b:o,a:i,h:s,s:a,v:l}),this.modelHex=t,this.modelRgba=this.rgbaStringShort,this.$nextTick(()=>{this.$refs.saturation.renderColor(),this.$refs.saturation.renderSlide(),this.$refs.hue.renderSlide()})},inputRgba(t){const{r:e,g:n,b:o,a:i,h:s,s:a,v:l}=Bo(t);Object.assign(this,{r:e,g:n,b:o,a:i,h:s,s:a,v:l}),this.modelHex=this.hexString,this.modelRgba=t,this.$nextTick(()=>{this.$refs.saturation.renderColor(),this.$refs.saturation.renderSlide(),this.$refs.hue.renderSlide()})},setText(){this.modelHex=this.hexString,this.modelRgba=this.rgbaStringShort},openSucker(t){this.$emit("openSucker",t)},selectSucker(t){const{r:e,g:n,b:o,a:i,h:s,s:a,v:l}=Bo(t);Object.assign(this,{r:e,g:n,b:o,a:i,h:s,s:a,v:l}),this.setText(),this.$nextTick(()=>{this.$refs.saturation.renderColor(),this.$refs.saturation.renderSlide(),this.$refs.hue.renderSlide()})},selectColor(t){const{r:e,g:n,b:o,a:i,h:s,s:a,v:l}=Bo(t);Object.assign(this,{r:e,g:n,b:o,a:i,h:s,s:a,v:l}),this.setText(),this.$nextTick(()=>{this.$refs.saturation.renderColor(),this.$refs.saturation.renderSlide(),this.$refs.hue.renderSlide()})}}});const Yfe={class:"color-set"};function Jfe(t,e,n,o,i,s){const a=r.resolveComponent("Saturation"),l=r.resolveComponent("Hue"),c=r.resolveComponent("Alpha"),u=r.resolveComponent("Preview"),d=r.resolveComponent("Sucker"),f=r.resolveComponent("Box"),p=r.resolveComponent("Colors");return r.openBlock(),r.createBlock("div",{class:["hu-color-picker",{light:t.isLightTheme}],style:{width:t.totalWidth+"px"}},[r.createVNode("div",Yfe,[r.createVNode(a,{ref:"saturation",color:t.rgbString,hsv:t.hsv,size:t.hueHeight,onSelectSaturation:t.selectSaturation},null,8,["color","hsv","size","onSelectSaturation"]),r.createVNode(l,{ref:"hue",hsv:t.hsv,width:t.hueWidth,height:t.hueHeight,onSelectHue:t.selectHue},null,8,["hsv","width","height","onSelectHue"]),r.createVNode(c,{ref:"alpha",color:t.rgbString,rgba:t.rgba,width:t.hueWidth,height:t.hueHeight,onSelectAlpha:t.selectAlpha},null,8,["color","rgba","width","height","onSelectAlpha"])]),r.createVNode("div",{style:{height:t.previewHeight+"px"},class:"color-show"},[r.createVNode(u,{color:t.rgbaString,width:t.previewWidth,height:t.previewHeight},null,8,["color","width","height"]),t.suckerHide?r.createCommentVNode("v-if",!0):(r.openBlock(),r.createBlock(d,{key:0,"sucker-canvas":t.suckerCanvas,"sucker-area":t.suckerArea,onOpenSucker:t.openSucker,onSelectSucker:t.selectSucker},null,8,["sucker-canvas","sucker-area","onOpenSucker","onSelectSucker"]))],4),r.createVNode(f,{name:"HEX",color:t.modelHex,onInputColor:t.inputHex,onInputFocus:t.handleFocus,onInputBlur:t.handleBlur},null,8,["color","onInputColor","onInputFocus","onInputBlur"]),r.createVNode(f,{name:"RGBA",color:t.modelRgba,onInputColor:t.inputRgba,onInputFocus:t.handleFocus,onInputBlur:t.handleBlur},null,8,["color","onInputColor","onInputFocus","onInputBlur"]),r.createVNode(p,{color:t.rgbaString,"colors-default":t.colorsDefault,"colors-history-key":t.colorsHistoryKey,onSelectColor:t.selectColor},null,8,["color","colors-default","colors-history-key","onSelectColor"]),r.createCommentVNode(" custom options "),r.renderSlot(t.$slots,"default")],6)}Dr.render=Jfe;Dr.__file="src/color/ColorPicker.vue";Dr.install=t=>{t.component(Dr.name,Dr)};const Xfe={class:"color-picker-wrapper"},jr=r.defineComponent({__name:"AoColorPicker",props:{color:{}},emits:["update:color"],setup(t,{emit:e}){const n=t,o=e,i=r.ref(!1),s=r.ref(null),a=r.ref(null),l=r.ref(0),c=r.ref(0),u=async h=>{a.value=h,i.value=!0,await r.nextTick();const g=h.getBoundingClientRect(),y=s.value,C=(y==null?void 0:y.offsetHeight)||300,v=window.innerHeight-g.bottom,_=g.top,k=v<C&&_>C;console.log("pickerHeight = "+C),l.value=k?g.top-C-8:g.bottom+8,c.value=g.left,setTimeout(()=>{window.addEventListener("click",f)},0)},d=r.computed(()=>({position:"fixed",top:`${l.value}px`,left:`${c.value}px`,zIndex:1e3})),f=h=>{const g=h.target;s.value&&!s.value.contains(g)&&(i.value=!1,o("update:color",p.value),window.removeEventListener("click",f))};r.onBeforeUnmount(()=>{window.removeEventListener("click",f)}),r.watch(()=>n.color,h=>{i.value||(p.value=h)});const p=r.ref(n.color),m=h=>{const{r:g,g:y,b:C,a:v}=h.rgba;p.value=`rgba(${g}, ${y}, ${C}, ${v})`};return(h,g)=>(r.openBlock(),r.createElementBlock("div",Xfe,[r.renderSlot(h.$slots,"clickable",{openPicker:u,bgColor:t.color}),i.value?(r.openBlock(),r.createElementBlock("div",{key:0,ref_key:"pickerRef",ref:s,class:"color-picker",style:r.normalizeStyle(d.value)},[r.createVNode(r.unref(Dr),{class:"color-picker-box",theme:"light",color:t.color,onChangeColor:m},null,8,["color"])],4)):r.createCommentVNode("",!0)]))}});const Qfe={class:"ao-card-project-phase__header"},epe={class:"ao-card-project-item__title-line"},tpe={key:0,class:"ao-card-project-item-phase__estimation"},npe={class:"ao-card-project-phase__footer"},ope={key:0,class:"ao-card-project-phase__footer-row ao-card-project-phase__footer-row--progress"},rpe={class:"ao-card-project-phase__subitem"},ipe={class:"ao-card-project-phase__subitem"},spe={key:0,class:"ao-card-project-phase__secondary"},ape={class:"ao-card-project-phase__deadline ao-card-project-phase__deadline--readonly"},lpe=r.defineComponent({__name:"AoCardProjectItemPhase",props:{id:{},projectName:{},name:{},milestones:{},isEditable:{type:Boolean},deadline:{},active:{type:Boolean},color:{},timeTrackingData:{},estimationUnit:{}},emits:["update:title","update:deadline","archivePhase","unarchivePhase","updatePhase"],setup(t,{emit:e}){const n=t,o=e,i=g=>{o("update:title",g)},s=r.computed(()=>{var g;return((g=n.milestones)==null?void 0:g.reduce((y,C)=>{var v;return y+((v=C.activities)==null?void 0:v.reduce((_,k)=>_+(k.estimation||0),0))},0))||0}),a=r.computed(()=>!n.milestones||!n.timeTrackingData?0:n.milestones.reduce((g,y)=>{var C;return g+(((C=y.activities)==null?void 0:C.reduce((v,_)=>{var w;const k=(w=n.timeTrackingData)==null?void 0:w[_.id];return v+((k==null?void 0:k.timeSpent)||0)},0))||0)},0)),l=r.computed(()=>n.estimationUnit==="days"?"d":"h"),c=r.computed(()=>$a(a.value,n.estimationUnit)),u=r.computed(()=>{var g;return(g=n.milestones)==null?void 0:g.length}),d=r.computed(()=>{var g;return(g=n.milestones)==null?void 0:g.filter(y=>y.status===Pi.done).length}),f=r.computed(()=>(d.value||0)/(u.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,y)=>{const C=g.target;C.closest("button")||C.closest("input")||C.closest(".ao-title")||y(C)};return(g,y)=>(r.openBlock(),r.createBlock(jr,{color:m.value,"onUpdate:color":y[2]||(y[2]=C=>m.value=C)},{clickable:r.withCtx(({openPicker:C,bgColor:v})=>[r.createVNode(fl,{class:"ao-card-project-phase","is-clickable":t.isEditable,color:v,"with-left-border":!0,onClick:_=>h(_,C)},r.createSlots({default:r.withCtx(()=>[r.createElementVNode("div",epe,[r.createVNode(Ct,{id:t.id,class:"ao-card-project-phase__title",title:t.name||"",level:4,"is-editable":t.isEditable,"onUpdate:title":i},null,8,["id","title","is-editable"]),s.value||a.value?(r.openBlock(),r.createElementBlock("span",tpe," ("+r.toDisplayString(c.value)+"/"+r.toDisplayString(s.value)+r.toDisplayString(l.value)+")",1)):r.createCommentVNode("",!0)])]),footer:r.withCtx(()=>[r.createElementVNode("div",npe,[u.value?(r.openBlock(),r.createElementBlock("div",ope,[r.createElementVNode("div",rpe,[r.createVNode(be,{name:"MountainFlagOutlineRounded",size:"sm"}),r.createElementVNode("span",ipe,r.toDisplayString(d.value)+" / "+r.toDisplayString(u.value),1)]),r.createVNode(pl,{percentages:f.value,class:"ao-card-project-phase__progress",color:t.color},null,8,["percentages","color"]),g.$slots.secondary?(r.openBlock(),r.createElementBlock("div",spe,[r.renderSlot(g.$slots,"secondary")])):r.createCommentVNode("",!0)])):r.createCommentVNode("",!0),r.createElementVNode("div",{class:r.normalizeClass(["ao-card-project-phase__footer-row",p.value?"":"ao-card-project-phase__no_deadline"])},[t.isEditable?r.withDirectives((r.openBlock(),r.createElementBlock("input",{key:0,"onUpdate:modelValue":y[1]||(y[1]=_=>p.value=_),class:"ao-card-project-phase__deadline ao-card-project-phase__deadline--input",type:"date"},null,512)),[[r.vModelText,p.value,void 0,{lazy:!0}]]):r.createCommentVNode("",!0),r.createElementVNode("span",ape,r.toDisplayString(r.unref(Ma)(t.deadline)),1)],2)])]),_:2},[t.isEditable?{name:"header",fn:r.withCtx(()=>[r.createElementVNode("div",Qfe,[r.createVNode(ue,{class:"ao-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:y[0]||(y[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"]))}});const cpe=r.defineComponent({__name:"AoBadge",props:{color:{}},setup(t){return(e,n)=>(r.openBlock(),r.createElementBlock("span",{class:"aoBadge",style:r.normalizeStyle({backgroundColor:t.color})},null,4))}});const upe={class:"ao-card-project-milestone__default"},dpe={class:"ao-title-with-badge-wrapper"},fpe={class:"ao-card-project-item__title-line"},ppe={key:0,class:"ao-card-project-item-milestone__estimation"},mpe={key:0,class:"ao-card-project-milestone__archive"},hpe={class:"ao-card-project-milestone__activities"},gpe={class:"ao-card-project-milestone__activities-row"},vpe={class:"ao-card-project-milestone__subitem"},_pe={class:"ao-card-project-milestone__subitem"},ype={key:1,class:"ao-card-project-milestone__secondary"},Cpe={class:"ao-card-project-milestone__footer"},bpe={key:1,class:"ao-field ao-card-project-milestone__deadline"},kpe={class:"ao-field__label"},wpe={key:2,class:"ao-card-project-milestone__assignee"},Epe=r.defineComponent({__name:"AoCardProjectItemMilestone",props:{id:{},name:{},color:{},phaseColor:{},activities:{},closedStatus:{},isEditable:{type:Boolean},deadline:{},active:{type:Boolean},isSelected:{type:Boolean},assignee:{},important:{type:Boolean},readonly:{type:Boolean},timeTrackingData:{},estimationUnit:{}},emits:["updateMilestone","archiveMilestone","unarchiveMilestone"],setup(t,{emit:e}){const n=t,o=e,i=r.computed(()=>{var p;return((p=n.activities)==null?void 0:p.reduce((m,h)=>m+(h.estimation||0),0))||0}),s=r.computed(()=>!n.activities||!n.timeTrackingData?0:n.activities.reduce((p,m)=>{var g;const h=(g=n.timeTrackingData)==null?void 0:g[m.id];return p+((h==null?void 0:h.timeSpent)||0)},0)),a=r.computed(()=>n.estimationUnit==="days"?"d":"h"),l=r.computed(()=>$a(s.value,n.estimationUnit));r.computed(()=>{const p=s.value/60;return p%1===0?p.toString():p.toFixed(2)});const c=r.computed(()=>{var p;return(p=n.activities)==null?void 0:p.length}),u=r.computed(()=>{var p;return(p=n.activities)==null?void 0:p.filter(m=>Qc(m,n.closedStatus)).length}),d=r.computed(()=>(u.value||0)/(c.value||1)),f=p=>{o("updateMilestone",{id:n.id,name:p})};return(p,m)=>(r.openBlock(),r.createBlock(fl,{class:r.normalizeClass(["ao-card-project-milestone"]),"is-clickable":!t.readonly,"tag-name":"li","is-selected":t.isSelected,color:t.phaseColor},{default:r.withCtx(()=>[r.createElementVNode("div",upe,[r.createElementVNode("div",dpe,[r.createVNode(cpe,{color:t.color||""},null,8,["color"]),r.createElementVNode("div",fpe,[r.createVNode(Ct,{id:t.id,title:t.name||"",level:5,"is-editable":!t.readonly&&t.isEditable,class:"ao-card-project-milestone__title","onUpdate:title":f},null,8,["id","title","is-editable"]),i.value||s.value?(r.openBlock(),r.createElementBlock("span",ppe," ("+r.toDisplayString(l.value)+"/"+r.toDisplayString(i.value)+r.toDisplayString(a.value)+")",1)):r.createCommentVNode("",!0)])]),!t.readonly&&t.isEditable?(r.openBlock(),r.createElementBlock("div",mpe,[r.createVNode(ue,{color:"primary",variant:"ghost","icon-name":"ArchiveOutlineRounded",size:"sm","icon-position":"start",corners:"round",label:t.active?p.$t("archive"):p.$t("unarchive"),onClick:m[0]||(m[0]=r.withModifiers(()=>t.active?p.$emit("archiveMilestone",{id:t.id}):p.$emit("unarchiveMilestone",{id:t.id}),["stop"]))},null,8,["label"])])):r.createCommentVNode("",!0)]),r.createElementVNode("div",hpe,[r.createElementVNode("div",gpe,[c.value?(r.openBlock(),r.createElementBlock(r.Fragment,{key:0},[r.createElementVNode("div",vpe,[r.createVNode(be,{name:"SelectCheckBox",size:"sm"}),r.createElementVNode("span",_pe,r.toDisplayString(u.value)+" / "+r.toDisplayString(c.value),1)]),r.createVNode(pl,{percentages:d.value,color:t.phaseColor,class:"ao-card-project-milestone__progress"},null,8,["percentages","color"])],64)):r.createCommentVNode("",!0),p.$slots.secondary?(r.openBlock(),r.createElementBlock("div",ype,[r.renderSlot(p.$slots,"secondary")])):r.createCommentVNode("",!0)])])]),footer:r.withCtx(()=>[r.createElementVNode("div",Cpe,[t.important?(r.openBlock(),r.createBlock(be,{key:0,name:"FlagRounded",class:r.normalizeClass(t.isSelected?"ao-card-project-milestone__important--selected":"ao-card-project-milestone__important"),size:"sm"},null,8,["class"])):r.createCommentVNode("",!0),t.deadline?(r.openBlock(),r.createElementBlock("label",bpe,[r.createElementVNode("span",kpe,r.toDisplayString(r.unref(Ma)(t.deadline)),1)])):r.createCommentVNode("",!0),t.assignee?(r.openBlock(),r.createElementBlock("div",wpe,[r.createVNode(Xn,{"user-name":r.unref(Lp)(t.assignee),"avatar-url":t.assignee.avatarUrl,color:t.isSelected?"black":"primary",size:"sm"},null,8,["user-name","avatar-url","color"])])):r.createCommentVNode("",!0)])]),_:3},8,["is-clickable","is-selected","color"]))}});const Spe={class:"ao-mapping-card-project-phase__header"},xpe={class:"ao-card-project-item__title-line"},Tpe={key:0,class:"ao-card-project-item-phase__estimation"},Ape={class:"ao-mapping-card-project-phase__footer"},Npe={key:0,class:"ao-mapping-card-project-phase__footer-row ao-mapping-card-project-phase__footer-row--progress"},Dpe={class:"ao-mapping-card-project-phase__subitem"},$pe={class:"ao-mapping-card-project-phase__subitem"},Mpe={key:0,class:"ao-mapping-card-project-phase__secondary"},Bpe={class:"ao-mapping-card-project-phase__deadline ao-mapping-card-project-phase__deadline--readonly"},Ope=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,i=g=>{o("update:title",g)},s=r.computed(()=>{var g;return((g=n.milestones)==null?void 0:g.reduce((y,C)=>{var v;return y+((v=C.activities)==null?void 0:v.reduce((_,k)=>_+(k.estimation||0),0))},0))||0}),a=r.computed(()=>!n.milestones||!n.timeTrackingData?0:n.milestones.reduce((g,y)=>{var C;return g+(((C=y.activities)==null?void 0:C.reduce((v,_)=>{var w;const k=(w=n.timeTrackingData)==null?void 0:w[_.id];return v+((k==null?void 0:k.timeSpent)||0)},0))||0)},0)),l=r.computed(()=>n.estimationUnit==="days"?"d":"h"),c=r.computed(()=>$a(a.value,n.estimationUnit)),u=r.computed(()=>{var g;return(g=n.milestones)==null?void 0:g.length}),d=r.computed(()=>{var g;return(g=n.milestones)==null?void 0:g.filter(y=>y.status===Pi.done).length}),f=r.computed(()=>(d.value||0)/(u.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,y)=>{const C=g.target;C.closest("button")||C.closest("input")||C.closest(".ao-title")||y()};return(g,y)=>(r.openBlock(),r.createBlock(jr,{color:m.value,"onUpdate:color":y[2]||(y[2]=C=>m.value=C)},{clickable:r.withCtx(({openPicker:C,bgColor:v})=>[r.createVNode(fl,{class:"ao-mapping-card-project-phase","is-clickable":t.isEditable,color:v,"with-left-border":!0,onClick:_=>h(_,C)},r.createSlots({default:r.withCtx(()=>[r.createElementVNode("div",xpe,[r.createVNode(Ct,{id:t.id,class:"ao-mapping-card-project-phase__title",title:t.name||"",level:4,"is-editable":t.isEditable,"onUpdate:title":i},null,8,["id","title","is-editable"]),s.value||a.value?(r.openBlock(),r.createElementBlock("span",Tpe," ("+r.toDisplayString(c.value)+"/"+r.toDisplayString(s.value)+r.toDisplayString(l.value)+")",1)):r.createCommentVNode("",!0)])]),footer:r.withCtx(()=>[r.createElementVNode("div",Ape,[u.value?(r.openBlock(),r.createElementBlock("div",Npe,[r.createElementVNode("div",Dpe,[r.createVNode(be,{name:"MountainFlagOutlineRounded",size:"sm"}),r.createElementVNode("span",$pe,r.toDisplayString(d.value)+" / "+r.toDisplayString(u.value),1)]),r.createVNode(pl,{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",Mpe,[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":y[1]||(y[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",Bpe,r.toDisplayString(r.unref(Ma)(t.deadline)),1)],2)])]),_:2},[t.isEditable?{name:"header",fn:r.withCtx(()=>[r.createElementVNode("div",Spe,[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:y[0]||(y[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"]))}});const Lpe={class:"ao-project-phase"},Ipe={key:0,class:"ao-project-phase__drag ao-card__drag"},Vpe={key:1,class:"ao-project-phase__col-phase"},Ppe={key:2,class:"ao-mapping-project-phase__col-phase"},Fpe={key:0,class:"ao-project-phase__col-milestones"},Rpe=["title"],zpe={class:"ao-project-phase__milestones-list-footer"},Upe=r.defineComponent({__name:"AoProjectPhase",props:{phase:{},closedStatus:{},users:{},isEditable:{type:Boolean},readonly:{type:Boolean},timeTrackingData:{},estimationUnit:{}},emits:["addMilestone","updateMilestone","archiveMilestone","unarchiveMilestone","updatePhase","archivePhase","unarchivePhase"],setup(t,{emit:e}){const{t:n}=on(),o=t,i=e;r.watch(()=>o.phase.milestones,(w,b)=>{Wn(w,b)});const s=w=>{i("updatePhase",{id:o.phase.id,name:w})},a=w=>{i("updatePhase",{id:o.phase.id,deadline:w})},l=w=>{i("updatePhase",w)},c=r.computed(()=>o.phase.milestones.map(w=>v7(w,o.closedStatus))),u=w=>{const{name:b,rank:E}=Zo(c.value??[],"milestone",n);i("addMilestone",{name:b,rank:E,phaseId:w})},d=w=>{const b=n("template.defaultName.milestone",{idx:1}),E=ns(c.value??[]);i("addMilestone",{name:b,rank:E,phaseId:w})},f=w=>{i("updateMilestone",w)},p=w=>{i("archiveMilestone",w)},m=w=>{i("unarchiveMilestone",w)},h=w=>{i("archivePhase",w)},g=w=>{i("unarchivePhase",w)},y=w=>{"added"in w?i("updateMilestone",{id:w.added.element.id,phaseId:o.phase.id,rank:Br(c.value,w.added.newIndex)}):"removed"in w||"moved"in w&&i("updateMilestone",{id:w.moved.element.id,rank:Br(c.value,w.moved.newIndex)})},C=$r.useRoute(),v=r.computed(()=>C.path.includes("/mapping")),_=r.computed(()=>{var w;return o.phase.id===((w=C.params)==null?void 0:w.phaseId)});r.ref(!1);const k=r.computed(()=>{var w;return o.phase.id!==((w=C.params)==null?void 0:w.phaseId)?{backgroundColor:"var(--ao-color-sheet)"}:o.phase.color?{backgroundColor:y7(o.phase.color)}:{backgroundColor:"var(--ao-color-primary-lightest)"}});return(w,b)=>(r.openBlock(),r.createElementBlock("li",Lpe,[r.createElementVNode("div",{class:"ao-project-phases__draggable-card",style:r.normalizeStyle(k.value)},[t.isEditable?(r.openBlock(),r.createElementBlock("div",Ipe,[r.createVNode(be,{name:"DragIndicator",class:"ao-project-phase__drag-handle"})])):r.createCommentVNode("",!0),v.value?(r.openBlock(),r.createElementBlock("div",Ppe,[r.createVNode(Ope,{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":a,"onUpdate:title":s,onArchivePhase:h,onUnarchivePhase:g,onUpdatePhase:l},null,8,["id","milestones","name","deadline","active","is-editable","color","estimation-unit"])])):(r.openBlock(),r.createElementBlock("div",Vpe,[r.createVNode(lpe,{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":a,"onUpdate:title":s,onArchivePhase:h,onUnarchivePhase:g,onUpdatePhase:l},null,8,["id","milestones","name","deadline","active","is-editable","color","time-tracking-data","estimation-unit"])]))],4),v.value?r.createCommentVNode("",!0):(r.openBlock(),r.createElementBlock("div",Fpe,[r.createElementVNode("div",{class:"ao-project-phase__milestones ao-project-phase__milestones--hoverable",style:r.normalizeStyle(k.value)},[t.isEditable?(r.openBlock(),r.createElementBlock("div",{key:0,class:r.normalizeClass(["ao-project-phase__milestone-quick-add",{"ao-project-phase__milestone-quick-add--visible":_.value}]),title:w.$t("project.milestone.add"),onClick:b[0]||(b[0]=()=>d(t.phase.id))},[r.createVNode(be,{name:"Add",class:"ao-project-phase__milestone-quick-add-icon"})],10,Rpe)):r.createCommentVNode("",!0),r.createVNode(r.unref(ko),r.mergeProps({class:"ao-project-phase__milestones-list",list:c.value,disabled:t.readonly||!t.isEditable,"item-key":"id",group:"kanban"},w.$attrs,{onChange:y}),{item:r.withCtx(({element:E})=>{var N;return[r.createVNode(Epe,{id:E.id,name:E.name,color:E.color,"phase-color":t.phase.color,activities:E.activities,deadline:E.deadline,active:E.active,"is-editable":!t.readonly&&t.isEditable,"is-draggable":!t.readonly&&t.isEditable,"closed-status":t.closedStatus,"is-selected":E.id===((N=w.$route.params)==null?void 0:N.milestoneId),assignee:E.assignee,important:E.important,readonly:t.readonly,"time-tracking-data":t.timeTrackingData,"estimation-unit":t.estimationUnit,class:r.normalizeClass(["ao-project-phase__milestone"]),onClick:T=>!t.readonly&&w.$router.push({name:r.unref(Pe).milestone,params:{phaseId:t.phase.id,milestoneId:E.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",zpe,[t.isEditable?(r.openBlock(),r.createBlock(wo,{key:0,label:w.$t("project.milestone.add"),class:"ao-project-phase__milestone-add","icon-name":"Add",onClick:b[1]||(b[1]=()=>u(t.phase.id))},null,8,["label"])):r.createCommentVNode("",!0)])],4)]))]))}});const qpe={class:"ao-project__phases"},Hpe={key:0,class:"ao-project-phase__phases-list-footer"},jpe={class:"ao-project-phase__col-phase"},dd=r.defineComponent({__name:"AoProjectPhases",props:{phases:{},closedStatus:{},isEditable:{type:Boolean},users:{},readonly:{type:Boolean},timeTrackingData:{},estimationUnit:{}},emits:["addMilestone","updateMilestone","archiveMilestone","unarchiveMilestone","addPhase","updatePhase","archivePhase","unarchivePhase"],setup(t,{emit:e}){const n=t,o=e;r.watch(()=>n.phases,(m,h)=>{Wn(m,h)});const i=m=>{o("addMilestone",m)},s=m=>{o("updateMilestone",m)},a=m=>{o("archiveMilestone",m)},l=m=>{o("unarchiveMilestone",m)},c=m=>{o("archivePhase",m)},u=m=>{o("unarchivePhase",m)},d=m=>{if(m.moved){const h=ts(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",qpe,[r.createVNode(r.unref(ko),{class:"ao-project-phase__phases-list","model-value":t.phases,"item-key":"id",handle:".ao-card__drag",onChange:d},{item:r.withCtx(({element:g})=>[r.createVNode(Upe,{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:i,onUpdateMilestone:s,onArchiveMilestone:a,onUnarchiveMilestone:l,onUpdatePhase:f,onArchivePhase:c,onUnarchivePhase:u},null,8,["phase","is-editable","closed-status","users","readonly","time-tracking-data","estimation-unit"])]),_:1},8,["model-value"]),t.isEditable?(r.openBlock(),r.createElementBlock("div",Hpe,[h[0]||(h[0]=r.createElementVNode("div",{class:"ao-project-phase__empty_drag"},null,-1)),r.createElementVNode("div",jpe,[r.createVNode(wo,{label:m.$t("project.phases.add"),"icon-name":"Add",class:"ao-project-phase__add-phase",onClick:p},null,8,["label"])]),h[1]||(h[1]=r.createElementVNode("div",{class:"ao-project-phase__col-milestones"},null,-1))])):r.createCommentVNode("",!0)]))}});const Wpe={class:"ao-add-template-modal__form-body"},Zpe={class:"field__row"},Kpe={class:"ao-add-template-modal__form-footer"},Fg=r.defineComponent({__name:"AoAddTemplateModal",props:{projectId:{},templates:{}},emits:["apply"],setup(t,{emit:e}){const n=t,o=e,i=r.computed(()=>n.templates.map(c=>({value:c.id,label:c.name}))),s=r.ref(null),a=c=>{s.value=c},l=()=>{s.value&&o("apply",s.value,n.projectId)};return(c,u)=>(r.openBlock(),r.createBlock(Ba,{size:"sm"},{header:r.withCtx(()=>[r.createVNode(Ct,{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",Wpe,[r.createElementVNode("div",Zpe,[r.createVNode(Et,{value:s.value,options:i.value,detached:!0,onChange:a},null,8,["value","options"])])]),r.createElementVNode("footer",Kpe,[r.createVNode(ue,{label:c.$t("project.template.apply.label"),type:"submit",color:"primary",variant:"solid",onClick:l},null,8,["label"])])],32)]),_:1}))}});const Gpe={class:"ao-save-template-modal__form-body"},Ype={class:"field__row"},Jpe={class:"ao-field ao-field--inline"},Xpe={class:"ao-field__label"},Qpe={class:"ao-save-template-modal__phases"},eme={class:"ao-field__label"},tme={class:"ao-save-template-modal__phases-list"},nme=["value"],ome={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,i=r.ref(""),s=r.ref([]);r.onMounted(()=>{s.value=n.phases.map(l=>l.id)});const a=()=>{i.value&&o("save",i.value,s.value)};return(l,c)=>(r.openBlock(),r.createBlock(Ba,{size:"sm"},{header:r.withCtx(()=>[r.createVNode(Ct,{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(a,["prevent"])},[r.createElementVNode("div",Gpe,[r.createElementVNode("div",Ype,[r.createElementVNode("label",Jpe,[r.createElementVNode("span",Xpe,r.toDisplayString(l.$t("project.template.name.label"))+": ",1),r.withDirectives(r.createElementVNode("input",{"onUpdate:modelValue":c[0]||(c[0]=u=>i.value=u),type:"text"},null,512),[[r.vModelText,i.value]])])]),r.createElementVNode("div",Qpe,[r.createElementVNode("div",eme,r.toDisplayString(l.$t("project.template.phases.label")),1),r.createElementVNode("div",tme,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(n.phases,u=>(r.openBlock(),r.createElementBlock("label",{key:u.id,class:"ao-field ao-field--checkbox"},[r.withDirectives(r.createElementVNode("input",{"onUpdate:modelValue":c[1]||(c[1]=d=>s.value=d),type:"checkbox",value:u.id},null,8,nme),[[r.vModelCheckbox,s.value]]),r.createElementVNode("span",null,r.toDisplayString(u.name),1)]))),128))])])]),r.createElementVNode("footer",ome,[r.createVNode(ue,{label:l.$t("project.template.save.label"),type:"submit",color:"primary",variant:"solid",onClick:a},null,8,["label"])])],32)]),_:1}))}});const rme={class:"ao-project"},ime={class:"ao-project__body"},sme=r.defineComponent({__name:"AoProjectOverviewProject",props:{project:{},phases:{},closedStatus:{},users:{},userId:{},templates:{},isTaskCheckable:{type:Function},statuses:{},activityTypes:{},isEditable:{type:[Boolean,String]},showsArchived:{type:Boolean},attachmentEnabled:{type:Boolean},timeTrackingData:{},loadAttachmentPreview:{type:Function}},emits:["addPhase","updatePhase","archivePhase","unarchivePhase","addMilestone","updateMilestone","archiveMilestone","unarchiveMilestone","addActivity","update:activity","archiveActivity","copyPhaseToTemplate","unarchiveActivity","addSubtask","updateSubtask","deleteSubtask","addFiles","removeFile","addComment","updateComment","removeComment","applyTemplate","saveTemplate","update:showsArchived"],setup(t,{emit:e}){const{t:n}=on(),o=t,i=e,s=r.computed(()=>o.phases.flatMap(P=>P.milestones)),a=()=>{const{name:P,rank:Q}=Zo(o.phases,"phase",n);i("addPhase",{name:P,rank:Q,projectId:o.project.id})},l=()=>{const P=n("template.defaultName.phase",{idx:1}),Q=ns(o.phases);i("addPhase",{name:P,rank:Q,projectId:o.project.id})},c=P=>{i("updatePhase",P)},u=P=>{i("archivePhase",P)},d=P=>{i("unarchivePhase",P)},f=P=>{i("copyPhaseToTemplate",P)},p=P=>{i("addMilestone",P)},m=P=>{i("updateMilestone",P)},h=P=>{i("archiveMilestone",P)},g=P=>{i("unarchiveMilestone",P)},y=P=>{i("addActivity",P)},C=P=>{i("update:activity",P)},v=P=>{i("archiveActivity",P)},_=P=>{i("unarchiveActivity",P)},k=P=>{i("addSubtask",P)},w=P=>{i("updateSubtask",P)},b=P=>{i("deleteSubtask",P)},E=r.computed(()=>s.value.flatMap(P=>P.activities)),N=P=>{i("addFiles",P)},T=P=>{i("removeFile",P)},x=P=>{i("addComment",P)},D=P=>{i("updateComment",P)},S=P=>{i("removeComment",P)},$=r.ref(!1),M=r.ref(!1),I=(P,Q)=>{i("applyTemplate",{templateId:P,projectId:Q}),$.value=!1},V=(P,Q)=>{var ne;const ee=(ne=o.templates)==null?void 0:ne.at(-1),ve=ee?at.LexoRank.parse(ee.rank).genNext():at.LexoRank.middle();i("saveTemplate",{templateName:P,rank:ve.format(),phaseIds:Q}),M.value=!1},j=$r.useRouter(),F=r.ref("overview"),H=[{label:"Overview",value:"overview"},{label:"Feed",value:"feed"},{label:"Dev",value:"dev"},{label:"Mapping",value:"mapping"}];return r.watch(F,P=>{P==="feed"?(j.push({name:Pe.feed}),console.log("Navigating to feed...")):P==="dev"?(j.push({name:Pe.dev}),console.log("Navigating to dev...")):P==="overview"?(j.push({name:Pe.project}),console.log("Navigating to feed...")):P==="mapping"&&(j.push({name:Pe.mapping}),console.log("Navigating to feed..."))}),(P,Q)=>{var ve;const ee=r.resolveComponent("RouterView");return r.openBlock(),r.createElementBlock(r.Fragment,null,[r.createElementVNode("div",r.mergeProps({class:"ao-project-overview"},P.$attrs),[r.createElementVNode("div",rme,[r.createVNode(os,null,{primary:r.withCtx(()=>[r.createVNode(gs,{modelValue:F.value,"onUpdate:modelValue":Q[0]||(Q[0]=ne=>F.value=ne),tabs:H},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:P.$t("feed.filters.showsArchived.label"),role:"checkbox","aria-checked":t.showsArchived,onClick:Q[1]||(Q[1]=ne=>P.$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-project-overview__quick-add-phase",size:"sm","icon-name":"Add","icon-position":"start",color:"primary",variant:"ghost",label:P.$t("project.phase.add"),onClick:l},null,8,["label"])):r.createCommentVNode("",!0),t.isEditable===!0?(r.openBlock(),r.createBlock(ue,{key:1,class:"ao-project-overview__save-as-template",color:"primary",label:P.$t("project.template.save.label"),onClick:Q[2]||(Q[2]=ne=>M.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:P.$t("project.template.apply.label"),onClick:Q[3]||(Q[3]=ne=>$.value=!0)},null,8,["label"])):r.createCommentVNode("",!0)]),_:1}),r.createElementVNode("div",ime,[r.createVNode(dd,{phases:t.phases,"closed-status":t.closedStatus,"is-editable":t.isEditable===!0,users:t.users,"time-tracking-data":t.timeTrackingData,"estimation-unit":(ve=t.project)==null?void 0:ve.estimationUnit,onAddMilestone:p,onUpdateMilestone:m,onArchiveMilestone:h,onUnarchiveMilestone:g,onAddPhase:a,onUpdatePhase:c,onArchivePhase:u,onUnarchivePhase:d,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:Q[4]||(Q[4]=ne=>P.$router.push({name:r.unref(Pe).project})),onUpdateMilestone:m,onAddActivity:y,onUpdateActivity:C,onArchiveActivity:v,onUnarchiveActivity:_},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,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,"onUpdate:activity":C,onAddSubtask:k,onUpdateSubtask:w,onDeleteSubtask:b,onAddFiles:N,onRemoveFile:T,onAddComment:x,onUpdateComment:D,onRemoveComment:S},{default:r.withCtx(({Component:ne})=>[(r.openBlock(),r.createBlock(r.resolveDynamicComponent(ne),null,{default:r.withCtx(se=>[r.renderSlot(P.$slots,"activityDetailsBody",r.normalizeProps(r.guardReactiveProps(se)))]),_:3}))]),_:3},8,["activities","is-task-checkable","statuses","activity-types","phases","project","users","user-id","is-editable","attachment-enabled","time-tracking-data","load-attachment-preview"])]))],16),(r.openBlock(),r.createBlock(r.Teleport,{to:"body"},[M.value?(r.openBlock(),r.createBlock(Rg,{key:0,phases:t.phases,onClose:Q[5]||(Q[5]=ne=>M.value=!1),onSave:V},null,8,["phases"])):r.createCommentVNode("",!0),$.value?(r.openBlock(),r.createBlock(Fg,{key:1,"project-id":t.project.id,templates:t.templates,onClose:Q[6]||(Q[6]=ne=>$.value=!1),onApply:I},null,8,["project-id","templates"])):r.createCommentVNode("",!0)]))],64)}}});const ame={class:"ao-card-feed__header"},lme={key:1,class:"ao-card-feed__header-secondary ao-card-feed__header-icons"},cme={key:2,class:"ao-card-feed__header-secondary ao-card-feed__secondary"},ume={class:"ao-card-feed__body"},dme={key:0,class:"ao-card-feed__breadcrumbs"},fme={class:r.normalizeClass(["ao-card-feed__title-group"])},pme={class:"ao-card-feed__title-line"},mme={key:0,class:"ao-card-feed__slug"},hme={key:1,class:"ao-card-feed__deadline"},gme={class:"ao-card-feed__footer"},vme={class:"ao-card-feed__footer-row"},_me={class:"ao-assignees"},yme={key:0,class:"ao-assignee"},Cme={key:0,class:"ao-card-feed__subitems"},bme={key:0,class:"ao-card-feed__subitem"},kme={class:"ao-card-feed__subitem"},wme={key:1,class:"ao-card-feed__subitem"},Eme={class:"ao-card-feed__subitem"},Sme={class:"ao-card-feed__timer-wrapper"},xme={class:"ao-card-feed__footer-row"},Tme={key:0,class:"ao-card-feed__progress-wrapper"},Ame={class:"ao-card-feed__subitem"},Nme={class:"ao-card-feed__subitem"},fd=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,i=r.computed(()=>n.tagType==="milestone"?n.milestoneName:n.projectName),s=r.computed(()=>n.tagType==="milestone"?n.milestoneColor:n.projectColor),a=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]:[]),u=r.computed(()=>Ma(n.deadline)),d=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(y=>y.isDone).length}),h=r.computed(()=>(m.value||0)/(p.value||1));return(g,y)=>(r.openBlock(),r.createBlock(fl,{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",ame,[i.value?(r.openBlock(),r.createBlock(Vi,{key:0,label:i.value,class:"ao-card-feed__project",variant:"solid",color:t.projectColor?void 0:"primary","raw-color":s.value},null,8,["label","color","raw-color"])):r.createCommentVNode("",!0),t.isPrivate||t.important||t.isClosed||t.blocked?(r.openBlock(),r.createElementBlock("div",lme,[t.isPrivate?(r.openBlock(),r.createBlock(be,{key:0,name:"Lock",class:"ao-card-feed__warning",size:"sm"})):r.createCommentVNode("",!0),t.important?(r.openBlock(),r.createBlock(be,{key:1,name:"FlagRounded",class:"ao-card-feed__important",size:"sm"})):r.createCommentVNode("",!0),t.isClosed?(r.openBlock(),r.createBlock(be,{key:2,name:"CheckSmallRounded",class:"ao-card-feed__closed"})):r.createCommentVNode("",!0)])):r.createCommentVNode("",!0),g.$slots.secondary?(r.openBlock(),r.createElementBlock("div",cme,[r.renderSlot(g.$slots,"secondary")])):r.createCommentVNode("",!0)])]),default:r.withCtx(()=>[r.createElementVNode("div",ume,[l.value?(r.openBlock(),r.createElementBlock("span",dme,r.toDisplayString(l.value),1)):r.createCommentVNode("",!0),r.createElementVNode("div",fme,[r.createElementVNode("div",pme,[t.slug?(r.openBlock(),r.createElementBlock("span",mme,r.toDisplayString(t.slug)+": ",1)):r.createCommentVNode("",!0),r.createVNode(Ct,{id:t.id,title:t.name,level:5,"is-editable":t.isEditable,class:"ao-card-feed__title-inline","onUpdate:title":a},null,8,["id","title","is-editable"])])]),t.deadline?(r.openBlock(),r.createElementBlock("span",hme,r.toDisplayString(u.value),1)):r.createCommentVNode("",!0)])]),footer:r.withCtx(()=>[r.createElementVNode("div",gme,[r.createElementVNode("div",vme,[r.createElementVNode("ul",_me,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(c.value,C=>(r.openBlock(),r.createElementBlock(r.Fragment,{key:C.id},[C?(r.openBlock(),r.createElementBlock("li",yme,[r.createVNode(Xn,{"user-name":r.unref(Lp)(C),"avatar-url":C.avatarUrl,"is-closable":!0,onClose:()=>d(C.id)},null,8,["user-name","avatar-url","onClose"])])):r.createCommentVNode("",!0)],64))),128))]),t.comments||t.attachments?(r.openBlock(),r.createElementBlock("ul",Cme,[t.comments?(r.openBlock(),r.createElementBlock("li",bme,[r.createVNode(be,{name:"ChatOutline",size:"sm"}),r.createElementVNode("span",kme,r.toDisplayString(t.comments),1)])):r.createCommentVNode("",!0),t.attachments?(r.openBlock(),r.createElementBlock("li",wme,[r.createVNode(be,{name:"AttachFileRounded",size:"sm"}),r.createElementVNode("span",Eme,r.toDisplayString(t.attachments),1)])):r.createCommentVNode("",!0)])):r.createCommentVNode("",!0),r.createElementVNode("div",Sme,[r.createVNode(be,{name:"TimerOutline",class:"ao-card-feed__timer",size:"md",onClick:r.withModifiers(f,["stop"])})])]),r.createElementVNode("div",xme,[t.tasks&&t.tasks.length?(r.openBlock(),r.createElementBlock("div",Tme,[r.createElementVNode("div",Ame,[r.createVNode(be,{name:"SelectCheckBox",size:"sm"}),r.createElementVNode("span",Nme,r.toDisplayString(m.value)+" / "+r.toDisplayString(p.value),1)]),r.createVNode(pl,{percentages:h.value,class:"ao-card-feed__progress"},null,8,["percentages"])])):r.createCommentVNode("",!0)])])]),_:3},8,["class","variant"]))}});const Dme={class:"ao-project-milestone"},$me={class:"ao-project-milestone__header"},Mme={class:"ao-project-milestone__header_line"},Bme={class:"ao-project-milestone__header_line"},Ome={class:"ao-project-milestone__title"},Lme={key:0,class:"ao-fieldset ao-milestone__fieldset"},Ime={class:"ao-field__row ao-milestone__field-row"},Vme={class:"ao-field ao-field--inline"},Pme={class:"ao-field__row ao-milestone__field-row"},Fme={class:"ao-field ao-milestone__field-multiselect"},Rme={class:"ao-milestone__color-actions"},zme=["onClick"],Ume=["title"],qme={class:"ao-project-milestone__body"},Hme={key:0,class:"ao-project-milestone__footer"},mp=r.defineComponent({__name:"AoProjectOverviewMilestoneDetails",props:{milestoneId:{},users:{},projectId:{},phases:{},phaseId:{},isEditable:{type:Boolean},closedStatus:{},timeTrackingData:{}},emits:["close","addActivity","updateMilestone","updateActivity","archiveActivity","unarchiveActivity","startTimer"],setup(t,{emit:e}){const{t:n}=on(),o=t,i=e,s=b=>{var E;i("startTimer",b),(E=window.parent)==null||E.postMessage({type:"startTimer",data:b},"*")},a=r.computed(()=>{var b;return(b=o.phases)==null?void 0:b.find(E=>E.id===o.phaseId)}),l=r.computed(()=>{var b;return(b=o.phases)==null?void 0:b.flatMap(E=>E.milestones)}),c=r.computed(()=>{var b;return(b=l.value)==null?void 0:b.find(E=>E.id===o.milestoneId)}),u=r.computed(()=>{var b;return(b=c.value)==null?void 0:b.activities});r.watch(u,(b,E)=>{Wn(b,E)});const d=b=>{i("close",b)},f=()=>{const{name:b,rank:E}=Zo(u.value??[],"activity",n);i("addActivity",{milestoneId:o.milestoneId,name:b,rank:E,projectId:o.projectId})},p=()=>{const b=n("template.defaultName.activity",{idx:1}),E=ns(u.value??[]);i("addActivity",{milestoneId:o.milestoneId,name:b,rank:E,projectId:o.projectId})},m=b=>{i("updateActivity",b)},h=b=>{u.value&&"moved"in b&&i("updateActivity",{id:b.moved.element.id,rank:Br(u.value,b.moved.newIndex)})},g=r.computed({get:()=>{var b;return(b=c.value)==null?void 0:b.color},set:b=>{c.value&&i("updateMilestone",{id:c.value.id,color:b})}}),y=r.computed({get:()=>{var b;return((b=c==null?void 0:c.value)==null?void 0:b.deadline)??""},set:b=>{c.value&&i("updateMilestone",{id:c.value.id,deadline:b!=null&&b.length?b:null})}}),C=b=>o.closedStatus?Qc(b,o.closedStatus):!1,v=r.computed(()=>{var b;return((b=o.users)==null?void 0:b.map(E=>({label:`${E.firstName} ${E.lastName}`,value:E.id,avatar:E.avatarUrl})))||[]}),_=r.computed({get(){var b,E;return(E=(b=c.value)==null?void 0:b.assignee)!=null&&E.id?[c.value.assignee.id]:[]},set(b){i("updateMilestone",{id:o.milestoneId,assigneeId:b[0]??null})}}),k=r.computed({get(){var b;return((b=c.value)==null?void 0:b.important)??!1},set(b){i("updateMilestone",{id:o.milestoneId,important:b})}}),w=(b,E)=>{const N=b.currentTarget;N instanceof HTMLElement&&E(N)};return(b,E)=>{var N;return r.openBlock(),r.createElementBlock("div",Dme,[r.createElementVNode("header",$me,[r.createElementVNode("div",Mme,[r.createVNode(ue,{"icon-name":"CloseRounded",variant:"ghost",size:"sm",class:"ao-milestone__close",onClick:d})]),r.createElementVNode("div",Bme,[r.createElementVNode("div",Ome,[r.createVNode(Ct,{title:((N=c.value)==null?void 0:N.name)||t.milestoneId,level:5},null,8,["title"]),r.createVNode(Zc,{modelValue:k.value,"onUpdate:modelValue":E[0]||(E[0]=T=>k.value=T),modelModifiers:{lazy:!0},disabled:!t.isEditable,class:"ao-milestone__important",color:"danger",label:b.$t("activity.important.label"),"icon-name":"FlagRounded",variant:"ghost",size:"sm"},null,8,["modelValue","disabled","label"])])]),c.value?(r.openBlock(),r.createElementBlock("div",Lme,[r.createElementVNode("div",Ime,[r.createElementVNode("label",Vme,[r.withDirectives(r.createElementVNode("input",{"onUpdate:modelValue":E[1]||(E[1]=T=>y.value=T),class:"ao-milestone__field ao-milestone__date-field",type:"date"},null,512),[[r.vModelText,y.value,void 0,{lazy:!0}]])])]),r.createElementVNode("div",Pme,[r.createElementVNode("label",Fme,[r.createVNode(Et,{modelValue:_.value,"onUpdate:modelValue":E[2]||(E[2]=T=>_.value=T),options:v.value,"close-on-select":!0,searchable:!0,max:1,class:"ao-milestone__field ao-milestone__multiselect",placeholder:b.$t("activity.filters.assignee.placeholder"),mode:"tags",disabled:!t.isEditable,caret:t.isEditable},{tag:r.withCtx(({option:T,handleTagRemove:x})=>[r.createVNode(Xn,{"user-name":T.label,"avatar-url":T.avatar,"is-closable":!0,onClose:D=>x(T,D)},null,8,["user-name","avatar-url","onClose"])]),_:1},8,["modelValue","options","placeholder","disabled","caret"])])]),r.createElementVNode("div",Rme,[r.createVNode(jr,{color:g.value,"onUpdate:color":E[3]||(E[3]=T=>g.value=T)},{clickable:r.withCtx(({openPicker:T,bgColor:x})=>[r.createElementVNode("button",{style:r.normalizeStyle({background:x}),class:"color-button",onClick:D=>w(D,T)},null,12,zme)]),_:1},8,["color"]),t.isEditable?(r.openBlock(),r.createElementBlock("button",{key:0,type:"button",class:"ao-project-milestone__quick-add",title:b.$t("project.activity.add"),onClick:p},[r.createVNode(be,{name:"Add",class:"ao-project-milestone__quick-add-icon"})],8,Ume)):r.createCommentVNode("",!0)])])):r.createCommentVNode("",!0)]),r.createElementVNode("div",qme,[r.createVNode(r.unref(ko),r.mergeProps({class:"ao-project-milestone__activities",list:u.value,disabled:!t.isEditable,"item-key":"id",group:"kanban"},b.$attrs,{onChange:h}),{item:r.withCtx(({element:T})=>{var x,D,S,$,M;return[r.createVNode(fd,{id:T.id,name:T.name||T.id,"project-id":t.projectId,"phase-name":(x=a.value)==null?void 0:x.name,"milestone-name":(D=c.value)==null?void 0:D.name,"milestone-color":(S=c.value)==null?void 0:S.color,deadline:T.deadline,important:T.important,blocked:T.blocked,users:t.users,assignee:T.assignee,slug:T.slug,comments:($=T.comments)==null?void 0:$.length,attachments:(M=T.attachments)==null?void 0:M.length,tasks:T.tasks,"is-editable":t.isEditable,"is-private":T.private,"is-closed":C(T),onClick:I=>b.$router.push({name:r.unref(Pe).activity,params:{milestoneId:t.milestoneId,activityId:T.id}}),onUpdateActivity:m,onRemoveAssignee:()=>m({id:T.id,assigneeId:null}),onStartTimer:s},r.createSlots({_:2},[t.isEditable?{name:"secondary",fn:r.withCtx(()=>[t.isEditable&&T.active?(r.openBlock(),r.createBlock(ue,{key:0,color:"primary",variant:"ghost","icon-name":"ArchiveOutlineRounded",size:"sm","icon-position":"start",corners:"round",label:b.$t("archive"),onClick:r.withModifiers(()=>b.$emit("archiveActivity",{id:T.id}),["stop"])},null,8,["label","onClick"])):r.createCommentVNode("",!0),t.isEditable&&!T.active?(r.openBlock(),r.createBlock(ue,{key:1,color:"primary",variant:"ghost","icon-name":"ArchiveOutlineRounded",size:"sm","icon-position":"start",corners:"round",label:b.$t("feed.activity.unarchive"),onClick:r.withModifiers(()=>b.$emit("unarchiveActivity",{id:T.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",Hme,[r.createVNode(wo,{"icon-name":"Add",label:b.$t("project.activity.add"),onClick:f},null,8,["label"])])):r.createCommentVNode("",!0)])])}}});const jme=r.defineComponent({__name:"AoProjectOverviewActivityDetails",props:{phaseId:{},milestoneId:{},activityId:{},activityTypes:{},devStatuses:{},activities:{},isTaskCheckable:{type:Function},statuses:{},phases:{},users:{},project:{},userId:{},isEditable:{type:Boolean},attachmentEnabled:{type:Boolean},timeTrackingData:{},loadAttachmentPreview:{type:Function},sprints:{}},emits:["update:activity","addSubtask","updateSubtask","deleteSubtask","addFiles","removeFile","addComment","updateComment","removeComment","createSprint"],setup(t,{emit:e}){const n=t,o=e,i=r.computed(()=>{var C;return(C=n.phases)==null?void 0:C.find(v=>v.id===n.phaseId)}),s=r.computed(()=>{var C;return(C=n.phases)==null?void 0:C.flatMap(v=>v.milestones)}),a=r.computed(()=>{var C;return(C=s.value)==null?void 0:C.find(v=>v.id===n.milestoneId)}),l=r.computed(()=>{var C;return(C=n.activities)==null?void 0:C.find(v=>v.id===n.activityId)}),c=C=>{o("update:activity",C)},u=C=>{o("addSubtask",C)},d=C=>{o("updateSubtask",C)},f=C=>{o("deleteSubtask",C)},p=C=>{o("addFiles",C)},m=C=>{o("removeFile",C)},h=C=>{o("addComment",C)},g=C=>{o("updateComment",C)},y=C=>{o("removeComment",C)};return(C,v)=>{var _,k;return l.value?(r.openBlock(),r.createBlock(nd,{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:`${(_=i.value)==null?void 0:_.name} / ${(k=a.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,onClose:C.$router.back,"onUpdate:activity":c,onAddSubtask:u,onUpdateSubtask:d,onDeleteSubtask:f,onAddFiles:p,onRemoveFile:m,onAddComment:h,onUpdateComment:g,onRemoveComment:y,onCreateSprint:v[0]||(v[0]=w=>o("createSprint",w))},{default:r.withCtx(w=>[r.renderSlot(C.$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","onClose"])):r.createCommentVNode("",!0)}}}),Wme={class:"ao-col-header"},Zme=r.defineComponent({__name:"AoColHeader",props:{title:{},items:{}},setup(t){return(e,n)=>(r.openBlock(),r.createElementBlock("header",Wme,[r.createVNode(Ct,{title:t.title,class:"ao-col-header__title",level:4},null,8,["title"]),t.items?(r.openBlock(),r.createBlock(Vi,{key:0,label:t.items,class:"ao-col-header__items",variant:"solid",color:"primary"},null,8,["label"])):r.createCommentVNode("",!0)]))}});function Kme(t){return r.getCurrentScope()?(r.onScopeDispose(t),!0):!1}function Sa(t){return typeof t=="function"?t():r.unref(t)}const Gme=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const Yme=t=>t!=null,Ii=()=>{};function Jme(t,e){function n(...o){return new Promise((i,s)=>{Promise.resolve(t(()=>e.apply(this,o),{fn:e,thisArg:this,args:o})).then(i).catch(s)})}return n}function Xme(t,e={}){let n,o,i=Ii;const s=l=>{clearTimeout(l),i(),i=Ii};return l=>{const c=Sa(t),u=Sa(e.maxWait);return n&&s(n),c<=0||u!==void 0&&u<=0?(o&&(s(o),o=null),Promise.resolve(l())):new Promise((d,f)=>{i=e.rejectOnCancel?f:d,u&&!o&&(o=setTimeout(()=>{n&&s(n),o=null,d(l())},u)),n=setTimeout(()=>{o&&s(o),o=null,d(l())},c)})}}function Qme(t,e=200,n={}){return Jme(Xme(e,n),t)}function ac(t){var e;const n=Sa(t);return(e=n==null?void 0:n.$el)!=null?e:n}const ehe=Gme?window:void 0;function the(){const t=r.ref(!1),e=r.getCurrentInstance();return e&&r.onMounted(()=>{t.value=!0},e),t}function nhe(t){const e=the();return r.computed(()=>(e.value,!!t()))}function ohe(t,e,n={}){const{root:o,rootMargin:i="0px",threshold:s=.1,window:a=ehe,immediate:l=!0}=n,c=nhe(()=>a&&"IntersectionObserver"in a),u=r.computed(()=>{const h=Sa(t);return(Array.isArray(h)?h:[h]).map(ac).filter(Yme)});let d=Ii;const f=r.ref(l),p=c.value?r.watch(()=>[u.value,ac(o),f.value],([h,g])=>{if(d(),!f.value||!h.length)return;const y=new IntersectionObserver(e,{root:ac(g),rootMargin:i,threshold:s});h.forEach(C=>C&&y.observe(C)),d=()=>{y.disconnect(),d=Ii}},{immediate:l,flush:"post"}):Ii,m=()=>{d(),p(),f.value=!1};return Kme(m),{isSupported:c,isActive:f,pause(){d(),f.value=!1},resume(){f.value=!0},stop:m}}const rhe={class:r.normalizeClass(["ao-list-kanban"])},ihe={class:"ao-list-kanban__header"},she=["title"],ahe={key:0,class:"ao-list-kanban__end ao-list-kanban__end--loading"},lhe={key:1,class:"ao-list-kanban__end"},che={key:0,class:"ao-list-kanban__no-more"},uhe={key:1,class:"ao-list-kanban__divider"},dhe={key:1,class:"ao-list-kanban__footer"},fhe=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,i=r.ref(!1),s=r.ref(null);ohe(s,([{isIntersecting:f}])=>{i.value=f}),r.watch(i,f=>{f&&n.hasMore&&!n.isLoading&&o("loadMore")});const a=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)},u=f=>{if("added"in f){const p={id:f.added.element.id,rank:Br(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:Br(n.list,f.moved.newIndex)})},d=r.ref(!1);return(f,p)=>(r.openBlock(),r.createElementBlock("div",rhe,[t.title||f.$slots.header?r.renderSlot(f.$slots,"header",{},()=>{var m;return[r.createElementVNode("div",ihe,[t.title?(r.openBlock(),r.createBlock(Zme,{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(be,{name:"Add"})],8,she)):r.createCommentVNode("",!0)])]},void 0,0):r.createCommentVNode("",!0),r.createVNode(r.unref(ko),r.mergeProps({class:["ao-list-kanban__list",d.value?"ao-list-kanban__transition":void 0],list:t.list,"item-key":"id",group:"kanban","ghost-class":"ao-list-kanban__ghost",animation:"200"},f.$attrs,{draggable:".ao-list-draggable",disabled:!t.isEditable,"component-data":{tag:"transition-group",name:"ao-list-kanban__transition"},onChange:u,onStart:p[2]||(p[2]=m=>d.value=!0),onEnd:p[3]||(p[3]=m=>d.value=!1)}),{item:r.withCtx(({element:m})=>{var h,g,y,C,v,_,k,w,b,E;return[r.createVNode(fd,{id:m.id,class:r.normalizeClass(a(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":(y=m.project)==null?void 0:y.color,"phase-name":(v=(C=m.milestone)==null?void 0:C.phase)==null?void 0:v.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:(b=m.comments)==null?void 0:b.length,attachments:(E=m.attachments)==null?void 0:E.length,users:t.users,assignee:m.assignee,slug:m.slug,"is-editable":a(m),"is-private":m.private,"tag-type":t.tagType,onUpdateActivity:[N=>a(m)&&c(N),()=>a(m)&&c],onClick:()=>l(m.id),onRemoveAssignee:()=>a(m)&&c({id:m.id,assigneeId:null}),onStartTimer:p[1]||(p[1]=N=>f.$emit("startTimer",N))},{secondary:r.withCtx(()=>[a(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),a(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",ahe,[r.createVNode(be,{name:"Loading"})])):t.hasMore?(r.openBlock(),r.createElementBlock("div",{key:2,ref_key:"scrollEnd",ref:s,class:"ao-list-kanban__end"},null,512)):(r.openBlock(),r.createElementBlock("div",lhe,[t.noMoreLabel?(r.openBlock(),r.createElementBlock("span",che,r.toDisplayString(t.noMoreLabel),1)):t.isEditable?(r.openBlock(),r.createElementBlock("span",uhe)):r.createCommentVNode("",!0)]))]),_:1},16,["class","list","disabled"]),f.$slots.footer||t.footerLabel?(r.openBlock(),r.createElementBlock("div",dhe,[r.renderSlot(f.$slots,"footer",{},()=>[t.isEditable?(r.openBlock(),r.createBlock(wo,{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)]))}});const phe={class:"ao-field ao-search-field"},mhe=["value","placeholder"],hhe=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,i=async l=>{const u=l.target.value;o("update:modelValue",u,l)},s=Qme(i,n.delay),a=l=>{o("clear",l)};return(l,c)=>(r.openBlock(),r.createElementBlock("div",phe,[r.createElementVNode("input",{value:t.modelValue,type:"text",class:"ao-field__input ao-search-field__input",placeholder:t.placeholder,onInput:c[0]||(c[0]=(...u)=>r.unref(s)&&r.unref(s)(...u)),onKeypress:r.withKeys(i,["enter"])},null,40,mhe),r.createVNode(be,{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:a},null,8,["class"])]))}});const ghe={class:"ao-sprint-metrics"},vhe=["onClick"],_he={class:"ao-sprint-metrics__header-left"},yhe={class:"ao-sprint-metrics__icon"},Che={class:"ao-sprint-metrics__title"},bhe={class:"ao-sprint-metrics__dates"},khe={key:0,class:"ao-sprint-metrics__project"},whe={class:"ao-sprint-metrics__advancement"},Ehe={class:"ao-sprint-metrics__progress-bar"},She={class:"ao-sprint-metrics__percent"},xhe={class:"ao-sprint-metrics__tooltip ao-sprint-metrics__tooltip--advancement"},The={class:"ao-sprint-metrics__tooltip-row"},Ahe={class:"ao-sprint-metrics__tooltip-row"},Nhe={class:"ao-sprint-metrics__tooltip-row"},Dhe={class:"ao-sprint-metrics__tooltip-row"},$he={class:"ao-sprint-metrics__tooltip-row"},Mhe={class:"ao-sprint-metrics__tooltip-row"},Bhe={class:"ao-sprint-metrics__tooltip-row"},Ohe={class:"ao-sprint-metrics__content"},Lhe={class:"ao-sprint-metrics__grid"},Ihe={class:"ao-sprint-metrics__item"},Vhe={class:"ao-sprint-metrics__label"},Phe={class:"ao-sprint-metrics__value"},Fhe={key:0,class:"ao-sprint-metrics__tooltip"},Rhe={class:"ao-sprint-metrics__tooltip-title"},zhe={class:"ao-sprint-metrics__item"},Uhe={class:"ao-sprint-metrics__label"},qhe={class:"ao-sprint-metrics__value"},Hhe={class:"ao-sprint-metrics__item ao-sprint-metrics__item--editable"},jhe={class:"ao-sprint-metrics__label"},Whe={class:"ao-sprint-metrics__input-row"},Zhe=["value","placeholder","onInput"],Khe={key:0,class:"ao-sprint-metrics__secondary"},Ghe={class:"ao-sprint-metrics__item"},Yhe={class:"ao-sprint-metrics__label"},Jhe={class:"ao-sprint-metrics__value"},Xhe=r.defineComponent({__name:"AoSprintMetrics",props:{sprints:{},activities:{},planningData:{default:()=>({})},projects:{default:()=>[]}},setup(t){const e=t,{t:n}=on(),o=["Ok for prod","Done"],i=r.ref(new Set),s=r.ref({}),a=x=>{i.value.has(x)?i.value.delete(x):i.value.add(x)},l=x=>e.projects.find(D=>D.id===x.projectId),c=x=>{var D;return((D=e.planningData[x])==null?void 0:D.plannedManDays)??0},u=x=>{var D;return((D=e.planningData[x])==null?void 0:D.remainingPlannedManDays)??0},d=x=>{var D;return((D=e.planningData[x])==null?void 0:D.users)??[]},f=x=>e.activities.filter(D=>{var S;return((S=D.sprint)==null?void 0:S.id)===x}).reduce((D,S)=>D+(S.estimation??0),0),p=x=>e.activities.filter(D=>{var $,M;if((($=D.sprint)==null?void 0:$.id)!==x)return!1;const S=(M=D.devStatus)==null?void 0:M.name;return S&&o.includes(S)}).reduce((D,S)=>D+(S.estimation??0),0),m=x=>{const D=c(x);return D<=0?0:f(x)/D},h=x=>s.value[x],g=(x,D)=>{const S=parseFloat(D);isNaN(S)||S<=0?delete s.value[x]:s.value[x]=S},y=x=>{const D=h(x);return D===void 0?0:c(x)*D},C=x=>{const D=y(x);return D<=0?null:f(x)/D},v=x=>{const D=C(x);return D===null?0:Math.round(D*100)},_=x=>{const D=f(x);if(D<=0)return 0;const S=p(x);return Math.round(S/D*100)},k=x=>{const D=f(x),S=p(x);return Math.max(0,D-S)},w=x=>{const D=u(x),S=m(x);return D*S},b=x=>{const D=w(x),S=k(x);return D<=0&&S>0?!1:D<S},E=x=>x.toFixed(1),N=x=>`${x.toFixed(2)} pts / MD`,T=(x,D)=>{const S=new Date(x),$=new Date(D),M={day:"numeric",month:"short"};return`${S.toLocaleDateString("en-UK",M)} – ${$.toLocaleDateString("en-UK",M)}`};return(x,D)=>(r.openBlock(),r.createElementBlock("div",ghe,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(t.sprints,S=>{var $;return r.openBlock(),r.createElementBlock("div",{key:S.id,class:"ao-sprint-metrics__section"},[r.createElementVNode("div",{class:"ao-sprint-metrics__header",onClick:M=>a(S.id)},[r.createElementVNode("div",_he,[r.createElementVNode("span",yhe,r.toDisplayString(i.value.has(S.id)?"▸":"▾"),1),r.createElementVNode("span",Che,r.toDisplayString(S.name),1),r.createElementVNode("span",bhe," · "+r.toDisplayString(T(S.startDate,S.endDate)),1),!i.value.has(S.id)&&l(S)?(r.openBlock(),r.createElementBlock("span",khe," · "+r.toDisplayString(($=l(S))==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":b(S.id)}])},[r.createElementVNode("div",whe,[r.createElementVNode("div",Ehe,[r.createElementVNode("div",{class:r.normalizeClass(["ao-sprint-metrics__progress-fill",{"ao-sprint-metrics__progress-fill--behind":b(S.id)}]),style:r.normalizeStyle({width:_(S.id)+"%"})},null,6)]),r.createElementVNode("span",She,r.toDisplayString(_(S.id))+"% ",1),r.createElementVNode("div",xhe,[D[7]||(D[7]=r.createElementVNode("span",{class:"ao-sprint-metrics__tooltip-title"}," Sprint advancement ",-1)),r.createElementVNode("span",The,[D[0]||(D[0]=r.createElementVNode("span",null,"Advancement",-1)),r.createElementVNode("span",null,r.toDisplayString(_(S.id))+"%",1)]),r.createElementVNode("span",Ahe,[D[1]||(D[1]=r.createElementVNode("span",null,"Completed",-1)),r.createElementVNode("span",null,r.toDisplayString(E(p(S.id)))+" / "+r.toDisplayString(E(f(S.id)))+" pts ",1)]),r.createElementVNode("span",Nhe,[D[2]||(D[2]=r.createElementVNode("span",null,"Remaining",-1)),r.createElementVNode("span",null,r.toDisplayString(E(k(S.id)))+" pts",1)]),D[8]||(D[8]=r.createElementVNode("span",{class:"ao-sprint-metrics__tooltip-separator"},null,-1)),r.createElementVNode("span",Dhe,[D[3]||(D[3]=r.createElementVNode("span",null,"Remaining capacity",-1)),r.createElementVNode("span",null,r.toDisplayString(E(w(S.id)))+" pts",1)]),r.createElementVNode("span",$he,[D[4]||(D[4]=r.createElementVNode("span",null,"Remaining planning",-1)),r.createElementVNode("span",null,r.toDisplayString(E(u(S.id)))+" MD",1)]),r.createElementVNode("span",Mhe,[D[5]||(D[5]=r.createElementVNode("span",null,"Estimated velocity",-1)),r.createElementVNode("span",null,r.toDisplayString(N(m(S.id))),1)]),D[9]||(D[9]=r.createElementVNode("span",{class:"ao-sprint-metrics__tooltip-separator"},null,-1)),r.createElementVNode("span",Bhe,[D[6]||(D[6]=r.createElementVNode("span",null,"Status",-1)),r.createElementVNode("span",null,r.toDisplayString(b(S.id)?"Behind plan":"On track"),1)])])])],2)],8,vhe),r.withDirectives(r.createElementVNode("div",Ohe,[r.createElementVNode("div",Lhe,[r.createElementVNode("div",Ihe,[r.createElementVNode("div",Vhe,r.toDisplayString(r.unref(n)("sprintMetrics.manDaysPlanned")),1),r.createElementVNode("div",Phe,[r.createElementVNode("span",{class:r.normalizeClass(["ao-sprint-metrics__man-days",{"ao-sprint-metrics__man-days--has-tooltip":d(S.id).length>0}])},[r.createTextVNode(r.toDisplayString(E(c(S.id)))+" MD ",1),d(S.id).length>0?(r.openBlock(),r.createElementBlock("span",Fhe,[r.createElementVNode("span",Rhe,r.toDisplayString(E(c(S.id)))+" MD planned ",1),(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(d(S.id),M=>(r.openBlock(),r.createElementBlock("span",{key:M.userId,class:"ao-sprint-metrics__tooltip-row"},[r.createElementVNode("span",null,r.toDisplayString(M.fullName),1),r.createElementVNode("span",null,r.toDisplayString(E(M.plannedManDays))+" MD",1)]))),128))])):r.createCommentVNode("",!0)],2)])]),r.createElementVNode("div",zhe,[r.createElementVNode("div",Uhe,r.toDisplayString(r.unref(n)("sprintMetrics.estimatedPoints")),1),r.createElementVNode("div",qhe,r.toDisplayString(E(f(S.id)))+" pts ",1)]),r.createElementVNode("div",Hhe,[r.createElementVNode("div",jhe,r.toDisplayString(r.unref(n)("sprintMetrics.targetVelocity")),1),r.createElementVNode("div",Whe,[r.createElementVNode("input",{type:"number",step:"0.1",min:"0",class:"ao-sprint-metrics__input",value:s.value[S.id]??"",placeholder:r.unref(n)("sprintMetrics.targetVelocityPlaceholder"),onInput:M=>g(S.id,M.target.value)},null,40,Zhe),D[10]||(D[10]=r.createElementVNode("span",{class:"ao-sprint-metrics__unit"},"pts / MD",-1))]),m(S.id)>0?(r.openBlock(),r.createElementBlock("div",Khe,r.toDisplayString(r.unref(n)("sprintMetrics.currentlyEstimated"))+": "+r.toDisplayString(N(m(S.id))),1)):r.createCommentVNode("",!0)]),r.createElementVNode("div",Ghe,[r.createElementVNode("div",Yhe,r.toDisplayString(r.unref(n)("sprintMetrics.planningProgress")),1),r.createElementVNode("div",Jhe,[C(S.id)!==null?(r.openBlock(),r.createElementBlock(r.Fragment,{key:0},[r.createTextVNode(r.toDisplayString(v(S.id))+"% · "+r.toDisplayString(E(f(S.id)))+" / "+r.toDisplayString(E(y(S.id)))+" pts ",1)],64)):(r.openBlock(),r.createElementBlock(r.Fragment,{key:1},[r.createTextVNode(" — ")],64))])])])],512),[[r.vShow,!i.value.has(S.id)]])])}),128))]))}});const Qhe=oe(Xhe,[["__scopeId","data-v-98b799f1"]]),ege={class:"ao-feed"},tge={class:"ao-feed__filters"},nge={class:"ao-feed__body"},Gc=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:()=>[]},sprintPlanningData:{default:()=>({})}},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"],setup(t,{emit:e}){const{t:n}=on(),o=t,i=e;function s(R,ae){i("toast",R,ae)}const a=r.toRef(o,"activities"),l=r.computed(()=>o.feedMode==="dev"?o.devStatuses:o.statuses),c=r.computed(()=>o.feedMode==="dev"?a.value.filter(R=>R.activityType==="dev"):a.value),u=async(R,ae)=>{await i("selectActivity",R,ae)},d=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([R,ae,he,pe],[ke,Fe])=>{const De=o.feedMode==="dev"?"devStatus":"status";d.value=Object.fromEntries(R.map(xe=>[xe.id,ae.filter(Ie=>{const Ve=Ie[De];return(Ve==null?void 0:Ve.id)===xe.id})])),he&&!f.value?(u(he,null),f.value=!0):pe&&!f.value&&(u(null,pe),f.value=!0),p.value&&Wn(ae,Fe)},{immediate:!0});const h=r.computed(()=>{var R;return!o.selectedActivity||!o.selectedActivity.milestone?"":`${((R=o.selectedActivity.milestone.phase)==null?void 0:R.name)??""} / ${o.selectedActivity.milestone.name??""}`}),g=R=>{var xe;const ae=o.feedMode==="dev"?o.activities.filter(Ie=>Ie.activityType==="dev"):o.activities,he=ae==null?void 0:ae.at(-1),pe=he?at.LexoRank.parse(he.rank).genNext():at.LexoRank.middle(),ke=((xe=o.activities)==null?void 0:xe.length)??0,Fe=o.feedMode==="dev",De={name:n("activity.defaultName",{idx:ke+1}),rank:pe.format(),...Fe?{statusDevId:R.id,type:"dev"}:{statusId:R.id}};if(o.filters.assigneeId.length>0&&(De.assigneeId=o.filters.assigneeId[0]),o.filters.projectId.length>0&&(De.projectId=o.filters.projectId[0]),o.filters.sprintId&&o.filters.sprintId.length===1){const Ie=o.sprints.find(Ve=>Ve.id===o.filters.sprintId[0]);Ie&&(De.sprintId=Ie.id,De.projectId=Ie.projectId)}p.value=!0,i("addActivity",De)},y=R=>{var xe,Ie;const ae=o.feedMode==="dev"?"devStatus":"status",he=((xe=o.activities)==null?void 0:xe.filter(Ve=>{const dt=Ve[ae];return(dt==null?void 0:dt.id)===R.id}))??[],pe=ns(he),ke=((Ie=o.activities)==null?void 0:Ie.length)??0,Fe=o.feedMode==="dev",De={name:n("activity.defaultName",{idx:ke+1}),rank:pe,...Fe?{statusDevId:R.id,type:"dev"}:{statusId:R.id}};if(o.filters.assigneeId.length>0&&(De.assigneeId=o.filters.assigneeId[0]),o.filters.projectId.length>0&&(De.projectId=o.filters.projectId[0]),o.filters.sprintId&&o.filters.sprintId.length===1){const Ve=o.sprints.find(dt=>dt.id===o.filters.sprintId[0]);Ve&&(De.sprintId=Ve.id,De.projectId=Ve.projectId)}p.value=!0,i("addActivity",De)},C=(R,ae)=>{p.value=!1,i("update:filters",{...o.filters,[R]:ae})},v=r.computed(()=>o.project?[o.project]:o.projects??[]),_=r.computed(()=>v.value.map(R=>({value:R.id,label:R.name}))),k=r.computed(()=>o.sprints.map(R=>({value:R.id,label:`${R.name} · ${R.startDate} – ${R.endDate}`,startDate:R.startDate,endDate:R.endDate,projectId:R.projectId}))),w=r.computed(()=>{const R=o.filters[so.sprint]??[];return o.sprints.filter(ae=>R.includes(ae.id))});r.computed(()=>{var R;return(R=o.activityTypes)==null?void 0:R.map(ae=>({value:ae.id,label:ae.name}))});const b=r.computed(()=>o.users.map(R=>({value:R.id,label:`${R.firstName} ${R.lastName}`,avatar:R.avatarUrl}))),E=R=>{o.selectedActivity&&i("update:activity",R)},N=R=>{i("update:activity",R)},T=R=>{i("archiveActivity",R)},x=R=>{i("unarchiveActivity",R)},D=R=>{var ae;i("startTimer",R),(ae=window.parent)==null||ae.postMessage({type:"startTimer",data:R},"*")},S=R=>{p.value=!1,i("update:searchText",R)},$=R=>{p.value=!1,i("clear:searchText",R)},M=R=>{o.selectedActivity&&i("addSubtask",R)},I=R=>{o.selectedActivity&&i("updateSubtask",R)},V=R=>{o.selectedActivity&&i("deleteSubtask",R)},j=R=>{i("addFiles",R)},F=R=>{i("removeFile",R)},H=R=>{o.selectedActivity&&i("addComment",{...R,activityId:o.selectedActivity.id})},P=R=>{const{id:ae}=o.selectedActivity||{};ae&&i("updateComment",R)},Q=R=>{const{id:ae}=o.selectedActivity||{};ae&&i("removeComment",R)},ee=$r.useRouter(),ve=$r.useRoute(),ne=r.ref("feed");r.watch(()=>ve.name,R=>{R===Vo.feed||R==="ActivityFeed"||R==="ActivityFeedWithActivity"?ne.value="feed":R===Vo.dev||R==="ActivityFeedDev"||R==="ActivityFeedDevWithActivity"?ne.value="dev":R===Pe.feed?ne.value="feed":R===Pe.dev?ne.value="dev":R===Pe.project?ne.value="overview":R===Pe.mapping&&(ne.value="mapping")},{immediate:!0});const se=[{label:"Overview",value:"overview"},{label:"Feed",value:"feed"},{label:"Dev",value:"dev"},{label:"Mapping",value:"mapping"}],U=r.computed(()=>re.value?se.filter(R=>R.value==="feed"||R.value==="dev"):se),re=r.computed(()=>!o.project&&ve.name&&(ve.name===Vo.feed||ve.name===Vo.dev||ve.name==="ActivityFeed"||ve.name==="ActivityFeedDev"||ve.name==="ActivityFeedWithActivity"||ve.name==="ActivityFeedDevWithActivity")),ye=r.computed(()=>re.value?Vo.feed:Pe.feed),Be=r.computed(()=>re.value?Vo.dev:Pe.dev),nt=r.computed(()=>Pe.project),ut=r.computed(()=>Pe.mapping);return r.watch(ne,R=>{R==="feed"?ee.push({name:ye.value}):R==="dev"?ee.push({name:Be.value}):R==="overview"?ee.push({name:nt.value}):R==="mapping"&&ee.push({name:ut.value})}),(R,ae)=>{var he;return r.openBlock(),r.createElementBlock("div",ege,[r.createVNode(os,null,{primary:r.withCtx(()=>[r.createElementVNode("div",tge,[r.createVNode(gs,{modelValue:ne.value,"onUpdate:modelValue":ae[0]||(ae[0]=pe=>ne.value=pe),tabs:U.value},null,8,["modelValue","tabs"]),r.createVNode(hhe,{"model-value":t.searchText,placeholder:R.$t("feed.search.placeholder"),class:"ao-feed__search","onUpdate:modelValue":S,onClear:$},null,8,["model-value","placeholder"]),o.project?r.createCommentVNode("",!0):(r.openBlock(),r.createBlock(Et,{key:0,"model-value":t.filters[r.unref(so).project],mode:"tags",options:_.value,"close-on-select":!1,searchable:!0,class:"ao-feed__filter ao-feed__filter__projects",placeholder:R.$t("feed.filters.project.placeholder"),"onUpdate:modelValue":ae[1]||(ae[1]=pe=>C(r.unref(so).project,pe))},null,8,["model-value","options","placeholder"])),t.feedMode==="dev"?(r.openBlock(),r.createBlock(Et,{key:1,"model-value":t.filters[r.unref(so).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:R.$t("feed.filters.sprint.placeholder"),"onUpdate:modelValue":ae[2]||(ae[2]=pe=>C(r.unref(so).sprint,pe))},null,8,["model-value","options","disabled","placeholder"])):r.createCommentVNode("",!0),b.value.length?(r.openBlock(),r.createBlock(Et,{key:2,"model-value":t.filters[r.unref(so).assignee],mode:"tags",options:b.value,"close-on-select":!1,searchable:!0,class:"ao-feed__filter ao-feed__filter__assignees",placeholder:R.$t("feed.filters.assignee.placeholder"),"onUpdate:modelValue":ae[3]||(ae[3]=pe=>C(r.unref(so).assignee,pe))},{tag:r.withCtx(({option:pe,handleTagRemove:ke})=>[r.createVNode(Xn,{"user-name":pe.label,"avatar-url":pe.avatar,"is-closable":!0,onClose:Fe=>ke(pe,Fe)},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:R.$t("feed.filters.showsOnlyNonAssigned.label"),role:"checkbox","aria-checked":t.showsOnlyNonAssigned,onClick:ae[4]||(ae[4]=pe=>R.$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:R.$t("feed.filters.showsOnlyImportant.label"),role:"checkbox","aria-checked":t.showsOnlyImportant,onClick:ae[5]||(ae[5]=pe=>R.$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:R.$t("feed.filters.showsArchivedActivities.label"),role:"checkbox","aria-checked":t.showsArchivedActivities,onClick:ae[6]||(ae[6]=pe=>R.$emit("update:showsArchivedActivities",!t.showsArchivedActivities))},null,8,["icon-name","label","aria-checked"])]),_:1}),t.feedMode==="dev"&&w.value.length>0?(r.openBlock(),r.createBlock(Qhe,{key:0,sprints:w.value,activities:c.value,"planning-data":t.sprintPlanningData,projects:v.value},null,8,["sprints","activities","planning-data","projects"])):r.createCommentVNode("",!0),r.createElementVNode("div",nge,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(l.value,pe=>(r.openBlock(),r.createBlock(fhe,{key:pe.id,status:pe,list:d.value[pe.id],title:pe.name,"footer-label":R.$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(pe),onAddAtBeginning:()=>y(pe),onSelectActivity:u,onArchiveActivity:T,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(nd,{key:0,activity:t.selectedActivity,"activity-types":t.activityTypes,"dev-statuses":t.devStatuses,"milestone-id":(he=t.selectedActivity.milestone)==null?void 0:he.id,"template-activities":a.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:v.value,"time-tracking-data":t.timeTrackingData,"load-attachment-preview":o.loadAttachmentPreview,sprints:t.activitySprints,onClose:ae[7]||(ae[7]=()=>u(null,null)),"onUpdate:activity":E,onAddSubtask:M,onUpdateSubtask:I,onDeleteSubtask:V,onAddFiles:j,onRemoveFile:F,onAddComment:H,onUpdateComment:P,onRemoveComment:Q,onToast:s,onCreateSprint:ae[8]||(ae[8]=pe=>i("createSprint",pe))},{default:r.withCtx(pe=>[r.renderSlot(R.$slots,"activityDetailsBody",r.normalizeProps(r.guardReactiveProps(pe)))]),_: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"])):r.createCommentVNode("",!0)]))])}}});const oge={class:"ao-project-mapping"},rge={class:"ao-project-mapping-mapping__body"},ige={class:"ao-project-mapping-mapping__phases"},sge={key:0,class:"ao-project-mapping-mapping__image-wrapper"},age=["src","alt"],lge=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}=on(),o=t,i=e,s=()=>{const{name:v,rank:_}=Zo(o.phases,"phase",n);i("addPhase",{name:v,rank:_,projectId:o.project.id})},a=()=>{const v=n("template.defaultName.phase",{idx:1}),_=ns(o.phases);i("addPhase",{name:v,rank:_,projectId:o.project.id})},l=v=>{i("updatePhase",v)},c=v=>{i("archivePhase",v)},u=v=>{i("unarchivePhase",v)},d=v=>{i("copyPhaseToTemplate",v)},f=r.ref(!1),p=r.ref(!1),m=(v,_)=>{i("applyTemplate",{templateId:v,projectId:_}),f.value=!1},h=(v,_)=>{var b;const k=(b=o.templates)==null?void 0:b.at(-1),w=k?at.LexoRank.parse(k.rank).genNext():at.LexoRank.middle();i("saveTemplate",{templateName:v,rank:w.format(),phaseIds:_}),p.value=!1},g=$r.useRouter(),y=r.ref("mapping"),C=[{label:"Overview",value:"overview"},{label:"Feed",value:"feed"},{label:"Dev",value:"dev"},{label:"Mapping",value:"mapping"}];return r.watch(y,v=>{v==="feed"?(g.push({name:Pe.feed}),console.log("Navigating to feed...")):v==="dev"?(g.push({name:Pe.dev}),console.log("Navigating to dev...")):v==="overview"?(g.push({name:Pe.project}),console.log("Navigating to feed...")):v==="mapping"&&(g.push({name:Pe.mapping}),console.log("Navigating to feed..."))}),(v,_)=>{var k;return r.openBlock(),r.createElementBlock(r.Fragment,null,[r.createElementVNode("div",r.mergeProps({class:"ao-project-mapping-overview"},v.$attrs),[r.createElementVNode("div",oge,[r.createVNode(os,null,{primary:r.withCtx(()=>[r.createVNode(gs,{modelValue:y.value,"onUpdate:modelValue":_[0]||(_[0]=w=>y.value=w),tabs:C},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:v.$t("feed.filters.showsArchived.label"),role:"checkbox","aria-checked":t.showsArchived,onClick:_[1]||(_[1]=w=>v.$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:v.$t("project.phase.add"),onClick:a},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:v.$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:v.$t("project.template.apply.label"),onClick:_[3]||(_[3]=w=>f.value=!0)},null,8,["label"])):r.createCommentVNode("",!0)]),_:1}),r.createElementVNode("div",rge,[r.createElementVNode("div",ige,[r.createVNode(dd,{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:s,onUpdatePhase:l,onArchivePhase:c,onUnarchivePhase:u,onCopyPhaseToTemplate:d},null,8,["phases","closed-status","is-editable","users","estimation-unit"])]),t.project.architectureImage?(r.openBlock(),r.createElementBlock("div",sge,[r.createElementVNode("img",{class:"architecture-image",src:t.project.architectureImage.url,alt:r.unref(n)("architectureImage.alt")},null,8,age)])):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(Fg,{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)}}});const Uo={TEMPLATES:"templates",TEMPLATE_DETAILS:"template_details",TEMPLATES_LIST:"templates_list"},cge=(t,e={})=>[{path:t,name:Uo.TEMPLATES,redirect:{name:Uo.TEMPLATES_LIST},...e,children:[{path:"",name:Uo.TEMPLATES_LIST,component:zg},{path:":templateId/:phaseId?/:milestoneId?/:activityId?",name:Uo.TEMPLATE_DETAILS,component:Pg,props:!0}]}],Pe={project:"AoProject",feed:"AoProjectFeed",dev:"AoProjectDev",mapping:"AoProjectMapping",milestone:"AoMilestone",activity:"AoActivity"},Vo={feed:"ActivityFeed",dev:"ActivityFeedDev"},uge=(t,e={})=>[{path:t,...e,redirect:{name:Pe.project},children:[{path:"",name:Pe.project,component:sme,props:!0,children:[{path:":phaseId/:milestoneId",name:Pe.milestone,component:mp,props:!0},{path:":phaseId/:milestoneId/:activityId",name:Pe.activity,props:{default:!0,modal:!0},components:{default:mp,modal:jme}}]},{path:"feed",name:Pe.feed,component:Gc,props:n=>({...n.params,feedMode:"standard"})},{path:"dev",name:Pe.dev,component:Gc,props:n=>({...n.params,feedMode:"dev"})},{path:"mapping",name:Pe.mapping,component:lge,props:!0}]}],dge={class:"ao-templates"},zg=r.defineComponent({__name:"AoTemplatesList",props:{templates:{}},emits:["addTemplate","updateTemplates","updateItem","removeItem"],setup(t,{emit:e}){const{t:n}=on(),o=t,i=e;r.watch(()=>o.templates,(u,d)=>{Wn(u,d)});const s=()=>{var m,h;const u=(m=o.templates)==null?void 0:m.at(-1),d=u?at.LexoRank.parse(u.rank).genNext():at.LexoRank.middle(),f=((h=o.templates)==null?void 0:h.length)??0,p={name:n("template.defaultName.template",{idx:f+1}),rank:d.format()};i("addTemplate",p)},a=(u,d)=>{i("updateItem",{itemType:je.TEMPLATES,id:u,templateId:u,data:{name:d}})},l=(u,d)=>{i("removeItem",{itemType:je.TEMPLATES,templateId:u,data:{id:u,...d?{name:d}:{}}})},c=u=>{if(u.moved){const d=ts(u,o.templates??[]);i("updateItem",{itemType:je.TEMPLATES,id:u.moved.element.id,templateId:u.moved.element.id,data:{rank:d}})}};return(u,d)=>(r.openBlock(),r.createElementBlock("div",dge,[r.createVNode(os,null,{secondary:r.withCtx(()=>[r.createVNode(ue,{label:u.$t("templates.new"),color:"primary","icon-name":"Add","icon-position":"start",onClick:s},null,8,["label"])]),_:1}),r.createVNode(r.unref(ko),{"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(q7,{id:f.id,title:f.name,phases:f.phases,milestones:(p=f.phases)!=null&&p.length?r.unref(p7)(f.phases):0,activities:f.phases?r.unref(m7)(f.phases):0,"updated-at":f.updatedAt,"updated-by":f.updatedBy,onUpdateTitle:m=>a(f.id,m),onClick:m=>u.$router.push({name:r.unref(Uo).TEMPLATE_DETAILS,params:{templateId:f.id}}),onDeleteItem:d[0]||(d[0]=(m,h)=>l(m,h))},null,8,["id","title","phases","milestones","activities","updated-at","updated-by","onUpdateTitle","onClick"])]}),_:1},8,["model-value"])]))}});const fge={class:"ao-field__label"},Ug=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",fge,r.toDisplayString(t.label),1),r.renderSlot(e.$slots,"default")],2))}}),pge=["type","value","disabled","readonly"],mge=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,i=r.computed(()=>n.modelModifiers.lazy?"change":"input"),s=a=>{n.modelModifiers.number&&(a=Number(a)),o("update:modelValue",a)};return(a,l)=>(r.openBlock(),r.createBlock(Ug,{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(i.value)]:l[0]||(l[0]=c=>s(c.target.value))}),null,16,pge)]),_:1},8,["label"]))}}),hge={class:"ao-field"},gge={class:"ao-field__label"},vge=["checked","disabled"],_ge=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",hge,[r.createElementVNode("span",gge,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 i;return e.$emit("update:modelValue",((i=o.target)==null?void 0:i.checked)??!1)})},null,40,vge)]))}}),yge={class:"ao-sprint-list"},Cge={class:"ao-sprint-list__header"},bge={class:"ao-sprint-list__title-group"},kge={class:"ao-sprint-list__count"},wge={class:"ao-sprint-list__actions"},Ege={key:0,class:"ao-sprint-list__toggle"},Sge={key:0,class:"ao-sprint-list__row ao-sprint-list__row--editing"},xge=["title","onClick"],Tge=["placeholder"],Age={class:"ao-sprint-list__date-fields"},Nge={class:"ao-sprint-list__row-actions"},Dge={class:"ao-sprint-list__rows"},$ge={class:"ao-sprint-list__identity"},Mge={class:"ao-sprint-list__name-group"},Bge={class:"ao-sprint-list__name"},Oge={key:0,class:"ao-sprint-list__archived-badge"},Lge={class:"ao-sprint-list__dates"},Ige={key:0,class:"ao-sprint-list__row-actions"},Vge=["title","onClick"],Pge={class:"ao-sprint-list__date-fields"},Fge={class:"ao-sprint-list__row-actions"},Rge={key:1,class:"ao-sprint-list__empty"},zge=r.defineComponent({__name:"AoSprintList",props:{sprints:{},isEditable:{type:Boolean}},emits:["updateSprint","archiveSprint","unarchiveSprint","createSprint"],setup(t,{emit:e}){const n=t,o=e,{t:i}=on(),s=r.ref(!1),a=r.computed(()=>s.value?n.sprints:n.sprints.filter(N=>N.active)),l=r.ref(null),c=r.ref({name:"",startDate:"",endDate:"",color:""}),u=r.ref(null),d=r.ref(null),f=N=>{l.value=N.id,c.value={name:N.name,startDate:N.startDate,endDate:N.endDate,color:N.color||""}},p=()=>{l.value=null,c.value={name:"",startDate:"",endDate:"",color:""}},m=N=>{o("updateSprint",{id:N,name:c.value.name||void 0,startDate:c.value.startDate||void 0,endDate:c.value.endDate||void 0,color:c.value.color||void 0}),p()},h=N=>{confirm(i("sprint.confirmArchive"))&&o("archiveSprint",{id:N})},g=N=>{o("unarchiveSprint",{id:N})},y=N=>Jc(Mr(N),"dd/MM/yy"),C=()=>n.sprints.reduce((T,x)=>{const D=x.name.match(/^Sprint\s*(\d+)$/);return D?Math.max(T,parseInt(D[1],10)):T},0)+1,v=r.ref(!1),_=r.ref({name:"",startDate:"",endDate:"",color:"#4f5cff"}),k=()=>{v.value=!0,l.value=null,_.value={name:`Sprint ${C()}`,startDate:"",endDate:"",color:"#4f5cff"}},w=()=>{v.value=!1,_.value={name:"",startDate:"",endDate:"",color:"#4f5cff"}},b=()=>{!_.value.name||!_.value.startDate||!_.value.endDate||(o("createSprint",{name:_.value.name,startDate:_.value.startDate,endDate:_.value.endDate,color:_.value.color||void 0}),w())},E=r.computed(()=>v.value?!!(_.value.name&&_.value.startDate&&_.value.endDate):l.value?!!(c.value.name&&c.value.startDate&&c.value.endDate):!1);return(N,T)=>(r.openBlock(),r.createElementBlock("section",yge,[r.createElementVNode("div",Cge,[r.createElementVNode("div",bge,[r.createElementVNode("h3",null,r.toDisplayString(r.unref(i)("sprint.planning")),1),r.createElementVNode("span",kge,r.toDisplayString(a.value.length),1)]),r.createElementVNode("div",wge,[t.sprints.some(x=>!x.active)?(r.openBlock(),r.createElementBlock("label",Ege,[r.withDirectives(r.createElementVNode("input",{"onUpdate:modelValue":T[0]||(T[0]=x=>s.value=x),type:"checkbox"},null,512),[[r.vModelCheckbox,s.value]]),r.createTextVNode(" "+r.toDisplayString(r.unref(i)("sprint.showArchived")),1)])):r.createCommentVNode("",!0),t.isEditable&&!v.value?(r.openBlock(),r.createBlock(ue,{key:1,color:"primary",variant:"solid",size:"sm","icon-name":"Add","icon-position":"start",label:r.unref(i)("sprint.add"),onClick:k},null,8,["label"])):r.createCommentVNode("",!0)])]),v.value?(r.openBlock(),r.createElementBlock("div",Sge,[r.createVNode(jr,{color:_.value.color,"onUpdate:color":T[1]||(T[1]=x=>_.value.color=x)},{clickable:r.withCtx(({openPicker:x,bgColor:D})=>[r.createElementVNode("button",{ref_key:"colorTriggerRef",ref:u,class:"ao-sprint-list__color-trigger",style:r.normalizeStyle({backgroundColor:D}),title:r.unref(i)("sprint.color"),onClick:S=>x(S.currentTarget)},null,12,xge)]),_:1},8,["color"]),r.withDirectives(r.createElementVNode("input",{"onUpdate:modelValue":T[2]||(T[2]=x=>_.value.name=x),type:"text",class:"ao-sprint-list__input ao-sprint-list__input--name",placeholder:r.unref(i)("sprint.name")},null,8,Tge),[[r.vModelText,_.value.name]]),r.createElementVNode("div",Age,[r.withDirectives(r.createElementVNode("input",{"onUpdate:modelValue":T[3]||(T[3]=x=>_.value.startDate=x),type:"date",class:"ao-sprint-list__input ao-sprint-list__input--date"},null,512),[[r.vModelText,_.value.startDate]]),T[9]||(T[9]=r.createElementVNode("span",{class:"ao-sprint-list__date-separator"},"–",-1)),r.withDirectives(r.createElementVNode("input",{"onUpdate:modelValue":T[4]||(T[4]=x=>_.value.endDate=x),type:"date",class:"ao-sprint-list__input ao-sprint-list__input--date"},null,512),[[r.vModelText,_.value.endDate]])]),r.createElementVNode("div",Nge,[r.createVNode(ue,{color:"success",variant:"ghost",size:"sm","icon-name":"CheckSmallRounded",disabled:!E.value,title:r.unref(i)("common.save"),onClick:b},null,8,["disabled","title"]),r.createVNode(ue,{color:"neutral",variant:"ghost",size:"sm","icon-name":"CloseRounded",title:r.unref(i)("common.cancel"),onClick:w},null,8,["title"])])])):r.createCommentVNode("",!0),r.createElementVNode("div",Dge,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(a.value,x=>(r.openBlock(),r.createElementBlock("div",{key:x.id,class:r.normalizeClass(["ao-sprint-list__row",{"ao-sprint-list__row--archived":!x.active,"ao-sprint-list__row--editing":l.value===x.id}])},[l.value!==x.id?(r.openBlock(),r.createElementBlock(r.Fragment,{key:0},[r.createElementVNode("div",$ge,[r.createElementVNode("span",{class:"ao-sprint-list__color-dot",style:r.normalizeStyle({backgroundColor:x.color||"var(--ao-color-primary-base)"})},null,4),r.createElementVNode("div",Mge,[r.createElementVNode("span",Bge,r.toDisplayString(x.name),1),x.active?r.createCommentVNode("",!0):(r.openBlock(),r.createElementBlock("span",Oge,r.toDisplayString(r.unref(i)("sprint.archived")),1))])]),r.createElementVNode("div",Lge,[r.createVNode(be,{name:"CalendarTodayOutlineRounded",size:"sm"}),r.createElementVNode("span",null,r.toDisplayString(y(x.startDate))+" – "+r.toDisplayString(y(x.endDate)),1)]),t.isEditable?(r.openBlock(),r.createElementBlock("div",Ige,[r.createVNode(ue,{color:"neutral",variant:"ghost",size:"sm","icon-name":"EditOutline",title:r.unref(i)("common.edit"),onClick:D=>f(x)},null,8,["title","onClick"]),r.createVNode(ue,{color:"neutral",variant:"ghost",size:"sm",corners:"round","icon-name":(x.active,"ArchiveOutlineRounded"),label:x.active?r.unref(i)("sprint.archive"):r.unref(i)("sprint.unarchive"),onClick:D=>x.active?h(x.id):g(x.id)},null,8,["icon-name","label","onClick"])])):r.createCommentVNode("",!0)],64)):(r.openBlock(),r.createElementBlock(r.Fragment,{key:1},[r.createVNode(jr,{color:c.value.color,"onUpdate:color":T[5]||(T[5]=D=>c.value.color=D)},{clickable:r.withCtx(({openPicker:D,bgColor:S})=>[r.createElementVNode("button",{ref_for:!0,ref_key:"colorTriggerEditRef",ref:d,class:"ao-sprint-list__color-trigger",style:r.normalizeStyle({backgroundColor:S}),title:r.unref(i)("sprint.color"),onClick:$=>D($.currentTarget)},null,12,Vge)]),_:1},8,["color"]),r.withDirectives(r.createElementVNode("input",{"onUpdate:modelValue":T[6]||(T[6]=D=>c.value.name=D),type:"text",class:"ao-sprint-list__input ao-sprint-list__input--name"},null,512),[[r.vModelText,c.value.name]]),r.createElementVNode("div",Pge,[r.withDirectives(r.createElementVNode("input",{"onUpdate:modelValue":T[7]||(T[7]=D=>c.value.startDate=D),type:"date",class:"ao-sprint-list__input ao-sprint-list__input--date"},null,512),[[r.vModelText,c.value.startDate]]),T[10]||(T[10]=r.createElementVNode("span",{class:"ao-sprint-list__date-separator"},"–",-1)),r.withDirectives(r.createElementVNode("input",{"onUpdate:modelValue":T[8]||(T[8]=D=>c.value.endDate=D),type:"date",class:"ao-sprint-list__input ao-sprint-list__input--date"},null,512),[[r.vModelText,c.value.endDate]])]),r.createElementVNode("div",Fge,[r.createVNode(ue,{color:"success",variant:"ghost",size:"sm","icon-name":"CheckSmallRounded",disabled:!E.value,title:r.unref(i)("common.save"),onClick:D=>m(x.id)},null,8,["disabled","title","onClick"]),r.createVNode(ue,{color:"neutral",variant:"ghost",size:"sm","icon-name":"CloseRounded",title:r.unref(i)("common.cancel"),onClick:p},null,8,["title"])])],64))],2))),128))]),a.value.length===0&&!v.value?(r.openBlock(),r.createElementBlock("div",Rge,r.toDisplayString(r.unref(i)("sprint.noSprints")),1)):r.createCommentVNode("",!0)]))}});const Uge=oe(zge,[["__scopeId","data-v-e9ff8a6c"]]);exports.AoAvatar=Xn;exports.AoCardFeed=fd;exports.AoCheckboxField=_ge;exports.AoColorPicker=jr;exports.AoFeed=Gc;exports.AoField=Ug;exports.AoInputField=mge;exports.AoMultiselect=Et;exports.AoProjectPhases=dd;exports.AoSprintList=Uge;exports.AoTabBar=gs;exports.AoTemplateDetails=Pg;exports.AoTemplates=Jg;exports.AoTemplatesList=zg;exports.EstimationUnit=bp;exports.TemplateItemTypeEnum=Cp;exports.activityFeedRoutes=Vo;exports.activityFeedStatus=S_;exports.durationTypes=E_;exports.feedFilterTypes=so;exports.getProjectOverviewRoutes=uge;exports.getTemplateRoutes=cge;exports.listUpdateTypes=x_;exports.milestoneStatus=Pi;exports.projectOverviewRoutes=Pe;exports.ruleComparators=vp;exports.ruleDurationUnits=yp;exports.ruleTriggerTypes=_p;exports.templateItemType=je;exports.templateRouteNames=Uo;
58
+ */function Bo(t){let e={r:0,g:0,b:0,a:1};/#/.test(t)?e=$fe(t):/rgb/.test(t)?e=pp(t):typeof t=="string"?e=pp(`rgba(${t})`):Object.prototype.toString.call(t)==="[object Object]"&&(e=t);const{r:n,g:o,b:i,a:s}=e,{h:a,s:l,v:c}=Mfe(e);return{r:n,g:o,b:i,a:s===void 0?1:s,h:a,s:l,v:c}}function od(t){const e=document.createElement("canvas"),n=e.getContext("2d"),o=t*2;return e.width=o,e.height=o,n.fillStyle="#ffffff",n.fillRect(0,0,o,o),n.fillStyle="#ccd5db",n.fillRect(0,0,t,t),n.fillRect(t,t,t,t),e}function Kc(t,e,n,o,i,s){const a=t==="l",l=e.createLinearGradient(0,0,a?n:0,a?0:o);l.addColorStop(.01,i),l.addColorStop(.99,s),e.fillStyle=l,e.fillRect(0,0,n,o)}function Dfe({r:t,g:e,b:n},o){const i=a=>("0"+Number(a).toString(16)).slice(-2),s=`#${i(t)}${i(e)}${i(n)}`;return o?s.toUpperCase():s}function $fe(t){t=t.slice(1);const e=n=>parseInt(n,16)||0;return{r:e(t.slice(0,2)),g:e(t.slice(2,4)),b:e(t.slice(4,6))}}function pp(t){return typeof t=="string"?(t=(/rgba?\((.*?)\)/.exec(t)||["","0,0,0,1"])[1].split(","),{r:Number(t[0])||0,g:Number(t[1])||0,b:Number(t[2])||0,a:Number(t[3]?t[3]:1)}):t}function Mfe({r:t,g:e,b:n}){t=t/255,e=e/255,n=n/255;const o=Math.max(t,e,n),i=Math.min(t,e,n),s=o-i;let a=0;o===i?a=0:o===t?e>=n?a=60*(e-n)/s:a=60*(e-n)/s+360:o===e?a=60*(n-t)/s+120:o===n&&(a=60*(t-e)/s+240),a=Math.floor(a);let l=parseFloat((o===0?0:1-i/o).toFixed(2)),c=parseFloat(o.toFixed(2));return{h:a,s:l,v:c}}var rd=r.defineComponent({props:{color:{type:String,default:"#000000"},hsv:{type:Object,default:null},size:{type:Number,default:152}},emits:["selectSaturation"],data(){return{slideSaturationStyle:{}}},mounted(){this.renderColor(),this.renderSlide()},methods:{renderColor(){const t=this.$refs.canvasSaturation,e=this.size,n=t.getContext("2d");t.width=e,t.height=e,n.fillStyle=this.color,n.fillRect(0,0,e,e),Kc("l",n,e,e,"#FFFFFF","rgba(255,255,255,0)"),Kc("p",n,e,e,"rgba(0,0,0,0)","#000000")},renderSlide(){this.slideSaturationStyle={left:this.hsv.s*this.size-5+"px",top:(1-this.hsv.v)*this.size-5+"px"}},selectSaturation(t){const{top:e,left:n}=this.$el.getBoundingClientRect(),o=t.target.getContext("2d"),i=a=>{let l=a.clientX-n,c=a.clientY-e;l<0&&(l=0),c<0&&(c=0),l>this.size&&(l=this.size),c>this.size&&(c=this.size),this.slideSaturationStyle={left:l-5+"px",top:c-5+"px"};const u=o.getImageData(Math.min(l,this.size-1),Math.min(c,this.size-1),1,1),[d,f,p]=u.data;this.$emit("selectSaturation",{r:d,g:f,b:p})};i(t);const s=()=>{document.removeEventListener("mousemove",i),document.removeEventListener("mouseup",s)};document.addEventListener("mousemove",i),document.addEventListener("mouseup",s)}}});const Bfe={ref:"canvasSaturation"};function Ofe(t,e,n,o,i,s){return r.openBlock(),r.createBlock("div",{class:"saturation",onMousedown:e[1]||(e[1]=r.withModifiers((...a)=>t.selectSaturation&&t.selectSaturation(...a),["prevent","stop"]))},[r.createVNode("canvas",Bfe,null,512),r.createVNode("div",{style:t.slideSaturationStyle,class:"slide"},null,4)],32)}rd.render=Ofe;rd.__file="src/color/Saturation.vue";var id=r.defineComponent({props:{hsv:{type:Object,default:null},width:{type:Number,default:15},height:{type:Number,default:152}},emits:["selectHue"],data(){return{slideHueStyle:{}}},mounted(){this.renderColor(),this.renderSlide()},methods:{renderColor(){const t=this.$refs.canvasHue,e=this.width,n=this.height,o=t.getContext("2d");t.width=e,t.height=n;const i=o.createLinearGradient(0,0,0,n);i.addColorStop(0,"#FF0000"),i.addColorStop(.17*1,"#FF00FF"),i.addColorStop(.17*2,"#0000FF"),i.addColorStop(.17*3,"#00FFFF"),i.addColorStop(.17*4,"#00FF00"),i.addColorStop(.17*5,"#FFFF00"),i.addColorStop(1,"#FF0000"),o.fillStyle=i,o.fillRect(0,0,e,n)},renderSlide(){this.slideHueStyle={top:(1-this.hsv.h/360)*this.height-2+"px"}},selectHue(t){const{top:e}=this.$el.getBoundingClientRect(),n=t.target.getContext("2d"),o=s=>{let a=s.clientY-e;a<0&&(a=0),a>this.height&&(a=this.height),this.slideHueStyle={top:a-2+"px"};const l=n.getImageData(0,Math.min(a,this.height-1),1,1),[c,u,d]=l.data;this.$emit("selectHue",{r:c,g:u,b:d})};o(t);const i=()=>{document.removeEventListener("mousemove",o),document.removeEventListener("mouseup",i)};document.addEventListener("mousemove",o),document.addEventListener("mouseup",i)}}});const Lfe={ref:"canvasHue"};function Ife(t,e,n,o,i,s){return r.openBlock(),r.createBlock("div",{class:"hue",onMousedown:e[1]||(e[1]=r.withModifiers((...a)=>t.selectHue&&t.selectHue(...a),["prevent","stop"]))},[r.createVNode("canvas",Lfe,null,512),r.createVNode("div",{style:t.slideHueStyle,class:"slide"},null,4)],32)}id.render=Ife;id.__file="src/color/Hue.vue";var sd=r.defineComponent({props:{color:{type:String,default:"#000000"},rgba:{type:Object,default:null},width:{type:Number,default:15},height:{type:Number,default:152}},emits:["selectAlpha"],data(){return{slideAlphaStyle:{},alphaSize:5}},watch:{color(){this.renderColor()},"rgba.a"(){this.renderSlide()}},mounted(){this.renderColor(),this.renderSlide()},methods:{renderColor(){const t=this.$refs.canvasAlpha,e=this.width,n=this.height,o=this.alphaSize,i=od(o),s=t.getContext("2d");t.width=e,t.height=n,s.fillStyle=s.createPattern(i,"repeat"),s.fillRect(0,0,e,n),Kc("p",s,e,n,"rgba(255,255,255,0)",this.color)},renderSlide(){this.slideAlphaStyle={top:this.rgba.a*this.height-2+"px"}},selectAlpha(t){const{top:e}=this.$el.getBoundingClientRect(),n=i=>{let s=i.clientY-e;s<0&&(s=0),s>this.height&&(s=this.height);let a=parseFloat((s/this.height).toFixed(2));this.$emit("selectAlpha",a)};n(t);const o=()=>{document.removeEventListener("mousemove",n),document.removeEventListener("mouseup",o)};document.addEventListener("mousemove",n),document.addEventListener("mouseup",o)}}});const Vfe={ref:"canvasAlpha"};function Pfe(t,e,n,o,i,s){return r.openBlock(),r.createBlock("div",{class:"color-alpha",onMousedown:e[1]||(e[1]=r.withModifiers((...a)=>t.selectAlpha&&t.selectAlpha(...a),["prevent","stop"]))},[r.createVNode("canvas",Vfe,null,512),r.createVNode("div",{style:t.slideAlphaStyle,class:"slide"},null,4)],32)}sd.render=Pfe;sd.__file="src/color/Alpha.vue";var ad=r.defineComponent({props:{color:{type:String,default:"#000000"},width:{type:Number,default:100},height:{type:Number,default:30}},data(){return{alphaSize:5}},watch:{color(){this.renderColor()}},mounted(){this.renderColor()},methods:{renderColor(){const t=this.$el,e=this.width,n=this.height,o=this.alphaSize,i=od(o),s=t.getContext("2d");t.width=e,t.height=n,s.fillStyle=s.createPattern(i,"repeat"),s.fillRect(0,0,e,n),s.fillStyle=this.color,s.fillRect(0,0,e,n)}}});function Ffe(t,e,n,o,i,s){return r.openBlock(),r.createBlock("canvas")}ad.render=Ffe;ad.__file="src/color/Preview.vue";var ld=r.defineComponent({props:{suckerCanvas:{type:Object,default:null},suckerArea:{type:Array,default:()=>[]}},data(){return{isOpenSucker:!1,suckerPreview:null,isSucking:!1}},watch:{suckerCanvas(t){this.isSucking=!1,this.suckColor(t)}},methods:{openSucker(){this.isOpenSucker?this.keydownHandler({keyCode:27}):(this.isOpenSucker=!0,this.isSucking=!0,this.$emit("openSucker",!0),document.addEventListener("keydown",this.keydownHandler))},keydownHandler(t){t.keyCode===27&&(this.isOpenSucker=!1,this.isSucking=!1,this.$emit("openSucker",!1),document.removeEventListener("keydown",this.keydownHandler),document.removeEventListener("mousemove",this.mousemoveHandler),document.removeEventListener("mouseup",this.mousemoveHandler),this.suckerPreview&&(document.body.removeChild(this.suckerPreview),this.suckerPreview=null))},mousemoveHandler(t){const{clientX:e,clientY:n}=t,{top:o,left:i,width:s,height:a}=this.suckerCanvas.getBoundingClientRect(),l=e-i,c=n-o,d=this.suckerCanvas.getContext("2d").getImageData(Math.min(l,s-1),Math.min(c,a-1),1,1);let[f,p,m,h]=d.data;h=parseFloat((h/255).toFixed(2));const g=this.suckerPreview.style;Object.assign(g,{position:"absolute",left:e+20+"px",top:n-36+"px",width:"24px",height:"24px",borderRadius:"50%",border:"2px solid #fff",boxShadow:"0 0 8px 0 rgba(0, 0, 0, 0.16)",background:`rgba(${f}, ${p}, ${m}, ${h})`,zIndex:95}),this.suckerArea.length&&e>=this.suckerArea[0]&&n>=this.suckerArea[1]&&e<=this.suckerArea[2]&&n<=this.suckerArea[3]?g.display="":g.display="none"},suckColor(t){t&&t.tagName!=="CANVAS"||(this.suckerPreview=document.createElement("div"),this.suckerPreview&&document.body.appendChild(this.suckerPreview),document.addEventListener("mousemove",this.mousemoveHandler),document.addEventListener("mouseup",this.mousemoveHandler),t.addEventListener("click",e=>{const{clientX:n,clientY:o}=e,{top:i,left:s,width:a,height:l}=t.getBoundingClientRect(),c=n-s,u=o-i,f=t.getContext("2d").getImageData(Math.min(c,a-1),Math.min(u,l-1),1,1);let[p,m,h,g]=f.data;g=parseFloat((g/255).toFixed(2)),this.$emit("selectSucker",{r:p,g:m,b:h,a:g})}))}}});const Rfe=r.createVNode("path",{d:"M13.1,8.2l5.6,5.6c0.4,0.4,0.5,1.1,0.1,1.5s-1.1,0.5-1.5,0.1c0,0-0.1,0-0.1-0.1l-1.4-1.4l-7.7,7.7C7.9,21.9,7.6,22,7.3,22H3.1C2.5,22,2,21.5,2,20.9l0,0v-4.2c0-0.3,0.1-0.6,0.3-0.8l5.8-5.8C8.5,9.7,9.2,9.6,9.7,10s0.5,1.1,0.1,1.5c0,0,0,0.1-0.1,0.1l-5.5,5.5v2.7h2.7l7.4-7.4L8.7,6.8c-0.5-0.4-0.5-1-0.1-1.5s1.1-0.5,1.5-0.1c0,0,0.1,0,0.1,0.1l1.4,1.4l3.5-3.5c1.6-1.6,4.1-1.6,5.8-0.1c1.6,1.6,1.6,4.1,0.1,5.8L20.9,9l-3.6,3.6c-0.4,0.4-1.1,0.5-1.5,0.1"},null,-1),zfe={key:1,class:"sucker",viewBox:"-16 -16 68 68",xmlns:"http://www.w3.org/2000/svg",stroke:"#9099a4"},Ufe=r.createVNode("g",{fill:"none","fill-rule":"evenodd"},[r.createVNode("g",{transform:"translate(1 1)","stroke-width":"4"},[r.createVNode("circle",{"stroke-opacity":".5",cx:"18",cy:"18",r:"18"}),r.createVNode("path",{d:"M36 18c0-9.94-8.06-18-18-18"},[r.createVNode("animateTransform",{attributeName:"transform",type:"rotate",from:"0 18 18",to:"360 18 18",dur:"1s",repeatCount:"indefinite"})])])],-1);function qfe(t,e,n,o,i,s){return r.openBlock(),r.createBlock("div",null,[t.isSucking?r.createCommentVNode("v-if",!0):(r.openBlock(),r.createBlock("svg",{key:0,class:[{active:t.isOpenSucker},"sucker"],xmlns:"http://www.w3.org/2000/svg",viewBox:"-12 -12 48 48",onClick:e[1]||(e[1]=(...a)=>t.openSucker&&t.openSucker(...a))},[Rfe],2)),t.isSucking?(r.openBlock(),r.createBlock("svg",zfe,[Ufe])):r.createCommentVNode("v-if",!0)])}ld.render=qfe;ld.__file="src/color/Sucker.vue";var cd=r.defineComponent({props:{name:{type:String,default:""},color:{type:String,default:""}},emits:["inputColor","inputFocus","inputBlur"],setup(t,{emit:e}){return{modelColor:r.computed({get(){return t.color||""},set(s){e("inputColor",s)}}),handleFocus:s=>{e("inputFocus",s)},handleBlur:s=>{e("inputBlur",s)}}}});const Hfe={class:"color-type"},jfe={class:"name"};function Wfe(t,e,n,o,i,s){return r.openBlock(),r.createBlock("div",Hfe,[r.createVNode("span",jfe,r.toDisplayString(t.name),1),r.withDirectives(r.createVNode("input",{"onUpdate:modelValue":e[1]||(e[1]=a=>t.modelColor=a),class:"value",onFocus:e[2]||(e[2]=(...a)=>t.handleFocus&&t.handleFocus(...a)),onBlur:e[3]||(e[3]=(...a)=>t.handleBlur&&t.handleBlur(...a))},null,544),[[r.vModelText,t.modelColor]])])}cd.render=Wfe;cd.__file="src/color/Box.vue";var ud=r.defineComponent({name:"ColorPicker",props:{color:{type:String,default:"#000000"},colorsDefault:{type:Array,default:()=>[]},colorsHistoryKey:{type:String,default:""}},emits:["selectColor"],setup(t,{emit:e}){const n=r.ref(),o=r.ref([]),i=r.ref();t.colorsHistoryKey&&localStorage&&(o.value=JSON.parse(localStorage.getItem(t.colorsHistoryKey))||[]),i.value=od(4).toDataURL(),r.onUnmounted(()=>{s(n.value)});function s(l){if(!l)return;const c=o.value||[],u=c.indexOf(l);u>=0&&c.splice(u,1),c.length>=8&&(c.length=7),c.unshift(l),o.value=c||[],localStorage&&t.colorsHistoryKey&&localStorage.setItem(t.colorsHistoryKey,JSON.stringify(c))}function a(l){e("selectColor",l)}return{setColorsHistory:s,colorsHistory:o,color:n,imgAlphaBase64:i,selectColor:a}}});const Zfe={class:"colors"},Kfe={key:0,class:"colors history"};function Gfe(t,e,n,o,i,s){return r.openBlock(),r.createBlock("div",null,[r.createVNode("ul",Zfe,[(r.openBlock(!0),r.createBlock(r.Fragment,null,r.renderList(t.colorsDefault,a=>(r.openBlock(),r.createBlock("li",{key:a,class:"item",onClick:l=>t.selectColor(a)},[r.createVNode("div",{style:{background:`url(${t.imgAlphaBase64})`},class:"alpha"},null,4),r.createVNode("div",{style:{background:a},class:"color"},null,4)],8,["onClick"]))),128))]),t.colorsHistory.length?(r.openBlock(),r.createBlock("ul",Kfe,[(r.openBlock(!0),r.createBlock(r.Fragment,null,r.renderList(t.colorsHistory,a=>(r.openBlock(),r.createBlock("li",{key:a,class:"item",onClick:l=>t.selectColor(a)},[r.createVNode("div",{style:{background:`url(${t.imgAlphaBase64})`},class:"alpha"},null,4),r.createVNode("div",{style:{background:a},class:"color"},null,4)],8,["onClick"]))),128))])):r.createCommentVNode("v-if",!0)])}ud.render=Gfe;ud.__file="src/color/Colors.vue";var Dr=r.defineComponent({components:{Saturation:rd,Hue:id,Alpha:sd,Preview:ad,Sucker:ld,Box:cd,Colors:ud},emits:["changeColor","openSucker","inputFocus","inputBlur"],props:{color:{type:String,default:"#000000"},theme:{type:String,default:"dark"},suckerHide:{type:Boolean,default:!0},suckerCanvas:{type:null,default:null},suckerArea:{type:Array,default:()=>[]},colorsDefault:{type:Array,default:()=>["#000000","#FFFFFF","#FF1900","#F47365","#FFB243","#FFE623","#6EFF2A","#1BC7B1","#00BEFF","#2E81FF","#5D61FF","#FF89CF","#FC3CAD","#BF3DCE","#8E00A7","rgba(0,0,0,0)"]},colorsHistoryKey:{type:String,default:"vue-colorpicker-history"}},data(){return{hueWidth:15,hueHeight:152,previewHeight:30,modelRgba:"",modelHex:"",r:0,g:0,b:0,a:1,h:0,s:0,v:0}},computed:{isLightTheme(){return this.theme==="light"},totalWidth(){return this.hueHeight+(this.hueWidth+8)*2},previewWidth(){return this.totalWidth-(this.suckerHide?0:this.previewHeight)},rgba(){return{r:this.r,g:this.g,b:this.b,a:this.a}},hsv(){return{h:this.h,s:this.s,v:this.v}},rgbString(){return`rgb(${this.r}, ${this.g}, ${this.b})`},rgbaStringShort(){return`${this.r}, ${this.g}, ${this.b}, ${this.a}`},rgbaString(){return`rgba(${this.rgbaStringShort})`},hexString(){return Dfe(this.rgba,!0)}},created(){Object.assign(this,Bo(this.color)),this.setText(),this.$watch("rgba",()=>{this.$emit("changeColor",{rgba:this.rgba,hsv:this.hsv,hex:this.modelHex})})},methods:{selectSaturation(t){const{r:e,g:n,b:o,h:i,s,v:a}=Bo(t);Object.assign(this,{r:e,g:n,b:o,h:i,s,v:a}),this.setText()},handleFocus(t){this.$emit("inputFocus",t)},handleBlur(t){this.$emit("inputBlur",t)},selectHue(t){const{r:e,g:n,b:o,h:i,s,v:a}=Bo(t);Object.assign(this,{r:e,g:n,b:o,h:i,s,v:a}),this.setText(),this.$nextTick(()=>{this.$refs.saturation.renderColor(),this.$refs.saturation.renderSlide()})},selectAlpha(t){this.a=t,this.setText()},inputHex(t){const{r:e,g:n,b:o,a:i,h:s,s:a,v:l}=Bo(t);Object.assign(this,{r:e,g:n,b:o,a:i,h:s,s:a,v:l}),this.modelHex=t,this.modelRgba=this.rgbaStringShort,this.$nextTick(()=>{this.$refs.saturation.renderColor(),this.$refs.saturation.renderSlide(),this.$refs.hue.renderSlide()})},inputRgba(t){const{r:e,g:n,b:o,a:i,h:s,s:a,v:l}=Bo(t);Object.assign(this,{r:e,g:n,b:o,a:i,h:s,s:a,v:l}),this.modelHex=this.hexString,this.modelRgba=t,this.$nextTick(()=>{this.$refs.saturation.renderColor(),this.$refs.saturation.renderSlide(),this.$refs.hue.renderSlide()})},setText(){this.modelHex=this.hexString,this.modelRgba=this.rgbaStringShort},openSucker(t){this.$emit("openSucker",t)},selectSucker(t){const{r:e,g:n,b:o,a:i,h:s,s:a,v:l}=Bo(t);Object.assign(this,{r:e,g:n,b:o,a:i,h:s,s:a,v:l}),this.setText(),this.$nextTick(()=>{this.$refs.saturation.renderColor(),this.$refs.saturation.renderSlide(),this.$refs.hue.renderSlide()})},selectColor(t){const{r:e,g:n,b:o,a:i,h:s,s:a,v:l}=Bo(t);Object.assign(this,{r:e,g:n,b:o,a:i,h:s,s:a,v:l}),this.setText(),this.$nextTick(()=>{this.$refs.saturation.renderColor(),this.$refs.saturation.renderSlide(),this.$refs.hue.renderSlide()})}}});const Yfe={class:"color-set"};function Jfe(t,e,n,o,i,s){const a=r.resolveComponent("Saturation"),l=r.resolveComponent("Hue"),c=r.resolveComponent("Alpha"),u=r.resolveComponent("Preview"),d=r.resolveComponent("Sucker"),f=r.resolveComponent("Box"),p=r.resolveComponent("Colors");return r.openBlock(),r.createBlock("div",{class:["hu-color-picker",{light:t.isLightTheme}],style:{width:t.totalWidth+"px"}},[r.createVNode("div",Yfe,[r.createVNode(a,{ref:"saturation",color:t.rgbString,hsv:t.hsv,size:t.hueHeight,onSelectSaturation:t.selectSaturation},null,8,["color","hsv","size","onSelectSaturation"]),r.createVNode(l,{ref:"hue",hsv:t.hsv,width:t.hueWidth,height:t.hueHeight,onSelectHue:t.selectHue},null,8,["hsv","width","height","onSelectHue"]),r.createVNode(c,{ref:"alpha",color:t.rgbString,rgba:t.rgba,width:t.hueWidth,height:t.hueHeight,onSelectAlpha:t.selectAlpha},null,8,["color","rgba","width","height","onSelectAlpha"])]),r.createVNode("div",{style:{height:t.previewHeight+"px"},class:"color-show"},[r.createVNode(u,{color:t.rgbaString,width:t.previewWidth,height:t.previewHeight},null,8,["color","width","height"]),t.suckerHide?r.createCommentVNode("v-if",!0):(r.openBlock(),r.createBlock(d,{key:0,"sucker-canvas":t.suckerCanvas,"sucker-area":t.suckerArea,onOpenSucker:t.openSucker,onSelectSucker:t.selectSucker},null,8,["sucker-canvas","sucker-area","onOpenSucker","onSelectSucker"]))],4),r.createVNode(f,{name:"HEX",color:t.modelHex,onInputColor:t.inputHex,onInputFocus:t.handleFocus,onInputBlur:t.handleBlur},null,8,["color","onInputColor","onInputFocus","onInputBlur"]),r.createVNode(f,{name:"RGBA",color:t.modelRgba,onInputColor:t.inputRgba,onInputFocus:t.handleFocus,onInputBlur:t.handleBlur},null,8,["color","onInputColor","onInputFocus","onInputBlur"]),r.createVNode(p,{color:t.rgbaString,"colors-default":t.colorsDefault,"colors-history-key":t.colorsHistoryKey,onSelectColor:t.selectColor},null,8,["color","colors-default","colors-history-key","onSelectColor"]),r.createCommentVNode(" custom options "),r.renderSlot(t.$slots,"default")],6)}Dr.render=Jfe;Dr.__file="src/color/ColorPicker.vue";Dr.install=t=>{t.component(Dr.name,Dr)};const Xfe={class:"color-picker-wrapper"},jr=r.defineComponent({__name:"AoColorPicker",props:{color:{}},emits:["update:color"],setup(t,{emit:e}){const n=t,o=e,i=r.ref(!1),s=r.ref(null),a=r.ref(null),l=r.ref(0),c=r.ref(0),u=async h=>{a.value=h,i.value=!0,await r.nextTick();const g=h.getBoundingClientRect(),y=s.value,C=(y==null?void 0:y.offsetHeight)||300,v=window.innerHeight-g.bottom,_=g.top,k=v<C&&_>C;console.log("pickerHeight = "+C),l.value=k?g.top-C-8:g.bottom+8,c.value=g.left,setTimeout(()=>{window.addEventListener("click",f)},0)},d=r.computed(()=>({position:"fixed",top:`${l.value}px`,left:`${c.value}px`,zIndex:1e3})),f=h=>{const g=h.target;s.value&&!s.value.contains(g)&&(i.value=!1,o("update:color",p.value),window.removeEventListener("click",f))};r.onBeforeUnmount(()=>{window.removeEventListener("click",f)}),r.watch(()=>n.color,h=>{i.value||(p.value=h)});const p=r.ref(n.color),m=h=>{const{r:g,g:y,b:C,a:v}=h.rgba;p.value=`rgba(${g}, ${y}, ${C}, ${v})`};return(h,g)=>(r.openBlock(),r.createElementBlock("div",Xfe,[r.renderSlot(h.$slots,"clickable",{openPicker:u,bgColor:t.color}),i.value?(r.openBlock(),r.createElementBlock("div",{key:0,ref_key:"pickerRef",ref:s,class:"color-picker",style:r.normalizeStyle(d.value)},[r.createVNode(r.unref(Dr),{class:"color-picker-box",theme:"light",color:t.color,onChangeColor:m},null,8,["color"])],4)):r.createCommentVNode("",!0)]))}});const Qfe={class:"ao-card-project-phase__header"},epe={class:"ao-card-project-item__title-line"},tpe={key:0,class:"ao-card-project-item-phase__estimation"},npe={class:"ao-card-project-phase__footer"},ope={key:0,class:"ao-card-project-phase__footer-row ao-card-project-phase__footer-row--progress"},rpe={class:"ao-card-project-phase__subitem"},ipe={class:"ao-card-project-phase__subitem"},spe={key:0,class:"ao-card-project-phase__secondary"},ape={class:"ao-card-project-phase__deadline ao-card-project-phase__deadline--readonly"},lpe=r.defineComponent({__name:"AoCardProjectItemPhase",props:{id:{},projectName:{},name:{},milestones:{},isEditable:{type:Boolean},deadline:{},active:{type:Boolean},color:{},timeTrackingData:{},estimationUnit:{}},emits:["update:title","update:deadline","archivePhase","unarchivePhase","updatePhase"],setup(t,{emit:e}){const n=t,o=e,i=g=>{o("update:title",g)},s=r.computed(()=>{var g;return((g=n.milestones)==null?void 0:g.reduce((y,C)=>{var v;return y+((v=C.activities)==null?void 0:v.reduce((_,k)=>_+(k.estimation||0),0))},0))||0}),a=r.computed(()=>!n.milestones||!n.timeTrackingData?0:n.milestones.reduce((g,y)=>{var C;return g+(((C=y.activities)==null?void 0:C.reduce((v,_)=>{var w;const k=(w=n.timeTrackingData)==null?void 0:w[_.id];return v+((k==null?void 0:k.timeSpent)||0)},0))||0)},0)),l=r.computed(()=>n.estimationUnit==="days"?"d":"h"),c=r.computed(()=>$a(a.value,n.estimationUnit)),u=r.computed(()=>{var g;return(g=n.milestones)==null?void 0:g.length}),d=r.computed(()=>{var g;return(g=n.milestones)==null?void 0:g.filter(y=>y.status===Pi.done).length}),f=r.computed(()=>(d.value||0)/(u.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,y)=>{const C=g.target;C.closest("button")||C.closest("input")||C.closest(".ao-title")||y(C)};return(g,y)=>(r.openBlock(),r.createBlock(jr,{color:m.value,"onUpdate:color":y[2]||(y[2]=C=>m.value=C)},{clickable:r.withCtx(({openPicker:C,bgColor:v})=>[r.createVNode(fl,{class:"ao-card-project-phase","is-clickable":t.isEditable,color:v,"with-left-border":!0,onClick:_=>h(_,C)},r.createSlots({default:r.withCtx(()=>[r.createElementVNode("div",epe,[r.createVNode(Ct,{id:t.id,class:"ao-card-project-phase__title",title:t.name||"",level:4,"is-editable":t.isEditable,"onUpdate:title":i},null,8,["id","title","is-editable"]),s.value||a.value?(r.openBlock(),r.createElementBlock("span",tpe," ("+r.toDisplayString(c.value)+"/"+r.toDisplayString(s.value)+r.toDisplayString(l.value)+")",1)):r.createCommentVNode("",!0)])]),footer:r.withCtx(()=>[r.createElementVNode("div",npe,[u.value?(r.openBlock(),r.createElementBlock("div",ope,[r.createElementVNode("div",rpe,[r.createVNode(be,{name:"MountainFlagOutlineRounded",size:"sm"}),r.createElementVNode("span",ipe,r.toDisplayString(d.value)+" / "+r.toDisplayString(u.value),1)]),r.createVNode(pl,{percentages:f.value,class:"ao-card-project-phase__progress",color:t.color},null,8,["percentages","color"]),g.$slots.secondary?(r.openBlock(),r.createElementBlock("div",spe,[r.renderSlot(g.$slots,"secondary")])):r.createCommentVNode("",!0)])):r.createCommentVNode("",!0),r.createElementVNode("div",{class:r.normalizeClass(["ao-card-project-phase__footer-row",p.value?"":"ao-card-project-phase__no_deadline"])},[t.isEditable?r.withDirectives((r.openBlock(),r.createElementBlock("input",{key:0,"onUpdate:modelValue":y[1]||(y[1]=_=>p.value=_),class:"ao-card-project-phase__deadline ao-card-project-phase__deadline--input",type:"date"},null,512)),[[r.vModelText,p.value,void 0,{lazy:!0}]]):r.createCommentVNode("",!0),r.createElementVNode("span",ape,r.toDisplayString(r.unref(Ma)(t.deadline)),1)],2)])]),_:2},[t.isEditable?{name:"header",fn:r.withCtx(()=>[r.createElementVNode("div",Qfe,[r.createVNode(ue,{class:"ao-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:y[0]||(y[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"]))}});const cpe=r.defineComponent({__name:"AoBadge",props:{color:{}},setup(t){return(e,n)=>(r.openBlock(),r.createElementBlock("span",{class:"aoBadge",style:r.normalizeStyle({backgroundColor:t.color})},null,4))}});const upe={class:"ao-card-project-milestone__default"},dpe={class:"ao-title-with-badge-wrapper"},fpe={class:"ao-card-project-item__title-line"},ppe={key:0,class:"ao-card-project-item-milestone__estimation"},mpe={key:0,class:"ao-card-project-milestone__archive"},hpe={class:"ao-card-project-milestone__activities"},gpe={class:"ao-card-project-milestone__activities-row"},vpe={class:"ao-card-project-milestone__subitem"},_pe={class:"ao-card-project-milestone__subitem"},ype={key:1,class:"ao-card-project-milestone__secondary"},Cpe={class:"ao-card-project-milestone__footer"},bpe={key:1,class:"ao-field ao-card-project-milestone__deadline"},kpe={class:"ao-field__label"},wpe={key:2,class:"ao-card-project-milestone__assignee"},Epe=r.defineComponent({__name:"AoCardProjectItemMilestone",props:{id:{},name:{},color:{},phaseColor:{},activities:{},closedStatus:{},isEditable:{type:Boolean},deadline:{},active:{type:Boolean},isSelected:{type:Boolean},assignee:{},important:{type:Boolean},readonly:{type:Boolean},timeTrackingData:{},estimationUnit:{}},emits:["updateMilestone","archiveMilestone","unarchiveMilestone"],setup(t,{emit:e}){const n=t,o=e,i=r.computed(()=>{var p;return((p=n.activities)==null?void 0:p.reduce((m,h)=>m+(h.estimation||0),0))||0}),s=r.computed(()=>!n.activities||!n.timeTrackingData?0:n.activities.reduce((p,m)=>{var g;const h=(g=n.timeTrackingData)==null?void 0:g[m.id];return p+((h==null?void 0:h.timeSpent)||0)},0)),a=r.computed(()=>n.estimationUnit==="days"?"d":"h"),l=r.computed(()=>$a(s.value,n.estimationUnit));r.computed(()=>{const p=s.value/60;return p%1===0?p.toString():p.toFixed(2)});const c=r.computed(()=>{var p;return(p=n.activities)==null?void 0:p.length}),u=r.computed(()=>{var p;return(p=n.activities)==null?void 0:p.filter(m=>Qc(m,n.closedStatus)).length}),d=r.computed(()=>(u.value||0)/(c.value||1)),f=p=>{o("updateMilestone",{id:n.id,name:p})};return(p,m)=>(r.openBlock(),r.createBlock(fl,{class:r.normalizeClass(["ao-card-project-milestone"]),"is-clickable":!t.readonly,"tag-name":"li","is-selected":t.isSelected,color:t.phaseColor},{default:r.withCtx(()=>[r.createElementVNode("div",upe,[r.createElementVNode("div",dpe,[r.createVNode(cpe,{color:t.color||""},null,8,["color"]),r.createElementVNode("div",fpe,[r.createVNode(Ct,{id:t.id,title:t.name||"",level:5,"is-editable":!t.readonly&&t.isEditable,class:"ao-card-project-milestone__title","onUpdate:title":f},null,8,["id","title","is-editable"]),i.value||s.value?(r.openBlock(),r.createElementBlock("span",ppe," ("+r.toDisplayString(l.value)+"/"+r.toDisplayString(i.value)+r.toDisplayString(a.value)+")",1)):r.createCommentVNode("",!0)])]),!t.readonly&&t.isEditable?(r.openBlock(),r.createElementBlock("div",mpe,[r.createVNode(ue,{color:"primary",variant:"ghost","icon-name":"ArchiveOutlineRounded",size:"sm","icon-position":"start",corners:"round",label:t.active?p.$t("archive"):p.$t("unarchive"),onClick:m[0]||(m[0]=r.withModifiers(()=>t.active?p.$emit("archiveMilestone",{id:t.id}):p.$emit("unarchiveMilestone",{id:t.id}),["stop"]))},null,8,["label"])])):r.createCommentVNode("",!0)]),r.createElementVNode("div",hpe,[r.createElementVNode("div",gpe,[c.value?(r.openBlock(),r.createElementBlock(r.Fragment,{key:0},[r.createElementVNode("div",vpe,[r.createVNode(be,{name:"SelectCheckBox",size:"sm"}),r.createElementVNode("span",_pe,r.toDisplayString(u.value)+" / "+r.toDisplayString(c.value),1)]),r.createVNode(pl,{percentages:d.value,color:t.phaseColor,class:"ao-card-project-milestone__progress"},null,8,["percentages","color"])],64)):r.createCommentVNode("",!0),p.$slots.secondary?(r.openBlock(),r.createElementBlock("div",ype,[r.renderSlot(p.$slots,"secondary")])):r.createCommentVNode("",!0)])])]),footer:r.withCtx(()=>[r.createElementVNode("div",Cpe,[t.important?(r.openBlock(),r.createBlock(be,{key:0,name:"FlagRounded",class:r.normalizeClass(t.isSelected?"ao-card-project-milestone__important--selected":"ao-card-project-milestone__important"),size:"sm"},null,8,["class"])):r.createCommentVNode("",!0),t.deadline?(r.openBlock(),r.createElementBlock("label",bpe,[r.createElementVNode("span",kpe,r.toDisplayString(r.unref(Ma)(t.deadline)),1)])):r.createCommentVNode("",!0),t.assignee?(r.openBlock(),r.createElementBlock("div",wpe,[r.createVNode(Xn,{"user-name":r.unref(Lp)(t.assignee),"avatar-url":t.assignee.avatarUrl,color:t.isSelected?"black":"primary",size:"sm"},null,8,["user-name","avatar-url","color"])])):r.createCommentVNode("",!0)])]),_:3},8,["is-clickable","is-selected","color"]))}});const Spe={class:"ao-mapping-card-project-phase__header"},xpe={class:"ao-card-project-item__title-line"},Tpe={key:0,class:"ao-card-project-item-phase__estimation"},Ape={class:"ao-mapping-card-project-phase__footer"},Npe={key:0,class:"ao-mapping-card-project-phase__footer-row ao-mapping-card-project-phase__footer-row--progress"},Dpe={class:"ao-mapping-card-project-phase__subitem"},$pe={class:"ao-mapping-card-project-phase__subitem"},Mpe={key:0,class:"ao-mapping-card-project-phase__secondary"},Bpe={class:"ao-mapping-card-project-phase__deadline ao-mapping-card-project-phase__deadline--readonly"},Ope=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,i=g=>{o("update:title",g)},s=r.computed(()=>{var g;return((g=n.milestones)==null?void 0:g.reduce((y,C)=>{var v;return y+((v=C.activities)==null?void 0:v.reduce((_,k)=>_+(k.estimation||0),0))},0))||0}),a=r.computed(()=>!n.milestones||!n.timeTrackingData?0:n.milestones.reduce((g,y)=>{var C;return g+(((C=y.activities)==null?void 0:C.reduce((v,_)=>{var w;const k=(w=n.timeTrackingData)==null?void 0:w[_.id];return v+((k==null?void 0:k.timeSpent)||0)},0))||0)},0)),l=r.computed(()=>n.estimationUnit==="days"?"d":"h"),c=r.computed(()=>$a(a.value,n.estimationUnit)),u=r.computed(()=>{var g;return(g=n.milestones)==null?void 0:g.length}),d=r.computed(()=>{var g;return(g=n.milestones)==null?void 0:g.filter(y=>y.status===Pi.done).length}),f=r.computed(()=>(d.value||0)/(u.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,y)=>{const C=g.target;C.closest("button")||C.closest("input")||C.closest(".ao-title")||y()};return(g,y)=>(r.openBlock(),r.createBlock(jr,{color:m.value,"onUpdate:color":y[2]||(y[2]=C=>m.value=C)},{clickable:r.withCtx(({openPicker:C,bgColor:v})=>[r.createVNode(fl,{class:"ao-mapping-card-project-phase","is-clickable":t.isEditable,color:v,"with-left-border":!0,onClick:_=>h(_,C)},r.createSlots({default:r.withCtx(()=>[r.createElementVNode("div",xpe,[r.createVNode(Ct,{id:t.id,class:"ao-mapping-card-project-phase__title",title:t.name||"",level:4,"is-editable":t.isEditable,"onUpdate:title":i},null,8,["id","title","is-editable"]),s.value||a.value?(r.openBlock(),r.createElementBlock("span",Tpe," ("+r.toDisplayString(c.value)+"/"+r.toDisplayString(s.value)+r.toDisplayString(l.value)+")",1)):r.createCommentVNode("",!0)])]),footer:r.withCtx(()=>[r.createElementVNode("div",Ape,[u.value?(r.openBlock(),r.createElementBlock("div",Npe,[r.createElementVNode("div",Dpe,[r.createVNode(be,{name:"MountainFlagOutlineRounded",size:"sm"}),r.createElementVNode("span",$pe,r.toDisplayString(d.value)+" / "+r.toDisplayString(u.value),1)]),r.createVNode(pl,{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",Mpe,[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":y[1]||(y[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",Bpe,r.toDisplayString(r.unref(Ma)(t.deadline)),1)],2)])]),_:2},[t.isEditable?{name:"header",fn:r.withCtx(()=>[r.createElementVNode("div",Spe,[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:y[0]||(y[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"]))}});const Lpe={class:"ao-project-phase"},Ipe={key:0,class:"ao-project-phase__drag ao-card__drag"},Vpe={key:1,class:"ao-project-phase__col-phase"},Ppe={key:2,class:"ao-mapping-project-phase__col-phase"},Fpe={key:0,class:"ao-project-phase__col-milestones"},Rpe=["title"],zpe={class:"ao-project-phase__milestones-list-footer"},Upe=r.defineComponent({__name:"AoProjectPhase",props:{phase:{},closedStatus:{},users:{},isEditable:{type:Boolean},readonly:{type:Boolean},timeTrackingData:{},estimationUnit:{}},emits:["addMilestone","updateMilestone","archiveMilestone","unarchiveMilestone","updatePhase","archivePhase","unarchivePhase"],setup(t,{emit:e}){const{t:n}=on(),o=t,i=e;r.watch(()=>o.phase.milestones,(w,b)=>{Wn(w,b)});const s=w=>{i("updatePhase",{id:o.phase.id,name:w})},a=w=>{i("updatePhase",{id:o.phase.id,deadline:w})},l=w=>{i("updatePhase",w)},c=r.computed(()=>o.phase.milestones.map(w=>v7(w,o.closedStatus))),u=w=>{const{name:b,rank:E}=Zo(c.value??[],"milestone",n);i("addMilestone",{name:b,rank:E,phaseId:w})},d=w=>{const b=n("template.defaultName.milestone",{idx:1}),E=ns(c.value??[]);i("addMilestone",{name:b,rank:E,phaseId:w})},f=w=>{i("updateMilestone",w)},p=w=>{i("archiveMilestone",w)},m=w=>{i("unarchiveMilestone",w)},h=w=>{i("archivePhase",w)},g=w=>{i("unarchivePhase",w)},y=w=>{"added"in w?i("updateMilestone",{id:w.added.element.id,phaseId:o.phase.id,rank:Br(c.value,w.added.newIndex)}):"removed"in w||"moved"in w&&i("updateMilestone",{id:w.moved.element.id,rank:Br(c.value,w.moved.newIndex)})},C=$r.useRoute(),v=r.computed(()=>C.path.includes("/mapping")),_=r.computed(()=>{var w;return o.phase.id===((w=C.params)==null?void 0:w.phaseId)});r.ref(!1);const k=r.computed(()=>{var w;return o.phase.id!==((w=C.params)==null?void 0:w.phaseId)?{backgroundColor:"var(--ao-color-sheet)"}:o.phase.color?{backgroundColor:y7(o.phase.color)}:{backgroundColor:"var(--ao-color-primary-lightest)"}});return(w,b)=>(r.openBlock(),r.createElementBlock("li",Lpe,[r.createElementVNode("div",{class:"ao-project-phases__draggable-card",style:r.normalizeStyle(k.value)},[t.isEditable?(r.openBlock(),r.createElementBlock("div",Ipe,[r.createVNode(be,{name:"DragIndicator",class:"ao-project-phase__drag-handle"})])):r.createCommentVNode("",!0),v.value?(r.openBlock(),r.createElementBlock("div",Ppe,[r.createVNode(Ope,{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":a,"onUpdate:title":s,onArchivePhase:h,onUnarchivePhase:g,onUpdatePhase:l},null,8,["id","milestones","name","deadline","active","is-editable","color","estimation-unit"])])):(r.openBlock(),r.createElementBlock("div",Vpe,[r.createVNode(lpe,{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":a,"onUpdate:title":s,onArchivePhase:h,onUnarchivePhase:g,onUpdatePhase:l},null,8,["id","milestones","name","deadline","active","is-editable","color","time-tracking-data","estimation-unit"])]))],4),v.value?r.createCommentVNode("",!0):(r.openBlock(),r.createElementBlock("div",Fpe,[r.createElementVNode("div",{class:"ao-project-phase__milestones ao-project-phase__milestones--hoverable",style:r.normalizeStyle(k.value)},[t.isEditable?(r.openBlock(),r.createElementBlock("div",{key:0,class:r.normalizeClass(["ao-project-phase__milestone-quick-add",{"ao-project-phase__milestone-quick-add--visible":_.value}]),title:w.$t("project.milestone.add"),onClick:b[0]||(b[0]=()=>d(t.phase.id))},[r.createVNode(be,{name:"Add",class:"ao-project-phase__milestone-quick-add-icon"})],10,Rpe)):r.createCommentVNode("",!0),r.createVNode(r.unref(ko),r.mergeProps({class:"ao-project-phase__milestones-list",list:c.value,disabled:t.readonly||!t.isEditable,"item-key":"id",group:"kanban"},w.$attrs,{onChange:y}),{item:r.withCtx(({element:E})=>{var N;return[r.createVNode(Epe,{id:E.id,name:E.name,color:E.color,"phase-color":t.phase.color,activities:E.activities,deadline:E.deadline,active:E.active,"is-editable":!t.readonly&&t.isEditable,"is-draggable":!t.readonly&&t.isEditable,"closed-status":t.closedStatus,"is-selected":E.id===((N=w.$route.params)==null?void 0:N.milestoneId),assignee:E.assignee,important:E.important,readonly:t.readonly,"time-tracking-data":t.timeTrackingData,"estimation-unit":t.estimationUnit,class:r.normalizeClass(["ao-project-phase__milestone"]),onClick:T=>!t.readonly&&w.$router.push({name:r.unref(Pe).milestone,params:{phaseId:t.phase.id,milestoneId:E.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",zpe,[t.isEditable?(r.openBlock(),r.createBlock(wo,{key:0,label:w.$t("project.milestone.add"),class:"ao-project-phase__milestone-add","icon-name":"Add",onClick:b[1]||(b[1]=()=>u(t.phase.id))},null,8,["label"])):r.createCommentVNode("",!0)])],4)]))]))}});const qpe={class:"ao-project__phases"},Hpe={key:0,class:"ao-project-phase__phases-list-footer"},jpe={class:"ao-project-phase__col-phase"},dd=r.defineComponent({__name:"AoProjectPhases",props:{phases:{},closedStatus:{},isEditable:{type:Boolean},users:{},readonly:{type:Boolean},timeTrackingData:{},estimationUnit:{}},emits:["addMilestone","updateMilestone","archiveMilestone","unarchiveMilestone","addPhase","updatePhase","archivePhase","unarchivePhase"],setup(t,{emit:e}){const n=t,o=e;r.watch(()=>n.phases,(m,h)=>{Wn(m,h)});const i=m=>{o("addMilestone",m)},s=m=>{o("updateMilestone",m)},a=m=>{o("archiveMilestone",m)},l=m=>{o("unarchiveMilestone",m)},c=m=>{o("archivePhase",m)},u=m=>{o("unarchivePhase",m)},d=m=>{if(m.moved){const h=ts(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",qpe,[r.createVNode(r.unref(ko),{class:"ao-project-phase__phases-list","model-value":t.phases,"item-key":"id",handle:".ao-card__drag",onChange:d},{item:r.withCtx(({element:g})=>[r.createVNode(Upe,{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:i,onUpdateMilestone:s,onArchiveMilestone:a,onUnarchiveMilestone:l,onUpdatePhase:f,onArchivePhase:c,onUnarchivePhase:u},null,8,["phase","is-editable","closed-status","users","readonly","time-tracking-data","estimation-unit"])]),_:1},8,["model-value"]),t.isEditable?(r.openBlock(),r.createElementBlock("div",Hpe,[h[0]||(h[0]=r.createElementVNode("div",{class:"ao-project-phase__empty_drag"},null,-1)),r.createElementVNode("div",jpe,[r.createVNode(wo,{label:m.$t("project.phases.add"),"icon-name":"Add",class:"ao-project-phase__add-phase",onClick:p},null,8,["label"])]),h[1]||(h[1]=r.createElementVNode("div",{class:"ao-project-phase__col-milestones"},null,-1))])):r.createCommentVNode("",!0)]))}});const Wpe={class:"ao-add-template-modal__form-body"},Zpe={class:"field__row"},Kpe={class:"ao-add-template-modal__form-footer"},Fg=r.defineComponent({__name:"AoAddTemplateModal",props:{projectId:{},templates:{}},emits:["apply"],setup(t,{emit:e}){const n=t,o=e,i=r.computed(()=>n.templates.map(c=>({value:c.id,label:c.name}))),s=r.ref(null),a=c=>{s.value=c},l=()=>{s.value&&o("apply",s.value,n.projectId)};return(c,u)=>(r.openBlock(),r.createBlock(Ba,{size:"sm"},{header:r.withCtx(()=>[r.createVNode(Ct,{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",Wpe,[r.createElementVNode("div",Zpe,[r.createVNode(Et,{value:s.value,options:i.value,detached:!0,onChange:a},null,8,["value","options"])])]),r.createElementVNode("footer",Kpe,[r.createVNode(ue,{label:c.$t("project.template.apply.label"),type:"submit",color:"primary",variant:"solid",onClick:l},null,8,["label"])])],32)]),_:1}))}});const Gpe={class:"ao-save-template-modal__form-body"},Ype={class:"field__row"},Jpe={class:"ao-field ao-field--inline"},Xpe={class:"ao-field__label"},Qpe={class:"ao-save-template-modal__phases"},eme={class:"ao-field__label"},tme={class:"ao-save-template-modal__phases-list"},nme=["value"],ome={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,i=r.ref(""),s=r.ref([]);r.onMounted(()=>{s.value=n.phases.map(l=>l.id)});const a=()=>{i.value&&o("save",i.value,s.value)};return(l,c)=>(r.openBlock(),r.createBlock(Ba,{size:"sm"},{header:r.withCtx(()=>[r.createVNode(Ct,{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(a,["prevent"])},[r.createElementVNode("div",Gpe,[r.createElementVNode("div",Ype,[r.createElementVNode("label",Jpe,[r.createElementVNode("span",Xpe,r.toDisplayString(l.$t("project.template.name.label"))+": ",1),r.withDirectives(r.createElementVNode("input",{"onUpdate:modelValue":c[0]||(c[0]=u=>i.value=u),type:"text"},null,512),[[r.vModelText,i.value]])])]),r.createElementVNode("div",Qpe,[r.createElementVNode("div",eme,r.toDisplayString(l.$t("project.template.phases.label")),1),r.createElementVNode("div",tme,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(n.phases,u=>(r.openBlock(),r.createElementBlock("label",{key:u.id,class:"ao-field ao-field--checkbox"},[r.withDirectives(r.createElementVNode("input",{"onUpdate:modelValue":c[1]||(c[1]=d=>s.value=d),type:"checkbox",value:u.id},null,8,nme),[[r.vModelCheckbox,s.value]]),r.createElementVNode("span",null,r.toDisplayString(u.name),1)]))),128))])])]),r.createElementVNode("footer",ome,[r.createVNode(ue,{label:l.$t("project.template.save.label"),type:"submit",color:"primary",variant:"solid",onClick:a},null,8,["label"])])],32)]),_:1}))}});const rme={class:"ao-project"},ime={class:"ao-project__body"},sme=r.defineComponent({__name:"AoProjectOverviewProject",props:{project:{},phases:{},closedStatus:{},users:{},userId:{},templates:{},isTaskCheckable:{type:Function},statuses:{},activityTypes:{},isEditable:{type:[Boolean,String]},showsArchived:{type:Boolean},attachmentEnabled:{type:Boolean},timeTrackingData:{},loadAttachmentPreview:{type:Function}},emits:["addPhase","updatePhase","archivePhase","unarchivePhase","addMilestone","updateMilestone","archiveMilestone","unarchiveMilestone","addActivity","update:activity","archiveActivity","copyPhaseToTemplate","unarchiveActivity","addSubtask","updateSubtask","deleteSubtask","addFiles","removeFile","addComment","updateComment","removeComment","applyTemplate","saveTemplate","update:showsArchived"],setup(t,{emit:e}){const{t:n}=on(),o=t,i=e,s=r.computed(()=>o.phases.flatMap(P=>P.milestones)),a=()=>{const{name:P,rank:Q}=Zo(o.phases,"phase",n);i("addPhase",{name:P,rank:Q,projectId:o.project.id})},l=()=>{const P=n("template.defaultName.phase",{idx:1}),Q=ns(o.phases);i("addPhase",{name:P,rank:Q,projectId:o.project.id})},c=P=>{i("updatePhase",P)},u=P=>{i("archivePhase",P)},d=P=>{i("unarchivePhase",P)},f=P=>{i("copyPhaseToTemplate",P)},p=P=>{i("addMilestone",P)},m=P=>{i("updateMilestone",P)},h=P=>{i("archiveMilestone",P)},g=P=>{i("unarchiveMilestone",P)},y=P=>{i("addActivity",P)},C=P=>{i("update:activity",P)},v=P=>{i("archiveActivity",P)},_=P=>{i("unarchiveActivity",P)},k=P=>{i("addSubtask",P)},w=P=>{i("updateSubtask",P)},b=P=>{i("deleteSubtask",P)},E=r.computed(()=>s.value.flatMap(P=>P.activities)),N=P=>{i("addFiles",P)},T=P=>{i("removeFile",P)},x=P=>{i("addComment",P)},D=P=>{i("updateComment",P)},S=P=>{i("removeComment",P)},$=r.ref(!1),M=r.ref(!1),I=(P,Q)=>{i("applyTemplate",{templateId:P,projectId:Q}),$.value=!1},V=(P,Q)=>{var ne;const ee=(ne=o.templates)==null?void 0:ne.at(-1),ve=ee?at.LexoRank.parse(ee.rank).genNext():at.LexoRank.middle();i("saveTemplate",{templateName:P,rank:ve.format(),phaseIds:Q}),M.value=!1},j=$r.useRouter(),F=r.ref("overview"),H=[{label:"Overview",value:"overview"},{label:"Feed",value:"feed"},{label:"Dev",value:"dev"},{label:"Mapping",value:"mapping"}];return r.watch(F,P=>{P==="feed"?(j.push({name:Pe.feed}),console.log("Navigating to feed...")):P==="dev"?(j.push({name:Pe.dev}),console.log("Navigating to dev...")):P==="overview"?(j.push({name:Pe.project}),console.log("Navigating to feed...")):P==="mapping"&&(j.push({name:Pe.mapping}),console.log("Navigating to feed..."))}),(P,Q)=>{var ve;const ee=r.resolveComponent("RouterView");return r.openBlock(),r.createElementBlock(r.Fragment,null,[r.createElementVNode("div",r.mergeProps({class:"ao-project-overview"},P.$attrs),[r.createElementVNode("div",rme,[r.createVNode(os,null,{primary:r.withCtx(()=>[r.createVNode(gs,{modelValue:F.value,"onUpdate:modelValue":Q[0]||(Q[0]=ne=>F.value=ne),tabs:H},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:P.$t("feed.filters.showsArchived.label"),role:"checkbox","aria-checked":t.showsArchived,onClick:Q[1]||(Q[1]=ne=>P.$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-project-overview__quick-add-phase",size:"sm","icon-name":"Add","icon-position":"start",color:"primary",variant:"ghost",label:P.$t("project.phase.add"),onClick:l},null,8,["label"])):r.createCommentVNode("",!0),t.isEditable===!0?(r.openBlock(),r.createBlock(ue,{key:1,class:"ao-project-overview__save-as-template",color:"primary",label:P.$t("project.template.save.label"),onClick:Q[2]||(Q[2]=ne=>M.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:P.$t("project.template.apply.label"),onClick:Q[3]||(Q[3]=ne=>$.value=!0)},null,8,["label"])):r.createCommentVNode("",!0)]),_:1}),r.createElementVNode("div",ime,[r.createVNode(dd,{phases:t.phases,"closed-status":t.closedStatus,"is-editable":t.isEditable===!0,users:t.users,"time-tracking-data":t.timeTrackingData,"estimation-unit":(ve=t.project)==null?void 0:ve.estimationUnit,onAddMilestone:p,onUpdateMilestone:m,onArchiveMilestone:h,onUnarchiveMilestone:g,onAddPhase:a,onUpdatePhase:c,onArchivePhase:u,onUnarchivePhase:d,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:Q[4]||(Q[4]=ne=>P.$router.push({name:r.unref(Pe).project})),onUpdateMilestone:m,onAddActivity:y,onUpdateActivity:C,onArchiveActivity:v,onUnarchiveActivity:_},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,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,"onUpdate:activity":C,onAddSubtask:k,onUpdateSubtask:w,onDeleteSubtask:b,onAddFiles:N,onRemoveFile:T,onAddComment:x,onUpdateComment:D,onRemoveComment:S},{default:r.withCtx(({Component:ne})=>[(r.openBlock(),r.createBlock(r.resolveDynamicComponent(ne),null,{default:r.withCtx(se=>[r.renderSlot(P.$slots,"activityDetailsBody",r.normalizeProps(r.guardReactiveProps(se)))]),_:3}))]),_:3},8,["activities","is-task-checkable","statuses","activity-types","phases","project","users","user-id","is-editable","attachment-enabled","time-tracking-data","load-attachment-preview"])]))],16),(r.openBlock(),r.createBlock(r.Teleport,{to:"body"},[M.value?(r.openBlock(),r.createBlock(Rg,{key:0,phases:t.phases,onClose:Q[5]||(Q[5]=ne=>M.value=!1),onSave:V},null,8,["phases"])):r.createCommentVNode("",!0),$.value?(r.openBlock(),r.createBlock(Fg,{key:1,"project-id":t.project.id,templates:t.templates,onClose:Q[6]||(Q[6]=ne=>$.value=!1),onApply:I},null,8,["project-id","templates"])):r.createCommentVNode("",!0)]))],64)}}});const ame={class:"ao-card-feed__header"},lme={key:1,class:"ao-card-feed__header-secondary ao-card-feed__header-icons"},cme={key:2,class:"ao-card-feed__header-secondary ao-card-feed__secondary"},ume={class:"ao-card-feed__body"},dme={key:0,class:"ao-card-feed__breadcrumbs"},fme={class:r.normalizeClass(["ao-card-feed__title-group"])},pme={class:"ao-card-feed__title-line"},mme={key:0,class:"ao-card-feed__slug"},hme={key:1,class:"ao-card-feed__deadline"},gme={class:"ao-card-feed__footer"},vme={class:"ao-card-feed__footer-row"},_me={class:"ao-assignees"},yme={key:0,class:"ao-assignee"},Cme={key:0,class:"ao-card-feed__subitems"},bme={key:0,class:"ao-card-feed__subitem"},kme={class:"ao-card-feed__subitem"},wme={key:1,class:"ao-card-feed__subitem"},Eme={class:"ao-card-feed__subitem"},Sme={class:"ao-card-feed__timer-wrapper"},xme={class:"ao-card-feed__footer-row"},Tme={key:0,class:"ao-card-feed__progress-wrapper"},Ame={class:"ao-card-feed__subitem"},Nme={class:"ao-card-feed__subitem"},fd=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,i=r.computed(()=>n.tagType==="milestone"?n.milestoneName:n.projectName),s=r.computed(()=>n.tagType==="milestone"?n.milestoneColor:n.projectColor),a=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]:[]),u=r.computed(()=>Ma(n.deadline)),d=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(y=>y.isDone).length}),h=r.computed(()=>(m.value||0)/(p.value||1));return(g,y)=>(r.openBlock(),r.createBlock(fl,{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",ame,[i.value?(r.openBlock(),r.createBlock(Vi,{key:0,label:i.value,class:"ao-card-feed__project",variant:"solid",color:t.projectColor?void 0:"primary","raw-color":s.value},null,8,["label","color","raw-color"])):r.createCommentVNode("",!0),t.isPrivate||t.important||t.isClosed||t.blocked?(r.openBlock(),r.createElementBlock("div",lme,[t.isPrivate?(r.openBlock(),r.createBlock(be,{key:0,name:"Lock",class:"ao-card-feed__warning",size:"sm"})):r.createCommentVNode("",!0),t.important?(r.openBlock(),r.createBlock(be,{key:1,name:"FlagRounded",class:"ao-card-feed__important",size:"sm"})):r.createCommentVNode("",!0),t.isClosed?(r.openBlock(),r.createBlock(be,{key:2,name:"CheckSmallRounded",class:"ao-card-feed__closed"})):r.createCommentVNode("",!0)])):r.createCommentVNode("",!0),g.$slots.secondary?(r.openBlock(),r.createElementBlock("div",cme,[r.renderSlot(g.$slots,"secondary")])):r.createCommentVNode("",!0)])]),default:r.withCtx(()=>[r.createElementVNode("div",ume,[l.value?(r.openBlock(),r.createElementBlock("span",dme,r.toDisplayString(l.value),1)):r.createCommentVNode("",!0),r.createElementVNode("div",fme,[r.createElementVNode("div",pme,[t.slug?(r.openBlock(),r.createElementBlock("span",mme,r.toDisplayString(t.slug)+": ",1)):r.createCommentVNode("",!0),r.createVNode(Ct,{id:t.id,title:t.name,level:5,"is-editable":t.isEditable,class:"ao-card-feed__title-inline","onUpdate:title":a},null,8,["id","title","is-editable"])])]),t.deadline?(r.openBlock(),r.createElementBlock("span",hme,r.toDisplayString(u.value),1)):r.createCommentVNode("",!0)])]),footer:r.withCtx(()=>[r.createElementVNode("div",gme,[r.createElementVNode("div",vme,[r.createElementVNode("ul",_me,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(c.value,C=>(r.openBlock(),r.createElementBlock(r.Fragment,{key:C.id},[C?(r.openBlock(),r.createElementBlock("li",yme,[r.createVNode(Xn,{"user-name":r.unref(Lp)(C),"avatar-url":C.avatarUrl,"is-closable":!0,onClose:()=>d(C.id)},null,8,["user-name","avatar-url","onClose"])])):r.createCommentVNode("",!0)],64))),128))]),t.comments||t.attachments?(r.openBlock(),r.createElementBlock("ul",Cme,[t.comments?(r.openBlock(),r.createElementBlock("li",bme,[r.createVNode(be,{name:"ChatOutline",size:"sm"}),r.createElementVNode("span",kme,r.toDisplayString(t.comments),1)])):r.createCommentVNode("",!0),t.attachments?(r.openBlock(),r.createElementBlock("li",wme,[r.createVNode(be,{name:"AttachFileRounded",size:"sm"}),r.createElementVNode("span",Eme,r.toDisplayString(t.attachments),1)])):r.createCommentVNode("",!0)])):r.createCommentVNode("",!0),r.createElementVNode("div",Sme,[r.createVNode(be,{name:"TimerOutline",class:"ao-card-feed__timer",size:"md",onClick:r.withModifiers(f,["stop"])})])]),r.createElementVNode("div",xme,[t.tasks&&t.tasks.length?(r.openBlock(),r.createElementBlock("div",Tme,[r.createElementVNode("div",Ame,[r.createVNode(be,{name:"SelectCheckBox",size:"sm"}),r.createElementVNode("span",Nme,r.toDisplayString(m.value)+" / "+r.toDisplayString(p.value),1)]),r.createVNode(pl,{percentages:h.value,class:"ao-card-feed__progress"},null,8,["percentages"])])):r.createCommentVNode("",!0)])])]),_:3},8,["class","variant"]))}});const Dme={class:"ao-project-milestone"},$me={class:"ao-project-milestone__header"},Mme={class:"ao-project-milestone__header_line"},Bme={class:"ao-project-milestone__header_line"},Ome={class:"ao-project-milestone__title"},Lme={key:0,class:"ao-fieldset ao-milestone__fieldset"},Ime={class:"ao-field__row ao-milestone__field-row"},Vme={class:"ao-field ao-field--inline"},Pme={class:"ao-field__row ao-milestone__field-row"},Fme={class:"ao-field ao-milestone__field-multiselect"},Rme={class:"ao-milestone__color-actions"},zme=["onClick"],Ume=["title"],qme={class:"ao-project-milestone__body"},Hme={key:0,class:"ao-project-milestone__footer"},mp=r.defineComponent({__name:"AoProjectOverviewMilestoneDetails",props:{milestoneId:{},users:{},projectId:{},phases:{},phaseId:{},isEditable:{type:Boolean},closedStatus:{},timeTrackingData:{}},emits:["close","addActivity","updateMilestone","updateActivity","archiveActivity","unarchiveActivity","startTimer"],setup(t,{emit:e}){const{t:n}=on(),o=t,i=e,s=b=>{var E;i("startTimer",b),(E=window.parent)==null||E.postMessage({type:"startTimer",data:b},"*")},a=r.computed(()=>{var b;return(b=o.phases)==null?void 0:b.find(E=>E.id===o.phaseId)}),l=r.computed(()=>{var b;return(b=o.phases)==null?void 0:b.flatMap(E=>E.milestones)}),c=r.computed(()=>{var b;return(b=l.value)==null?void 0:b.find(E=>E.id===o.milestoneId)}),u=r.computed(()=>{var b;return(b=c.value)==null?void 0:b.activities});r.watch(u,(b,E)=>{Wn(b,E)});const d=b=>{i("close",b)},f=()=>{const{name:b,rank:E}=Zo(u.value??[],"activity",n);i("addActivity",{milestoneId:o.milestoneId,name:b,rank:E,projectId:o.projectId})},p=()=>{const b=n("template.defaultName.activity",{idx:1}),E=ns(u.value??[]);i("addActivity",{milestoneId:o.milestoneId,name:b,rank:E,projectId:o.projectId})},m=b=>{i("updateActivity",b)},h=b=>{u.value&&"moved"in b&&i("updateActivity",{id:b.moved.element.id,rank:Br(u.value,b.moved.newIndex)})},g=r.computed({get:()=>{var b;return(b=c.value)==null?void 0:b.color},set:b=>{c.value&&i("updateMilestone",{id:c.value.id,color:b})}}),y=r.computed({get:()=>{var b;return((b=c==null?void 0:c.value)==null?void 0:b.deadline)??""},set:b=>{c.value&&i("updateMilestone",{id:c.value.id,deadline:b!=null&&b.length?b:null})}}),C=b=>o.closedStatus?Qc(b,o.closedStatus):!1,v=r.computed(()=>{var b;return((b=o.users)==null?void 0:b.map(E=>({label:`${E.firstName} ${E.lastName}`,value:E.id,avatar:E.avatarUrl})))||[]}),_=r.computed({get(){var b,E;return(E=(b=c.value)==null?void 0:b.assignee)!=null&&E.id?[c.value.assignee.id]:[]},set(b){i("updateMilestone",{id:o.milestoneId,assigneeId:b[0]??null})}}),k=r.computed({get(){var b;return((b=c.value)==null?void 0:b.important)??!1},set(b){i("updateMilestone",{id:o.milestoneId,important:b})}}),w=(b,E)=>{const N=b.currentTarget;N instanceof HTMLElement&&E(N)};return(b,E)=>{var N;return r.openBlock(),r.createElementBlock("div",Dme,[r.createElementVNode("header",$me,[r.createElementVNode("div",Mme,[r.createVNode(ue,{"icon-name":"CloseRounded",variant:"ghost",size:"sm",class:"ao-milestone__close",onClick:d})]),r.createElementVNode("div",Bme,[r.createElementVNode("div",Ome,[r.createVNode(Ct,{title:((N=c.value)==null?void 0:N.name)||t.milestoneId,level:5},null,8,["title"]),r.createVNode(Zc,{modelValue:k.value,"onUpdate:modelValue":E[0]||(E[0]=T=>k.value=T),modelModifiers:{lazy:!0},disabled:!t.isEditable,class:"ao-milestone__important",color:"danger",label:b.$t("activity.important.label"),"icon-name":"FlagRounded",variant:"ghost",size:"sm"},null,8,["modelValue","disabled","label"])])]),c.value?(r.openBlock(),r.createElementBlock("div",Lme,[r.createElementVNode("div",Ime,[r.createElementVNode("label",Vme,[r.withDirectives(r.createElementVNode("input",{"onUpdate:modelValue":E[1]||(E[1]=T=>y.value=T),class:"ao-milestone__field ao-milestone__date-field",type:"date"},null,512),[[r.vModelText,y.value,void 0,{lazy:!0}]])])]),r.createElementVNode("div",Pme,[r.createElementVNode("label",Fme,[r.createVNode(Et,{modelValue:_.value,"onUpdate:modelValue":E[2]||(E[2]=T=>_.value=T),options:v.value,"close-on-select":!0,searchable:!0,max:1,class:"ao-milestone__field ao-milestone__multiselect",placeholder:b.$t("activity.filters.assignee.placeholder"),mode:"tags",disabled:!t.isEditable,caret:t.isEditable},{tag:r.withCtx(({option:T,handleTagRemove:x})=>[r.createVNode(Xn,{"user-name":T.label,"avatar-url":T.avatar,"is-closable":!0,onClose:D=>x(T,D)},null,8,["user-name","avatar-url","onClose"])]),_:1},8,["modelValue","options","placeholder","disabled","caret"])])]),r.createElementVNode("div",Rme,[r.createVNode(jr,{color:g.value,"onUpdate:color":E[3]||(E[3]=T=>g.value=T)},{clickable:r.withCtx(({openPicker:T,bgColor:x})=>[r.createElementVNode("button",{style:r.normalizeStyle({background:x}),class:"color-button",onClick:D=>w(D,T)},null,12,zme)]),_:1},8,["color"]),t.isEditable?(r.openBlock(),r.createElementBlock("button",{key:0,type:"button",class:"ao-project-milestone__quick-add",title:b.$t("project.activity.add"),onClick:p},[r.createVNode(be,{name:"Add",class:"ao-project-milestone__quick-add-icon"})],8,Ume)):r.createCommentVNode("",!0)])])):r.createCommentVNode("",!0)]),r.createElementVNode("div",qme,[r.createVNode(r.unref(ko),r.mergeProps({class:"ao-project-milestone__activities",list:u.value,disabled:!t.isEditable,"item-key":"id",group:"kanban"},b.$attrs,{onChange:h}),{item:r.withCtx(({element:T})=>{var x,D,S,$,M;return[r.createVNode(fd,{id:T.id,name:T.name||T.id,"project-id":t.projectId,"phase-name":(x=a.value)==null?void 0:x.name,"milestone-name":(D=c.value)==null?void 0:D.name,"milestone-color":(S=c.value)==null?void 0:S.color,deadline:T.deadline,important:T.important,blocked:T.blocked,users:t.users,assignee:T.assignee,slug:T.slug,comments:($=T.comments)==null?void 0:$.length,attachments:(M=T.attachments)==null?void 0:M.length,tasks:T.tasks,"is-editable":t.isEditable,"is-private":T.private,"is-closed":C(T),onClick:I=>b.$router.push({name:r.unref(Pe).activity,params:{milestoneId:t.milestoneId,activityId:T.id}}),onUpdateActivity:m,onRemoveAssignee:()=>m({id:T.id,assigneeId:null}),onStartTimer:s},r.createSlots({_:2},[t.isEditable?{name:"secondary",fn:r.withCtx(()=>[t.isEditable&&T.active?(r.openBlock(),r.createBlock(ue,{key:0,color:"primary",variant:"ghost","icon-name":"ArchiveOutlineRounded",size:"sm","icon-position":"start",corners:"round",label:b.$t("archive"),onClick:r.withModifiers(()=>b.$emit("archiveActivity",{id:T.id}),["stop"])},null,8,["label","onClick"])):r.createCommentVNode("",!0),t.isEditable&&!T.active?(r.openBlock(),r.createBlock(ue,{key:1,color:"primary",variant:"ghost","icon-name":"ArchiveOutlineRounded",size:"sm","icon-position":"start",corners:"round",label:b.$t("feed.activity.unarchive"),onClick:r.withModifiers(()=>b.$emit("unarchiveActivity",{id:T.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",Hme,[r.createVNode(wo,{"icon-name":"Add",label:b.$t("project.activity.add"),onClick:f},null,8,["label"])])):r.createCommentVNode("",!0)])])}}});const jme=r.defineComponent({__name:"AoProjectOverviewActivityDetails",props:{phaseId:{},milestoneId:{},activityId:{},activityTypes:{},devStatuses:{},activities:{},isTaskCheckable:{type:Function},statuses:{},phases:{},users:{},project:{},userId:{},isEditable:{type:Boolean},attachmentEnabled:{type:Boolean},timeTrackingData:{},loadAttachmentPreview:{type:Function},sprints:{}},emits:["update:activity","addSubtask","updateSubtask","deleteSubtask","addFiles","removeFile","addComment","updateComment","removeComment","createSprint"],setup(t,{emit:e}){const n=t,o=e,i=r.computed(()=>{var C;return(C=n.phases)==null?void 0:C.find(v=>v.id===n.phaseId)}),s=r.computed(()=>{var C;return(C=n.phases)==null?void 0:C.flatMap(v=>v.milestones)}),a=r.computed(()=>{var C;return(C=s.value)==null?void 0:C.find(v=>v.id===n.milestoneId)}),l=r.computed(()=>{var C;return(C=n.activities)==null?void 0:C.find(v=>v.id===n.activityId)}),c=C=>{o("update:activity",C)},u=C=>{o("addSubtask",C)},d=C=>{o("updateSubtask",C)},f=C=>{o("deleteSubtask",C)},p=C=>{o("addFiles",C)},m=C=>{o("removeFile",C)},h=C=>{o("addComment",C)},g=C=>{o("updateComment",C)},y=C=>{o("removeComment",C)};return(C,v)=>{var _,k;return l.value?(r.openBlock(),r.createBlock(nd,{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:`${(_=i.value)==null?void 0:_.name} / ${(k=a.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,onClose:C.$router.back,"onUpdate:activity":c,onAddSubtask:u,onUpdateSubtask:d,onDeleteSubtask:f,onAddFiles:p,onRemoveFile:m,onAddComment:h,onUpdateComment:g,onRemoveComment:y,onCreateSprint:v[0]||(v[0]=w=>o("createSprint",w))},{default:r.withCtx(w=>[r.renderSlot(C.$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","onClose"])):r.createCommentVNode("",!0)}}}),Wme={class:"ao-col-header"},Zme=r.defineComponent({__name:"AoColHeader",props:{title:{},items:{}},setup(t){return(e,n)=>(r.openBlock(),r.createElementBlock("header",Wme,[r.createVNode(Ct,{title:t.title,class:"ao-col-header__title",level:4},null,8,["title"]),t.items?(r.openBlock(),r.createBlock(Vi,{key:0,label:t.items,class:"ao-col-header__items",variant:"solid",color:"primary"},null,8,["label"])):r.createCommentVNode("",!0)]))}});function Kme(t){return r.getCurrentScope()?(r.onScopeDispose(t),!0):!1}function Sa(t){return typeof t=="function"?t():r.unref(t)}const Gme=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const Yme=t=>t!=null,Ii=()=>{};function Jme(t,e){function n(...o){return new Promise((i,s)=>{Promise.resolve(t(()=>e.apply(this,o),{fn:e,thisArg:this,args:o})).then(i).catch(s)})}return n}function Xme(t,e={}){let n,o,i=Ii;const s=l=>{clearTimeout(l),i(),i=Ii};return l=>{const c=Sa(t),u=Sa(e.maxWait);return n&&s(n),c<=0||u!==void 0&&u<=0?(o&&(s(o),o=null),Promise.resolve(l())):new Promise((d,f)=>{i=e.rejectOnCancel?f:d,u&&!o&&(o=setTimeout(()=>{n&&s(n),o=null,d(l())},u)),n=setTimeout(()=>{o&&s(o),o=null,d(l())},c)})}}function Qme(t,e=200,n={}){return Jme(Xme(e,n),t)}function ac(t){var e;const n=Sa(t);return(e=n==null?void 0:n.$el)!=null?e:n}const ehe=Gme?window:void 0;function the(){const t=r.ref(!1),e=r.getCurrentInstance();return e&&r.onMounted(()=>{t.value=!0},e),t}function nhe(t){const e=the();return r.computed(()=>(e.value,!!t()))}function ohe(t,e,n={}){const{root:o,rootMargin:i="0px",threshold:s=.1,window:a=ehe,immediate:l=!0}=n,c=nhe(()=>a&&"IntersectionObserver"in a),u=r.computed(()=>{const h=Sa(t);return(Array.isArray(h)?h:[h]).map(ac).filter(Yme)});let d=Ii;const f=r.ref(l),p=c.value?r.watch(()=>[u.value,ac(o),f.value],([h,g])=>{if(d(),!f.value||!h.length)return;const y=new IntersectionObserver(e,{root:ac(g),rootMargin:i,threshold:s});h.forEach(C=>C&&y.observe(C)),d=()=>{y.disconnect(),d=Ii}},{immediate:l,flush:"post"}):Ii,m=()=>{d(),p(),f.value=!1};return Kme(m),{isSupported:c,isActive:f,pause(){d(),f.value=!1},resume(){f.value=!0},stop:m}}const rhe={class:r.normalizeClass(["ao-list-kanban"])},ihe={class:"ao-list-kanban__header"},she=["title"],ahe={key:0,class:"ao-list-kanban__end ao-list-kanban__end--loading"},lhe={key:1,class:"ao-list-kanban__end"},che={key:0,class:"ao-list-kanban__no-more"},uhe={key:1,class:"ao-list-kanban__divider"},dhe={key:1,class:"ao-list-kanban__footer"},fhe=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,i=r.ref(!1),s=r.ref(null);ohe(s,([{isIntersecting:f}])=>{i.value=f}),r.watch(i,f=>{f&&n.hasMore&&!n.isLoading&&o("loadMore")});const a=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)},u=f=>{if("added"in f){const p={id:f.added.element.id,rank:Br(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:Br(n.list,f.moved.newIndex)})},d=r.ref(!1);return(f,p)=>(r.openBlock(),r.createElementBlock("div",rhe,[t.title||f.$slots.header?r.renderSlot(f.$slots,"header",{},()=>{var m;return[r.createElementVNode("div",ihe,[t.title?(r.openBlock(),r.createBlock(Zme,{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(be,{name:"Add"})],8,she)):r.createCommentVNode("",!0)])]},void 0,0):r.createCommentVNode("",!0),r.createVNode(r.unref(ko),r.mergeProps({class:["ao-list-kanban__list",d.value?"ao-list-kanban__transition":void 0],list:t.list,"item-key":"id",group:"kanban","ghost-class":"ao-list-kanban__ghost",animation:"200"},f.$attrs,{draggable:".ao-list-draggable",disabled:!t.isEditable,"component-data":{tag:"transition-group",name:"ao-list-kanban__transition"},onChange:u,onStart:p[2]||(p[2]=m=>d.value=!0),onEnd:p[3]||(p[3]=m=>d.value=!1)}),{item:r.withCtx(({element:m})=>{var h,g,y,C,v,_,k,w,b,E;return[r.createVNode(fd,{id:m.id,class:r.normalizeClass(a(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":(y=m.project)==null?void 0:y.color,"phase-name":(v=(C=m.milestone)==null?void 0:C.phase)==null?void 0:v.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:(b=m.comments)==null?void 0:b.length,attachments:(E=m.attachments)==null?void 0:E.length,users:t.users,assignee:m.assignee,slug:m.slug,"is-editable":a(m),"is-private":m.private,"tag-type":t.tagType,onUpdateActivity:[N=>a(m)&&c(N),()=>a(m)&&c],onClick:()=>l(m.id),onRemoveAssignee:()=>a(m)&&c({id:m.id,assigneeId:null}),onStartTimer:p[1]||(p[1]=N=>f.$emit("startTimer",N))},{secondary:r.withCtx(()=>[a(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),a(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",ahe,[r.createVNode(be,{name:"Loading"})])):t.hasMore?(r.openBlock(),r.createElementBlock("div",{key:2,ref_key:"scrollEnd",ref:s,class:"ao-list-kanban__end"},null,512)):(r.openBlock(),r.createElementBlock("div",lhe,[t.noMoreLabel?(r.openBlock(),r.createElementBlock("span",che,r.toDisplayString(t.noMoreLabel),1)):t.isEditable?(r.openBlock(),r.createElementBlock("span",uhe)):r.createCommentVNode("",!0)]))]),_:1},16,["class","list","disabled"]),f.$slots.footer||t.footerLabel?(r.openBlock(),r.createElementBlock("div",dhe,[r.renderSlot(f.$slots,"footer",{},()=>[t.isEditable?(r.openBlock(),r.createBlock(wo,{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)]))}});const phe={class:"ao-field ao-search-field"},mhe=["value","placeholder"],hhe=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,i=async l=>{const u=l.target.value;o("update:modelValue",u,l)},s=Qme(i,n.delay),a=l=>{o("clear",l)};return(l,c)=>(r.openBlock(),r.createElementBlock("div",phe,[r.createElementVNode("input",{value:t.modelValue,type:"text",class:"ao-field__input ao-search-field__input",placeholder:t.placeholder,onInput:c[0]||(c[0]=(...u)=>r.unref(s)&&r.unref(s)(...u)),onKeypress:r.withKeys(i,["enter"])},null,40,mhe),r.createVNode(be,{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:a},null,8,["class"])]))}});const ghe={class:"ao-sprint-metrics"},vhe=["onClick"],_he={class:"ao-sprint-metrics__header-left"},yhe={class:"ao-sprint-metrics__icon"},Che={class:"ao-sprint-metrics__title"},bhe={class:"ao-sprint-metrics__dates"},khe={key:0,class:"ao-sprint-metrics__project"},whe={class:"ao-sprint-metrics__advancement"},Ehe={class:"ao-sprint-metrics__progress-bar"},She={class:"ao-sprint-metrics__percent"},xhe={class:"ao-sprint-metrics__tooltip ao-sprint-metrics__tooltip--advancement"},The={class:"ao-sprint-metrics__tooltip-row"},Ahe={class:"ao-sprint-metrics__tooltip-row"},Nhe={class:"ao-sprint-metrics__tooltip-row"},Dhe={class:"ao-sprint-metrics__tooltip-row"},$he={class:"ao-sprint-metrics__tooltip-row"},Mhe={class:"ao-sprint-metrics__tooltip-row"},Bhe={class:"ao-sprint-metrics__tooltip-row"},Ohe={class:"ao-sprint-metrics__content"},Lhe={class:"ao-sprint-metrics__grid"},Ihe={class:"ao-sprint-metrics__item"},Vhe={class:"ao-sprint-metrics__label"},Phe={class:"ao-sprint-metrics__value"},Fhe={key:0,class:"ao-sprint-metrics__tooltip"},Rhe={class:"ao-sprint-metrics__tooltip-title"},zhe={class:"ao-sprint-metrics__item"},Uhe={class:"ao-sprint-metrics__label"},qhe={class:"ao-sprint-metrics__value"},Hhe={class:"ao-sprint-metrics__item ao-sprint-metrics__item--editable"},jhe={class:"ao-sprint-metrics__label"},Whe={class:"ao-sprint-metrics__input-row"},Zhe=["value","placeholder","onInput"],Khe={key:0,class:"ao-sprint-metrics__secondary"},Ghe={class:"ao-sprint-metrics__item"},Yhe={class:"ao-sprint-metrics__label"},Jhe={class:"ao-sprint-metrics__value"},Xhe=r.defineComponent({__name:"AoSprintMetrics",props:{sprints:{},activities:{},planningData:{default:()=>({})},projects:{default:()=>[]}},setup(t){const e=t,{t:n}=on(),o=["Ok for prod","Done"],i=r.ref(new Set),s=r.ref({}),a=x=>{i.value.has(x)?i.value.delete(x):i.value.add(x)},l=x=>e.projects.find(D=>D.id===x.projectId),c=x=>{var D;return((D=e.planningData[x])==null?void 0:D.plannedManDays)??0},u=x=>{var D;return((D=e.planningData[x])==null?void 0:D.remainingPlannedManDays)??0},d=x=>{var D;return((D=e.planningData[x])==null?void 0:D.users)??[]},f=x=>e.activities.filter(D=>{var S;return((S=D.sprint)==null?void 0:S.id)===x}).reduce((D,S)=>D+(S.estimation??0),0),p=x=>e.activities.filter(D=>{var $,M;if((($=D.sprint)==null?void 0:$.id)!==x)return!1;const S=(M=D.devStatus)==null?void 0:M.name;return S&&o.includes(S)}).reduce((D,S)=>D+(S.estimation??0),0),m=x=>{const D=c(x);return D<=0?0:f(x)/D},h=x=>s.value[x],g=(x,D)=>{const S=parseFloat(D);isNaN(S)||S<=0?delete s.value[x]:s.value[x]=S},y=x=>{const D=h(x);return D===void 0?0:c(x)*D},C=x=>{const D=y(x);return D<=0?null:f(x)/D},v=x=>{const D=C(x);return D===null?0:Math.round(D*100)},_=x=>{const D=f(x);if(D<=0)return 0;const S=p(x);return Math.round(S/D*100)},k=x=>{const D=f(x),S=p(x);return Math.max(0,D-S)},w=x=>{const D=u(x),S=m(x);return D*S},b=x=>{const D=w(x),S=k(x);return D<=0&&S>0?!1:D<S},E=x=>x.toFixed(1),N=x=>`${x.toFixed(2)} pts / MD`,T=(x,D)=>{const S=new Date(x),$=new Date(D),M={day:"numeric",month:"short"};return`${S.toLocaleDateString("en-UK",M)} – ${$.toLocaleDateString("en-UK",M)}`};return(x,D)=>(r.openBlock(),r.createElementBlock("div",ghe,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(t.sprints,S=>{var $;return r.openBlock(),r.createElementBlock("div",{key:S.id,class:"ao-sprint-metrics__section"},[r.createElementVNode("div",{class:"ao-sprint-metrics__header",onClick:M=>a(S.id)},[r.createElementVNode("div",_he,[r.createElementVNode("span",yhe,r.toDisplayString(i.value.has(S.id)?"▸":"▾"),1),r.createElementVNode("span",Che,r.toDisplayString(S.name),1),r.createElementVNode("span",bhe," · "+r.toDisplayString(T(S.startDate,S.endDate)),1),!i.value.has(S.id)&&l(S)?(r.openBlock(),r.createElementBlock("span",khe," · "+r.toDisplayString(($=l(S))==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":b(S.id)}])},[r.createElementVNode("div",whe,[r.createElementVNode("div",Ehe,[r.createElementVNode("div",{class:r.normalizeClass(["ao-sprint-metrics__progress-fill",{"ao-sprint-metrics__progress-fill--behind":b(S.id)}]),style:r.normalizeStyle({width:_(S.id)+"%"})},null,6)]),r.createElementVNode("span",She,r.toDisplayString(_(S.id))+"% ",1),r.createElementVNode("div",xhe,[D[7]||(D[7]=r.createElementVNode("span",{class:"ao-sprint-metrics__tooltip-title"}," Sprint advancement ",-1)),r.createElementVNode("span",The,[D[0]||(D[0]=r.createElementVNode("span",null,"Advancement",-1)),r.createElementVNode("span",null,r.toDisplayString(_(S.id))+"%",1)]),r.createElementVNode("span",Ahe,[D[1]||(D[1]=r.createElementVNode("span",null,"Completed",-1)),r.createElementVNode("span",null,r.toDisplayString(E(p(S.id)))+" / "+r.toDisplayString(E(f(S.id)))+" pts ",1)]),r.createElementVNode("span",Nhe,[D[2]||(D[2]=r.createElementVNode("span",null,"Remaining",-1)),r.createElementVNode("span",null,r.toDisplayString(E(k(S.id)))+" pts",1)]),D[8]||(D[8]=r.createElementVNode("span",{class:"ao-sprint-metrics__tooltip-separator"},null,-1)),r.createElementVNode("span",Dhe,[D[3]||(D[3]=r.createElementVNode("span",null,"Remaining capacity",-1)),r.createElementVNode("span",null,r.toDisplayString(E(w(S.id)))+" pts",1)]),r.createElementVNode("span",$he,[D[4]||(D[4]=r.createElementVNode("span",null,"Remaining planning",-1)),r.createElementVNode("span",null,r.toDisplayString(E(u(S.id)))+" MD",1)]),r.createElementVNode("span",Mhe,[D[5]||(D[5]=r.createElementVNode("span",null,"Estimated velocity",-1)),r.createElementVNode("span",null,r.toDisplayString(N(m(S.id))),1)]),D[9]||(D[9]=r.createElementVNode("span",{class:"ao-sprint-metrics__tooltip-separator"},null,-1)),r.createElementVNode("span",Bhe,[D[6]||(D[6]=r.createElementVNode("span",null,"Status",-1)),r.createElementVNode("span",null,r.toDisplayString(b(S.id)?"Behind plan":"On track"),1)])])])],2)],8,vhe),r.withDirectives(r.createElementVNode("div",Ohe,[r.createElementVNode("div",Lhe,[r.createElementVNode("div",Ihe,[r.createElementVNode("div",Vhe,r.toDisplayString(r.unref(n)("sprintMetrics.manDaysPlanned")),1),r.createElementVNode("div",Phe,[r.createElementVNode("span",{class:r.normalizeClass(["ao-sprint-metrics__man-days",{"ao-sprint-metrics__man-days--has-tooltip":d(S.id).length>0}])},[r.createTextVNode(r.toDisplayString(E(c(S.id)))+" MD ",1),d(S.id).length>0?(r.openBlock(),r.createElementBlock("span",Fhe,[r.createElementVNode("span",Rhe,r.toDisplayString(E(c(S.id)))+" MD planned ",1),(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(d(S.id),M=>(r.openBlock(),r.createElementBlock("span",{key:M.userId,class:"ao-sprint-metrics__tooltip-row"},[r.createElementVNode("span",null,r.toDisplayString(M.fullName),1),r.createElementVNode("span",null,r.toDisplayString(E(M.plannedManDays))+" MD",1)]))),128))])):r.createCommentVNode("",!0)],2)])]),r.createElementVNode("div",zhe,[r.createElementVNode("div",Uhe,r.toDisplayString(r.unref(n)("sprintMetrics.estimatedPoints")),1),r.createElementVNode("div",qhe,r.toDisplayString(E(f(S.id)))+" pts ",1)]),r.createElementVNode("div",Hhe,[r.createElementVNode("div",jhe,r.toDisplayString(r.unref(n)("sprintMetrics.targetVelocity")),1),r.createElementVNode("div",Whe,[r.createElementVNode("input",{type:"number",step:"0.1",min:"0",class:"ao-sprint-metrics__input",value:s.value[S.id]??"",placeholder:r.unref(n)("sprintMetrics.targetVelocityPlaceholder"),onInput:M=>g(S.id,M.target.value)},null,40,Zhe),D[10]||(D[10]=r.createElementVNode("span",{class:"ao-sprint-metrics__unit"},"pts / MD",-1))]),m(S.id)>0?(r.openBlock(),r.createElementBlock("div",Khe,r.toDisplayString(r.unref(n)("sprintMetrics.currentlyEstimated"))+": "+r.toDisplayString(N(m(S.id))),1)):r.createCommentVNode("",!0)]),r.createElementVNode("div",Ghe,[r.createElementVNode("div",Yhe,r.toDisplayString(r.unref(n)("sprintMetrics.planningProgress")),1),r.createElementVNode("div",Jhe,[C(S.id)!==null?(r.openBlock(),r.createElementBlock(r.Fragment,{key:0},[r.createTextVNode(r.toDisplayString(v(S.id))+"% · "+r.toDisplayString(E(f(S.id)))+" / "+r.toDisplayString(E(y(S.id)))+" pts ",1)],64)):(r.openBlock(),r.createElementBlock(r.Fragment,{key:1},[r.createTextVNode(" — ")],64))])])])],512),[[r.vShow,!i.value.has(S.id)]])])}),128))]))}});const Qhe=oe(Xhe,[["__scopeId","data-v-98b799f1"]]),ege={class:"ao-feed"},tge={class:"ao-feed__filters"},nge={class:"ao-feed__body"},Gc=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:()=>[]},sprintPlanningData:{default:()=>({})}},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"],setup(t,{emit:e}){const{t:n}=on(),o=t,i=e;function s(R,ae){i("toast",R,ae)}const a=r.toRef(o,"activities"),l=r.computed(()=>o.feedMode==="dev"?o.devStatuses:o.statuses),c=r.computed(()=>o.feedMode==="dev"?a.value.filter(R=>R.activityType==="dev"):a.value),u=async(R,ae)=>{await i("selectActivity",R,ae)},d=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([R,ae,he,pe],[ke,Fe])=>{const De=o.feedMode==="dev"?"devStatus":"status";d.value=Object.fromEntries(R.map(xe=>[xe.id,ae.filter(Ie=>{const Ve=Ie[De];return(Ve==null?void 0:Ve.id)===xe.id})])),he&&!f.value?(u(he,null),f.value=!0):pe&&!f.value&&(u(null,pe),f.value=!0),p.value&&Wn(ae,Fe)},{immediate:!0});const h=r.computed(()=>{var R;return!o.selectedActivity||!o.selectedActivity.milestone?"":`${((R=o.selectedActivity.milestone.phase)==null?void 0:R.name)??""} / ${o.selectedActivity.milestone.name??""}`}),g=R=>{var xe;const ae=o.feedMode==="dev"?o.activities.filter(Ie=>Ie.activityType==="dev"):o.activities,he=ae==null?void 0:ae.at(-1),pe=he?at.LexoRank.parse(he.rank).genNext():at.LexoRank.middle(),ke=((xe=o.activities)==null?void 0:xe.length)??0,Fe=o.feedMode==="dev",De={name:n("activity.defaultName",{idx:ke+1}),rank:pe.format(),...Fe?{statusDevId:R.id,type:"dev"}:{statusId:R.id}};if(o.filters.assigneeId.length>0&&(De.assigneeId=o.filters.assigneeId[0]),o.filters.projectId.length>0&&(De.projectId=o.filters.projectId[0]),o.filters.sprintId&&o.filters.sprintId.length===1){const Ie=o.sprints.find(Ve=>Ve.id===o.filters.sprintId[0]);Ie&&(De.sprintId=Ie.id,De.projectId=Ie.projectId)}p.value=!0,i("addActivity",De)},y=R=>{var xe,Ie;const ae=o.feedMode==="dev"?"devStatus":"status",he=((xe=o.activities)==null?void 0:xe.filter(Ve=>{const dt=Ve[ae];return(dt==null?void 0:dt.id)===R.id}))??[],pe=ns(he),ke=((Ie=o.activities)==null?void 0:Ie.length)??0,Fe=o.feedMode==="dev",De={name:n("activity.defaultName",{idx:ke+1}),rank:pe,...Fe?{statusDevId:R.id,type:"dev"}:{statusId:R.id}};if(o.filters.assigneeId.length>0&&(De.assigneeId=o.filters.assigneeId[0]),o.filters.projectId.length>0&&(De.projectId=o.filters.projectId[0]),o.filters.sprintId&&o.filters.sprintId.length===1){const Ve=o.sprints.find(dt=>dt.id===o.filters.sprintId[0]);Ve&&(De.sprintId=Ve.id,De.projectId=Ve.projectId)}p.value=!0,i("addActivity",De)},C=(R,ae)=>{p.value=!1,i("update:filters",{...o.filters,[R]:ae})},v=r.computed(()=>o.project?[o.project]:o.projects??[]),_=r.computed(()=>v.value.map(R=>({value:R.id,label:R.name}))),k=r.computed(()=>o.sprints.map(R=>({value:R.id,label:`${R.name} · ${R.startDate} – ${R.endDate}`,startDate:R.startDate,endDate:R.endDate,projectId:R.projectId}))),w=r.computed(()=>{const R=o.filters[so.sprint]??[];return o.sprints.filter(ae=>R.includes(ae.id))});r.computed(()=>{var R;return(R=o.activityTypes)==null?void 0:R.map(ae=>({value:ae.id,label:ae.name}))});const b=r.computed(()=>o.users.map(R=>({value:R.id,label:`${R.firstName} ${R.lastName}`,avatar:R.avatarUrl}))),E=R=>{o.selectedActivity&&i("update:activity",R)},N=R=>{i("update:activity",R)},T=R=>{i("archiveActivity",R)},x=R=>{i("unarchiveActivity",R)},D=R=>{var ae;i("startTimer",R),(ae=window.parent)==null||ae.postMessage({type:"startTimer",data:R},"*")},S=R=>{p.value=!1,i("update:searchText",R)},$=R=>{p.value=!1,i("clear:searchText",R)},M=R=>{o.selectedActivity&&i("addSubtask",R)},I=R=>{o.selectedActivity&&i("updateSubtask",R)},V=R=>{o.selectedActivity&&i("deleteSubtask",R)},j=R=>{i("addFiles",R)},F=R=>{i("removeFile",R)},H=R=>{o.selectedActivity&&i("addComment",{...R,activityId:o.selectedActivity.id})},P=R=>{const{id:ae}=o.selectedActivity||{};ae&&i("updateComment",R)},Q=R=>{const{id:ae}=o.selectedActivity||{};ae&&i("removeComment",R)},ee=$r.useRouter(),ve=$r.useRoute(),ne=r.ref("feed");r.watch(()=>ve.name,R=>{R===Vo.feed||R==="ActivityFeed"||R==="ActivityFeedWithActivity"?ne.value="feed":R===Vo.dev||R==="ActivityFeedDev"||R==="ActivityFeedDevWithActivity"?ne.value="dev":R===Pe.feed?ne.value="feed":R===Pe.dev?ne.value="dev":R===Pe.project?ne.value="overview":R===Pe.mapping&&(ne.value="mapping")},{immediate:!0});const se=[{label:"Overview",value:"overview"},{label:"Feed",value:"feed"},{label:"Dev",value:"dev"},{label:"Mapping",value:"mapping"}],U=r.computed(()=>re.value?se.filter(R=>R.value==="feed"||R.value==="dev"):se),re=r.computed(()=>!o.project&&ve.name&&(ve.name===Vo.feed||ve.name===Vo.dev||ve.name==="ActivityFeed"||ve.name==="ActivityFeedDev"||ve.name==="ActivityFeedWithActivity"||ve.name==="ActivityFeedDevWithActivity")),ye=r.computed(()=>re.value?Vo.feed:Pe.feed),Be=r.computed(()=>re.value?Vo.dev:Pe.dev),nt=r.computed(()=>Pe.project),ut=r.computed(()=>Pe.mapping);return r.watch(ne,R=>{R==="feed"?ee.push({name:ye.value}):R==="dev"?ee.push({name:Be.value}):R==="overview"?ee.push({name:nt.value}):R==="mapping"&&ee.push({name:ut.value})}),(R,ae)=>{var he;return r.openBlock(),r.createElementBlock("div",ege,[r.createVNode(os,null,{primary:r.withCtx(()=>[r.createElementVNode("div",tge,[r.createVNode(gs,{modelValue:ne.value,"onUpdate:modelValue":ae[0]||(ae[0]=pe=>ne.value=pe),tabs:U.value},null,8,["modelValue","tabs"]),r.createVNode(hhe,{"model-value":t.searchText,placeholder:R.$t("feed.search.placeholder"),class:"ao-feed__search","onUpdate:modelValue":S,onClear:$},null,8,["model-value","placeholder"]),o.project?r.createCommentVNode("",!0):(r.openBlock(),r.createBlock(Et,{key:0,"model-value":t.filters[r.unref(so).project],mode:"tags",options:_.value,"close-on-select":!1,searchable:!0,class:"ao-feed__filter ao-feed__filter__projects",placeholder:R.$t("feed.filters.project.placeholder"),"onUpdate:modelValue":ae[1]||(ae[1]=pe=>C(r.unref(so).project,pe))},null,8,["model-value","options","placeholder"])),t.feedMode==="dev"?(r.openBlock(),r.createBlock(Et,{key:1,"model-value":t.filters[r.unref(so).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:R.$t("feed.filters.sprint.placeholder"),"onUpdate:modelValue":ae[2]||(ae[2]=pe=>C(r.unref(so).sprint,pe))},null,8,["model-value","options","disabled","placeholder"])):r.createCommentVNode("",!0),b.value.length?(r.openBlock(),r.createBlock(Et,{key:2,"model-value":t.filters[r.unref(so).assignee],mode:"tags",options:b.value,"close-on-select":!1,searchable:!0,class:"ao-feed__filter ao-feed__filter__assignees",placeholder:R.$t("feed.filters.assignee.placeholder"),"onUpdate:modelValue":ae[3]||(ae[3]=pe=>C(r.unref(so).assignee,pe))},{tag:r.withCtx(({option:pe,handleTagRemove:ke})=>[r.createVNode(Xn,{"user-name":pe.label,"avatar-url":pe.avatar,"is-closable":!0,onClose:Fe=>ke(pe,Fe)},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:R.$t("feed.filters.showsOnlyNonAssigned.label"),role:"checkbox","aria-checked":t.showsOnlyNonAssigned,onClick:ae[4]||(ae[4]=pe=>R.$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:R.$t("feed.filters.showsOnlyImportant.label"),role:"checkbox","aria-checked":t.showsOnlyImportant,onClick:ae[5]||(ae[5]=pe=>R.$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:R.$t("feed.filters.showsArchivedActivities.label"),role:"checkbox","aria-checked":t.showsArchivedActivities,onClick:ae[6]||(ae[6]=pe=>R.$emit("update:showsArchivedActivities",!t.showsArchivedActivities))},null,8,["icon-name","label","aria-checked"])]),_:1}),t.feedMode==="dev"&&w.value.length>0?(r.openBlock(),r.createBlock(Qhe,{key:0,sprints:w.value,activities:c.value,"planning-data":t.sprintPlanningData,projects:v.value},null,8,["sprints","activities","planning-data","projects"])):r.createCommentVNode("",!0),r.createElementVNode("div",nge,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(l.value,pe=>(r.openBlock(),r.createBlock(fhe,{key:pe.id,status:pe,list:d.value[pe.id],title:pe.name,"footer-label":R.$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(pe),onAddAtBeginning:()=>y(pe),onSelectActivity:u,onArchiveActivity:T,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(nd,{key:0,activity:t.selectedActivity,"activity-types":t.activityTypes,"dev-statuses":t.devStatuses,"milestone-id":(he=t.selectedActivity.milestone)==null?void 0:he.id,"template-activities":a.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:v.value,"time-tracking-data":t.timeTrackingData,"load-attachment-preview":o.loadAttachmentPreview,sprints:t.activitySprints,onClose:ae[7]||(ae[7]=()=>u(null,null)),"onUpdate:activity":E,onAddSubtask:M,onUpdateSubtask:I,onDeleteSubtask:V,onAddFiles:j,onRemoveFile:F,onAddComment:H,onUpdateComment:P,onRemoveComment:Q,onToast:s,onCreateSprint:ae[8]||(ae[8]=pe=>i("createSprint",pe))},{default:r.withCtx(pe=>[r.renderSlot(R.$slots,"activityDetailsBody",r.normalizeProps(r.guardReactiveProps(pe)))]),_: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"])):r.createCommentVNode("",!0)]))])}}});const oge={class:"ao-project-mapping"},rge={class:"ao-project-mapping-mapping__body"},ige={class:"ao-project-mapping-mapping__phases"},sge={key:0,class:"ao-project-mapping-mapping__image-wrapper"},age=["src","alt"],lge=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}=on(),o=t,i=e,s=()=>{const{name:v,rank:_}=Zo(o.phases,"phase",n);i("addPhase",{name:v,rank:_,projectId:o.project.id})},a=()=>{const v=n("template.defaultName.phase",{idx:1}),_=ns(o.phases);i("addPhase",{name:v,rank:_,projectId:o.project.id})},l=v=>{i("updatePhase",v)},c=v=>{i("archivePhase",v)},u=v=>{i("unarchivePhase",v)},d=v=>{i("copyPhaseToTemplate",v)},f=r.ref(!1),p=r.ref(!1),m=(v,_)=>{i("applyTemplate",{templateId:v,projectId:_}),f.value=!1},h=(v,_)=>{var b;const k=(b=o.templates)==null?void 0:b.at(-1),w=k?at.LexoRank.parse(k.rank).genNext():at.LexoRank.middle();i("saveTemplate",{templateName:v,rank:w.format(),phaseIds:_}),p.value=!1},g=$r.useRouter(),y=r.ref("mapping"),C=[{label:"Overview",value:"overview"},{label:"Feed",value:"feed"},{label:"Dev",value:"dev"},{label:"Mapping",value:"mapping"}];return r.watch(y,v=>{v==="feed"?(g.push({name:Pe.feed}),console.log("Navigating to feed...")):v==="dev"?(g.push({name:Pe.dev}),console.log("Navigating to dev...")):v==="overview"?(g.push({name:Pe.project}),console.log("Navigating to feed...")):v==="mapping"&&(g.push({name:Pe.mapping}),console.log("Navigating to feed..."))}),(v,_)=>{var k;return r.openBlock(),r.createElementBlock(r.Fragment,null,[r.createElementVNode("div",r.mergeProps({class:"ao-project-mapping-overview"},v.$attrs),[r.createElementVNode("div",oge,[r.createVNode(os,null,{primary:r.withCtx(()=>[r.createVNode(gs,{modelValue:y.value,"onUpdate:modelValue":_[0]||(_[0]=w=>y.value=w),tabs:C},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:v.$t("feed.filters.showsArchived.label"),role:"checkbox","aria-checked":t.showsArchived,onClick:_[1]||(_[1]=w=>v.$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:v.$t("project.phase.add"),onClick:a},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:v.$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:v.$t("project.template.apply.label"),onClick:_[3]||(_[3]=w=>f.value=!0)},null,8,["label"])):r.createCommentVNode("",!0)]),_:1}),r.createElementVNode("div",rge,[r.createElementVNode("div",ige,[r.createVNode(dd,{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:s,onUpdatePhase:l,onArchivePhase:c,onUnarchivePhase:u,onCopyPhaseToTemplate:d},null,8,["phases","closed-status","is-editable","users","estimation-unit"])]),t.project.architectureImage?(r.openBlock(),r.createElementBlock("div",sge,[r.createElementVNode("img",{class:"architecture-image",src:t.project.architectureImage.url,alt:r.unref(n)("architectureImage.alt")},null,8,age)])):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(Fg,{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)}}});const Uo={TEMPLATES:"templates",TEMPLATE_DETAILS:"template_details",TEMPLATES_LIST:"templates_list"},cge=(t,e={})=>[{path:t,name:Uo.TEMPLATES,redirect:{name:Uo.TEMPLATES_LIST},...e,children:[{path:"",name:Uo.TEMPLATES_LIST,component:zg},{path:":templateId/:phaseId?/:milestoneId?/:activityId?",name:Uo.TEMPLATE_DETAILS,component:Pg,props:!0}]}],Pe={project:"AoProject",feed:"AoProjectFeed",dev:"AoProjectDev",mapping:"AoProjectMapping",milestone:"AoMilestone",activity:"AoActivity"},Vo={feed:"ActivityFeed",dev:"ActivityFeedDev"},uge=(t,e={})=>[{path:t,...e,redirect:{name:Pe.project},children:[{path:"",name:Pe.project,component:sme,props:!0,children:[{path:":phaseId/:milestoneId",name:Pe.milestone,component:mp,props:!0},{path:":phaseId/:milestoneId/:activityId",name:Pe.activity,props:{default:!0,modal:!0},components:{default:mp,modal:jme}}]},{path:"feed",name:Pe.feed,component:Gc,props:n=>({...n.params,feedMode:"standard"})},{path:"dev",name:Pe.dev,component:Gc,props:n=>({...n.params,feedMode:"dev"})},{path:"mapping",name:Pe.mapping,component:lge,props:!0}]}],dge={class:"ao-templates"},zg=r.defineComponent({__name:"AoTemplatesList",props:{templates:{}},emits:["addTemplate","updateTemplates","updateItem","removeItem"],setup(t,{emit:e}){const{t:n}=on(),o=t,i=e;r.watch(()=>o.templates,(u,d)=>{Wn(u,d)});const s=()=>{var m,h;const u=(m=o.templates)==null?void 0:m.at(-1),d=u?at.LexoRank.parse(u.rank).genNext():at.LexoRank.middle(),f=((h=o.templates)==null?void 0:h.length)??0,p={name:n("template.defaultName.template",{idx:f+1}),rank:d.format()};i("addTemplate",p)},a=(u,d)=>{i("updateItem",{itemType:je.TEMPLATES,id:u,templateId:u,data:{name:d}})},l=(u,d)=>{i("removeItem",{itemType:je.TEMPLATES,templateId:u,data:{id:u,...d?{name:d}:{}}})},c=u=>{if(u.moved){const d=ts(u,o.templates??[]);i("updateItem",{itemType:je.TEMPLATES,id:u.moved.element.id,templateId:u.moved.element.id,data:{rank:d}})}};return(u,d)=>(r.openBlock(),r.createElementBlock("div",dge,[r.createVNode(os,null,{secondary:r.withCtx(()=>[r.createVNode(ue,{label:u.$t("templates.new"),color:"primary","icon-name":"Add","icon-position":"start",onClick:s},null,8,["label"])]),_:1}),r.createVNode(r.unref(ko),{"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(q7,{id:f.id,title:f.name,phases:f.phases,milestones:(p=f.phases)!=null&&p.length?r.unref(p7)(f.phases):0,activities:f.phases?r.unref(m7)(f.phases):0,"updated-at":f.updatedAt,"updated-by":f.updatedBy,onUpdateTitle:m=>a(f.id,m),onClick:m=>u.$router.push({name:r.unref(Uo).TEMPLATE_DETAILS,params:{templateId:f.id}}),onDeleteItem:d[0]||(d[0]=(m,h)=>l(m,h))},null,8,["id","title","phases","milestones","activities","updated-at","updated-by","onUpdateTitle","onClick"])]}),_:1},8,["model-value"])]))}});const fge={class:"ao-field__label"},Ug=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",fge,r.toDisplayString(t.label),1),r.renderSlot(e.$slots,"default")],2))}}),pge=["type","value","disabled","readonly"],mge=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,i=r.computed(()=>n.modelModifiers.lazy?"change":"input"),s=a=>{n.modelModifiers.number&&(a=Number(a)),o("update:modelValue",a)};return(a,l)=>(r.openBlock(),r.createBlock(Ug,{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(i.value)]:l[0]||(l[0]=c=>s(c.target.value))}),null,16,pge)]),_:1},8,["label"]))}}),hge={class:"ao-field"},gge={class:"ao-field__label"},vge=["checked","disabled"],_ge=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",hge,[r.createElementVNode("span",gge,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 i;return e.$emit("update:modelValue",((i=o.target)==null?void 0:i.checked)??!1)})},null,40,vge)]))}}),yge={class:"ao-sprint-list"},Cge={class:"ao-sprint-list__header"},bge={class:"ao-sprint-list__title-group"},kge={class:"ao-sprint-list__count"},wge={class:"ao-sprint-list__actions"},Ege={key:0,class:"ao-sprint-list__toggle"},Sge={key:0,class:"ao-sprint-list__row ao-sprint-list__row--editing"},xge=["title","onClick"],Tge=["placeholder"],Age={class:"ao-sprint-list__date-fields"},Nge={class:"ao-sprint-list__row-actions"},Dge={class:"ao-sprint-list__rows"},$ge={class:"ao-sprint-list__identity"},Mge={class:"ao-sprint-list__name-group"},Bge={class:"ao-sprint-list__name"},Oge={key:0,class:"ao-sprint-list__archived-badge"},Lge={class:"ao-sprint-list__dates"},Ige={key:0,class:"ao-sprint-list__row-actions"},Vge=["title","onClick"],Pge={class:"ao-sprint-list__date-fields"},Fge={class:"ao-sprint-list__row-actions"},Rge={key:1,class:"ao-sprint-list__empty"},zge=r.defineComponent({__name:"AoSprintList",props:{sprints:{},isEditable:{type:Boolean}},emits:["updateSprint","archiveSprint","unarchiveSprint","createSprint"],setup(t,{emit:e}){const n=t,o=e,{t:i}=on(),s=r.ref(!1),a=r.computed(()=>s.value?n.sprints:n.sprints.filter(N=>N.active)),l=r.ref(null),c=r.ref({name:"",startDate:"",endDate:"",color:""}),u=r.ref(null),d=r.ref(null),f=N=>{l.value=N.id,c.value={name:N.name,startDate:N.startDate,endDate:N.endDate,color:N.color||""}},p=()=>{l.value=null,c.value={name:"",startDate:"",endDate:"",color:""}},m=N=>{o("updateSprint",{id:N,name:c.value.name||void 0,startDate:c.value.startDate||void 0,endDate:c.value.endDate||void 0,color:c.value.color||void 0}),p()},h=N=>{confirm(i("sprint.confirmArchive"))&&o("archiveSprint",{id:N})},g=N=>{o("unarchiveSprint",{id:N})},y=N=>Jc(Mr(N),"dd/MM/yy"),C=()=>n.sprints.reduce((T,x)=>{const D=x.name.match(/^Sprint\s*(\d+)$/);return D?Math.max(T,parseInt(D[1],10)):T},0)+1,v=r.ref(!1),_=r.ref({name:"",startDate:"",endDate:"",color:"#4f5cff"}),k=()=>{v.value=!0,l.value=null,_.value={name:`Sprint ${C()}`,startDate:"",endDate:"",color:"#4f5cff"}},w=()=>{v.value=!1,_.value={name:"",startDate:"",endDate:"",color:"#4f5cff"}},b=()=>{!_.value.name||!_.value.startDate||!_.value.endDate||(o("createSprint",{name:_.value.name,startDate:_.value.startDate,endDate:_.value.endDate,color:_.value.color||void 0}),w())},E=r.computed(()=>v.value?!!(_.value.name&&_.value.startDate&&_.value.endDate):l.value?!!(c.value.name&&c.value.startDate&&c.value.endDate):!1);return(N,T)=>(r.openBlock(),r.createElementBlock("section",yge,[r.createElementVNode("div",Cge,[r.createElementVNode("div",bge,[r.createElementVNode("h3",null,r.toDisplayString(r.unref(i)("sprint.planning")),1),r.createElementVNode("span",kge,r.toDisplayString(a.value.length),1)]),r.createElementVNode("div",wge,[t.sprints.some(x=>!x.active)?(r.openBlock(),r.createElementBlock("label",Ege,[r.withDirectives(r.createElementVNode("input",{"onUpdate:modelValue":T[0]||(T[0]=x=>s.value=x),type:"checkbox"},null,512),[[r.vModelCheckbox,s.value]]),r.createTextVNode(" "+r.toDisplayString(r.unref(i)("sprint.showArchived")),1)])):r.createCommentVNode("",!0),t.isEditable&&!v.value?(r.openBlock(),r.createBlock(ue,{key:1,color:"primary",variant:"solid",size:"sm","icon-name":"Add","icon-position":"start",label:r.unref(i)("sprint.add"),onClick:k},null,8,["label"])):r.createCommentVNode("",!0)])]),v.value?(r.openBlock(),r.createElementBlock("div",Sge,[r.createVNode(jr,{color:_.value.color,"onUpdate:color":T[1]||(T[1]=x=>_.value.color=x)},{clickable:r.withCtx(({openPicker:x,bgColor:D})=>[r.createElementVNode("button",{ref_key:"colorTriggerRef",ref:u,class:"ao-sprint-list__color-trigger",style:r.normalizeStyle({backgroundColor:D}),title:r.unref(i)("sprint.color"),onClick:S=>x(S.currentTarget)},null,12,xge)]),_:1},8,["color"]),r.withDirectives(r.createElementVNode("input",{"onUpdate:modelValue":T[2]||(T[2]=x=>_.value.name=x),type:"text",class:"ao-sprint-list__input ao-sprint-list__input--name",placeholder:r.unref(i)("sprint.name")},null,8,Tge),[[r.vModelText,_.value.name]]),r.createElementVNode("div",Age,[r.withDirectives(r.createElementVNode("input",{"onUpdate:modelValue":T[3]||(T[3]=x=>_.value.startDate=x),type:"date",class:"ao-sprint-list__input ao-sprint-list__input--date"},null,512),[[r.vModelText,_.value.startDate]]),T[9]||(T[9]=r.createElementVNode("span",{class:"ao-sprint-list__date-separator"},"–",-1)),r.withDirectives(r.createElementVNode("input",{"onUpdate:modelValue":T[4]||(T[4]=x=>_.value.endDate=x),type:"date",class:"ao-sprint-list__input ao-sprint-list__input--date"},null,512),[[r.vModelText,_.value.endDate]])]),r.createElementVNode("div",Nge,[r.createVNode(ue,{color:"success",variant:"ghost",size:"sm","icon-name":"CheckSmallRounded",disabled:!E.value,title:r.unref(i)("common.save"),onClick:b},null,8,["disabled","title"]),r.createVNode(ue,{color:"neutral",variant:"ghost",size:"sm","icon-name":"CloseRounded",title:r.unref(i)("common.cancel"),onClick:w},null,8,["title"])])])):r.createCommentVNode("",!0),r.createElementVNode("div",Dge,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(a.value,x=>(r.openBlock(),r.createElementBlock("div",{key:x.id,class:r.normalizeClass(["ao-sprint-list__row",{"ao-sprint-list__row--archived":!x.active,"ao-sprint-list__row--editing":l.value===x.id}])},[l.value!==x.id?(r.openBlock(),r.createElementBlock(r.Fragment,{key:0},[r.createElementVNode("div",$ge,[r.createElementVNode("span",{class:"ao-sprint-list__color-dot",style:r.normalizeStyle({backgroundColor:x.color||"var(--ao-color-primary-base)"})},null,4),r.createElementVNode("div",Mge,[r.createElementVNode("span",Bge,r.toDisplayString(x.name),1),x.active?r.createCommentVNode("",!0):(r.openBlock(),r.createElementBlock("span",Oge,r.toDisplayString(r.unref(i)("sprint.archived")),1))])]),r.createElementVNode("div",Lge,[r.createVNode(be,{name:"CalendarTodayOutlineRounded",size:"sm"}),r.createElementVNode("span",null,r.toDisplayString(y(x.startDate))+" – "+r.toDisplayString(y(x.endDate)),1)]),t.isEditable?(r.openBlock(),r.createElementBlock("div",Ige,[r.createVNode(ue,{color:"neutral",variant:"ghost",size:"md","icon-name":"EditOutline","icon-position":"start",title:r.unref(i)("common.edit"),onClick:D=>f(x)},null,8,["title","onClick"]),r.createVNode(ue,{color:"neutral",variant:"ghost",size:"md",corners:"round","icon-position":"start","icon-name":(x.active,"ArchiveOutlineRounded"),label:x.active?r.unref(i)("sprint.archive"):r.unref(i)("sprint.unarchive"),onClick:D=>x.active?h(x.id):g(x.id)},null,8,["icon-name","label","onClick"])])):r.createCommentVNode("",!0)],64)):(r.openBlock(),r.createElementBlock(r.Fragment,{key:1},[r.createVNode(jr,{color:c.value.color,"onUpdate:color":T[5]||(T[5]=D=>c.value.color=D)},{clickable:r.withCtx(({openPicker:D,bgColor:S})=>[r.createElementVNode("button",{ref_for:!0,ref_key:"colorTriggerEditRef",ref:d,class:"ao-sprint-list__color-trigger",style:r.normalizeStyle({backgroundColor:S}),title:r.unref(i)("sprint.color"),onClick:$=>D($.currentTarget)},null,12,Vge)]),_:1},8,["color"]),r.withDirectives(r.createElementVNode("input",{"onUpdate:modelValue":T[6]||(T[6]=D=>c.value.name=D),type:"text",class:"ao-sprint-list__input ao-sprint-list__input--name"},null,512),[[r.vModelText,c.value.name]]),r.createElementVNode("div",Pge,[r.withDirectives(r.createElementVNode("input",{"onUpdate:modelValue":T[7]||(T[7]=D=>c.value.startDate=D),type:"date",class:"ao-sprint-list__input ao-sprint-list__input--date"},null,512),[[r.vModelText,c.value.startDate]]),T[10]||(T[10]=r.createElementVNode("span",{class:"ao-sprint-list__date-separator"},"–",-1)),r.withDirectives(r.createElementVNode("input",{"onUpdate:modelValue":T[8]||(T[8]=D=>c.value.endDate=D),type:"date",class:"ao-sprint-list__input ao-sprint-list__input--date"},null,512),[[r.vModelText,c.value.endDate]])]),r.createElementVNode("div",Fge,[r.createVNode(ue,{color:"success",variant:"ghost",size:"sm","icon-name":"CheckSmallRounded",disabled:!E.value,title:r.unref(i)("common.save"),onClick:D=>m(x.id)},null,8,["disabled","title","onClick"]),r.createVNode(ue,{color:"neutral",variant:"ghost",size:"sm","icon-name":"CloseRounded",title:r.unref(i)("common.cancel"),onClick:p},null,8,["title"])])],64))],2))),128))]),a.value.length===0&&!v.value?(r.openBlock(),r.createElementBlock("div",Rge,r.toDisplayString(r.unref(i)("sprint.noSprints")),1)):r.createCommentVNode("",!0)]))}});const Uge=oe(zge,[["__scopeId","data-v-285572ce"]]);exports.AoAvatar=Xn;exports.AoCardFeed=fd;exports.AoCheckboxField=_ge;exports.AoColorPicker=jr;exports.AoFeed=Gc;exports.AoField=Ug;exports.AoInputField=mge;exports.AoMultiselect=Et;exports.AoProjectPhases=dd;exports.AoSprintList=Uge;exports.AoTabBar=gs;exports.AoTemplateDetails=Pg;exports.AoTemplates=Jg;exports.AoTemplatesList=zg;exports.EstimationUnit=bp;exports.TemplateItemTypeEnum=Cp;exports.activityFeedRoutes=Vo;exports.activityFeedStatus=S_;exports.durationTypes=E_;exports.feedFilterTypes=so;exports.getProjectOverviewRoutes=uge;exports.getTemplateRoutes=cge;exports.listUpdateTypes=x_;exports.milestoneStatus=Pi;exports.projectOverviewRoutes=Pe;exports.ruleComparators=vp;exports.ruleDurationUnits=yp;exports.ruleTriggerTypes=_p;exports.templateItemType=je;exports.templateRouteNames=Uo;