@26lights/orcha 0.41.81 → 0.41.83

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/orcha.umd.js CHANGED
@@ -3,4 +3,4 @@
3
3
  * vue-color-kit v1.0.6
4
4
  * (c) 2023
5
5
  * @license MIT
6
- */function ot(a){let t={r:0,g:0,b:0,a:1};/#/.test(a)?t=wf(a):/rgb/.test(a)?t=Mr(a):typeof a=="string"?t=Mr(`rgba(${a})`):Object.prototype.toString.call(a)==="[object Object]"&&(t=a);const{r:o,g:r,b:n,a:s}=t,{h:i,s:l,v:c}=kf(t);return{r:o,g:r,b:n,a:s===void 0?1:s,h:i,s:l,v:c}}function ao(a){const t=document.createElement("canvas"),o=t.getContext("2d"),r=a*2;return t.width=r,t.height=r,o.fillStyle="#ffffff",o.fillRect(0,0,r,r),o.fillStyle="#ccd5db",o.fillRect(0,0,a,a),o.fillRect(a,a,a,a),t}function oo(a,t,o,r,n,s){const i=a==="l",l=t.createLinearGradient(0,0,i?o:0,i?0:r);l.addColorStop(.01,n),l.addColorStop(.99,s),t.fillStyle=l,t.fillRect(0,0,o,r)}function yf({r:a,g:t,b:o},r){const n=i=>("0"+Number(i).toString(16)).slice(-2),s=`#${n(a)}${n(t)}${n(o)}`;return r?s.toUpperCase():s}function wf(a){a=a.slice(1);const t=o=>parseInt(o,16)||0;return{r:t(a.slice(0,2)),g:t(a.slice(2,4)),b:t(a.slice(4,6))}}function Mr(a){return typeof a=="string"?(a=(/rgba?\((.*?)\)/.exec(a)||["","0,0,0,1"])[1].split(","),{r:Number(a[0])||0,g:Number(a[1])||0,b:Number(a[2])||0,a:Number(a[3]?a[3]:1)}):a}function kf({r:a,g:t,b:o}){a=a/255,t=t/255,o=o/255;const r=Math.max(a,t,o),n=Math.min(a,t,o),s=r-n;let i=0;r===n?i=0:r===a?t>=o?i=60*(t-o)/s:i=60*(t-o)/s+360:r===t?i=60*(o-a)/s+120:r===o&&(i=60*(a-t)/s+240),i=Math.floor(i);let l=parseFloat((r===0?0:1-n/r).toFixed(2)),c=parseFloat(r.toFixed(2));return{h:i,s:l,v:c}}var ro=e.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 a=this.$refs.canvasSaturation,t=this.size,o=a.getContext("2d");a.width=t,a.height=t,o.fillStyle=this.color,o.fillRect(0,0,t,t),oo("l",o,t,t,"#FFFFFF","rgba(255,255,255,0)"),oo("p",o,t,t,"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(a){const{top:t,left:o}=this.$el.getBoundingClientRect(),r=a.target.getContext("2d"),n=i=>{let l=i.clientX-o,c=i.clientY-t;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=r.getImageData(Math.min(l,this.size-1),Math.min(c,this.size-1),1,1),[d,p,m]=u.data;this.$emit("selectSaturation",{r:d,g:p,b:m})};n(a);const s=()=>{document.removeEventListener("mousemove",n),document.removeEventListener("mouseup",s)};document.addEventListener("mousemove",n),document.addEventListener("mouseup",s)}}});const $f={ref:"canvasSaturation"};function Ef(a,t,o,r,n,s){return e.openBlock(),e.createBlock("div",{class:"saturation",onMousedown:t[1]||(t[1]=e.withModifiers((...i)=>a.selectSaturation&&a.selectSaturation(...i),["prevent","stop"]))},[e.createVNode("canvas",$f,null,512),e.createVNode("div",{style:a.slideSaturationStyle,class:"slide"},null,4)],32)}ro.render=Ef,ro.__file="src/color/Saturation.vue";var no=e.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 a=this.$refs.canvasHue,t=this.width,o=this.height,r=a.getContext("2d");a.width=t,a.height=o;const n=r.createLinearGradient(0,0,0,o);n.addColorStop(0,"#FF0000"),n.addColorStop(.17*1,"#FF00FF"),n.addColorStop(.17*2,"#0000FF"),n.addColorStop(.17*3,"#00FFFF"),n.addColorStop(.17*4,"#00FF00"),n.addColorStop(.17*5,"#FFFF00"),n.addColorStop(1,"#FF0000"),r.fillStyle=n,r.fillRect(0,0,t,o)},renderSlide(){this.slideHueStyle={top:(1-this.hsv.h/360)*this.height-2+"px"}},selectHue(a){const{top:t}=this.$el.getBoundingClientRect(),o=a.target.getContext("2d"),r=s=>{let i=s.clientY-t;i<0&&(i=0),i>this.height&&(i=this.height),this.slideHueStyle={top:i-2+"px"};const l=o.getImageData(0,Math.min(i,this.height-1),1,1),[c,u,d]=l.data;this.$emit("selectHue",{r:c,g:u,b:d})};r(a);const n=()=>{document.removeEventListener("mousemove",r),document.removeEventListener("mouseup",n)};document.addEventListener("mousemove",r),document.addEventListener("mouseup",n)}}});const Bf={ref:"canvasHue"};function Vf(a,t,o,r,n,s){return e.openBlock(),e.createBlock("div",{class:"hue",onMousedown:t[1]||(t[1]=e.withModifiers((...i)=>a.selectHue&&a.selectHue(...i),["prevent","stop"]))},[e.createVNode("canvas",Bf,null,512),e.createVNode("div",{style:a.slideHueStyle,class:"slide"},null,4)],32)}no.render=Vf,no.__file="src/color/Hue.vue";var io=e.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 a=this.$refs.canvasAlpha,t=this.width,o=this.height,r=this.alphaSize,n=ao(r),s=a.getContext("2d");a.width=t,a.height=o,s.fillStyle=s.createPattern(n,"repeat"),s.fillRect(0,0,t,o),oo("p",s,t,o,"rgba(255,255,255,0)",this.color)},renderSlide(){this.slideAlphaStyle={top:this.rgba.a*this.height-2+"px"}},selectAlpha(a){const{top:t}=this.$el.getBoundingClientRect(),o=n=>{let s=n.clientY-t;s<0&&(s=0),s>this.height&&(s=this.height);let i=parseFloat((s/this.height).toFixed(2));this.$emit("selectAlpha",i)};o(a);const r=()=>{document.removeEventListener("mousemove",o),document.removeEventListener("mouseup",r)};document.addEventListener("mousemove",o),document.addEventListener("mouseup",r)}}});const Nf={ref:"canvasAlpha"};function Sf(a,t,o,r,n,s){return e.openBlock(),e.createBlock("div",{class:"color-alpha",onMousedown:t[1]||(t[1]=e.withModifiers((...i)=>a.selectAlpha&&a.selectAlpha(...i),["prevent","stop"]))},[e.createVNode("canvas",Nf,null,512),e.createVNode("div",{style:a.slideAlphaStyle,class:"slide"},null,4)],32)}io.render=Sf,io.__file="src/color/Alpha.vue";var so=e.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 a=this.$el,t=this.width,o=this.height,r=this.alphaSize,n=ao(r),s=a.getContext("2d");a.width=t,a.height=o,s.fillStyle=s.createPattern(n,"repeat"),s.fillRect(0,0,t,o),s.fillStyle=this.color,s.fillRect(0,0,t,o)}}});function xf(a,t,o,r,n,s){return e.openBlock(),e.createBlock("canvas")}so.render=xf,so.__file="src/color/Preview.vue";var lo=e.defineComponent({props:{suckerCanvas:{type:Object,default:null},suckerArea:{type:Array,default:()=>[]}},data(){return{isOpenSucker:!1,suckerPreview:null,isSucking:!1}},watch:{suckerCanvas(a){this.isSucking=!1,this.suckColor(a)}},methods:{openSucker(){this.isOpenSucker?this.keydownHandler({keyCode:27}):(this.isOpenSucker=!0,this.isSucking=!0,this.$emit("openSucker",!0),document.addEventListener("keydown",this.keydownHandler))},keydownHandler(a){a.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(a){const{clientX:t,clientY:o}=a,{top:r,left:n,width:s,height:i}=this.suckerCanvas.getBoundingClientRect(),l=t-n,c=o-r,d=this.suckerCanvas.getContext("2d").getImageData(Math.min(l,s-1),Math.min(c,i-1),1,1);let[p,m,f,b]=d.data;b=parseFloat((b/255).toFixed(2));const v=this.suckerPreview.style;Object.assign(v,{position:"absolute",left:t+20+"px",top:o-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(${p}, ${m}, ${f}, ${b})`,zIndex:95}),this.suckerArea.length&&t>=this.suckerArea[0]&&o>=this.suckerArea[1]&&t<=this.suckerArea[2]&&o<=this.suckerArea[3]?v.display="":v.display="none"},suckColor(a){a&&a.tagName!=="CANVAS"||(this.suckerPreview=document.createElement("div"),this.suckerPreview&&document.body.appendChild(this.suckerPreview),document.addEventListener("mousemove",this.mousemoveHandler),document.addEventListener("mouseup",this.mousemoveHandler),a.addEventListener("click",t=>{const{clientX:o,clientY:r}=t,{top:n,left:s,width:i,height:l}=a.getBoundingClientRect(),c=o-s,u=r-n,p=a.getContext("2d").getImageData(Math.min(c,i-1),Math.min(u,l-1),1,1);let[m,f,b,v]=p.data;v=parseFloat((v/255).toFixed(2)),this.$emit("selectSucker",{r:m,g:f,b,a:v})}))}}});const Mf=e.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),Af={key:1,class:"sucker",viewBox:"-16 -16 68 68",xmlns:"http://www.w3.org/2000/svg",stroke:"#9099a4"},Tf=e.createVNode("g",{fill:"none","fill-rule":"evenodd"},[e.createVNode("g",{transform:"translate(1 1)","stroke-width":"4"},[e.createVNode("circle",{"stroke-opacity":".5",cx:"18",cy:"18",r:"18"}),e.createVNode("path",{d:"M36 18c0-9.94-8.06-18-18-18"},[e.createVNode("animateTransform",{attributeName:"transform",type:"rotate",from:"0 18 18",to:"360 18 18",dur:"1s",repeatCount:"indefinite"})])])],-1);function Of(a,t,o,r,n,s){return e.openBlock(),e.createBlock("div",null,[a.isSucking?e.createCommentVNode("v-if",!0):(e.openBlock(),e.createBlock("svg",{key:0,class:[{active:a.isOpenSucker},"sucker"],xmlns:"http://www.w3.org/2000/svg",viewBox:"-12 -12 48 48",onClick:t[1]||(t[1]=(...i)=>a.openSucker&&a.openSucker(...i))},[Mf],2)),a.isSucking?(e.openBlock(),e.createBlock("svg",Af,[Tf])):e.createCommentVNode("v-if",!0)])}lo.render=Of,lo.__file="src/color/Sucker.vue";var co=e.defineComponent({props:{name:{type:String,default:""},color:{type:String,default:""}},emits:["inputColor","inputFocus","inputBlur"],setup(a,{emit:t}){return{modelColor:e.computed({get(){return a.color||""},set(s){t("inputColor",s)}}),handleFocus:s=>{t("inputFocus",s)},handleBlur:s=>{t("inputBlur",s)}}}});const If={class:"color-type"},Lf={class:"name"};function jf(a,t,o,r,n,s){return e.openBlock(),e.createBlock("div",If,[e.createVNode("span",Lf,e.toDisplayString(a.name),1),e.withDirectives(e.createVNode("input",{"onUpdate:modelValue":t[1]||(t[1]=i=>a.modelColor=i),class:"value",onFocus:t[2]||(t[2]=(...i)=>a.handleFocus&&a.handleFocus(...i)),onBlur:t[3]||(t[3]=(...i)=>a.handleBlur&&a.handleBlur(...i))},null,544),[[e.vModelText,a.modelColor]])])}co.render=jf,co.__file="src/color/Box.vue";var po=e.defineComponent({name:"ColorPicker",props:{color:{type:String,default:"#000000"},colorsDefault:{type:Array,default:()=>[]},colorsHistoryKey:{type:String,default:""}},emits:["selectColor"],setup(a,{emit:t}){const o=e.ref(),r=e.ref([]),n=e.ref();a.colorsHistoryKey&&localStorage&&(r.value=JSON.parse(localStorage.getItem(a.colorsHistoryKey))||[]),n.value=ao(4).toDataURL(),e.onUnmounted(()=>{s(o.value)});function s(l){if(!l)return;const c=r.value||[],u=c.indexOf(l);u>=0&&c.splice(u,1),c.length>=8&&(c.length=7),c.unshift(l),r.value=c||[],localStorage&&a.colorsHistoryKey&&localStorage.setItem(a.colorsHistoryKey,JSON.stringify(c))}function i(l){t("selectColor",l)}return{setColorsHistory:s,colorsHistory:r,color:o,imgAlphaBase64:n,selectColor:i}}});const Df={class:"colors"},Pf={key:0,class:"colors history"};function zf(a,t,o,r,n,s){return e.openBlock(),e.createBlock("div",null,[e.createVNode("ul",Df,[(e.openBlock(!0),e.createBlock(e.Fragment,null,e.renderList(a.colorsDefault,i=>(e.openBlock(),e.createBlock("li",{key:i,class:"item",onClick:l=>a.selectColor(i)},[e.createVNode("div",{style:{background:`url(${a.imgAlphaBase64})`},class:"alpha"},null,4),e.createVNode("div",{style:{background:i},class:"color"},null,4)],8,["onClick"]))),128))]),a.colorsHistory.length?(e.openBlock(),e.createBlock("ul",Pf,[(e.openBlock(!0),e.createBlock(e.Fragment,null,e.renderList(a.colorsHistory,i=>(e.openBlock(),e.createBlock("li",{key:i,class:"item",onClick:l=>a.selectColor(i)},[e.createVNode("div",{style:{background:`url(${a.imgAlphaBase64})`},class:"alpha"},null,4),e.createVNode("div",{style:{background:i},class:"color"},null,4)],8,["onClick"]))),128))])):e.createCommentVNode("v-if",!0)])}po.render=zf,po.__file="src/color/Colors.vue";var vt=e.defineComponent({components:{Saturation:ro,Hue:no,Alpha:io,Preview:so,Sucker:lo,Box:co,Colors:po},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 yf(this.rgba,!0)}},created(){Object.assign(this,ot(this.color)),this.setText(),this.$watch("rgba",()=>{this.$emit("changeColor",{rgba:this.rgba,hsv:this.hsv,hex:this.modelHex})})},methods:{selectSaturation(a){const{r:t,g:o,b:r,h:n,s,v:i}=ot(a);Object.assign(this,{r:t,g:o,b:r,h:n,s,v:i}),this.setText()},handleFocus(a){this.$emit("inputFocus",a)},handleBlur(a){this.$emit("inputBlur",a)},selectHue(a){const{r:t,g:o,b:r,h:n,s,v:i}=ot(a);Object.assign(this,{r:t,g:o,b:r,h:n,s,v:i}),this.setText(),this.$nextTick(()=>{this.$refs.saturation.renderColor(),this.$refs.saturation.renderSlide()})},selectAlpha(a){this.a=a,this.setText()},inputHex(a){const{r:t,g:o,b:r,a:n,h:s,s:i,v:l}=ot(a);Object.assign(this,{r:t,g:o,b:r,a:n,h:s,s:i,v:l}),this.modelHex=a,this.modelRgba=this.rgbaStringShort,this.$nextTick(()=>{this.$refs.saturation.renderColor(),this.$refs.saturation.renderSlide(),this.$refs.hue.renderSlide()})},inputRgba(a){const{r:t,g:o,b:r,a:n,h:s,s:i,v:l}=ot(a);Object.assign(this,{r:t,g:o,b:r,a:n,h:s,s:i,v:l}),this.modelHex=this.hexString,this.modelRgba=a,this.$nextTick(()=>{this.$refs.saturation.renderColor(),this.$refs.saturation.renderSlide(),this.$refs.hue.renderSlide()})},setText(){this.modelHex=this.hexString,this.modelRgba=this.rgbaStringShort},openSucker(a){this.$emit("openSucker",a)},selectSucker(a){const{r:t,g:o,b:r,a:n,h:s,s:i,v:l}=ot(a);Object.assign(this,{r:t,g:o,b:r,a:n,h:s,s:i,v:l}),this.setText(),this.$nextTick(()=>{this.$refs.saturation.renderColor(),this.$refs.saturation.renderSlide(),this.$refs.hue.renderSlide()})},selectColor(a){const{r:t,g:o,b:r,a:n,h:s,s:i,v:l}=ot(a);Object.assign(this,{r:t,g:o,b:r,a:n,h:s,s:i,v:l}),this.setText(),this.$nextTick(()=>{this.$refs.saturation.renderColor(),this.$refs.saturation.renderSlide(),this.$refs.hue.renderSlide()})}}});const Hf={class:"color-set"};function Rf(a,t,o,r,n,s){const i=e.resolveComponent("Saturation"),l=e.resolveComponent("Hue"),c=e.resolveComponent("Alpha"),u=e.resolveComponent("Preview"),d=e.resolveComponent("Sucker"),p=e.resolveComponent("Box"),m=e.resolveComponent("Colors");return e.openBlock(),e.createBlock("div",{class:["hu-color-picker",{light:a.isLightTheme}],style:{width:a.totalWidth+"px"}},[e.createVNode("div",Hf,[e.createVNode(i,{ref:"saturation",color:a.rgbString,hsv:a.hsv,size:a.hueHeight,onSelectSaturation:a.selectSaturation},null,8,["color","hsv","size","onSelectSaturation"]),e.createVNode(l,{ref:"hue",hsv:a.hsv,width:a.hueWidth,height:a.hueHeight,onSelectHue:a.selectHue},null,8,["hsv","width","height","onSelectHue"]),e.createVNode(c,{ref:"alpha",color:a.rgbString,rgba:a.rgba,width:a.hueWidth,height:a.hueHeight,onSelectAlpha:a.selectAlpha},null,8,["color","rgba","width","height","onSelectAlpha"])]),e.createVNode("div",{style:{height:a.previewHeight+"px"},class:"color-show"},[e.createVNode(u,{color:a.rgbaString,width:a.previewWidth,height:a.previewHeight},null,8,["color","width","height"]),a.suckerHide?e.createCommentVNode("v-if",!0):(e.openBlock(),e.createBlock(d,{key:0,"sucker-canvas":a.suckerCanvas,"sucker-area":a.suckerArea,onOpenSucker:a.openSucker,onSelectSucker:a.selectSucker},null,8,["sucker-canvas","sucker-area","onOpenSucker","onSelectSucker"]))],4),e.createVNode(p,{name:"HEX",color:a.modelHex,onInputColor:a.inputHex,onInputFocus:a.handleFocus,onInputBlur:a.handleBlur},null,8,["color","onInputColor","onInputFocus","onInputBlur"]),e.createVNode(p,{name:"RGBA",color:a.modelRgba,onInputColor:a.inputRgba,onInputFocus:a.handleFocus,onInputBlur:a.handleBlur},null,8,["color","onInputColor","onInputFocus","onInputBlur"]),e.createVNode(m,{color:a.rgbaString,"colors-default":a.colorsDefault,"colors-history-key":a.colorsHistoryKey,onSelectColor:a.selectColor},null,8,["color","colors-default","colors-history-key","onSelectColor"]),e.createCommentVNode(" custom options "),e.renderSlot(a.$slots,"default")],6)}vt.render=Rf,vt.__file="src/color/ColorPicker.vue",vt.install=a=>{a.component(vt.name,vt)};const D9="",Ff={class:"color-picker-wrapper"},uo=e.defineComponent({__name:"AoColorPicker",props:{color:{}},emits:["update:color"],setup(a,{emit:t}){const o=e.ref(!1),r=e.ref(null),n=async()=>{o.value=!0,await e.nextTick(),setTimeout(()=>{window.addEventListener("click",s)},0)},s=l=>{const c=l.target;r.value&&!r.value.contains(c)&&(o.value=!1,window.removeEventListener("click",s))};e.onBeforeUnmount(()=>{window.removeEventListener("click",s)});const i=l=>{const{r:c,g:u,b:d,a:p}=l.rgba,m=`rgba(${c}, ${u}, ${d}, ${p})`;console.log("COLOR"),console.log(m),console.log(l),t("update:color",m)};return(l,c)=>(e.openBlock(),e.createElementBlock("div",Ff,[e.renderSlot(l.$slots,"clickable",{openPicker:n,bgColor:l.color}),o.value?(e.openBlock(),e.createElementBlock("div",{key:0,ref_key:"pickerRef",ref:r},[e.createVNode(e.unref(vt),{class:"color-picker",theme:"light",color:l.color,onChangeColor:i},null,8,["color"])],512)):e.createCommentVNode("",!0)]))}}),P9="",Uf={class:"ao-card-project-phase__header"},Zf={class:"ao-card-project-item__title-line"},Wf={key:0,class:"ao-card-project-item-phase__estimation"},qf={class:"ao-card-project-phase__footer"},Yf={key:0,class:"ao-card-project-phase__footer-row ao-card-project-phase__footer-row--progress"},Kf={class:"ao-card-project-phase__subitem"},Gf={class:"ao-card-project-phase__subitem"},Xf={key:0,class:"ao-card-project-phase__secondary"},Qf={class:"ao-card-project-phase__deadline ao-card-project-phase__deadline--readonly"},Jf=e.defineComponent({__name:"AoCardProjectItemPhase",props:{id:{},projectName:{},name:{},milestones:{},isEditable:{type:Boolean},deadline:{},active:{type:Boolean},color:{}},emits:["update:title","update:deadline","archivePhase","unarchivePhase","updatePhase"],setup(a,{emit:t}){const o=a,r=p=>{t("update:title",p)},n=e.computed(()=>{var p;return(p=o.milestones)==null?void 0:p.reduce((m,f)=>{var b;return m+((b=f.activities)==null?void 0:b.reduce((v,g)=>v+(g.estimation||0),0))},0)}),s=e.computed(()=>{var p;return(p=o.milestones)==null?void 0:p.length}),i=e.computed(()=>{var p;return(p=o.milestones)==null?void 0:p.filter(m=>m.status===kt.done).length}),l=e.computed(()=>(i.value||0)/(s.value||1)),c=e.computed({get:()=>o.deadline??"",set:p=>t("update:deadline",p!=null&&p.length?p:null)}),u=e.computed({get:()=>o.color,set:p=>{t("updatePhase",{id:o.id,color:p})}}),d=(p,m)=>{const f=p.target;f.closest("button")||f.closest("input")||f.closest(".ao-title")||m()};return(p,m)=>(e.openBlock(),e.createBlock(uo,{color:u.value,"onUpdate:color":m[2]||(m[2]=f=>u.value=f)},{clickable:e.withCtx(({openPicker:f,bgColor:b})=>[e.createVNode(ba,{class:"ao-card-project-phase","is-clickable":p.isEditable,color:b,withLeftBorder:!0,onClick:v=>d(v,f)},e.createSlots({default:e.withCtx(()=>[e.createElementVNode("div",Zf,[e.createVNode(ne,{id:p.id,class:"ao-card-project-phase__title",title:p.name||"",level:4,"is-editable":p.isEditable,"onUpdate:title":r},null,8,["id","title","is-editable"]),n.value?(e.openBlock(),e.createElementBlock("span",Wf," ("+e.toDisplayString(n.value)+")",1)):e.createCommentVNode("",!0)])]),footer:e.withCtx(()=>[e.createElementVNode("div",qf,[s.value?(e.openBlock(),e.createElementBlock("div",Yf,[e.createElementVNode("div",Kf,[e.createVNode(Q,{name:"MountainFlagOutlineRounded",size:"sm"}),e.createElementVNode("span",Gf,e.toDisplayString(i.value)+" / "+e.toDisplayString(s.value),1)]),e.createVNode(ya,{percentages:l.value,class:"ao-card-project-phase__progress",color:p.color},null,8,["percentages","color"]),p.$slots.secondary?(e.openBlock(),e.createElementBlock("div",Xf,[e.renderSlot(p.$slots,"secondary")])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(["ao-card-project-phase__footer-row",c.value?"":"ao-card-project-phase__no_deadline"])},[p.isEditable?e.withDirectives((e.openBlock(),e.createElementBlock("input",{key:0,"onUpdate:modelValue":m[1]||(m[1]=v=>c.value=v),class:"ao-card-project-phase__deadline ao-card-project-phase__deadline--input",type:"date"},null,512)),[[e.vModelText,c.value,void 0,{lazy:!0}]]):e.createCommentVNode("",!0),e.createElementVNode("span",Qf,e.toDisplayString(e.unref(ra)(p.deadline)),1)],2)])]),_:2},[p.isEditable?{name:"header",fn:e.withCtx(()=>[e.createElementVNode("div",Uf,[e.createVNode(K,{class:"ao-card-project-phase__archive",color:"primary",variant:"ghost","icon-name":"ArchiveOutlineRounded",size:"sm","icon-position":"start",corners:"round",label:p.active?p.$t("archive"):p.$t("unarchive"),onClick:m[0]||(m[0]=e.withModifiers(()=>p.active?p.$emit("archivePhase",{id:p.id}):p.$emit("unarchivePhase",{id:p.id}),["stop"]))},null,8,["label"])])]),key:"0"}:void 0]),1032,["is-clickable","color","onClick"])]),_:3},8,["color"]))}}),z9="",eh=e.defineComponent({__name:"AoBadge",props:{color:{}},setup(a){return(t,o)=>(e.openBlock(),e.createElementBlock("span",{class:"aoBadge",style:e.normalizeStyle({backgroundColor:t.color})},null,4))}}),H9="",th={class:"ao-card-project-milestone__default"},ah={class:"ao-title-with-badge-wrapper"},oh={class:"ao-card-project-item__title-line"},rh={key:0,class:"ao-card-project-item-milestone__estimation"},nh={key:0,class:"ao-card-project-milestone__archive"},ih={class:"ao-card-project-milestone__activities"},sh={class:"ao-card-project-milestone__activities-row"},lh={class:"ao-card-project-milestone__subitem"},ch={class:"ao-card-project-milestone__subitem"},dh={key:1,class:"ao-card-project-milestone__secondary"},ph={class:"ao-card-project-milestone__footer"},uh={key:1,class:"ao-field ao-card-project-milestone__deadline"},mh={class:"ao-field__label"},fh={key:2,class:"ao-card-project-milestone__assignee"},hh=e.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}},emits:["updateMilestone","archiveMilestone","unarchiveMilestone"],setup(a,{emit:t}){const o=a,r=e.computed(()=>{var c;return(c=o.activities)==null?void 0:c.reduce((u,d)=>u+(d.estimation||0),0)}),n=e.computed(()=>{var c;return(c=o.activities)==null?void 0:c.length}),s=e.computed(()=>{var c;return(c=o.activities)==null?void 0:c.filter(u=>La(u,o.closedStatus)).length}),i=e.computed(()=>(s.value||0)/(n.value||1)),l=c=>{t("updateMilestone",{id:o.id,name:c})};return(c,u)=>(e.openBlock(),e.createBlock(ba,{class:e.normalizeClass(["ao-card-project-milestone"]),"is-clickable":!c.readonly,"tag-name":"li","is-selected":c.isSelected,color:c.phaseColor},{default:e.withCtx(()=>[e.createElementVNode("div",th,[e.createElementVNode("div",ah,[e.createVNode(eh,{color:c.color||""},null,8,["color"]),e.createElementVNode("div",oh,[e.createVNode(ne,{id:c.id,title:c.name||"",level:5,"is-editable":!c.readonly&&c.isEditable,class:"ao-card-project-milestone__title","onUpdate:title":l},null,8,["id","title","is-editable"]),r.value?(e.openBlock(),e.createElementBlock("span",rh," ("+e.toDisplayString(r.value)+")",1)):e.createCommentVNode("",!0)])]),!c.readonly&&c.isEditable?(e.openBlock(),e.createElementBlock("div",nh,[e.createVNode(K,{color:"primary",variant:"ghost","icon-name":"ArchiveOutlineRounded",size:"sm","icon-position":"start",corners:"round",label:c.active?c.$t("archive"):c.$t("unarchive"),onClick:u[0]||(u[0]=e.withModifiers(()=>c.active?c.$emit("archiveMilestone",{id:c.id}):c.$emit("unarchiveMilestone",{id:c.id}),["stop"]))},null,8,["label"])])):e.createCommentVNode("",!0)]),e.createElementVNode("div",ih,[e.createElementVNode("div",sh,[n.value?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createElementVNode("div",lh,[e.createVNode(Q,{name:"SelectCheckBox",size:"sm"}),e.createElementVNode("span",ch,e.toDisplayString(s.value)+" / "+e.toDisplayString(n.value),1)]),e.createVNode(ya,{percentages:i.value,color:c.phaseColor,class:"ao-card-project-milestone__progress"},null,8,["percentages","color"])],64)):e.createCommentVNode("",!0),c.$slots.secondary?(e.openBlock(),e.createElementBlock("div",dh,[e.renderSlot(c.$slots,"secondary")])):e.createCommentVNode("",!0)])])]),footer:e.withCtx(()=>[e.createElementVNode("div",ph,[c.important?(e.openBlock(),e.createBlock(Q,{key:0,name:"FlagRounded",class:e.normalizeClass(c.isSelected?"ao-card-project-milestone__important--selected":"ao-card-project-milestone__important"),size:"sm"},null,8,["class"])):e.createCommentVNode("",!0),c.deadline?(e.openBlock(),e.createElementBlock("label",uh,[e.createElementVNode("span",mh,e.toDisplayString(e.unref(ra)(c.deadline)),1)])):e.createCommentVNode("",!0),c.assignee?(e.openBlock(),e.createElementBlock("div",fh,[e.createVNode(ye,{"user-name":e.unref(er)(c.assignee),"avatar-url":c.assignee.avatarUrl,color:c.isSelected?"black":"primary",size:"sm"},null,8,["user-name","avatar-url","color"])])):e.createCommentVNode("",!0)])]),_:3},8,["is-clickable","is-selected","color"]))}}),R9="",gh={class:"ao-mapping-card-project-phase__header"},_h={class:"ao-card-project-item__title-line"},vh={key:0,class:"ao-card-project-item-phase__estimation"},Ch={class:"ao-mapping-card-project-phase__footer"},bh={key:0,class:"ao-mapping-card-project-phase__footer-row ao-mapping-card-project-phase__footer-row--progress"},yh={class:"ao-mapping-card-project-phase__subitem"},wh={class:"ao-mapping-card-project-phase__subitem"},kh={key:0,class:"ao-mapping-card-project-phase__secondary"},$h={class:"ao-mapping-card-project-phase__deadline ao-mapping-card-project-phase__deadline--readonly"},Eh=e.defineComponent({__name:"AoCondensedCardProjectItemPhase",props:{id:{},projectName:{},name:{},milestones:{},isEditable:{type:Boolean},deadline:{},active:{type:Boolean},color:{}},emits:["update:title","update:deadline","archivePhase","updatePhase","unarchivePhase"],setup(a,{emit:t}){const o=a,r=p=>{t("update:title",p)},n=e.computed(()=>{var p;return(p=o.milestones)==null?void 0:p.reduce((m,f)=>{var b;return m+((b=f.activities)==null?void 0:b.reduce((v,g)=>v+(g.estimation||0),0))},0)}),s=e.computed(()=>{var p;return(p=o.milestones)==null?void 0:p.length}),i=e.computed(()=>{var p;return(p=o.milestones)==null?void 0:p.filter(m=>m.status===kt.done).length}),l=e.computed(()=>(i.value||0)/(s.value||1)),c=e.computed({get:()=>o.deadline??"",set:p=>t("update:deadline",p!=null&&p.length?p:null)}),u=e.computed({get:()=>o.color,set:p=>{t("updatePhase",{id:o.id,color:p})}}),d=(p,m)=>{const f=p.target;f.closest("button")||f.closest("input")||f.closest(".ao-title")||m()};return(p,m)=>(e.openBlock(),e.createBlock(uo,{color:u.value,"onUpdate:color":m[2]||(m[2]=f=>u.value=f)},{clickable:e.withCtx(({openPicker:f,bgColor:b})=>[e.createVNode(ba,{class:"ao-mapping-card-project-phase","is-clickable":p.isEditable,color:b,withLeftBorder:!0,onClick:v=>d(v,f)},e.createSlots({default:e.withCtx(()=>[e.createElementVNode("div",_h,[e.createVNode(ne,{id:p.id,class:"ao-mapping-card-project-phase__title",title:p.name||"",level:4,"is-editable":p.isEditable,"onUpdate:title":r},null,8,["id","title","is-editable"]),n.value?(e.openBlock(),e.createElementBlock("span",vh," ("+e.toDisplayString(n.value)+")",1)):e.createCommentVNode("",!0)])]),footer:e.withCtx(()=>[e.createElementVNode("div",Ch,[s.value?(e.openBlock(),e.createElementBlock("div",bh,[e.createElementVNode("div",yh,[e.createVNode(Q,{name:"MountainFlagOutlineRounded",size:"sm"}),e.createElementVNode("span",wh,e.toDisplayString(i.value)+" / "+e.toDisplayString(s.value),1)]),e.createVNode(ya,{percentages:l.value,class:"ao-mapping-card-project-phase__progress",color:u.value},null,8,["percentages","color"]),p.$slots.secondary?(e.openBlock(),e.createElementBlock("div",kh,[e.renderSlot(p.$slots,"secondary")])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(["ao-mapping-card-project-phase__footer-row",c.value?"":"ao-mapping-card-project-phase__no_deadline"])},[p.isEditable?e.withDirectives((e.openBlock(),e.createElementBlock("input",{key:0,"onUpdate:modelValue":m[1]||(m[1]=v=>c.value=v),class:"ao-mapping-card-project-phase__deadline ao-mapping-card-project-phase__deadline--input",type:"date"},null,512)),[[e.vModelText,c.value,void 0,{lazy:!0}]]):e.createCommentVNode("",!0),e.createElementVNode("span",$h,e.toDisplayString(e.unref(ra)(p.deadline)),1)],2)])]),_:2},[p.isEditable?{name:"header",fn:e.withCtx(()=>[e.createElementVNode("div",gh,[e.createVNode(K,{class:"ao-mapping-card-project-phase__archive",color:"primary",variant:"ghost","icon-name":"ArchiveOutlineRounded",size:"sm","icon-position":"start",corners:"round",label:p.active?p.$t("archive"):p.$t("unarchive"),onClick:m[0]||(m[0]=e.withModifiers(()=>p.active?p.$emit("archivePhase",{id:p.id}):p.$emit("unarchivePhase",{id:p.id}),["stop"]))},null,8,["label"])])]),key:"0"}:void 0]),1032,["is-clickable","color","onClick"])]),_:3},8,["color"]))}}),F9="",Bh={class:"ao-project-phase"},Vh={key:0,class:"ao-project-phase__drag ao-card__drag"},Nh={key:1,class:"ao-project-phase__col-phase"},Sh={key:2,class:"ao-mapping-project-phase__col-phase"},xh={key:0,class:"ao-project-phase__col-milestones"},Mh={class:"ao-project-phase__milestones-list-footer"},Ah=e.defineComponent({__name:"AoProjectPhase",props:{phase:{},closedStatus:{},users:{},isEditable:{type:Boolean},readonly:{type:Boolean}},emits:["addMilestone","updateMilestone","archiveMilestone","unarchiveMilestone","updatePhase","archivePhase","unarchivePhase"],setup(a,{emit:t}){const o=a,{t:r}=We();e.watch(()=>o.phase.milestones,(h,_)=>{Ae(h,_)});const n=h=>{t("updatePhase",{id:o.phase.id,name:h})},s=h=>{t("updatePhase",{id:o.phase.id,deadline:h})},i=h=>{t("updatePhase",h)},l=e.computed(()=>o.phase.milestones.map(h=>g2(h,o.closedStatus))),c=h=>{const{name:_,rank:N}=at(l.value??[],"milestone",r);t("addMilestone",{name:_,rank:N,phaseId:h})},u=h=>{t("updateMilestone",h)},d=h=>{t("archiveMilestone",h)},p=h=>{t("unarchiveMilestone",h)},m=h=>{t("archivePhase",h)},f=h=>{t("unarchivePhase",h)},b=h=>{"added"in h?t("updateMilestone",{id:h.added.element.id,phaseId:o.phase.id,rank:dt(l.value,h.added.newIndex)}):"removed"in h||"moved"in h&&t("updateMilestone",{id:h.moved.element.id,rank:dt(l.value,h.moved.newIndex)})},v=Le.useRoute(),g=e.computed(()=>v.path.includes("/mapping")),y=e.computed(()=>{var h;return o.phase.id!==((h=v.params)==null?void 0:h.phaseId)?{backgroundColor:"var(--ao-color-sheet)"}:o.phase.color?{backgroundColor:v2(o.phase.color)}:{backgroundColor:"var(--ao-color-primary-lightest)"}});return(h,_)=>(e.openBlock(),e.createElementBlock("li",Bh,[e.createElementVNode("div",{class:"ao-project-phases__draggable-card",style:e.normalizeStyle(y.value)},[h.isEditable?(e.openBlock(),e.createElementBlock("div",Vh,[e.createVNode(Q,{name:"DragIndicator",class:"ao-project-phase__drag-handle"})])):e.createCommentVNode("",!0),g.value?(e.openBlock(),e.createElementBlock("div",Sh,[e.createVNode(Eh,{id:h.phase.id,milestones:l.value,name:h.phase.name,deadline:h.phase.deadline,active:h.phase.active,"is-editable":h.isEditable,color:h.phase.color,"onUpdate:deadline":s,"onUpdate:title":n,onArchivePhase:m,onUnarchivePhase:f,onUpdatePhase:i},null,8,["id","milestones","name","deadline","active","is-editable","color"])])):(e.openBlock(),e.createElementBlock("div",Nh,[e.createVNode(Jf,{id:h.phase.id,milestones:l.value,name:h.phase.name,deadline:h.phase.deadline,active:h.phase.active,"is-editable":h.isEditable,color:h.phase.color,"onUpdate:deadline":s,"onUpdate:title":n,onArchivePhase:m,onUnarchivePhase:f},null,8,["id","milestones","name","deadline","active","is-editable","color"])]))],4),g.value?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",xh,[e.createElementVNode("div",{class:"ao-project-phase__milestones",style:e.normalizeStyle(y.value)},[e.createVNode(e.unref(je),e.mergeProps({class:"ao-project-phase__milestones-list",list:l.value,disabled:h.readonly||!h.isEditable,"item-key":"id",group:"kanban"},h.$attrs,{onChange:b}),{item:e.withCtx(({element:N})=>{var B;return[e.createVNode(hh,{id:N.id,name:N.name,color:N.color,"phase-color":h.phase.color,activities:N.activities,deadline:N.deadline,active:N.active,"is-editable":!h.readonly&&h.isEditable,"is-draggable":!h.readonly&&h.isEditable,"closed-status":h.closedStatus,"is-selected":N.id===((B=h.$route.params)==null?void 0:B.milestoneId),assignee:N.assignee,important:N.important,readonly:h.readonly,class:e.normalizeClass(["ao-project-phase__milestone"]),onClick:V=>!h.readonly&&h.$router.push({name:e.unref(re).milestone,params:{phaseId:h.phase.id,milestoneId:N.id}}),onUpdateMilestone:u,onArchiveMilestone:d,onUnarchiveMilestone:p},null,8,["id","name","color","phase-color","activities","deadline","active","is-editable","is-draggable","closed-status","is-selected","assignee","important","readonly","onClick"])]}),_:1},16,["list","disabled"]),e.createElementVNode("div",Mh,[h.isEditable?(e.openBlock(),e.createBlock(Pe,{key:0,label:h.$t("project.milestone.add"),class:"ao-project-phase__milestone-add","icon-name":"Add",onClick:_[0]||(_[0]=()=>c(h.phase.id))},null,8,["label"])):e.createCommentVNode("",!0)])],4)]))]))}}),U9="",Th={class:"ao-project__phases"},Oh={key:0,class:"ao-project-phase__phases-list-footer"},Ih=e.createElementVNode("div",{class:"ao-project-phase__empty_drag"},null,-1),Lh={class:"ao-project-phase__col-phase"},jh=e.createElementVNode("div",{class:"ao-project-phase__col-milestones"},null,-1),mo=e.defineComponent({__name:"AoProjectPhases",props:{phases:{},closedStatus:{},isEditable:{type:Boolean},users:{},readonly:{type:Boolean}},emits:["addMilestone","updateMilestone","archiveMilestone","unarchiveMilestone","addPhase","updatePhase","archivePhase","unarchivePhase"],setup(a,{emit:t}){const o=a;e.watch(()=>o.phases,(m,f)=>{Ae(m,f)});const r=m=>{t("addMilestone",m)},n=m=>{t("updateMilestone",m)},s=m=>{t("archiveMilestone",m)},i=m=>{t("unarchiveMilestone",m)},l=m=>{t("archivePhase",m)},c=m=>{t("unarchivePhase",m)},u=m=>{if(m.moved){const f=Ot(m,o.phases??[]);t("updatePhase",{id:m.moved.element.id,rank:f})}},d=m=>{t("updatePhase",m)},p=m=>{t("addPhase",m)};return(m,f)=>(e.openBlock(),e.createElementBlock("div",Th,[e.createVNode(e.unref(je),{class:"ao-project-phase__phases-list","model-value":m.phases,"item-key":"id",handle:".ao-card__drag",onChange:u},{item:e.withCtx(({element:b})=>[e.createVNode(Ah,{phase:b,"is-editable":!m.readonly&&m.isEditable,"closed-status":m.closedStatus,users:m.users,readonly:m.readonly,onAddMilestone:r,onUpdateMilestone:n,onArchiveMilestone:s,onUnarchiveMilestone:i,onUpdatePhase:d,onArchivePhase:l,onUnarchivePhase:c},null,8,["phase","is-editable","closed-status","users","readonly"])]),_:1},8,["model-value"]),m.isEditable?(e.openBlock(),e.createElementBlock("div",Oh,[Ih,e.createElementVNode("div",Lh,[e.createVNode(Pe,{label:m.$t("project.phases.add"),"icon-name":"Add",class:"ao-project-phase__add-phase",onClick:p},null,8,["label"])]),jh])):e.createCommentVNode("",!0)]))}}),Z9="",Dh=["onSubmit"],Ph={class:"ao-add-template-modal__form-body"},zh={class:"field__row"},Hh={class:"ao-add-template-modal__form-footer"},Ar=e.defineComponent({__name:"AoAddTemplateModal",props:{projectId:{},templates:{}},emits:["apply"],setup(a,{emit:t}){const o=a,r=e.computed(()=>o.templates.map(l=>({value:l.id,label:l.name}))),n=e.ref(null),s=l=>{n.value=l},i=()=>{n.value&&t("apply",n.value,o.projectId)};return(l,c)=>(e.openBlock(),e.createBlock(na,{size:"sm"},{header:e.withCtx(()=>[e.createVNode(ne,{title:l.$t("project.template.apply.title"),level:3},null,8,["title"])]),default:e.withCtx(()=>[e.createElementVNode("form",{class:"ao-add-template-modal__form",onSubmit:e.withModifiers(i,["prevent"])},[e.createElementVNode("p",null,e.toDisplayString(l.$t("project.template.apply.notice")),1),e.createElementVNode("div",Ph,[e.createElementVNode("div",zh,[e.createVNode(le,{value:n.value,options:r.value,detached:!0,onChange:s},null,8,["value","options"])])]),e.createElementVNode("footer",Hh,[e.createVNode(K,{label:l.$t("project.template.apply.label"),type:"submit",color:"primary",variant:"solid",onClick:i},null,8,["label"])])],40,Dh)]),_:1}))}}),W9="",Rh=["onSubmit"],Fh={class:"ao-save-template-modal__form-body"},Uh={class:"field__row"},Zh={class:"ao-field ao-field--inline"},Wh={class:"ao-field__label"},qh={class:"ao-save-template-modal__phases"},Yh={class:"ao-field__label"},Kh={class:"ao-save-template-modal__phases-list"},Gh=["value"],Xh={class:"ao-save-template-modal__form-footer"},Tr=e.defineComponent({__name:"AoSaveTemplateModal",props:{phases:{}},emits:["save"],setup(a,{emit:t}){const o=a,r=e.ref(""),n=e.ref([]);e.onMounted(()=>{n.value=o.phases.map(i=>i.id)});const s=()=>{r.value&&t("save",r.value,n.value)};return(i,l)=>(e.openBlock(),e.createBlock(na,{size:"sm"},{header:e.withCtx(()=>[e.createVNode(ne,{title:i.$t("project.template.save.title"),level:3},null,8,["title"])]),default:e.withCtx(()=>[e.createElementVNode("form",{class:"ao-save-template-modal__form",onSubmit:e.withModifiers(s,["prevent"])},[e.createElementVNode("div",Fh,[e.createElementVNode("div",Uh,[e.createElementVNode("label",Zh,[e.createElementVNode("span",Wh,e.toDisplayString(i.$t("project.template.name.label"))+": ",1),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":l[0]||(l[0]=c=>r.value=c),type:"text"},null,512),[[e.vModelText,r.value]])])]),e.createElementVNode("div",qh,[e.createElementVNode("div",Yh,e.toDisplayString(i.$t("project.template.phases.label")),1),e.createElementVNode("div",Kh,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.phases,c=>(e.openBlock(),e.createElementBlock("label",{class:"ao-field ao-field--checkbox",key:c.id},[e.withDirectives(e.createElementVNode("input",{type:"checkbox",value:c.id,"onUpdate:modelValue":l[1]||(l[1]=u=>n.value=u)},null,8,Gh),[[e.vModelCheckbox,n.value]]),e.createElementVNode("span",null,e.toDisplayString(c.name),1)]))),128))])])]),e.createElementVNode("footer",Xh,[e.createVNode(K,{label:i.$t("project.template.save.label"),type:"submit",color:"primary",variant:"solid",onClick:s},null,8,["label"])])],40,Rh)]),_:1}))}}),q9="",Qh=e.defineComponent({props:{modelValue:{type:[String,Number],required:!0},tabs:{type:Array,required:!0}},emits:["update:modelValue"],methods:{selectTab(a){this.$emit("update:modelValue",a)}}}),Y9="",Jh={class:"tabbar-wrapper"},e5=["onClick"];function t5(a,t,o,r,n,s){return e.openBlock(),e.createElementBlock("div",Jh,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.tabs,i=>(e.openBlock(),e.createElementBlock("button",{key:i.value,class:e.normalizeClass(["tab-button",{"tab-button--active":i.value===a.modelValue}]),type:"button",onClick:l=>a.selectTab(i.value)},e.toDisplayString(i.label),11,e5))),128))])}const fo=O(Qh,[["render",t5],["__scopeId","data-v-ff4e3297"]]),a5={class:"ao-project"},o5={class:"ao-project__body"},r5=e.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}},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(a,{emit:t}){const o=a,{t:r}=We(),n=e.computed(()=>o.phases.flatMap($=>$.milestones)),s=()=>{const{name:$,rank:w}=at(o.phases,"phase",r);t("addPhase",{name:$,rank:w,projectId:o.project.id})},i=$=>{t("updatePhase",$)},l=$=>{t("archivePhase",$)},c=$=>{t("unarchivePhase",$)},u=$=>{t("copyPhaseToTemplate",$)},d=$=>{t("addMilestone",$)},p=$=>{t("updateMilestone",$)},m=$=>{t("archiveMilestone",$)},f=$=>{t("unarchiveMilestone",$)},b=$=>{t("addActivity",$)},v=$=>{t("update:activity",$)},g=$=>{t("archiveActivity",$)},y=$=>{t("unarchiveActivity",$)},h=$=>{t("addSubtask",$)},_=$=>{t("updateSubtask",$)},N=$=>{t("deleteSubtask",$)},B=e.computed(()=>n.value.flatMap($=>$.activities)),V=$=>{t("addFiles",$)},I=$=>{t("removeFile",$)},j=$=>{t("addComment",$)},P=$=>{t("updateComment",$)},H=$=>{t("removeComment",$)},F=e.ref(!1),A=e.ref(!1),z=($,w)=>{t("applyTemplate",{templateId:$,projectId:w}),F.value=!1},Y=($,w)=>{var x;const T=(x=o.templates)==null?void 0:x.at(-1),C=T?ie.LexoRank.parse(T.rank).genNext():ie.LexoRank.middle();t("saveTemplate",{templateName:$,rank:C.format(),phaseIds:w}),A.value=!1},U=Le.useRouter(),R=e.ref("overview"),E=[{label:"Overview",value:"overview"},{label:"Feed",value:"feed"},{label:"Mapping",value:"mapping"}];return e.watch(R,$=>{$==="feed"?(U.push({name:re.feed}),console.log("Navigating to feed...")):$==="overview"?(U.push({name:re.project}),console.log("Navigating to feed...")):$==="mapping"&&(U.push({name:re.mapping}),console.log("Navigating to feed..."))}),($,w)=>{const T=e.resolveComponent("RouterView");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",e.mergeProps({class:"ao-project-overview"},$.$attrs),[e.createElementVNode("div",a5,[e.createVNode(It,null,{primary:e.withCtx(()=>[e.createVNode(fo,{tabs:E,modelValue:R.value,"onUpdate:modelValue":w[0]||(w[0]=C=>R.value=C)},null,8,["modelValue"]),e.createVNode(K,{class:"ao-feed__show-archived",size:"sm","icon-name":$.showsArchived?"CheckBoxOutlineRounded":"CheckBoxOutlineBlank","icon-position":"start",color:"primary",variant:"ghost",label:$.$t("feed.filters.showsArchived.label"),role:"checkbox","aria-checked":$.showsArchived,onClick:w[1]||(w[1]=C=>$.$emit("update:showsArchived",!$.showsArchived))},null,8,["icon-name","label","aria-checked"])]),secondary:e.withCtx(()=>[$.isEditable===!0?(e.openBlock(),e.createBlock(K,{key:0,class:"ao-project-overview__save-as-template",color:"primary",label:$.$t("project.template.save.label"),onClick:w[2]||(w[2]=C=>A.value=!0)},null,8,["label"])):e.createCommentVNode("",!0),$.isEditable===!0?(e.openBlock(),e.createBlock(K,{key:1,class:"ao-project-overview__add-template",color:"primary",label:$.$t("project.template.apply.label"),onClick:w[3]||(w[3]=C=>F.value=!0)},null,8,["label"])):e.createCommentVNode("",!0)]),_:1}),e.createElementVNode("div",o5,[e.createVNode(mo,{phases:$.phases,"closed-status":$.closedStatus,"is-editable":$.isEditable===!0,users:$.users,onAddMilestone:d,onUpdateMilestone:p,onArchiveMilestone:m,onUnarchiveMilestone:f,onAddPhase:s,onUpdatePhase:i,onArchivePhase:l,onUnarchivePhase:c,onCopyPhaseToTemplate:u},null,8,["phases","closed-status","is-editable","users"])])]),e.createVNode(T,{class:"ao-project__sidebar",phases:$.phases,"project-id":$.project.id,"project-name":$.project.name,users:$.users,"is-editable":$.isEditable===!0,"closed-status":$.closedStatus,onClose:w[4]||(w[4]=C=>$.$router.push({name:e.unref(re).project})),onUpdateMilestone:p,onAddActivity:b,onUpdateActivity:v,onArchiveActivity:g,onUnarchiveActivity:y},null,8,["phases","project-id","project-name","users","is-editable","closed-status"]),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.createVNode(T,{name:"modal",activities:B.value,"is-task-checkable":$.isTaskCheckable,statuses:$.statuses,"activity-types":$.activityTypes,phases:$.phases,project:$.project,users:$.users,"user-id":$.userId,"is-editable":$.isEditable,"attachment-enabled":$.attachmentEnabled,"onUpdate:activity":v,onAddSubtask:h,onUpdateSubtask:_,onDeleteSubtask:N,onAddFiles:V,onRemoveFile:I,onAddComment:j,onUpdateComment:P,onRemoveComment:H},{default:e.withCtx(({Component:C})=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(C),null,{default:e.withCtx(x=>[e.renderSlot($.$slots,"activityDetailsBody",e.normalizeProps(e.guardReactiveProps(x)))]),_:2},1024))]),_:3},8,["activities","is-task-checkable","statuses","activity-types","phases","project","users","user-id","is-editable","attachment-enabled"])]))],16),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[A.value?(e.openBlock(),e.createBlock(Tr,{key:0,phases:$.phases,onClose:w[5]||(w[5]=C=>A.value=!1),onSave:Y},null,8,["phases"])):e.createCommentVNode("",!0),F.value?(e.openBlock(),e.createBlock(Ar,{key:1,"project-id":$.project.id,templates:$.templates,onClose:w[6]||(w[6]=C=>F.value=!1),onApply:z},null,8,["project-id","templates"])):e.createCommentVNode("",!0)]))],64)}}}),K9="",n5={class:"ao-card-feed__header"},i5={key:1,class:"ao-card-feed__header-secondary ao-card-feed__header-icons"},s5={key:2,class:"ao-card-feed__header-secondary ao-card-feed__secondary"},l5={class:"ao-card-feed__body"},c5={key:0,class:"ao-card-feed__breadcrumbs"},d5={class:e.normalizeClass(["ao-card-feed__title-group"])},p5={class:"ao-card-feed__title-line"},u5={key:0,class:"ao-card-feed__slug"},m5={key:1,class:"ao-card-feed__deadline"},f5={class:"ao-card-feed__footer"},h5={class:"ao-card-feed__footer-row"},g5={class:"ao-assignees"},_5={key:0,class:"ao-assignee"},v5={key:0,class:"ao-card-feed__subitems"},C5={key:0,class:"ao-card-feed__subitem"},b5={class:"ao-card-feed__subitem"},y5={key:1,class:"ao-card-feed__subitem"},w5={class:"ao-card-feed__subitem"},k5={class:"ao-card-feed__footer-row"},$5={key:0,class:"ao-card-feed__progress-wrapper"},E5={class:"ao-card-feed__subitem"},B5={class:"ao-card-feed__subitem"},ho=e.defineComponent({__name:"AoCardFeed",props:{id:{},name:{},projectName:{},projectColor:{},phaseName:{},milestoneName:{},milestoneColor:{},deadline:{},important:{type:Boolean},assignee:{},slug:{},comments:{},attachments:{},tasks:{},isEditable:{type:Boolean},isPrivate:{type:Boolean},isClosed:{type:Boolean},tagType:{}},emits:["removeAssignee","updateActivity"],setup(a,{emit:t}){const o=a,r=e.computed(()=>o.tagType==="milestone"?o.milestoneName:o.projectName),n=e.computed(()=>o.tagType==="milestone"?o.milestoneColor:o.projectColor),s=f=>{t("updateActivity",{id:o.id,name:f})},i=e.computed(()=>o.tagType==="milestone"&&o.phaseName?`${o.phaseName}`:o.phaseName&&o.milestoneName?`${o.phaseName} / ${o.milestoneName}`:""),l=e.computed(()=>o.assignee?[o.assignee]:[]),c=e.computed(()=>ra(o.deadline)),u=f=>{t("removeAssignee",f)},d=e.computed(()=>{var f;return(f=o.tasks)==null?void 0:f.length}),p=e.computed(()=>{var f;return(f=o.tasks)==null?void 0:f.filter(b=>b.isDone).length}),m=e.computed(()=>(p.value||0)/(d.value||1));return(f,b)=>(e.openBlock(),e.createBlock(ba,{class:e.normalizeClass(["ao-card-feed",{"ao-card-feed--closed":f.isClosed}]),"is-clickable":!0},{header:e.withCtx(()=>[e.createElementVNode("div",n5,[r.value?(e.openBlock(),e.createBlock(wt,{key:0,label:r.value,class:"ao-card-feed__project",variant:"solid",color:f.projectColor?void 0:"primary","raw-color":n.value},null,8,["label","color","raw-color"])):e.createCommentVNode("",!0),f.isPrivate||f.important||f.isClosed?(e.openBlock(),e.createElementBlock("div",i5,[f.isPrivate?(e.openBlock(),e.createBlock(Q,{key:0,name:"Lock",class:"ao-card-feed__warning",size:"sm"})):e.createCommentVNode("",!0),f.important?(e.openBlock(),e.createBlock(Q,{key:1,name:"FlagRounded",class:"ao-card-feed__important",size:"sm"})):e.createCommentVNode("",!0),f.isClosed?(e.openBlock(),e.createBlock(Q,{key:2,name:"CheckSmallRounded",class:"ao-card-feed__closed"})):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),f.$slots.secondary?(e.openBlock(),e.createElementBlock("div",s5,[e.renderSlot(f.$slots,"secondary")])):e.createCommentVNode("",!0)])]),default:e.withCtx(()=>[e.createElementVNode("div",l5,[i.value?(e.openBlock(),e.createElementBlock("span",c5,e.toDisplayString(i.value),1)):e.createCommentVNode("",!0),e.createElementVNode("div",d5,[e.createElementVNode("div",p5,[f.slug?(e.openBlock(),e.createElementBlock("span",u5,e.toDisplayString(f.slug)+": ",1)):e.createCommentVNode("",!0),e.createVNode(ne,{id:f.id,title:f.name,level:5,"is-editable":f.isEditable,"onUpdate:title":s,class:"ao-card-feed__title-inline"},null,8,["id","title","is-editable"])])]),f.deadline?(e.openBlock(),e.createElementBlock("span",m5,e.toDisplayString(c.value),1)):e.createCommentVNode("",!0)])]),footer:e.withCtx(()=>[e.createElementVNode("div",f5,[e.createElementVNode("div",h5,[e.createElementVNode("ul",g5,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.value,v=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:v.id},[v?(e.openBlock(),e.createElementBlock("li",_5,[e.createVNode(ye,{"user-name":e.unref(er)(v),"avatar-url":v.avatarUrl,"is-closable":!0,onClose:()=>u(v.id)},null,8,["user-name","avatar-url","onClose"])])):e.createCommentVNode("",!0)],64))),128))]),f.comments||f.attachments?(e.openBlock(),e.createElementBlock("ul",v5,[f.comments?(e.openBlock(),e.createElementBlock("li",C5,[e.createVNode(Q,{name:"ChatOutline",size:"sm"}),e.createElementVNode("span",b5,e.toDisplayString(f.comments),1)])):e.createCommentVNode("",!0),f.attachments?(e.openBlock(),e.createElementBlock("li",y5,[e.createVNode(Q,{name:"AttachFileRounded",size:"sm"}),e.createElementVNode("span",w5,e.toDisplayString(f.attachments),1)])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)]),e.createElementVNode("div",k5,[f.tasks&&f.tasks.length?(e.openBlock(),e.createElementBlock("div",$5,[e.createElementVNode("div",E5,[e.createVNode(Q,{name:"SelectCheckBox",size:"sm"}),e.createElementVNode("span",B5,e.toDisplayString(p.value)+" / "+e.toDisplayString(d.value),1)]),e.createVNode(ya,{percentages:m.value,class:"ao-card-feed__progress"},null,8,["percentages"])])):e.createCommentVNode("",!0)])])]),_:3},8,["class"]))}}),G9="",V5={class:"ao-project-milestone"},N5={class:"ao-project-milestone__header"},S5={class:"ao-project-milestone__header_line"},x5={class:"ao-project-milestone__header_line"},M5={class:"ao-project-milestone__title"},A5={key:0,class:"ao-fieldset ao-milestone__fieldset"},T5={class:"ao-field__row ao-milestone__field-row"},O5={class:"ao-field ao-field--inline"},I5={class:"ao-field__row ao-milestone__field-row"},L5={class:"ao-field ao-milestone__field-multiselect"},j5=["onClick"],D5={class:"ao-project-milestone__body"},P5={key:0,class:"ao-project-milestone__footer"},Or=e.defineComponent({__name:"AoProjectOverviewMilestoneDetails",props:{milestoneId:{},users:{},projectId:{},phases:{},phaseId:{},isEditable:{type:Boolean},closedStatus:{}},emits:["close","addActivity","updateMilestone","updateActivity","archiveActivity","unarchiveActivity"],setup(a,{emit:t}){const o=a,{t:r}=We(),n=e.computed(()=>{var h;return(h=o.phases)==null?void 0:h.find(_=>_.id===o.phaseId)}),s=e.computed(()=>{var h;return(h=o.phases)==null?void 0:h.flatMap(_=>_.milestones)}),i=e.computed(()=>{var h;return(h=s.value)==null?void 0:h.find(_=>_.id===o.milestoneId)}),l=e.computed(()=>{var h;return(h=i.value)==null?void 0:h.activities});e.watch(l,(h,_)=>{Ae(h,_)});const c=h=>{t("close",h)},u=()=>{const{name:h,rank:_}=at(l.value??[],"activity",r);t("addActivity",{milestoneId:o.milestoneId,name:h,rank:_,projectId:o.projectId})},d=h=>{t("updateActivity",h)},p=h=>{l.value&&"moved"in h&&t("updateActivity",{id:h.moved.element.id,rank:dt(l.value,h.moved.newIndex)})},m=e.computed({get:()=>{var h;return(h=i.value)==null?void 0:h.color},set:h=>{i.value&&t("updateMilestone",{id:i.value.id,color:h})}}),f=e.computed({get:()=>{var h;return((h=i==null?void 0:i.value)==null?void 0:h.deadline)??""},set:h=>{i.value&&t("updateMilestone",{id:i.value.id,deadline:h!=null&&h.length?h:null})}}),b=h=>o.closedStatus?La(h,o.closedStatus):!1,v=e.computed(()=>{var h;return((h=o.users)==null?void 0:h.map(_=>({label:`${_.firstName} ${_.lastName}`,value:_.id,avatar:_.avatarUrl})))||[]}),g=e.computed({get(){var h,_;return(_=(h=i.value)==null?void 0:h.assignee)!=null&&_.id?[i.value.assignee.id]:[]},set(h){t("updateMilestone",{id:o.milestoneId,assigneeId:h[0]??null})}}),y=e.computed({get(){var h;return((h=i.value)==null?void 0:h.important)??!1},set(h){t("updateMilestone",{id:o.milestoneId,important:h})}});return(h,_)=>{var N;return e.openBlock(),e.createElementBlock("div",V5,[e.createElementVNode("header",N5,[e.createElementVNode("div",S5,[e.createVNode(K,{"icon-name":"CloseRounded",variant:"ghost",size:"sm",class:"ao-milestone__close",onClick:c})]),e.createElementVNode("div",x5,[e.createElementVNode("div",M5,[e.createVNode(ne,{title:((N=i.value)==null?void 0:N.name)||h.milestoneId,level:5},null,8,["title"]),e.createVNode(eo,{modelValue:y.value,"onUpdate:modelValue":_[0]||(_[0]=B=>y.value=B),modelModifiers:{lazy:!0},disabled:!h.isEditable,class:"ao-milestone__important",color:"danger",label:h.$t("activity.important.label"),"icon-name":"FlagRounded",variant:"ghost",size:"sm"},null,8,["modelValue","disabled","label"])])]),i.value?(e.openBlock(),e.createElementBlock("div",A5,[e.createElementVNode("div",T5,[e.createElementVNode("label",O5,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":_[1]||(_[1]=B=>f.value=B),class:"ao-milestone__field ao-milestone__date-field",type:"date"},null,512),[[e.vModelText,f.value,void 0,{lazy:!0}]])])]),e.createElementVNode("div",I5,[e.createElementVNode("label",L5,[e.createVNode(le,{modelValue:g.value,"onUpdate:modelValue":_[2]||(_[2]=B=>g.value=B),options:v.value,"close-on-select":!0,searchable:!0,max:1,class:"ao-milestone__field ao-milestone__multiselect",placeholder:h.$t("activity.filters.assignee.placeholder"),mode:"tags",disabled:!h.isEditable,caret:h.isEditable},{tag:e.withCtx(({option:B,handleTagRemove:V})=>[e.createVNode(ye,{"user-name":B.label,"avatar-url":B.avatar,"is-closable":!0,onClose:I=>V(B,I)},null,8,["user-name","avatar-url","onClose"])]),_:1},8,["modelValue","options","placeholder","disabled","caret"])])]),e.createVNode(uo,{color:m.value,"onUpdate:color":_[3]||(_[3]=B=>m.value=B)},{clickable:e.withCtx(({openPicker:B,bgColor:V})=>[e.createElementVNode("button",{style:e.normalizeStyle({background:V}),class:"color-button",onClick:B},null,12,j5)]),_:1},8,["color"])])):e.createCommentVNode("",!0)]),e.createElementVNode("div",D5,[e.createVNode(e.unref(je),e.mergeProps({class:"ao-project-milestone__activities",list:l.value,disabled:!h.isEditable,"item-key":"id",group:"kanban"},h.$attrs,{onChange:p}),{item:e.withCtx(({element:B})=>{var V,I,j,P,H;return[e.createVNode(ho,{id:B.id,name:B.name||B.id,"phase-name":(V=n.value)==null?void 0:V.name,"milestone-name":(I=i.value)==null?void 0:I.name,"milestone-color":(j=i.value)==null?void 0:j.color,deadline:B.deadline,important:B.important,users:h.users,assignee:B.assignee,slug:B.slug,comments:(P=B.comments)==null?void 0:P.length,attachments:(H=B.attachments)==null?void 0:H.length,tasks:B.tasks,"is-editable":h.isEditable,"is-private":B.private,"is-closed":b(B),onClick:F=>h.$router.push({name:e.unref(re).activity,params:{milestoneId:h.milestoneId,activityId:B.id}}),onUpdateActivity:d,onRemoveAssignee:()=>d({id:B.id,assigneeId:null})},e.createSlots({_:2},[h.isEditable?{name:"secondary",fn:e.withCtx(()=>[h.isEditable&&B.active?(e.openBlock(),e.createBlock(K,{key:0,color:"primary",variant:"ghost","icon-name":"ArchiveOutlineRounded",size:"sm","icon-position":"start",corners:"round",label:h.$t("archive"),onClick:e.withModifiers(()=>h.$emit("archiveActivity",{id:B.id}),["stop"])},null,8,["label","onClick"])):e.createCommentVNode("",!0),h.isEditable&&!B.active?(e.openBlock(),e.createBlock(K,{key:1,color:"primary",variant:"ghost","icon-name":"ArchiveOutlineRounded",size:"sm","icon-position":"start",corners:"round",label:h.$t("feed.activity.unarchive"),onClick:e.withModifiers(()=>h.$emit("unarchiveActivity",{id:B.id}),["stop"])},null,8,["label","onClick"])):e.createCommentVNode("",!0)]),key:"0"}:void 0]),1032,["id","name","phase-name","milestone-name","milestone-color","deadline","important","users","assignee","slug","comments","attachments","tasks","is-editable","is-private","is-closed","onClick","onRemoveAssignee"])]}),_:1},16,["list","disabled"]),h.isEditable?(e.openBlock(),e.createElementBlock("div",P5,[e.createVNode(Pe,{"icon-name":"Add",label:h.$t("project.activity.add"),onClick:u},null,8,["label"])])):e.createCommentVNode("",!0)])])}}}),X9="",z5=e.defineComponent({__name:"AoProjectOverviewActivityDetails",props:{phaseId:{},milestoneId:{},activityId:{},activityTypes:{},activities:{},isTaskCheckable:{type:Function},statuses:{},phases:{},users:{},project:{},userId:{},isEditable:{type:Boolean},attachmentEnabled:{type:Boolean}},emits:["update:activity","addSubtask","updateSubtask","deleteSubtask","addFiles","removeFile","addComment","updateComment","removeComment"],setup(a,{emit:t}){const o=a,r=e.computed(()=>{var g;return(g=o.phases)==null?void 0:g.find(y=>y.id===o.phaseId)}),n=e.computed(()=>{var g;return(g=o.phases)==null?void 0:g.flatMap(y=>y.milestones)}),s=e.computed(()=>{var g;return(g=n.value)==null?void 0:g.find(y=>y.id===o.milestoneId)}),i=e.computed(()=>{var g;return(g=o.activities)==null?void 0:g.find(y=>y.id===o.activityId)}),l=g=>{t("update:activity",g)},c=g=>{t("addSubtask",g)},u=g=>{t("updateSubtask",g)},d=g=>{t("deleteSubtask",g)},p=g=>{t("addFiles",g)},m=g=>{t("removeFile",g)},f=g=>{t("addComment",g)},b=g=>{t("updateComment",g)},v=g=>{t("removeComment",g)};return(g,y)=>{var h,_;return i.value?(e.openBlock(),e.createBlock(to,{key:0,activity:i.value,"activity-types":g.activityTypes,"milestone-id":g.milestoneId,"template-activities":g.activities,"is-template":!1,users:g.users,"user-id":g.userId,"is-task-checkable":g.isTaskCheckable,statuses:g.statuses,breadcrumbs:`${(h=r.value)==null?void 0:h.name} / ${(_=s.value)==null?void 0:_.name}`,"is-editable":g.isEditable,"attachment-enabled":g.attachmentEnabled,projects:[g.project],onClose:g.$router.back,"onUpdate:activity":l,onAddSubtask:c,onUpdateSubtask:u,onDeleteSubtask:d,onAddFiles:p,onRemoveFile:m,onAddComment:f,onUpdateComment:b,onRemoveComment:v},{default:e.withCtx(N=>[e.renderSlot(g.$slots,"default",e.normalizeProps(e.guardReactiveProps(N)))]),_:3},8,["activity","activity-types","milestone-id","template-activities","users","user-id","is-task-checkable","statuses","breadcrumbs","is-editable","attachment-enabled","projects","onClose"])):e.createCommentVNode("",!0)}}}),H5={class:"ao-col-header"},R5=e.defineComponent({__name:"AoColHeader",props:{title:{},items:{}},setup(a){return(t,o)=>(e.openBlock(),e.createElementBlock("header",H5,[e.createVNode(ne,{title:t.title,class:"ao-col-header__title",level:4},null,8,["title"]),t.items?(e.openBlock(),e.createBlock(wt,{key:0,label:t.items,class:"ao-col-header__items",variant:"solid",color:"primary"},null,8,["label"])):e.createCommentVNode("",!0)]))}}),Q9="";function F5(a){return e.getCurrentScope()?(e.onScopeDispose(a),!0):!1}function wa(a){return typeof a=="function"?a():e.unref(a)}const U5=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const Z5=a=>a!=null,Rt=()=>{};function W5(a,t){function o(...r){return new Promise((n,s)=>{Promise.resolve(a(()=>t.apply(this,r),{fn:t,thisArg:this,args:r})).then(n).catch(s)})}return o}function q5(a,t={}){let o,r,n=Rt;const s=l=>{clearTimeout(l),n(),n=Rt};return l=>{const c=wa(a),u=wa(t.maxWait);return o&&s(o),c<=0||u!==void 0&&u<=0?(r&&(s(r),r=null),Promise.resolve(l())):new Promise((d,p)=>{n=t.rejectOnCancel?p:d,u&&!r&&(r=setTimeout(()=>{o&&s(o),r=null,d(l())},u)),o=setTimeout(()=>{r&&s(r),r=null,d(l())},c)})}}function Y5(a,t=200,o={}){return W5(q5(t,o),a)}function go(a){var t;const o=wa(a);return(t=o==null?void 0:o.$el)!=null?t:o}const K5=U5?window:void 0;function G5(){const a=e.ref(!1),t=e.getCurrentInstance();return t&&e.onMounted(()=>{a.value=!0},t),a}function X5(a){const t=G5();return e.computed(()=>(t.value,!!a()))}function Q5(a,t,o={}){const{root:r,rootMargin:n="0px",threshold:s=.1,window:i=K5,immediate:l=!0}=o,c=X5(()=>i&&"IntersectionObserver"in i),u=e.computed(()=>{const b=wa(a);return(Array.isArray(b)?b:[b]).map(go).filter(Z5)});let d=Rt;const p=e.ref(l),m=c.value?e.watch(()=>[u.value,go(r),p.value],([b,v])=>{if(d(),!p.value||!b.length)return;const g=new IntersectionObserver(t,{root:go(v),rootMargin:n,threshold:s});b.forEach(y=>y&&g.observe(y)),d=()=>{g.disconnect(),d=Rt}},{immediate:l,flush:"post"}):Rt,f=()=>{d(),m(),p.value=!1};return F5(f),{isSupported:c,isActive:p,pause(){d(),p.value=!1},resume(){p.value=!0},stop:f}}const J5={class:e.normalizeClass(["ao-list-kanban"])},e7={class:"ao-list-kanban__header"},t7={key:0,class:"ao-list-kanban__end ao-list-kanban__end--loading"},a7={key:1,class:"ao-list-kanban__end"},o7={key:0,class:"ao-list-kanban__no-more"},r7={key:1,class:"ao-list-kanban__divider"},n7={key:1,class:"ao-list-kanban__footer"},i7=e.defineComponent({__name:"AoListKanban",props:{list:{},status:{},users:{},userId:{},title:{},footerLabel:{},isLoading:{type:Boolean},hasMore:{type:Boolean},noMoreLabel:{},isEditable:{type:[Boolean,String]},tagType:{}},emits:["add","update:list","change:list","loadMore","selectActivity","archiveActivity","unarchiveActivity","updateActivity"],setup(a,{emit:t}){const o=a,r=e.ref(!1),n=e.ref(null);Q5(n,([{isIntersecting:d}])=>{r.value=d}),e.watch(r,d=>{d&&o.hasMore&&!o.isLoading&&t("loadMore")});const s=d=>{var p;return o.isEditable===!0?!0:o.userId&&o.isEditable==="only-own"?o.userId===((p=d.assignee)==null?void 0:p.id):!1},i=d=>{t("selectActivity",d)},l=d=>{t("updateActivity",d)},c=d=>{"added"in d?t("updateActivity",{id:d.added.element.id,statusId:o.status.id,rank:dt(o.list,d.added.newIndex)}):"removed"in d||"moved"in d&&t("updateActivity",{id:d.moved.element.id,rank:dt(o.list,d.moved.newIndex)})},u=e.ref(!1);return(d,p)=>(e.openBlock(),e.createElementBlock("div",J5,[d.title||d.$slots.header?e.renderSlot(d.$slots,"header",{key:0},()=>{var m;return[e.createElementVNode("div",e7,[d.title?(e.openBlock(),e.createBlock(R5,{key:0,title:d.title,level:3,items:(m=d.list)==null?void 0:m.length},null,8,["title","items"])):e.createCommentVNode("",!0)])]}):e.createCommentVNode("",!0),e.createVNode(e.unref(je),e.mergeProps({class:["ao-list-kanban__list",u.value?"ao-list-kanban__transition":void 0],list:d.list,"item-key":"id",group:"kanban","ghost-class":"ao-list-kanban__ghost",animation:"200"},d.$attrs,{draggable:".ao-list-draggable",disabled:!d.isEditable,onChange:c,onStart:p[0]||(p[0]=m=>u.value=!0),onEnd:p[1]||(p[1]=m=>u.value=!1),"component-data":{tag:"transition-group",name:"ao-list-kanban__transition"}}),{item:e.withCtx(({element:m})=>{var f,b,v,g,y,h,_,N,B;return[e.createVNode(ho,{class:e.normalizeClass(s(m)?"ao-list-draggable":""),id:m.id,name:m.name,"project-name":(f=m.project)==null?void 0:f.name,"project-color":(b=m.project)==null?void 0:b.color,"phase-name":(g=(v=m.milestone)==null?void 0:v.phase)==null?void 0:g.name,"milestone-name":(y=m.milestone)==null?void 0:y.name,"milestone-color":(h=m.milestone)==null?void 0:h.color,deadline:m.deadline,rules:((_=m.rules)==null?void 0:_.length)||0,tasks:m.tasks,description:m.description,important:m.important,type:m.type,comments:(N=m.comments)==null?void 0:N.length,attachments:(B=m.attachments)==null?void 0:B.length,users:d.users,assignee:m.assignee,slug:m.slug,"is-editable":s(m),"is-private":m.private,"tag-type":d.tagType,onUpdateActivity:[V=>s(m)&&l(V),()=>s(m)&&l],onClick:()=>i(m.id),onRemoveAssignee:()=>s(m)&&l({id:m.id,assigneeId:null})},{secondary:e.withCtx(()=>[s(m)&&m.active?(e.openBlock(),e.createBlock(K,{key:0,color:"primary",variant:"ghost","icon-name":"ArchiveOutlineRounded",size:"sm","icon-position":"start",corners:"round",label:d.$t("feed.activity.archive"),onClick:e.withModifiers(()=>d.$emit("archiveActivity",{id:m.id}),["stop"])},null,8,["label","onClick"])):e.createCommentVNode("",!0),s(m)&&!m.active?(e.openBlock(),e.createBlock(K,{key:1,color:"primary",variant:"ghost","icon-name":"ArchiveOutlineRounded",size:"sm","icon-position":"start",corners:"round",label:d.$t("feed.activity.unarchive"),onClick:e.withModifiers(()=>d.$emit("unarchiveActivity",{id:m.id}),["stop"])},null,8,["label","onClick"])):e.createCommentVNode("",!0)]),_:2},1032,["class","id","name","project-name","project-color","phase-name","milestone-name","milestone-color","deadline","rules","tasks","description","important","type","comments","attachments","users","assignee","slug","is-editable","is-private","tag-type","onUpdateActivity","onClick","onRemoveAssignee"])]}),footer:e.withCtx(()=>[d.isLoading?(e.openBlock(),e.createElementBlock("div",t7,[e.createVNode(Q,{name:"Loading"})])):d.hasMore?(e.openBlock(),e.createElementBlock("div",{key:2,ref_key:"scrollEnd",ref:n,class:"ao-list-kanban__end"},null,512)):(e.openBlock(),e.createElementBlock("div",a7,[d.noMoreLabel?(e.openBlock(),e.createElementBlock("span",o7,e.toDisplayString(d.noMoreLabel),1)):d.isEditable?(e.openBlock(),e.createElementBlock("span",r7)):e.createCommentVNode("",!0)]))]),_:1},16,["class","list","disabled"]),d.$slots.footer||d.footerLabel?(e.openBlock(),e.createElementBlock("div",n7,[e.renderSlot(d.$slots,"footer",{},()=>[d.isEditable?(e.openBlock(),e.createBlock(Pe,{key:0,"icon-name":"AddBoxOutlineRounded",label:d.footerLabel,onClick:p[2]||(p[2]=m=>d.$emit("add"))},null,8,["label"])):e.createCommentVNode("",!0)])])):e.createCommentVNode("",!0)]))}}),J9="",s7={class:"ao-field ao-search-field"},l7=["value","placeholder","onKeypress"],c7=e.defineComponent({__name:"AoSearchField",props:{modelValue:{},delay:{default:250},placeholder:{default:"Search"}},emits:["update:modelValue","clear"],setup(a,{emit:t}){const o=a,r=async i=>{const c=i.target.value;t("update:modelValue",c,i)},n=Y5(r,o.delay),s=i=>{t("clear",i)};return(i,l)=>(e.openBlock(),e.createElementBlock("div",s7,[e.createElementVNode("input",{value:i.modelValue,type:"text",class:"ao-field__input ao-search-field__input",placeholder:i.placeholder,onInput:l[0]||(l[0]=(...c)=>e.unref(n)&&e.unref(n)(...c)),onKeypress:e.withKeys(r,["enter"])},null,40,l7),e.createVNode(Q,{name:"SearchRounded",class:e.normalizeClass(`ao-search-field__icon ao-search-field__action ${i.modelValue?"":"ao-search-field__action--visible"}`)},null,8,["class"]),e.createVNode(K,{"icon-name":"CloseRounded",size:"sm",color:"primary",corners:"round",class:e.normalizeClass(`ao-search-field__button ao-search-field__action ${i.modelValue?"ao-search-field__action--visible":""}`),onClick:s},null,8,["class"])]))}}),e4="",d7={class:"ao-feed"},p7={class:"ao-feed__filters"},u7={class:"ao-feed__body"},Ir=e.defineComponent({__name:"AoFeed",props:{activities:{},statuses:{},project:{},projects:{},filters:{},activityTypes:{},users:{},userId:{},initialActivityId:{},initialActivitySlug:{},searchText:{default:""},showsArchivedActivities:{type:Boolean},showsOnlyImportant:{type:Boolean},showsOnlyNonAssigned:{type:Boolean},selectedActivity:{},isTaskCheckable:{type:Function,default:void 0},isEditable:{type:[Boolean,String]},attachmentEnabled:{type:Boolean,default:!0}},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"],setup(a,{emit:t}){const o=a,{t:r}=We();function n(w,T){t("toast",w,T)}const s=e.toRef(o,"activities"),i=async(w,T)=>{await t("selectActivity",w,T)},l=e.ref({}),c=e.ref(!1),u=e.ref(!1),d=e.computed(()=>o.project?"milestone":"project");e.watch([()=>o.statuses,()=>o.activities,()=>o.initialActivityId,()=>o.initialActivitySlug],async([w,T,C,x],[q,Z])=>{l.value=Object.fromEntries(w.map(L=>[L.id,T.filter(S=>{var D;return((D=S.status)==null?void 0:D.id)===L.id})])),C&&!c.value?(i(C,null),c.value=!0):x&&!c.value&&(i(null,x),c.value=!0),u.value&&Ae(T,Z)},{immediate:!0});const p=e.computed(()=>{var w;return!o.selectedActivity||!o.selectedActivity.milestone?"":`${((w=o.selectedActivity.milestone.phase)==null?void 0:w.name)??""} / ${o.selectedActivity.milestone.name??""}`}),m=w=>{var Z,L;const T=(Z=o.activities)==null?void 0:Z.at(-1),C=T?ie.LexoRank.parse(T.rank).genNext():ie.LexoRank.middle(),x=((L=o.activities)==null?void 0:L.length)??0,q={name:r("activity.defaultName",{idx:x+1}),rank:C.format(),statusId:w.id};o.filters.assigneeId.length>0&&(q.assigneeId=o.filters.assigneeId[0]),o.filters.projectId.length>0&&(q.projectId=o.filters.projectId[0]),o.filters.typeId.length>0&&(q.typeId=o.filters.typeId[0]),u.value=!0,t("addActivity",q)},f=(w,T)=>{u.value=!1,t("update:filters",{...o.filters,[w]:T})},b=e.computed(()=>o.project?[o.project]:o.projects??[]),v=e.computed(()=>b.value.map(w=>({value:w.id,label:w.name}))),g=e.computed(()=>{var w;return(w=o.activityTypes)==null?void 0:w.map(T=>({value:T.id,label:T.name}))}),y=e.computed(()=>o.users.map(w=>({value:w.id,label:`${w.firstName} ${w.lastName}`,avatar:w.avatarUrl}))),h=w=>{o.selectedActivity&&t("update:activity",w)},_=w=>{t("update:activity",w)},N=w=>{t("archiveActivity",w)},B=w=>{t("unarchiveActivity",w)},V=w=>{u.value=!1,t("update:searchText",w)},I=w=>{u.value=!1,t("clear:searchText",w)},j=w=>{o.selectedActivity&&t("addSubtask",w)},P=w=>{o.selectedActivity&&t("updateSubtask",w)},H=w=>{o.selectedActivity&&t("deleteSubtask",w)},F=w=>{t("addFiles",w)},A=w=>{t("removeFile",w)},z=w=>{o.selectedActivity&&t("addComment",{...w,activityId:o.selectedActivity.id})},Y=w=>{const{id:T}=o.selectedActivity||{};T&&t("updateComment",w)},U=w=>{const{id:T}=o.selectedActivity||{};T&&t("removeComment",w)},R=Le.useRouter(),E=e.ref("feed"),$=[{label:"Overview",value:"overview"},{label:"Feed",value:"feed"},{label:"Mapping",value:"mapping"}];return e.watch(E,w=>{w==="feed"?(R.push({name:re.feed}),console.log("Navigating to feed...")):w==="overview"?(R.push({name:re.project}),console.log("Navigating to feed...")):w==="mapping"&&(R.push({name:re.mapping}),console.log("Navigating to feed..."))}),(w,T)=>{var C;return e.openBlock(),e.createElementBlock("div",d7,[e.createVNode(It,null,{primary:e.withCtx(()=>[e.createElementVNode("div",p7,[e.createVNode(fo,{tabs:$,modelValue:E.value,"onUpdate:modelValue":T[0]||(T[0]=x=>E.value=x)},null,8,["modelValue"]),e.createVNode(c7,{"model-value":w.searchText,placeholder:w.$t("feed.search.placeholder"),class:"ao-feed__search","onUpdate:modelValue":V,onClear:I},null,8,["model-value","placeholder"]),o.project?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(le,{key:0,"model-value":w.filters[e.unref(Xe).project],mode:"tags",options:v.value,"close-on-select":!1,searchable:!0,class:"ao-feed__filter ao-feed__filter__projects",placeholder:w.$t("feed.filters.project.placeholder"),"onUpdate:modelValue":T[1]||(T[1]=x=>f(e.unref(Xe).project,x))},null,8,["model-value","options","placeholder"])),g.value?(e.openBlock(),e.createBlock(le,{key:1,"model-value":w.filters[e.unref(Xe).type],mode:"tags",options:g.value,"close-on-select":!1,searchable:!0,class:"ao-feed__filter ao-feed__filter__types",placeholder:w.$t("feed.filters.activityType.placeholder"),"onUpdate:modelValue":T[2]||(T[2]=x=>f(e.unref(Xe).type,x))},null,8,["model-value","options","placeholder"])):e.createCommentVNode("",!0),y.value.length?(e.openBlock(),e.createBlock(le,{key:2,"model-value":w.filters[e.unref(Xe).assignee],mode:"tags",options:y.value,"close-on-select":!1,searchable:!0,class:"ao-feed__filter ao-feed__filter__assignees",placeholder:w.$t("feed.filters.assignee.placeholder"),"onUpdate:modelValue":T[3]||(T[3]=x=>f(e.unref(Xe).assignee,x))},{tag:e.withCtx(({option:x,handleTagRemove:q})=>[e.createVNode(ye,{"user-name":x.label,"avatar-url":x.avatar,"is-closable":!0,onClose:Z=>q(x,Z)},null,8,["user-name","avatar-url","onClose"])]),_:1},8,["model-value","options","placeholder"])):e.createCommentVNode("",!0)]),e.createVNode(K,{class:"ao-feed__only-non-assigned",size:"sm","icon-name":w.showsOnlyNonAssigned?"CheckBoxOutlineRounded":"CheckBoxOutlineBlank","icon-position":"start",color:"primary",variant:"ghost",label:w.$t("feed.filters.showsOnlyNonAssigned.label"),role:"checkbox","aria-checked":w.showsOnlyNonAssigned,onClick:T[4]||(T[4]=x=>w.$emit("update:showsOnlyNonAssigned",!w.showsOnlyNonAssigned))},null,8,["icon-name","label","aria-checked"]),e.createVNode(K,{class:"ao-feed__only-important",size:"sm","icon-name":w.showsOnlyImportant?"CheckBoxOutlineRounded":"CheckBoxOutlineBlank","icon-position":"start",color:"primary",variant:"ghost",label:w.$t("feed.filters.showsOnlyImportant.label"),role:"checkbox","aria-checked":w.showsOnlyImportant,onClick:T[5]||(T[5]=x=>w.$emit("update:showsOnlyImportant",!w.showsOnlyImportant))},null,8,["icon-name","label","aria-checked"]),e.createVNode(K,{class:"ao-feed__show-archived",size:"sm","icon-name":w.showsArchivedActivities?"CheckBoxOutlineRounded":"CheckBoxOutlineBlank","icon-position":"start",color:"primary",variant:"ghost",label:w.$t("feed.filters.showsArchivedActivities.label"),role:"checkbox","aria-checked":w.showsArchivedActivities,onClick:T[6]||(T[6]=x=>w.$emit("update:showsArchivedActivities",!w.showsArchivedActivities))},null,8,["icon-name","label","aria-checked"])]),_:1}),e.createElementVNode("div",u7,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(w.statuses,x=>(e.openBlock(),e.createBlock(i7,{key:x.id,status:x,list:l.value[x.id],title:x.name,"footer-label":w.$t("feed.activity.add"),users:w.users,"user-id":w.userId,"is-editable":w.isEditable,tagType:d.value,onAdd:()=>m(x),onSelectActivity:i,onArchiveActivity:N,onUnarchiveActivity:B,onUpdateActivity:_},null,8,["status","list","title","footer-label","users","user-id","is-editable","tagType","onAdd"]))),128))]),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[w.selectedActivity?(e.openBlock(),e.createBlock(to,{key:0,activity:w.selectedActivity,"activity-types":w.activityTypes,"milestone-id":(C=w.selectedActivity.milestone)==null?void 0:C.id,"template-activities":s.value,users:w.users,"user-id":w.userId,"is-task-checkable":w.isTaskCheckable,statuses:w.statuses,breadcrumbs:p.value,"is-editable":w.isEditable,"attachment-enabled":w.attachmentEnabled,projects:b.value,onClose:T[7]||(T[7]=()=>i(null,null)),"onUpdate:activity":h,onAddSubtask:j,onUpdateSubtask:P,onDeleteSubtask:H,onAddFiles:F,onRemoveFile:A,onAddComment:z,onUpdateComment:Y,onRemoveComment:U,onToast:n},{default:e.withCtx(x=>[e.renderSlot(w.$slots,"activityDetailsBody",e.normalizeProps(e.guardReactiveProps(x)))]),_:3},8,["activity","activity-types","milestone-id","template-activities","users","user-id","is-task-checkable","statuses","breadcrumbs","is-editable","attachment-enabled","projects"])):e.createCommentVNode("",!0)]))])}}}),t4="",m7={class:"ao-project-mapping"},f7={class:"ao-project-mapping-mapping__body"},h7={class:"ao-project-mapping-mapping__phases"},g7={key:0,class:"ao-project-mapping-mapping__image-wrapper"},_7=["src","alt"],v7=e.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(a,{emit:t}){const o=a,{t:r}=We(),n=()=>{const{name:g,rank:y}=at(o.phases,"phase",r);t("addPhase",{name:g,rank:y,projectId:o.project.id})},s=g=>{t("updatePhase",g)},i=g=>{t("archivePhase",g)},l=g=>{t("unarchivePhase",g)},c=g=>{t("copyPhaseToTemplate",g)},u=e.ref(!1),d=e.ref(!1),p=(g,y)=>{t("applyTemplate",{templateId:g,projectId:y}),u.value=!1},m=(g,y)=>{var N;const h=(N=o.templates)==null?void 0:N.at(-1),_=h?ie.LexoRank.parse(h.rank).genNext():ie.LexoRank.middle();t("saveTemplate",{templateName:g,rank:_.format(),phaseIds:y}),d.value=!1},f=Le.useRouter(),b=e.ref("mapping"),v=[{label:"Overview",value:"overview"},{label:"Feed",value:"feed"},{label:"Mapping",value:"mapping"}];return e.watch(b,g=>{g==="feed"?(f.push({name:re.feed}),console.log("Navigating to feed...")):g==="overview"?(f.push({name:re.project}),console.log("Navigating to feed...")):g==="mapping"&&(f.push({name:re.mapping}),console.log("Navigating to feed..."))}),(g,y)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",e.mergeProps({class:"ao-project-mapping-overview"},g.$attrs),[e.createElementVNode("div",m7,[e.createVNode(It,null,{primary:e.withCtx(()=>[e.createVNode(fo,{tabs:v,modelValue:b.value,"onUpdate:modelValue":y[0]||(y[0]=h=>b.value=h)},null,8,["modelValue"]),e.createVNode(K,{class:"ao-feed__show-archived",size:"sm","icon-name":g.showsArchived?"CheckBoxOutlineRounded":"CheckBoxOutlineBlank","icon-position":"start",color:"primary",variant:"ghost",label:g.$t("feed.filters.showsArchived.label"),role:"checkbox","aria-checked":g.showsArchived,onClick:y[1]||(y[1]=h=>g.$emit("update:showsArchived",!g.showsArchived))},null,8,["icon-name","label","aria-checked"])]),secondary:e.withCtx(()=>[g.isEditable===!0?(e.openBlock(),e.createBlock(K,{key:0,class:"ao-project-mapping-overview__save-as-template",color:"primary",label:g.$t("project.template.save.label"),onClick:y[2]||(y[2]=h=>d.value=!0)},null,8,["label"])):e.createCommentVNode("",!0),g.isEditable===!0?(e.openBlock(),e.createBlock(K,{key:1,class:"ao-project-mapping-overview__add-template",color:"primary",label:g.$t("project.template.apply.label"),onClick:y[3]||(y[3]=h=>u.value=!0)},null,8,["label"])):e.createCommentVNode("",!0)]),_:1}),e.createElementVNode("div",f7,[e.createElementVNode("div",h7,[e.createVNode(mo,{phases:g.phases,"closed-status":g.closedStatus,"is-editable":g.isEditable===!0,users:g.users,onAddPhase:n,onUpdatePhase:s,onArchivePhase:i,onUnarchivePhase:l,onCopyPhaseToTemplate:c},null,8,["phases","closed-status","is-editable","users"])]),g.project.architectureImage?(e.openBlock(),e.createElementBlock("div",g7,[e.createElementVNode("img",{class:"architecture-image",src:g.project.architectureImage.url,alt:e.unref(r)("architectureImage.alt")},null,8,_7)])):e.createCommentVNode("",!0)])])],16),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[d.value?(e.openBlock(),e.createBlock(Tr,{key:0,phases:g.phases,onClose:y[4]||(y[4]=h=>d.value=!1),onSave:m},null,8,["phases"])):e.createCommentVNode("",!0),u.value?(e.openBlock(),e.createBlock(Ar,{key:1,"project-id":g.project.id,templates:g.templates,onClose:y[5]||(y[5]=h=>u.value=!1),onApply:p},null,8,["project-id","templates"])):e.createCommentVNode("",!0)]))],64))}}),a4="",rt={TEMPLATES:"templates",TEMPLATE_DETAILS:"template_details",TEMPLATES_LIST:"templates_list"},C7=(a,t={})=>[{path:a,name:rt.TEMPLATES,redirect:{name:rt.TEMPLATES_LIST},...t,children:[{path:"",name:rt.TEMPLATES_LIST,component:Lr},{path:":templateId/:phaseId?/:milestoneId?/:activityId?",name:rt.TEMPLATE_DETAILS,component:xr,props:!0}]}],re={project:"AoProject",feed:"AoProjectFeed",mapping:"AoProjectMapping",milestone:"AoMilestone",activity:"AoActivity"},b7=(a,t={})=>[{path:a,...t,redirect:{name:re.project},children:[{path:"",name:re.project,component:r5,props:!0,children:[{path:":phaseId/:milestoneId",name:re.milestone,component:Or,props:!0},{path:":phaseId/:milestoneId/:activityId",name:re.activity,props:{default:!0,modal:!0},components:{default:Or,modal:z5}}]},{path:"feed",name:re.feed,component:Ir,props:!0},{path:"mapping",name:re.mapping,component:v7,props:!0}]}],y7={class:"ao-templates"},Lr=e.defineComponent({__name:"AoTemplatesList",props:{templates:{}},emits:["addTemplate","updateTemplates","updateItem","removeItem"],setup(a,{emit:t}){const o=a,{t:r}=We();e.watch(()=>o.templates,(c,u)=>{Ae(c,u)});const n=()=>{var m,f;const c=(m=o.templates)==null?void 0:m.at(-1),u=c?ie.LexoRank.parse(c.rank).genNext():ie.LexoRank.middle(),d=((f=o.templates)==null?void 0:f.length)??0,p={name:r("template.defaultName.template",{idx:d+1}),rank:u.format()};t("addTemplate",p)},s=(c,u)=>{t("updateItem",{itemType:ee.TEMPLATES,id:c,templateId:c,data:{name:u}})},i=(c,u)=>{t("removeItem",{itemType:ee.TEMPLATES,templateId:c,data:{id:c,...u?{name:u}:{}}})},l=c=>{if(c.moved){const u=Ot(c,o.templates??[]);t("updateItem",{itemType:ee.TEMPLATES,id:c.moved.element.id,templateId:c.moved.element.id,data:{rank:u}})}};return(c,u)=>(e.openBlock(),e.createElementBlock("div",y7,[e.createVNode(It,null,{secondary:e.withCtx(()=>[e.createVNode(K,{label:c.$t("templates.new"),color:"primary","icon-name":"Add","icon-position":"start",onClick:n},null,8,["label"])]),_:1}),e.createVNode(e.unref(je),{"model-value":c.templates,class:"ao-templates__list","item-key":"id",handle:".ao-card__drag",onChange:l},{item:e.withCtx(({element:d})=>{var p;return[e.createVNode(R2,{id:d.id,title:d.name,phases:d.phases,milestones:(p=d.phases)!=null&&p.length?e.unref(u2)(d.phases):0,activities:d.phases?e.unref(m2)(d.phases):0,"updated-at":d.updatedAt,"updated-by":d.updatedBy,onUpdateTitle:m=>s(d.id,m),onClick:m=>c.$router.push({name:e.unref(rt).TEMPLATE_DETAILS,params:{templateId:d.id}}),onDeleteItem:u[0]||(u[0]=(m,f)=>i(m,f))},null,8,["id","title","phases","milestones","activities","updated-at","updated-by","onUpdateTitle","onClick"])]}),_:1},8,["model-value"])]))}}),o4="",w7={class:"ao-field__label"},jr=e.defineComponent({__name:"AoField",props:{label:{},isMultiselect:{type:Boolean,default:!1}},setup(a){return(t,o)=>(e.openBlock(),e.createElementBlock("label",{class:e.normalizeClass(["ao-field",{"ao-field--multiselect":t.isMultiselect}])},[e.createElementVNode("span",w7,e.toDisplayString(t.label),1),e.renderSlot(t.$slots,"default")],2))}}),k7=["type","value","disabled","readonly"],$7=e.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(a,{emit:t}){const o=a,r=e.computed(()=>o.modelModifiers.lazy?"change":"input"),n=s=>{o.modelModifiers.number&&(s=Number(s)),t("update:modelValue",s)};return(s,i)=>(e.openBlock(),e.createBlock(jr,{label:s.label},{default:e.withCtx(()=>[e.createElementVNode("input",e.mergeProps({class:"ao-field__input",type:s.type,value:s.modelValue,disabled:s.isDisabled,readonly:s.isReadonly},{[e.toHandlerKey(r.value)]:i[0]||(i[0]=l=>n(l.target.value))}),null,16,k7)]),_:1},8,["label"]))}}),E7={class:"ao-field"},B7={class:"ao-field__label"},V7=["checked","disabled"],N7=e.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(a){return(t,o)=>(e.openBlock(),e.createElementBlock("label",E7,[e.createElementVNode("span",B7,e.toDisplayString(t.label),1),e.createElementVNode("input",{class:"ao-field__input",type:"checkbox",checked:t.modelValue,disabled:t.isDisabled,onChange:o[0]||(o[0]=r=>{var n;return t.$emit("update:modelValue",((n=r.target)==null?void 0:n.checked)??!1)})},null,40,V7)]))}});X.AoAvatar=ye,X.AoCardFeed=ho,X.AoCheckboxField=N7,X.AoFeed=Ir,X.AoField=jr,X.AoInputField=$7,X.AoMultiselect=le,X.AoProjectPhases=mo,X.AoTemplateDetails=xr,X.AoTemplates=Zr,X.AoTemplatesList=Lr,X.TemplateItemTypeEnum=Ao,X.activityFeedStatus=Nd,X.durationTypes=Vd,X.feedFilterTypes=Xe,X.getProjectOverviewRoutes=b7,X.getTemplateRoutes=C7,X.listUpdateTypes=Sd,X.milestoneStatus=kt,X.projectOverviewRoutes=re,X.ruleComparators=So,X.ruleDurationUnits=Mo,X.ruleTriggerTypes=xo,X.templateItemType=ee,X.templateRouteNames=rt,Object.defineProperty(X,Symbol.toStringTag,{value:"Module"})});
6
+ */function ot(a){let t={r:0,g:0,b:0,a:1};/#/.test(a)?t=wf(a):/rgb/.test(a)?t=Mr(a):typeof a=="string"?t=Mr(`rgba(${a})`):Object.prototype.toString.call(a)==="[object Object]"&&(t=a);const{r:o,g:r,b:n,a:s}=t,{h:i,s:l,v:c}=kf(t);return{r:o,g:r,b:n,a:s===void 0?1:s,h:i,s:l,v:c}}function ao(a){const t=document.createElement("canvas"),o=t.getContext("2d"),r=a*2;return t.width=r,t.height=r,o.fillStyle="#ffffff",o.fillRect(0,0,r,r),o.fillStyle="#ccd5db",o.fillRect(0,0,a,a),o.fillRect(a,a,a,a),t}function oo(a,t,o,r,n,s){const i=a==="l",l=t.createLinearGradient(0,0,i?o:0,i?0:r);l.addColorStop(.01,n),l.addColorStop(.99,s),t.fillStyle=l,t.fillRect(0,0,o,r)}function yf({r:a,g:t,b:o},r){const n=i=>("0"+Number(i).toString(16)).slice(-2),s=`#${n(a)}${n(t)}${n(o)}`;return r?s.toUpperCase():s}function wf(a){a=a.slice(1);const t=o=>parseInt(o,16)||0;return{r:t(a.slice(0,2)),g:t(a.slice(2,4)),b:t(a.slice(4,6))}}function Mr(a){return typeof a=="string"?(a=(/rgba?\((.*?)\)/.exec(a)||["","0,0,0,1"])[1].split(","),{r:Number(a[0])||0,g:Number(a[1])||0,b:Number(a[2])||0,a:Number(a[3]?a[3]:1)}):a}function kf({r:a,g:t,b:o}){a=a/255,t=t/255,o=o/255;const r=Math.max(a,t,o),n=Math.min(a,t,o),s=r-n;let i=0;r===n?i=0:r===a?t>=o?i=60*(t-o)/s:i=60*(t-o)/s+360:r===t?i=60*(o-a)/s+120:r===o&&(i=60*(a-t)/s+240),i=Math.floor(i);let l=parseFloat((r===0?0:1-n/r).toFixed(2)),c=parseFloat(r.toFixed(2));return{h:i,s:l,v:c}}var ro=e.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 a=this.$refs.canvasSaturation,t=this.size,o=a.getContext("2d");a.width=t,a.height=t,o.fillStyle=this.color,o.fillRect(0,0,t,t),oo("l",o,t,t,"#FFFFFF","rgba(255,255,255,0)"),oo("p",o,t,t,"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(a){const{top:t,left:o}=this.$el.getBoundingClientRect(),r=a.target.getContext("2d"),n=i=>{let l=i.clientX-o,c=i.clientY-t;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=r.getImageData(Math.min(l,this.size-1),Math.min(c,this.size-1),1,1),[d,p,m]=u.data;this.$emit("selectSaturation",{r:d,g:p,b:m})};n(a);const s=()=>{document.removeEventListener("mousemove",n),document.removeEventListener("mouseup",s)};document.addEventListener("mousemove",n),document.addEventListener("mouseup",s)}}});const $f={ref:"canvasSaturation"};function Ef(a,t,o,r,n,s){return e.openBlock(),e.createBlock("div",{class:"saturation",onMousedown:t[1]||(t[1]=e.withModifiers((...i)=>a.selectSaturation&&a.selectSaturation(...i),["prevent","stop"]))},[e.createVNode("canvas",$f,null,512),e.createVNode("div",{style:a.slideSaturationStyle,class:"slide"},null,4)],32)}ro.render=Ef,ro.__file="src/color/Saturation.vue";var no=e.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 a=this.$refs.canvasHue,t=this.width,o=this.height,r=a.getContext("2d");a.width=t,a.height=o;const n=r.createLinearGradient(0,0,0,o);n.addColorStop(0,"#FF0000"),n.addColorStop(.17*1,"#FF00FF"),n.addColorStop(.17*2,"#0000FF"),n.addColorStop(.17*3,"#00FFFF"),n.addColorStop(.17*4,"#00FF00"),n.addColorStop(.17*5,"#FFFF00"),n.addColorStop(1,"#FF0000"),r.fillStyle=n,r.fillRect(0,0,t,o)},renderSlide(){this.slideHueStyle={top:(1-this.hsv.h/360)*this.height-2+"px"}},selectHue(a){const{top:t}=this.$el.getBoundingClientRect(),o=a.target.getContext("2d"),r=s=>{let i=s.clientY-t;i<0&&(i=0),i>this.height&&(i=this.height),this.slideHueStyle={top:i-2+"px"};const l=o.getImageData(0,Math.min(i,this.height-1),1,1),[c,u,d]=l.data;this.$emit("selectHue",{r:c,g:u,b:d})};r(a);const n=()=>{document.removeEventListener("mousemove",r),document.removeEventListener("mouseup",n)};document.addEventListener("mousemove",r),document.addEventListener("mouseup",n)}}});const Bf={ref:"canvasHue"};function Vf(a,t,o,r,n,s){return e.openBlock(),e.createBlock("div",{class:"hue",onMousedown:t[1]||(t[1]=e.withModifiers((...i)=>a.selectHue&&a.selectHue(...i),["prevent","stop"]))},[e.createVNode("canvas",Bf,null,512),e.createVNode("div",{style:a.slideHueStyle,class:"slide"},null,4)],32)}no.render=Vf,no.__file="src/color/Hue.vue";var io=e.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 a=this.$refs.canvasAlpha,t=this.width,o=this.height,r=this.alphaSize,n=ao(r),s=a.getContext("2d");a.width=t,a.height=o,s.fillStyle=s.createPattern(n,"repeat"),s.fillRect(0,0,t,o),oo("p",s,t,o,"rgba(255,255,255,0)",this.color)},renderSlide(){this.slideAlphaStyle={top:this.rgba.a*this.height-2+"px"}},selectAlpha(a){const{top:t}=this.$el.getBoundingClientRect(),o=n=>{let s=n.clientY-t;s<0&&(s=0),s>this.height&&(s=this.height);let i=parseFloat((s/this.height).toFixed(2));this.$emit("selectAlpha",i)};o(a);const r=()=>{document.removeEventListener("mousemove",o),document.removeEventListener("mouseup",r)};document.addEventListener("mousemove",o),document.addEventListener("mouseup",r)}}});const Nf={ref:"canvasAlpha"};function Sf(a,t,o,r,n,s){return e.openBlock(),e.createBlock("div",{class:"color-alpha",onMousedown:t[1]||(t[1]=e.withModifiers((...i)=>a.selectAlpha&&a.selectAlpha(...i),["prevent","stop"]))},[e.createVNode("canvas",Nf,null,512),e.createVNode("div",{style:a.slideAlphaStyle,class:"slide"},null,4)],32)}io.render=Sf,io.__file="src/color/Alpha.vue";var so=e.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 a=this.$el,t=this.width,o=this.height,r=this.alphaSize,n=ao(r),s=a.getContext("2d");a.width=t,a.height=o,s.fillStyle=s.createPattern(n,"repeat"),s.fillRect(0,0,t,o),s.fillStyle=this.color,s.fillRect(0,0,t,o)}}});function xf(a,t,o,r,n,s){return e.openBlock(),e.createBlock("canvas")}so.render=xf,so.__file="src/color/Preview.vue";var lo=e.defineComponent({props:{suckerCanvas:{type:Object,default:null},suckerArea:{type:Array,default:()=>[]}},data(){return{isOpenSucker:!1,suckerPreview:null,isSucking:!1}},watch:{suckerCanvas(a){this.isSucking=!1,this.suckColor(a)}},methods:{openSucker(){this.isOpenSucker?this.keydownHandler({keyCode:27}):(this.isOpenSucker=!0,this.isSucking=!0,this.$emit("openSucker",!0),document.addEventListener("keydown",this.keydownHandler))},keydownHandler(a){a.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(a){const{clientX:t,clientY:o}=a,{top:r,left:n,width:s,height:i}=this.suckerCanvas.getBoundingClientRect(),l=t-n,c=o-r,d=this.suckerCanvas.getContext("2d").getImageData(Math.min(l,s-1),Math.min(c,i-1),1,1);let[p,m,f,b]=d.data;b=parseFloat((b/255).toFixed(2));const v=this.suckerPreview.style;Object.assign(v,{position:"absolute",left:t+20+"px",top:o-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(${p}, ${m}, ${f}, ${b})`,zIndex:95}),this.suckerArea.length&&t>=this.suckerArea[0]&&o>=this.suckerArea[1]&&t<=this.suckerArea[2]&&o<=this.suckerArea[3]?v.display="":v.display="none"},suckColor(a){a&&a.tagName!=="CANVAS"||(this.suckerPreview=document.createElement("div"),this.suckerPreview&&document.body.appendChild(this.suckerPreview),document.addEventListener("mousemove",this.mousemoveHandler),document.addEventListener("mouseup",this.mousemoveHandler),a.addEventListener("click",t=>{const{clientX:o,clientY:r}=t,{top:n,left:s,width:i,height:l}=a.getBoundingClientRect(),c=o-s,u=r-n,p=a.getContext("2d").getImageData(Math.min(c,i-1),Math.min(u,l-1),1,1);let[m,f,b,v]=p.data;v=parseFloat((v/255).toFixed(2)),this.$emit("selectSucker",{r:m,g:f,b,a:v})}))}}});const Mf=e.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),Af={key:1,class:"sucker",viewBox:"-16 -16 68 68",xmlns:"http://www.w3.org/2000/svg",stroke:"#9099a4"},Tf=e.createVNode("g",{fill:"none","fill-rule":"evenodd"},[e.createVNode("g",{transform:"translate(1 1)","stroke-width":"4"},[e.createVNode("circle",{"stroke-opacity":".5",cx:"18",cy:"18",r:"18"}),e.createVNode("path",{d:"M36 18c0-9.94-8.06-18-18-18"},[e.createVNode("animateTransform",{attributeName:"transform",type:"rotate",from:"0 18 18",to:"360 18 18",dur:"1s",repeatCount:"indefinite"})])])],-1);function Of(a,t,o,r,n,s){return e.openBlock(),e.createBlock("div",null,[a.isSucking?e.createCommentVNode("v-if",!0):(e.openBlock(),e.createBlock("svg",{key:0,class:[{active:a.isOpenSucker},"sucker"],xmlns:"http://www.w3.org/2000/svg",viewBox:"-12 -12 48 48",onClick:t[1]||(t[1]=(...i)=>a.openSucker&&a.openSucker(...i))},[Mf],2)),a.isSucking?(e.openBlock(),e.createBlock("svg",Af,[Tf])):e.createCommentVNode("v-if",!0)])}lo.render=Of,lo.__file="src/color/Sucker.vue";var co=e.defineComponent({props:{name:{type:String,default:""},color:{type:String,default:""}},emits:["inputColor","inputFocus","inputBlur"],setup(a,{emit:t}){return{modelColor:e.computed({get(){return a.color||""},set(s){t("inputColor",s)}}),handleFocus:s=>{t("inputFocus",s)},handleBlur:s=>{t("inputBlur",s)}}}});const If={class:"color-type"},Lf={class:"name"};function jf(a,t,o,r,n,s){return e.openBlock(),e.createBlock("div",If,[e.createVNode("span",Lf,e.toDisplayString(a.name),1),e.withDirectives(e.createVNode("input",{"onUpdate:modelValue":t[1]||(t[1]=i=>a.modelColor=i),class:"value",onFocus:t[2]||(t[2]=(...i)=>a.handleFocus&&a.handleFocus(...i)),onBlur:t[3]||(t[3]=(...i)=>a.handleBlur&&a.handleBlur(...i))},null,544),[[e.vModelText,a.modelColor]])])}co.render=jf,co.__file="src/color/Box.vue";var po=e.defineComponent({name:"ColorPicker",props:{color:{type:String,default:"#000000"},colorsDefault:{type:Array,default:()=>[]},colorsHistoryKey:{type:String,default:""}},emits:["selectColor"],setup(a,{emit:t}){const o=e.ref(),r=e.ref([]),n=e.ref();a.colorsHistoryKey&&localStorage&&(r.value=JSON.parse(localStorage.getItem(a.colorsHistoryKey))||[]),n.value=ao(4).toDataURL(),e.onUnmounted(()=>{s(o.value)});function s(l){if(!l)return;const c=r.value||[],u=c.indexOf(l);u>=0&&c.splice(u,1),c.length>=8&&(c.length=7),c.unshift(l),r.value=c||[],localStorage&&a.colorsHistoryKey&&localStorage.setItem(a.colorsHistoryKey,JSON.stringify(c))}function i(l){t("selectColor",l)}return{setColorsHistory:s,colorsHistory:r,color:o,imgAlphaBase64:n,selectColor:i}}});const Df={class:"colors"},Pf={key:0,class:"colors history"};function zf(a,t,o,r,n,s){return e.openBlock(),e.createBlock("div",null,[e.createVNode("ul",Df,[(e.openBlock(!0),e.createBlock(e.Fragment,null,e.renderList(a.colorsDefault,i=>(e.openBlock(),e.createBlock("li",{key:i,class:"item",onClick:l=>a.selectColor(i)},[e.createVNode("div",{style:{background:`url(${a.imgAlphaBase64})`},class:"alpha"},null,4),e.createVNode("div",{style:{background:i},class:"color"},null,4)],8,["onClick"]))),128))]),a.colorsHistory.length?(e.openBlock(),e.createBlock("ul",Pf,[(e.openBlock(!0),e.createBlock(e.Fragment,null,e.renderList(a.colorsHistory,i=>(e.openBlock(),e.createBlock("li",{key:i,class:"item",onClick:l=>a.selectColor(i)},[e.createVNode("div",{style:{background:`url(${a.imgAlphaBase64})`},class:"alpha"},null,4),e.createVNode("div",{style:{background:i},class:"color"},null,4)],8,["onClick"]))),128))])):e.createCommentVNode("v-if",!0)])}po.render=zf,po.__file="src/color/Colors.vue";var vt=e.defineComponent({components:{Saturation:ro,Hue:no,Alpha:io,Preview:so,Sucker:lo,Box:co,Colors:po},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 yf(this.rgba,!0)}},created(){Object.assign(this,ot(this.color)),this.setText(),this.$watch("rgba",()=>{this.$emit("changeColor",{rgba:this.rgba,hsv:this.hsv,hex:this.modelHex})})},methods:{selectSaturation(a){const{r:t,g:o,b:r,h:n,s,v:i}=ot(a);Object.assign(this,{r:t,g:o,b:r,h:n,s,v:i}),this.setText()},handleFocus(a){this.$emit("inputFocus",a)},handleBlur(a){this.$emit("inputBlur",a)},selectHue(a){const{r:t,g:o,b:r,h:n,s,v:i}=ot(a);Object.assign(this,{r:t,g:o,b:r,h:n,s,v:i}),this.setText(),this.$nextTick(()=>{this.$refs.saturation.renderColor(),this.$refs.saturation.renderSlide()})},selectAlpha(a){this.a=a,this.setText()},inputHex(a){const{r:t,g:o,b:r,a:n,h:s,s:i,v:l}=ot(a);Object.assign(this,{r:t,g:o,b:r,a:n,h:s,s:i,v:l}),this.modelHex=a,this.modelRgba=this.rgbaStringShort,this.$nextTick(()=>{this.$refs.saturation.renderColor(),this.$refs.saturation.renderSlide(),this.$refs.hue.renderSlide()})},inputRgba(a){const{r:t,g:o,b:r,a:n,h:s,s:i,v:l}=ot(a);Object.assign(this,{r:t,g:o,b:r,a:n,h:s,s:i,v:l}),this.modelHex=this.hexString,this.modelRgba=a,this.$nextTick(()=>{this.$refs.saturation.renderColor(),this.$refs.saturation.renderSlide(),this.$refs.hue.renderSlide()})},setText(){this.modelHex=this.hexString,this.modelRgba=this.rgbaStringShort},openSucker(a){this.$emit("openSucker",a)},selectSucker(a){const{r:t,g:o,b:r,a:n,h:s,s:i,v:l}=ot(a);Object.assign(this,{r:t,g:o,b:r,a:n,h:s,s:i,v:l}),this.setText(),this.$nextTick(()=>{this.$refs.saturation.renderColor(),this.$refs.saturation.renderSlide(),this.$refs.hue.renderSlide()})},selectColor(a){const{r:t,g:o,b:r,a:n,h:s,s:i,v:l}=ot(a);Object.assign(this,{r:t,g:o,b:r,a:n,h:s,s:i,v:l}),this.setText(),this.$nextTick(()=>{this.$refs.saturation.renderColor(),this.$refs.saturation.renderSlide(),this.$refs.hue.renderSlide()})}}});const Hf={class:"color-set"};function Rf(a,t,o,r,n,s){const i=e.resolveComponent("Saturation"),l=e.resolveComponent("Hue"),c=e.resolveComponent("Alpha"),u=e.resolveComponent("Preview"),d=e.resolveComponent("Sucker"),p=e.resolveComponent("Box"),m=e.resolveComponent("Colors");return e.openBlock(),e.createBlock("div",{class:["hu-color-picker",{light:a.isLightTheme}],style:{width:a.totalWidth+"px"}},[e.createVNode("div",Hf,[e.createVNode(i,{ref:"saturation",color:a.rgbString,hsv:a.hsv,size:a.hueHeight,onSelectSaturation:a.selectSaturation},null,8,["color","hsv","size","onSelectSaturation"]),e.createVNode(l,{ref:"hue",hsv:a.hsv,width:a.hueWidth,height:a.hueHeight,onSelectHue:a.selectHue},null,8,["hsv","width","height","onSelectHue"]),e.createVNode(c,{ref:"alpha",color:a.rgbString,rgba:a.rgba,width:a.hueWidth,height:a.hueHeight,onSelectAlpha:a.selectAlpha},null,8,["color","rgba","width","height","onSelectAlpha"])]),e.createVNode("div",{style:{height:a.previewHeight+"px"},class:"color-show"},[e.createVNode(u,{color:a.rgbaString,width:a.previewWidth,height:a.previewHeight},null,8,["color","width","height"]),a.suckerHide?e.createCommentVNode("v-if",!0):(e.openBlock(),e.createBlock(d,{key:0,"sucker-canvas":a.suckerCanvas,"sucker-area":a.suckerArea,onOpenSucker:a.openSucker,onSelectSucker:a.selectSucker},null,8,["sucker-canvas","sucker-area","onOpenSucker","onSelectSucker"]))],4),e.createVNode(p,{name:"HEX",color:a.modelHex,onInputColor:a.inputHex,onInputFocus:a.handleFocus,onInputBlur:a.handleBlur},null,8,["color","onInputColor","onInputFocus","onInputBlur"]),e.createVNode(p,{name:"RGBA",color:a.modelRgba,onInputColor:a.inputRgba,onInputFocus:a.handleFocus,onInputBlur:a.handleBlur},null,8,["color","onInputColor","onInputFocus","onInputBlur"]),e.createVNode(m,{color:a.rgbaString,"colors-default":a.colorsDefault,"colors-history-key":a.colorsHistoryKey,onSelectColor:a.selectColor},null,8,["color","colors-default","colors-history-key","onSelectColor"]),e.createCommentVNode(" custom options "),e.renderSlot(a.$slots,"default")],6)}vt.render=Rf,vt.__file="src/color/ColorPicker.vue",vt.install=a=>{a.component(vt.name,vt)};const D9="",Ff={class:"color-picker-wrapper"},uo=e.defineComponent({__name:"AoColorPicker",props:{color:{}},emits:["update:color"],setup(a,{emit:t}){const o=a,r=e.ref(!1),n=e.ref(null),s=async()=>{r.value=!0,await e.nextTick(),setTimeout(()=>{window.addEventListener("click",i)},0)},i=u=>{const d=u.target;n.value&&!n.value.contains(d)&&(r.value=!1,t("update:color",l.value),window.removeEventListener("click",i))};e.onBeforeUnmount(()=>{window.removeEventListener("click",i)}),e.watch(()=>o.color,u=>{r.value||(l.value=u)});const l=e.ref(o.color),c=u=>{const{r:d,g:p,b:m,a:f}=u.rgba;l.value=`rgba(${d}, ${p}, ${m}, ${f})`};return(u,d)=>(e.openBlock(),e.createElementBlock("div",Ff,[e.renderSlot(u.$slots,"clickable",{openPicker:s,bgColor:u.color}),r.value?(e.openBlock(),e.createElementBlock("div",{key:0,ref_key:"pickerRef",ref:n},[e.createVNode(e.unref(vt),{class:"color-picker",theme:"light",color:u.color,onChangeColor:c},null,8,["color"])],512)):e.createCommentVNode("",!0)]))}}),P9="",Uf={class:"ao-card-project-phase__header"},Zf={class:"ao-card-project-item__title-line"},Wf={key:0,class:"ao-card-project-item-phase__estimation"},qf={class:"ao-card-project-phase__footer"},Yf={key:0,class:"ao-card-project-phase__footer-row ao-card-project-phase__footer-row--progress"},Kf={class:"ao-card-project-phase__subitem"},Gf={class:"ao-card-project-phase__subitem"},Xf={key:0,class:"ao-card-project-phase__secondary"},Qf={class:"ao-card-project-phase__deadline ao-card-project-phase__deadline--readonly"},Jf=e.defineComponent({__name:"AoCardProjectItemPhase",props:{id:{},projectName:{},name:{},milestones:{},isEditable:{type:Boolean},deadline:{},active:{type:Boolean},color:{}},emits:["update:title","update:deadline","archivePhase","unarchivePhase","updatePhase"],setup(a,{emit:t}){const o=a,r=p=>{t("update:title",p)},n=e.computed(()=>{var p;return(p=o.milestones)==null?void 0:p.reduce((m,f)=>{var b;return m+((b=f.activities)==null?void 0:b.reduce((v,g)=>v+(g.estimation||0),0))},0)}),s=e.computed(()=>{var p;return(p=o.milestones)==null?void 0:p.length}),i=e.computed(()=>{var p;return(p=o.milestones)==null?void 0:p.filter(m=>m.status===kt.done).length}),l=e.computed(()=>(i.value||0)/(s.value||1)),c=e.computed({get:()=>o.deadline??"",set:p=>t("update:deadline",p!=null&&p.length?p:null)}),u=e.computed({get:()=>o.color,set:p=>{t("updatePhase",{id:o.id,color:p})}}),d=(p,m)=>{const f=p.target;f.closest("button")||f.closest("input")||f.closest(".ao-title")||m()};return(p,m)=>(e.openBlock(),e.createBlock(uo,{color:u.value,"onUpdate:color":m[2]||(m[2]=f=>u.value=f)},{clickable:e.withCtx(({openPicker:f,bgColor:b})=>[e.createVNode(ba,{class:"ao-card-project-phase","is-clickable":p.isEditable,color:b,withLeftBorder:!0,onClick:v=>d(v,f)},e.createSlots({default:e.withCtx(()=>[e.createElementVNode("div",Zf,[e.createVNode(ne,{id:p.id,class:"ao-card-project-phase__title",title:p.name||"",level:4,"is-editable":p.isEditable,"onUpdate:title":r},null,8,["id","title","is-editable"]),n.value?(e.openBlock(),e.createElementBlock("span",Wf," ("+e.toDisplayString(n.value)+")",1)):e.createCommentVNode("",!0)])]),footer:e.withCtx(()=>[e.createElementVNode("div",qf,[s.value?(e.openBlock(),e.createElementBlock("div",Yf,[e.createElementVNode("div",Kf,[e.createVNode(Q,{name:"MountainFlagOutlineRounded",size:"sm"}),e.createElementVNode("span",Gf,e.toDisplayString(i.value)+" / "+e.toDisplayString(s.value),1)]),e.createVNode(ya,{percentages:l.value,class:"ao-card-project-phase__progress",color:p.color},null,8,["percentages","color"]),p.$slots.secondary?(e.openBlock(),e.createElementBlock("div",Xf,[e.renderSlot(p.$slots,"secondary")])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(["ao-card-project-phase__footer-row",c.value?"":"ao-card-project-phase__no_deadline"])},[p.isEditable?e.withDirectives((e.openBlock(),e.createElementBlock("input",{key:0,"onUpdate:modelValue":m[1]||(m[1]=v=>c.value=v),class:"ao-card-project-phase__deadline ao-card-project-phase__deadline--input",type:"date"},null,512)),[[e.vModelText,c.value,void 0,{lazy:!0}]]):e.createCommentVNode("",!0),e.createElementVNode("span",Qf,e.toDisplayString(e.unref(ra)(p.deadline)),1)],2)])]),_:2},[p.isEditable?{name:"header",fn:e.withCtx(()=>[e.createElementVNode("div",Uf,[e.createVNode(K,{class:"ao-card-project-phase__archive",color:"primary",variant:"ghost","icon-name":"ArchiveOutlineRounded",size:"sm","icon-position":"start",corners:"round",label:p.active?p.$t("archive"):p.$t("unarchive"),onClick:m[0]||(m[0]=e.withModifiers(()=>p.active?p.$emit("archivePhase",{id:p.id}):p.$emit("unarchivePhase",{id:p.id}),["stop"]))},null,8,["label"])])]),key:"0"}:void 0]),1032,["is-clickable","color","onClick"])]),_:3},8,["color"]))}}),z9="",eh=e.defineComponent({__name:"AoBadge",props:{color:{}},setup(a){return(t,o)=>(e.openBlock(),e.createElementBlock("span",{class:"aoBadge",style:e.normalizeStyle({backgroundColor:t.color})},null,4))}}),H9="",th={class:"ao-card-project-milestone__default"},ah={class:"ao-title-with-badge-wrapper"},oh={class:"ao-card-project-item__title-line"},rh={key:0,class:"ao-card-project-item-milestone__estimation"},nh={key:0,class:"ao-card-project-milestone__archive"},ih={class:"ao-card-project-milestone__activities"},sh={class:"ao-card-project-milestone__activities-row"},lh={class:"ao-card-project-milestone__subitem"},ch={class:"ao-card-project-milestone__subitem"},dh={key:1,class:"ao-card-project-milestone__secondary"},ph={class:"ao-card-project-milestone__footer"},uh={key:1,class:"ao-field ao-card-project-milestone__deadline"},mh={class:"ao-field__label"},fh={key:2,class:"ao-card-project-milestone__assignee"},hh=e.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}},emits:["updateMilestone","archiveMilestone","unarchiveMilestone"],setup(a,{emit:t}){const o=a,r=e.computed(()=>{var c;return(c=o.activities)==null?void 0:c.reduce((u,d)=>u+(d.estimation||0),0)}),n=e.computed(()=>{var c;return(c=o.activities)==null?void 0:c.length}),s=e.computed(()=>{var c;return(c=o.activities)==null?void 0:c.filter(u=>La(u,o.closedStatus)).length}),i=e.computed(()=>(s.value||0)/(n.value||1)),l=c=>{t("updateMilestone",{id:o.id,name:c})};return(c,u)=>(e.openBlock(),e.createBlock(ba,{class:e.normalizeClass(["ao-card-project-milestone"]),"is-clickable":!c.readonly,"tag-name":"li","is-selected":c.isSelected,color:c.phaseColor},{default:e.withCtx(()=>[e.createElementVNode("div",th,[e.createElementVNode("div",ah,[e.createVNode(eh,{color:c.color||""},null,8,["color"]),e.createElementVNode("div",oh,[e.createVNode(ne,{id:c.id,title:c.name||"",level:5,"is-editable":!c.readonly&&c.isEditable,class:"ao-card-project-milestone__title","onUpdate:title":l},null,8,["id","title","is-editable"]),r.value?(e.openBlock(),e.createElementBlock("span",rh," ("+e.toDisplayString(r.value)+")",1)):e.createCommentVNode("",!0)])]),!c.readonly&&c.isEditable?(e.openBlock(),e.createElementBlock("div",nh,[e.createVNode(K,{color:"primary",variant:"ghost","icon-name":"ArchiveOutlineRounded",size:"sm","icon-position":"start",corners:"round",label:c.active?c.$t("archive"):c.$t("unarchive"),onClick:u[0]||(u[0]=e.withModifiers(()=>c.active?c.$emit("archiveMilestone",{id:c.id}):c.$emit("unarchiveMilestone",{id:c.id}),["stop"]))},null,8,["label"])])):e.createCommentVNode("",!0)]),e.createElementVNode("div",ih,[e.createElementVNode("div",sh,[n.value?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createElementVNode("div",lh,[e.createVNode(Q,{name:"SelectCheckBox",size:"sm"}),e.createElementVNode("span",ch,e.toDisplayString(s.value)+" / "+e.toDisplayString(n.value),1)]),e.createVNode(ya,{percentages:i.value,color:c.phaseColor,class:"ao-card-project-milestone__progress"},null,8,["percentages","color"])],64)):e.createCommentVNode("",!0),c.$slots.secondary?(e.openBlock(),e.createElementBlock("div",dh,[e.renderSlot(c.$slots,"secondary")])):e.createCommentVNode("",!0)])])]),footer:e.withCtx(()=>[e.createElementVNode("div",ph,[c.important?(e.openBlock(),e.createBlock(Q,{key:0,name:"FlagRounded",class:e.normalizeClass(c.isSelected?"ao-card-project-milestone__important--selected":"ao-card-project-milestone__important"),size:"sm"},null,8,["class"])):e.createCommentVNode("",!0),c.deadline?(e.openBlock(),e.createElementBlock("label",uh,[e.createElementVNode("span",mh,e.toDisplayString(e.unref(ra)(c.deadline)),1)])):e.createCommentVNode("",!0),c.assignee?(e.openBlock(),e.createElementBlock("div",fh,[e.createVNode(ye,{"user-name":e.unref(er)(c.assignee),"avatar-url":c.assignee.avatarUrl,color:c.isSelected?"black":"primary",size:"sm"},null,8,["user-name","avatar-url","color"])])):e.createCommentVNode("",!0)])]),_:3},8,["is-clickable","is-selected","color"]))}}),R9="",gh={class:"ao-mapping-card-project-phase__header"},_h={class:"ao-card-project-item__title-line"},vh={key:0,class:"ao-card-project-item-phase__estimation"},Ch={class:"ao-mapping-card-project-phase__footer"},bh={key:0,class:"ao-mapping-card-project-phase__footer-row ao-mapping-card-project-phase__footer-row--progress"},yh={class:"ao-mapping-card-project-phase__subitem"},wh={class:"ao-mapping-card-project-phase__subitem"},kh={key:0,class:"ao-mapping-card-project-phase__secondary"},$h={class:"ao-mapping-card-project-phase__deadline ao-mapping-card-project-phase__deadline--readonly"},Eh=e.defineComponent({__name:"AoCondensedCardProjectItemPhase",props:{id:{},projectName:{},name:{},milestones:{},isEditable:{type:Boolean},deadline:{},active:{type:Boolean},color:{}},emits:["update:title","update:deadline","archivePhase","updatePhase","unarchivePhase"],setup(a,{emit:t}){const o=a,r=p=>{t("update:title",p)},n=e.computed(()=>{var p;return(p=o.milestones)==null?void 0:p.reduce((m,f)=>{var b;return m+((b=f.activities)==null?void 0:b.reduce((v,g)=>v+(g.estimation||0),0))},0)}),s=e.computed(()=>{var p;return(p=o.milestones)==null?void 0:p.length}),i=e.computed(()=>{var p;return(p=o.milestones)==null?void 0:p.filter(m=>m.status===kt.done).length}),l=e.computed(()=>(i.value||0)/(s.value||1)),c=e.computed({get:()=>o.deadline??"",set:p=>t("update:deadline",p!=null&&p.length?p:null)}),u=e.computed({get:()=>o.color,set:p=>{t("updatePhase",{id:o.id,color:p})}}),d=(p,m)=>{const f=p.target;f.closest("button")||f.closest("input")||f.closest(".ao-title")||m()};return(p,m)=>(e.openBlock(),e.createBlock(uo,{color:u.value,"onUpdate:color":m[2]||(m[2]=f=>u.value=f)},{clickable:e.withCtx(({openPicker:f,bgColor:b})=>[e.createVNode(ba,{class:"ao-mapping-card-project-phase","is-clickable":p.isEditable,color:b,withLeftBorder:!0,onClick:v=>d(v,f)},e.createSlots({default:e.withCtx(()=>[e.createElementVNode("div",_h,[e.createVNode(ne,{id:p.id,class:"ao-mapping-card-project-phase__title",title:p.name||"",level:4,"is-editable":p.isEditable,"onUpdate:title":r},null,8,["id","title","is-editable"]),n.value?(e.openBlock(),e.createElementBlock("span",vh," ("+e.toDisplayString(n.value)+")",1)):e.createCommentVNode("",!0)])]),footer:e.withCtx(()=>[e.createElementVNode("div",Ch,[s.value?(e.openBlock(),e.createElementBlock("div",bh,[e.createElementVNode("div",yh,[e.createVNode(Q,{name:"MountainFlagOutlineRounded",size:"sm"}),e.createElementVNode("span",wh,e.toDisplayString(i.value)+" / "+e.toDisplayString(s.value),1)]),e.createVNode(ya,{percentages:l.value,class:"ao-mapping-card-project-phase__progress",color:u.value},null,8,["percentages","color"]),p.$slots.secondary?(e.openBlock(),e.createElementBlock("div",kh,[e.renderSlot(p.$slots,"secondary")])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(["ao-mapping-card-project-phase__footer-row",c.value?"":"ao-mapping-card-project-phase__no_deadline"])},[p.isEditable?e.withDirectives((e.openBlock(),e.createElementBlock("input",{key:0,"onUpdate:modelValue":m[1]||(m[1]=v=>c.value=v),class:"ao-mapping-card-project-phase__deadline ao-mapping-card-project-phase__deadline--input",type:"date"},null,512)),[[e.vModelText,c.value,void 0,{lazy:!0}]]):e.createCommentVNode("",!0),e.createElementVNode("span",$h,e.toDisplayString(e.unref(ra)(p.deadline)),1)],2)])]),_:2},[p.isEditable?{name:"header",fn:e.withCtx(()=>[e.createElementVNode("div",gh,[e.createVNode(K,{class:"ao-mapping-card-project-phase__archive",color:"primary",variant:"ghost","icon-name":"ArchiveOutlineRounded",size:"sm","icon-position":"start",corners:"round",label:p.active?p.$t("archive"):p.$t("unarchive"),onClick:m[0]||(m[0]=e.withModifiers(()=>p.active?p.$emit("archivePhase",{id:p.id}):p.$emit("unarchivePhase",{id:p.id}),["stop"]))},null,8,["label"])])]),key:"0"}:void 0]),1032,["is-clickable","color","onClick"])]),_:3},8,["color"]))}}),F9="",Bh={class:"ao-project-phase"},Vh={key:0,class:"ao-project-phase__drag ao-card__drag"},Nh={key:1,class:"ao-project-phase__col-phase"},Sh={key:2,class:"ao-mapping-project-phase__col-phase"},xh={key:0,class:"ao-project-phase__col-milestones"},Mh={class:"ao-project-phase__milestones-list-footer"},Ah=e.defineComponent({__name:"AoProjectPhase",props:{phase:{},closedStatus:{},users:{},isEditable:{type:Boolean},readonly:{type:Boolean}},emits:["addMilestone","updateMilestone","archiveMilestone","unarchiveMilestone","updatePhase","archivePhase","unarchivePhase"],setup(a,{emit:t}){const o=a,{t:r}=We();e.watch(()=>o.phase.milestones,(h,_)=>{Ae(h,_)});const n=h=>{t("updatePhase",{id:o.phase.id,name:h})},s=h=>{t("updatePhase",{id:o.phase.id,deadline:h})},i=h=>{t("updatePhase",h)},l=e.computed(()=>o.phase.milestones.map(h=>g2(h,o.closedStatus))),c=h=>{const{name:_,rank:N}=at(l.value??[],"milestone",r);t("addMilestone",{name:_,rank:N,phaseId:h})},u=h=>{t("updateMilestone",h)},d=h=>{t("archiveMilestone",h)},p=h=>{t("unarchiveMilestone",h)},m=h=>{t("archivePhase",h)},f=h=>{t("unarchivePhase",h)},b=h=>{"added"in h?t("updateMilestone",{id:h.added.element.id,phaseId:o.phase.id,rank:dt(l.value,h.added.newIndex)}):"removed"in h||"moved"in h&&t("updateMilestone",{id:h.moved.element.id,rank:dt(l.value,h.moved.newIndex)})},v=Le.useRoute(),g=e.computed(()=>v.path.includes("/mapping")),y=e.computed(()=>{var h;return o.phase.id!==((h=v.params)==null?void 0:h.phaseId)?{backgroundColor:"var(--ao-color-sheet)"}:o.phase.color?{backgroundColor:v2(o.phase.color)}:{backgroundColor:"var(--ao-color-primary-lightest)"}});return(h,_)=>(e.openBlock(),e.createElementBlock("li",Bh,[e.createElementVNode("div",{class:"ao-project-phases__draggable-card",style:e.normalizeStyle(y.value)},[h.isEditable?(e.openBlock(),e.createElementBlock("div",Vh,[e.createVNode(Q,{name:"DragIndicator",class:"ao-project-phase__drag-handle"})])):e.createCommentVNode("",!0),g.value?(e.openBlock(),e.createElementBlock("div",Sh,[e.createVNode(Eh,{id:h.phase.id,milestones:l.value,name:h.phase.name,deadline:h.phase.deadline,active:h.phase.active,"is-editable":h.isEditable,color:h.phase.color,"onUpdate:deadline":s,"onUpdate:title":n,onArchivePhase:m,onUnarchivePhase:f,onUpdatePhase:i},null,8,["id","milestones","name","deadline","active","is-editable","color"])])):(e.openBlock(),e.createElementBlock("div",Nh,[e.createVNode(Jf,{id:h.phase.id,milestones:l.value,name:h.phase.name,deadline:h.phase.deadline,active:h.phase.active,"is-editable":h.isEditable,color:h.phase.color,"onUpdate:deadline":s,"onUpdate:title":n,onArchivePhase:m,onUnarchivePhase:f,onUpdatePhase:i},null,8,["id","milestones","name","deadline","active","is-editable","color"])]))],4),g.value?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",xh,[e.createElementVNode("div",{class:"ao-project-phase__milestones",style:e.normalizeStyle(y.value)},[e.createVNode(e.unref(je),e.mergeProps({class:"ao-project-phase__milestones-list",list:l.value,disabled:h.readonly||!h.isEditable,"item-key":"id",group:"kanban"},h.$attrs,{onChange:b}),{item:e.withCtx(({element:N})=>{var B;return[e.createVNode(hh,{id:N.id,name:N.name,color:N.color,"phase-color":h.phase.color,activities:N.activities,deadline:N.deadline,active:N.active,"is-editable":!h.readonly&&h.isEditable,"is-draggable":!h.readonly&&h.isEditable,"closed-status":h.closedStatus,"is-selected":N.id===((B=h.$route.params)==null?void 0:B.milestoneId),assignee:N.assignee,important:N.important,readonly:h.readonly,class:e.normalizeClass(["ao-project-phase__milestone"]),onClick:V=>!h.readonly&&h.$router.push({name:e.unref(re).milestone,params:{phaseId:h.phase.id,milestoneId:N.id}}),onUpdateMilestone:u,onArchiveMilestone:d,onUnarchiveMilestone:p},null,8,["id","name","color","phase-color","activities","deadline","active","is-editable","is-draggable","closed-status","is-selected","assignee","important","readonly","onClick"])]}),_:1},16,["list","disabled"]),e.createElementVNode("div",Mh,[h.isEditable?(e.openBlock(),e.createBlock(Pe,{key:0,label:h.$t("project.milestone.add"),class:"ao-project-phase__milestone-add","icon-name":"Add",onClick:_[0]||(_[0]=()=>c(h.phase.id))},null,8,["label"])):e.createCommentVNode("",!0)])],4)]))]))}}),U9="",Th={class:"ao-project__phases"},Oh={key:0,class:"ao-project-phase__phases-list-footer"},Ih=e.createElementVNode("div",{class:"ao-project-phase__empty_drag"},null,-1),Lh={class:"ao-project-phase__col-phase"},jh=e.createElementVNode("div",{class:"ao-project-phase__col-milestones"},null,-1),mo=e.defineComponent({__name:"AoProjectPhases",props:{phases:{},closedStatus:{},isEditable:{type:Boolean},users:{},readonly:{type:Boolean}},emits:["addMilestone","updateMilestone","archiveMilestone","unarchiveMilestone","addPhase","updatePhase","archivePhase","unarchivePhase"],setup(a,{emit:t}){const o=a;e.watch(()=>o.phases,(m,f)=>{Ae(m,f)});const r=m=>{t("addMilestone",m)},n=m=>{t("updateMilestone",m)},s=m=>{t("archiveMilestone",m)},i=m=>{t("unarchiveMilestone",m)},l=m=>{t("archivePhase",m)},c=m=>{t("unarchivePhase",m)},u=m=>{if(m.moved){const f=Ot(m,o.phases??[]);t("updatePhase",{id:m.moved.element.id,rank:f})}},d=m=>{t("updatePhase",m)},p=m=>{t("addPhase",m)};return(m,f)=>(e.openBlock(),e.createElementBlock("div",Th,[e.createVNode(e.unref(je),{class:"ao-project-phase__phases-list","model-value":m.phases,"item-key":"id",handle:".ao-card__drag",onChange:u},{item:e.withCtx(({element:b})=>[e.createVNode(Ah,{phase:b,"is-editable":!m.readonly&&m.isEditable,"closed-status":m.closedStatus,users:m.users,readonly:m.readonly,onAddMilestone:r,onUpdateMilestone:n,onArchiveMilestone:s,onUnarchiveMilestone:i,onUpdatePhase:d,onArchivePhase:l,onUnarchivePhase:c},null,8,["phase","is-editable","closed-status","users","readonly"])]),_:1},8,["model-value"]),m.isEditable?(e.openBlock(),e.createElementBlock("div",Oh,[Ih,e.createElementVNode("div",Lh,[e.createVNode(Pe,{label:m.$t("project.phases.add"),"icon-name":"Add",class:"ao-project-phase__add-phase",onClick:p},null,8,["label"])]),jh])):e.createCommentVNode("",!0)]))}}),Z9="",Dh=["onSubmit"],Ph={class:"ao-add-template-modal__form-body"},zh={class:"field__row"},Hh={class:"ao-add-template-modal__form-footer"},Ar=e.defineComponent({__name:"AoAddTemplateModal",props:{projectId:{},templates:{}},emits:["apply"],setup(a,{emit:t}){const o=a,r=e.computed(()=>o.templates.map(l=>({value:l.id,label:l.name}))),n=e.ref(null),s=l=>{n.value=l},i=()=>{n.value&&t("apply",n.value,o.projectId)};return(l,c)=>(e.openBlock(),e.createBlock(na,{size:"sm"},{header:e.withCtx(()=>[e.createVNode(ne,{title:l.$t("project.template.apply.title"),level:3},null,8,["title"])]),default:e.withCtx(()=>[e.createElementVNode("form",{class:"ao-add-template-modal__form",onSubmit:e.withModifiers(i,["prevent"])},[e.createElementVNode("p",null,e.toDisplayString(l.$t("project.template.apply.notice")),1),e.createElementVNode("div",Ph,[e.createElementVNode("div",zh,[e.createVNode(le,{value:n.value,options:r.value,detached:!0,onChange:s},null,8,["value","options"])])]),e.createElementVNode("footer",Hh,[e.createVNode(K,{label:l.$t("project.template.apply.label"),type:"submit",color:"primary",variant:"solid",onClick:i},null,8,["label"])])],40,Dh)]),_:1}))}}),W9="",Rh=["onSubmit"],Fh={class:"ao-save-template-modal__form-body"},Uh={class:"field__row"},Zh={class:"ao-field ao-field--inline"},Wh={class:"ao-field__label"},qh={class:"ao-save-template-modal__phases"},Yh={class:"ao-field__label"},Kh={class:"ao-save-template-modal__phases-list"},Gh=["value"],Xh={class:"ao-save-template-modal__form-footer"},Tr=e.defineComponent({__name:"AoSaveTemplateModal",props:{phases:{}},emits:["save"],setup(a,{emit:t}){const o=a,r=e.ref(""),n=e.ref([]);e.onMounted(()=>{n.value=o.phases.map(i=>i.id)});const s=()=>{r.value&&t("save",r.value,n.value)};return(i,l)=>(e.openBlock(),e.createBlock(na,{size:"sm"},{header:e.withCtx(()=>[e.createVNode(ne,{title:i.$t("project.template.save.title"),level:3},null,8,["title"])]),default:e.withCtx(()=>[e.createElementVNode("form",{class:"ao-save-template-modal__form",onSubmit:e.withModifiers(s,["prevent"])},[e.createElementVNode("div",Fh,[e.createElementVNode("div",Uh,[e.createElementVNode("label",Zh,[e.createElementVNode("span",Wh,e.toDisplayString(i.$t("project.template.name.label"))+": ",1),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":l[0]||(l[0]=c=>r.value=c),type:"text"},null,512),[[e.vModelText,r.value]])])]),e.createElementVNode("div",qh,[e.createElementVNode("div",Yh,e.toDisplayString(i.$t("project.template.phases.label")),1),e.createElementVNode("div",Kh,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.phases,c=>(e.openBlock(),e.createElementBlock("label",{class:"ao-field ao-field--checkbox",key:c.id},[e.withDirectives(e.createElementVNode("input",{type:"checkbox",value:c.id,"onUpdate:modelValue":l[1]||(l[1]=u=>n.value=u)},null,8,Gh),[[e.vModelCheckbox,n.value]]),e.createElementVNode("span",null,e.toDisplayString(c.name),1)]))),128))])])]),e.createElementVNode("footer",Xh,[e.createVNode(K,{label:i.$t("project.template.save.label"),type:"submit",color:"primary",variant:"solid",onClick:s},null,8,["label"])])],40,Rh)]),_:1}))}}),q9="",Qh=e.defineComponent({props:{modelValue:{type:[String,Number],required:!0},tabs:{type:Array,required:!0}},emits:["update:modelValue"],methods:{selectTab(a){this.$emit("update:modelValue",a)}}}),Y9="",Jh={class:"tabbar-wrapper"},e5=["onClick"];function t5(a,t,o,r,n,s){return e.openBlock(),e.createElementBlock("div",Jh,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.tabs,i=>(e.openBlock(),e.createElementBlock("button",{key:i.value,class:e.normalizeClass(["tab-button",{"tab-button--active":i.value===a.modelValue}]),type:"button",onClick:l=>a.selectTab(i.value)},e.toDisplayString(i.label),11,e5))),128))])}const fo=O(Qh,[["render",t5],["__scopeId","data-v-ff4e3297"]]),a5={class:"ao-project"},o5={class:"ao-project__body"},r5=e.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}},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(a,{emit:t}){const o=a,{t:r}=We(),n=e.computed(()=>o.phases.flatMap($=>$.milestones)),s=()=>{const{name:$,rank:w}=at(o.phases,"phase",r);t("addPhase",{name:$,rank:w,projectId:o.project.id})},i=$=>{t("updatePhase",$)},l=$=>{t("archivePhase",$)},c=$=>{t("unarchivePhase",$)},u=$=>{t("copyPhaseToTemplate",$)},d=$=>{t("addMilestone",$)},p=$=>{t("updateMilestone",$)},m=$=>{t("archiveMilestone",$)},f=$=>{t("unarchiveMilestone",$)},b=$=>{t("addActivity",$)},v=$=>{t("update:activity",$)},g=$=>{t("archiveActivity",$)},y=$=>{t("unarchiveActivity",$)},h=$=>{t("addSubtask",$)},_=$=>{t("updateSubtask",$)},N=$=>{t("deleteSubtask",$)},B=e.computed(()=>n.value.flatMap($=>$.activities)),V=$=>{t("addFiles",$)},I=$=>{t("removeFile",$)},j=$=>{t("addComment",$)},P=$=>{t("updateComment",$)},H=$=>{t("removeComment",$)},F=e.ref(!1),A=e.ref(!1),z=($,w)=>{t("applyTemplate",{templateId:$,projectId:w}),F.value=!1},Y=($,w)=>{var x;const T=(x=o.templates)==null?void 0:x.at(-1),C=T?ie.LexoRank.parse(T.rank).genNext():ie.LexoRank.middle();t("saveTemplate",{templateName:$,rank:C.format(),phaseIds:w}),A.value=!1},U=Le.useRouter(),R=e.ref("overview"),E=[{label:"Overview",value:"overview"},{label:"Feed",value:"feed"},{label:"Mapping",value:"mapping"}];return e.watch(R,$=>{$==="feed"?(U.push({name:re.feed}),console.log("Navigating to feed...")):$==="overview"?(U.push({name:re.project}),console.log("Navigating to feed...")):$==="mapping"&&(U.push({name:re.mapping}),console.log("Navigating to feed..."))}),($,w)=>{const T=e.resolveComponent("RouterView");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",e.mergeProps({class:"ao-project-overview"},$.$attrs),[e.createElementVNode("div",a5,[e.createVNode(It,null,{primary:e.withCtx(()=>[e.createVNode(fo,{tabs:E,modelValue:R.value,"onUpdate:modelValue":w[0]||(w[0]=C=>R.value=C)},null,8,["modelValue"]),e.createVNode(K,{class:"ao-feed__show-archived",size:"sm","icon-name":$.showsArchived?"CheckBoxOutlineRounded":"CheckBoxOutlineBlank","icon-position":"start",color:"primary",variant:"ghost",label:$.$t("feed.filters.showsArchived.label"),role:"checkbox","aria-checked":$.showsArchived,onClick:w[1]||(w[1]=C=>$.$emit("update:showsArchived",!$.showsArchived))},null,8,["icon-name","label","aria-checked"])]),secondary:e.withCtx(()=>[$.isEditable===!0?(e.openBlock(),e.createBlock(K,{key:0,class:"ao-project-overview__save-as-template",color:"primary",label:$.$t("project.template.save.label"),onClick:w[2]||(w[2]=C=>A.value=!0)},null,8,["label"])):e.createCommentVNode("",!0),$.isEditable===!0?(e.openBlock(),e.createBlock(K,{key:1,class:"ao-project-overview__add-template",color:"primary",label:$.$t("project.template.apply.label"),onClick:w[3]||(w[3]=C=>F.value=!0)},null,8,["label"])):e.createCommentVNode("",!0)]),_:1}),e.createElementVNode("div",o5,[e.createVNode(mo,{phases:$.phases,"closed-status":$.closedStatus,"is-editable":$.isEditable===!0,users:$.users,onAddMilestone:d,onUpdateMilestone:p,onArchiveMilestone:m,onUnarchiveMilestone:f,onAddPhase:s,onUpdatePhase:i,onArchivePhase:l,onUnarchivePhase:c,onCopyPhaseToTemplate:u},null,8,["phases","closed-status","is-editable","users"])])]),e.createVNode(T,{class:"ao-project__sidebar",phases:$.phases,"project-id":$.project.id,"project-name":$.project.name,users:$.users,"is-editable":$.isEditable===!0,"closed-status":$.closedStatus,onClose:w[4]||(w[4]=C=>$.$router.push({name:e.unref(re).project})),onUpdateMilestone:p,onAddActivity:b,onUpdateActivity:v,onArchiveActivity:g,onUnarchiveActivity:y},null,8,["phases","project-id","project-name","users","is-editable","closed-status"]),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.createVNode(T,{name:"modal",activities:B.value,"is-task-checkable":$.isTaskCheckable,statuses:$.statuses,"activity-types":$.activityTypes,phases:$.phases,project:$.project,users:$.users,"user-id":$.userId,"is-editable":$.isEditable,"attachment-enabled":$.attachmentEnabled,"onUpdate:activity":v,onAddSubtask:h,onUpdateSubtask:_,onDeleteSubtask:N,onAddFiles:V,onRemoveFile:I,onAddComment:j,onUpdateComment:P,onRemoveComment:H},{default:e.withCtx(({Component:C})=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(C),null,{default:e.withCtx(x=>[e.renderSlot($.$slots,"activityDetailsBody",e.normalizeProps(e.guardReactiveProps(x)))]),_:2},1024))]),_:3},8,["activities","is-task-checkable","statuses","activity-types","phases","project","users","user-id","is-editable","attachment-enabled"])]))],16),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[A.value?(e.openBlock(),e.createBlock(Tr,{key:0,phases:$.phases,onClose:w[5]||(w[5]=C=>A.value=!1),onSave:Y},null,8,["phases"])):e.createCommentVNode("",!0),F.value?(e.openBlock(),e.createBlock(Ar,{key:1,"project-id":$.project.id,templates:$.templates,onClose:w[6]||(w[6]=C=>F.value=!1),onApply:z},null,8,["project-id","templates"])):e.createCommentVNode("",!0)]))],64)}}}),K9="",n5={class:"ao-card-feed__header"},i5={key:1,class:"ao-card-feed__header-secondary ao-card-feed__header-icons"},s5={key:2,class:"ao-card-feed__header-secondary ao-card-feed__secondary"},l5={class:"ao-card-feed__body"},c5={key:0,class:"ao-card-feed__breadcrumbs"},d5={class:e.normalizeClass(["ao-card-feed__title-group"])},p5={class:"ao-card-feed__title-line"},u5={key:0,class:"ao-card-feed__slug"},m5={key:1,class:"ao-card-feed__deadline"},f5={class:"ao-card-feed__footer"},h5={class:"ao-card-feed__footer-row"},g5={class:"ao-assignees"},_5={key:0,class:"ao-assignee"},v5={key:0,class:"ao-card-feed__subitems"},C5={key:0,class:"ao-card-feed__subitem"},b5={class:"ao-card-feed__subitem"},y5={key:1,class:"ao-card-feed__subitem"},w5={class:"ao-card-feed__subitem"},k5={class:"ao-card-feed__footer-row"},$5={key:0,class:"ao-card-feed__progress-wrapper"},E5={class:"ao-card-feed__subitem"},B5={class:"ao-card-feed__subitem"},ho=e.defineComponent({__name:"AoCardFeed",props:{id:{},name:{},projectName:{},projectColor:{},phaseName:{},milestoneName:{},milestoneColor:{},deadline:{},important:{type:Boolean},assignee:{},slug:{},comments:{},attachments:{},tasks:{},isEditable:{type:Boolean},isPrivate:{type:Boolean},isClosed:{type:Boolean},tagType:{}},emits:["removeAssignee","updateActivity"],setup(a,{emit:t}){const o=a,r=e.computed(()=>o.tagType==="milestone"?o.milestoneName:o.projectName),n=e.computed(()=>o.tagType==="milestone"?o.milestoneColor:o.projectColor),s=f=>{t("updateActivity",{id:o.id,name:f})},i=e.computed(()=>o.tagType==="milestone"&&o.phaseName?`${o.phaseName}`:o.phaseName&&o.milestoneName?`${o.phaseName} / ${o.milestoneName}`:""),l=e.computed(()=>o.assignee?[o.assignee]:[]),c=e.computed(()=>ra(o.deadline)),u=f=>{t("removeAssignee",f)},d=e.computed(()=>{var f;return(f=o.tasks)==null?void 0:f.length}),p=e.computed(()=>{var f;return(f=o.tasks)==null?void 0:f.filter(b=>b.isDone).length}),m=e.computed(()=>(p.value||0)/(d.value||1));return(f,b)=>(e.openBlock(),e.createBlock(ba,{class:e.normalizeClass(["ao-card-feed",{"ao-card-feed--closed":f.isClosed}]),"is-clickable":!0},{header:e.withCtx(()=>[e.createElementVNode("div",n5,[r.value?(e.openBlock(),e.createBlock(wt,{key:0,label:r.value,class:"ao-card-feed__project",variant:"solid",color:f.projectColor?void 0:"primary","raw-color":n.value},null,8,["label","color","raw-color"])):e.createCommentVNode("",!0),f.isPrivate||f.important||f.isClosed?(e.openBlock(),e.createElementBlock("div",i5,[f.isPrivate?(e.openBlock(),e.createBlock(Q,{key:0,name:"Lock",class:"ao-card-feed__warning",size:"sm"})):e.createCommentVNode("",!0),f.important?(e.openBlock(),e.createBlock(Q,{key:1,name:"FlagRounded",class:"ao-card-feed__important",size:"sm"})):e.createCommentVNode("",!0),f.isClosed?(e.openBlock(),e.createBlock(Q,{key:2,name:"CheckSmallRounded",class:"ao-card-feed__closed"})):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),f.$slots.secondary?(e.openBlock(),e.createElementBlock("div",s5,[e.renderSlot(f.$slots,"secondary")])):e.createCommentVNode("",!0)])]),default:e.withCtx(()=>[e.createElementVNode("div",l5,[i.value?(e.openBlock(),e.createElementBlock("span",c5,e.toDisplayString(i.value),1)):e.createCommentVNode("",!0),e.createElementVNode("div",d5,[e.createElementVNode("div",p5,[f.slug?(e.openBlock(),e.createElementBlock("span",u5,e.toDisplayString(f.slug)+": ",1)):e.createCommentVNode("",!0),e.createVNode(ne,{id:f.id,title:f.name,level:5,"is-editable":f.isEditable,"onUpdate:title":s,class:"ao-card-feed__title-inline"},null,8,["id","title","is-editable"])])]),f.deadline?(e.openBlock(),e.createElementBlock("span",m5,e.toDisplayString(c.value),1)):e.createCommentVNode("",!0)])]),footer:e.withCtx(()=>[e.createElementVNode("div",f5,[e.createElementVNode("div",h5,[e.createElementVNode("ul",g5,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.value,v=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:v.id},[v?(e.openBlock(),e.createElementBlock("li",_5,[e.createVNode(ye,{"user-name":e.unref(er)(v),"avatar-url":v.avatarUrl,"is-closable":!0,onClose:()=>u(v.id)},null,8,["user-name","avatar-url","onClose"])])):e.createCommentVNode("",!0)],64))),128))]),f.comments||f.attachments?(e.openBlock(),e.createElementBlock("ul",v5,[f.comments?(e.openBlock(),e.createElementBlock("li",C5,[e.createVNode(Q,{name:"ChatOutline",size:"sm"}),e.createElementVNode("span",b5,e.toDisplayString(f.comments),1)])):e.createCommentVNode("",!0),f.attachments?(e.openBlock(),e.createElementBlock("li",y5,[e.createVNode(Q,{name:"AttachFileRounded",size:"sm"}),e.createElementVNode("span",w5,e.toDisplayString(f.attachments),1)])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)]),e.createElementVNode("div",k5,[f.tasks&&f.tasks.length?(e.openBlock(),e.createElementBlock("div",$5,[e.createElementVNode("div",E5,[e.createVNode(Q,{name:"SelectCheckBox",size:"sm"}),e.createElementVNode("span",B5,e.toDisplayString(p.value)+" / "+e.toDisplayString(d.value),1)]),e.createVNode(ya,{percentages:m.value,class:"ao-card-feed__progress"},null,8,["percentages"])])):e.createCommentVNode("",!0)])])]),_:3},8,["class"]))}}),G9="",V5={class:"ao-project-milestone"},N5={class:"ao-project-milestone__header"},S5={class:"ao-project-milestone__header_line"},x5={class:"ao-project-milestone__header_line"},M5={class:"ao-project-milestone__title"},A5={key:0,class:"ao-fieldset ao-milestone__fieldset"},T5={class:"ao-field__row ao-milestone__field-row"},O5={class:"ao-field ao-field--inline"},I5={class:"ao-field__row ao-milestone__field-row"},L5={class:"ao-field ao-milestone__field-multiselect"},j5=["onClick"],D5={class:"ao-project-milestone__body"},P5={key:0,class:"ao-project-milestone__footer"},Or=e.defineComponent({__name:"AoProjectOverviewMilestoneDetails",props:{milestoneId:{},users:{},projectId:{},phases:{},phaseId:{},isEditable:{type:Boolean},closedStatus:{}},emits:["close","addActivity","updateMilestone","updateActivity","archiveActivity","unarchiveActivity"],setup(a,{emit:t}){const o=a,{t:r}=We(),n=e.computed(()=>{var h;return(h=o.phases)==null?void 0:h.find(_=>_.id===o.phaseId)}),s=e.computed(()=>{var h;return(h=o.phases)==null?void 0:h.flatMap(_=>_.milestones)}),i=e.computed(()=>{var h;return(h=s.value)==null?void 0:h.find(_=>_.id===o.milestoneId)}),l=e.computed(()=>{var h;return(h=i.value)==null?void 0:h.activities});e.watch(l,(h,_)=>{Ae(h,_)});const c=h=>{t("close",h)},u=()=>{const{name:h,rank:_}=at(l.value??[],"activity",r);t("addActivity",{milestoneId:o.milestoneId,name:h,rank:_,projectId:o.projectId})},d=h=>{t("updateActivity",h)},p=h=>{l.value&&"moved"in h&&t("updateActivity",{id:h.moved.element.id,rank:dt(l.value,h.moved.newIndex)})},m=e.computed({get:()=>{var h;return(h=i.value)==null?void 0:h.color},set:h=>{i.value&&t("updateMilestone",{id:i.value.id,color:h})}}),f=e.computed({get:()=>{var h;return((h=i==null?void 0:i.value)==null?void 0:h.deadline)??""},set:h=>{i.value&&t("updateMilestone",{id:i.value.id,deadline:h!=null&&h.length?h:null})}}),b=h=>o.closedStatus?La(h,o.closedStatus):!1,v=e.computed(()=>{var h;return((h=o.users)==null?void 0:h.map(_=>({label:`${_.firstName} ${_.lastName}`,value:_.id,avatar:_.avatarUrl})))||[]}),g=e.computed({get(){var h,_;return(_=(h=i.value)==null?void 0:h.assignee)!=null&&_.id?[i.value.assignee.id]:[]},set(h){t("updateMilestone",{id:o.milestoneId,assigneeId:h[0]??null})}}),y=e.computed({get(){var h;return((h=i.value)==null?void 0:h.important)??!1},set(h){t("updateMilestone",{id:o.milestoneId,important:h})}});return(h,_)=>{var N;return e.openBlock(),e.createElementBlock("div",V5,[e.createElementVNode("header",N5,[e.createElementVNode("div",S5,[e.createVNode(K,{"icon-name":"CloseRounded",variant:"ghost",size:"sm",class:"ao-milestone__close",onClick:c})]),e.createElementVNode("div",x5,[e.createElementVNode("div",M5,[e.createVNode(ne,{title:((N=i.value)==null?void 0:N.name)||h.milestoneId,level:5},null,8,["title"]),e.createVNode(eo,{modelValue:y.value,"onUpdate:modelValue":_[0]||(_[0]=B=>y.value=B),modelModifiers:{lazy:!0},disabled:!h.isEditable,class:"ao-milestone__important",color:"danger",label:h.$t("activity.important.label"),"icon-name":"FlagRounded",variant:"ghost",size:"sm"},null,8,["modelValue","disabled","label"])])]),i.value?(e.openBlock(),e.createElementBlock("div",A5,[e.createElementVNode("div",T5,[e.createElementVNode("label",O5,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":_[1]||(_[1]=B=>f.value=B),class:"ao-milestone__field ao-milestone__date-field",type:"date"},null,512),[[e.vModelText,f.value,void 0,{lazy:!0}]])])]),e.createElementVNode("div",I5,[e.createElementVNode("label",L5,[e.createVNode(le,{modelValue:g.value,"onUpdate:modelValue":_[2]||(_[2]=B=>g.value=B),options:v.value,"close-on-select":!0,searchable:!0,max:1,class:"ao-milestone__field ao-milestone__multiselect",placeholder:h.$t("activity.filters.assignee.placeholder"),mode:"tags",disabled:!h.isEditable,caret:h.isEditable},{tag:e.withCtx(({option:B,handleTagRemove:V})=>[e.createVNode(ye,{"user-name":B.label,"avatar-url":B.avatar,"is-closable":!0,onClose:I=>V(B,I)},null,8,["user-name","avatar-url","onClose"])]),_:1},8,["modelValue","options","placeholder","disabled","caret"])])]),e.createVNode(uo,{color:m.value,"onUpdate:color":_[3]||(_[3]=B=>m.value=B)},{clickable:e.withCtx(({openPicker:B,bgColor:V})=>[e.createElementVNode("button",{style:e.normalizeStyle({background:V}),class:"color-button",onClick:B},null,12,j5)]),_:1},8,["color"])])):e.createCommentVNode("",!0)]),e.createElementVNode("div",D5,[e.createVNode(e.unref(je),e.mergeProps({class:"ao-project-milestone__activities",list:l.value,disabled:!h.isEditable,"item-key":"id",group:"kanban"},h.$attrs,{onChange:p}),{item:e.withCtx(({element:B})=>{var V,I,j,P,H;return[e.createVNode(ho,{id:B.id,name:B.name||B.id,"phase-name":(V=n.value)==null?void 0:V.name,"milestone-name":(I=i.value)==null?void 0:I.name,"milestone-color":(j=i.value)==null?void 0:j.color,deadline:B.deadline,important:B.important,users:h.users,assignee:B.assignee,slug:B.slug,comments:(P=B.comments)==null?void 0:P.length,attachments:(H=B.attachments)==null?void 0:H.length,tasks:B.tasks,"is-editable":h.isEditable,"is-private":B.private,"is-closed":b(B),onClick:F=>h.$router.push({name:e.unref(re).activity,params:{milestoneId:h.milestoneId,activityId:B.id}}),onUpdateActivity:d,onRemoveAssignee:()=>d({id:B.id,assigneeId:null})},e.createSlots({_:2},[h.isEditable?{name:"secondary",fn:e.withCtx(()=>[h.isEditable&&B.active?(e.openBlock(),e.createBlock(K,{key:0,color:"primary",variant:"ghost","icon-name":"ArchiveOutlineRounded",size:"sm","icon-position":"start",corners:"round",label:h.$t("archive"),onClick:e.withModifiers(()=>h.$emit("archiveActivity",{id:B.id}),["stop"])},null,8,["label","onClick"])):e.createCommentVNode("",!0),h.isEditable&&!B.active?(e.openBlock(),e.createBlock(K,{key:1,color:"primary",variant:"ghost","icon-name":"ArchiveOutlineRounded",size:"sm","icon-position":"start",corners:"round",label:h.$t("feed.activity.unarchive"),onClick:e.withModifiers(()=>h.$emit("unarchiveActivity",{id:B.id}),["stop"])},null,8,["label","onClick"])):e.createCommentVNode("",!0)]),key:"0"}:void 0]),1032,["id","name","phase-name","milestone-name","milestone-color","deadline","important","users","assignee","slug","comments","attachments","tasks","is-editable","is-private","is-closed","onClick","onRemoveAssignee"])]}),_:1},16,["list","disabled"]),h.isEditable?(e.openBlock(),e.createElementBlock("div",P5,[e.createVNode(Pe,{"icon-name":"Add",label:h.$t("project.activity.add"),onClick:u},null,8,["label"])])):e.createCommentVNode("",!0)])])}}}),X9="",z5=e.defineComponent({__name:"AoProjectOverviewActivityDetails",props:{phaseId:{},milestoneId:{},activityId:{},activityTypes:{},activities:{},isTaskCheckable:{type:Function},statuses:{},phases:{},users:{},project:{},userId:{},isEditable:{type:Boolean},attachmentEnabled:{type:Boolean}},emits:["update:activity","addSubtask","updateSubtask","deleteSubtask","addFiles","removeFile","addComment","updateComment","removeComment"],setup(a,{emit:t}){const o=a,r=e.computed(()=>{var g;return(g=o.phases)==null?void 0:g.find(y=>y.id===o.phaseId)}),n=e.computed(()=>{var g;return(g=o.phases)==null?void 0:g.flatMap(y=>y.milestones)}),s=e.computed(()=>{var g;return(g=n.value)==null?void 0:g.find(y=>y.id===o.milestoneId)}),i=e.computed(()=>{var g;return(g=o.activities)==null?void 0:g.find(y=>y.id===o.activityId)}),l=g=>{t("update:activity",g)},c=g=>{t("addSubtask",g)},u=g=>{t("updateSubtask",g)},d=g=>{t("deleteSubtask",g)},p=g=>{t("addFiles",g)},m=g=>{t("removeFile",g)},f=g=>{t("addComment",g)},b=g=>{t("updateComment",g)},v=g=>{t("removeComment",g)};return(g,y)=>{var h,_;return i.value?(e.openBlock(),e.createBlock(to,{key:0,activity:i.value,"activity-types":g.activityTypes,"milestone-id":g.milestoneId,"template-activities":g.activities,"is-template":!1,users:g.users,"user-id":g.userId,"is-task-checkable":g.isTaskCheckable,statuses:g.statuses,breadcrumbs:`${(h=r.value)==null?void 0:h.name} / ${(_=s.value)==null?void 0:_.name}`,"is-editable":g.isEditable,"attachment-enabled":g.attachmentEnabled,projects:[g.project],onClose:g.$router.back,"onUpdate:activity":l,onAddSubtask:c,onUpdateSubtask:u,onDeleteSubtask:d,onAddFiles:p,onRemoveFile:m,onAddComment:f,onUpdateComment:b,onRemoveComment:v},{default:e.withCtx(N=>[e.renderSlot(g.$slots,"default",e.normalizeProps(e.guardReactiveProps(N)))]),_:3},8,["activity","activity-types","milestone-id","template-activities","users","user-id","is-task-checkable","statuses","breadcrumbs","is-editable","attachment-enabled","projects","onClose"])):e.createCommentVNode("",!0)}}}),H5={class:"ao-col-header"},R5=e.defineComponent({__name:"AoColHeader",props:{title:{},items:{}},setup(a){return(t,o)=>(e.openBlock(),e.createElementBlock("header",H5,[e.createVNode(ne,{title:t.title,class:"ao-col-header__title",level:4},null,8,["title"]),t.items?(e.openBlock(),e.createBlock(wt,{key:0,label:t.items,class:"ao-col-header__items",variant:"solid",color:"primary"},null,8,["label"])):e.createCommentVNode("",!0)]))}}),Q9="";function F5(a){return e.getCurrentScope()?(e.onScopeDispose(a),!0):!1}function wa(a){return typeof a=="function"?a():e.unref(a)}const U5=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const Z5=a=>a!=null,Rt=()=>{};function W5(a,t){function o(...r){return new Promise((n,s)=>{Promise.resolve(a(()=>t.apply(this,r),{fn:t,thisArg:this,args:r})).then(n).catch(s)})}return o}function q5(a,t={}){let o,r,n=Rt;const s=l=>{clearTimeout(l),n(),n=Rt};return l=>{const c=wa(a),u=wa(t.maxWait);return o&&s(o),c<=0||u!==void 0&&u<=0?(r&&(s(r),r=null),Promise.resolve(l())):new Promise((d,p)=>{n=t.rejectOnCancel?p:d,u&&!r&&(r=setTimeout(()=>{o&&s(o),r=null,d(l())},u)),o=setTimeout(()=>{r&&s(r),r=null,d(l())},c)})}}function Y5(a,t=200,o={}){return W5(q5(t,o),a)}function go(a){var t;const o=wa(a);return(t=o==null?void 0:o.$el)!=null?t:o}const K5=U5?window:void 0;function G5(){const a=e.ref(!1),t=e.getCurrentInstance();return t&&e.onMounted(()=>{a.value=!0},t),a}function X5(a){const t=G5();return e.computed(()=>(t.value,!!a()))}function Q5(a,t,o={}){const{root:r,rootMargin:n="0px",threshold:s=.1,window:i=K5,immediate:l=!0}=o,c=X5(()=>i&&"IntersectionObserver"in i),u=e.computed(()=>{const b=wa(a);return(Array.isArray(b)?b:[b]).map(go).filter(Z5)});let d=Rt;const p=e.ref(l),m=c.value?e.watch(()=>[u.value,go(r),p.value],([b,v])=>{if(d(),!p.value||!b.length)return;const g=new IntersectionObserver(t,{root:go(v),rootMargin:n,threshold:s});b.forEach(y=>y&&g.observe(y)),d=()=>{g.disconnect(),d=Rt}},{immediate:l,flush:"post"}):Rt,f=()=>{d(),m(),p.value=!1};return F5(f),{isSupported:c,isActive:p,pause(){d(),p.value=!1},resume(){p.value=!0},stop:f}}const J5={class:e.normalizeClass(["ao-list-kanban"])},e7={class:"ao-list-kanban__header"},t7={key:0,class:"ao-list-kanban__end ao-list-kanban__end--loading"},a7={key:1,class:"ao-list-kanban__end"},o7={key:0,class:"ao-list-kanban__no-more"},r7={key:1,class:"ao-list-kanban__divider"},n7={key:1,class:"ao-list-kanban__footer"},i7=e.defineComponent({__name:"AoListKanban",props:{list:{},status:{},users:{},userId:{},title:{},footerLabel:{},isLoading:{type:Boolean},hasMore:{type:Boolean},noMoreLabel:{},isEditable:{type:[Boolean,String]},tagType:{}},emits:["add","update:list","change:list","loadMore","selectActivity","archiveActivity","unarchiveActivity","updateActivity"],setup(a,{emit:t}){const o=a,r=e.ref(!1),n=e.ref(null);Q5(n,([{isIntersecting:d}])=>{r.value=d}),e.watch(r,d=>{d&&o.hasMore&&!o.isLoading&&t("loadMore")});const s=d=>{var p;return o.isEditable===!0?!0:o.userId&&o.isEditable==="only-own"?o.userId===((p=d.assignee)==null?void 0:p.id):!1},i=d=>{t("selectActivity",d)},l=d=>{t("updateActivity",d)},c=d=>{"added"in d?t("updateActivity",{id:d.added.element.id,statusId:o.status.id,rank:dt(o.list,d.added.newIndex)}):"removed"in d||"moved"in d&&t("updateActivity",{id:d.moved.element.id,rank:dt(o.list,d.moved.newIndex)})},u=e.ref(!1);return(d,p)=>(e.openBlock(),e.createElementBlock("div",J5,[d.title||d.$slots.header?e.renderSlot(d.$slots,"header",{key:0},()=>{var m;return[e.createElementVNode("div",e7,[d.title?(e.openBlock(),e.createBlock(R5,{key:0,title:d.title,level:3,items:(m=d.list)==null?void 0:m.length},null,8,["title","items"])):e.createCommentVNode("",!0)])]}):e.createCommentVNode("",!0),e.createVNode(e.unref(je),e.mergeProps({class:["ao-list-kanban__list",u.value?"ao-list-kanban__transition":void 0],list:d.list,"item-key":"id",group:"kanban","ghost-class":"ao-list-kanban__ghost",animation:"200"},d.$attrs,{draggable:".ao-list-draggable",disabled:!d.isEditable,onChange:c,onStart:p[0]||(p[0]=m=>u.value=!0),onEnd:p[1]||(p[1]=m=>u.value=!1),"component-data":{tag:"transition-group",name:"ao-list-kanban__transition"}}),{item:e.withCtx(({element:m})=>{var f,b,v,g,y,h,_,N,B;return[e.createVNode(ho,{class:e.normalizeClass(s(m)?"ao-list-draggable":""),id:m.id,name:m.name,"project-name":(f=m.project)==null?void 0:f.name,"project-color":(b=m.project)==null?void 0:b.color,"phase-name":(g=(v=m.milestone)==null?void 0:v.phase)==null?void 0:g.name,"milestone-name":(y=m.milestone)==null?void 0:y.name,"milestone-color":(h=m.milestone)==null?void 0:h.color,deadline:m.deadline,rules:((_=m.rules)==null?void 0:_.length)||0,tasks:m.tasks,description:m.description,important:m.important,type:m.type,comments:(N=m.comments)==null?void 0:N.length,attachments:(B=m.attachments)==null?void 0:B.length,users:d.users,assignee:m.assignee,slug:m.slug,"is-editable":s(m),"is-private":m.private,"tag-type":d.tagType,onUpdateActivity:[V=>s(m)&&l(V),()=>s(m)&&l],onClick:()=>i(m.id),onRemoveAssignee:()=>s(m)&&l({id:m.id,assigneeId:null})},{secondary:e.withCtx(()=>[s(m)&&m.active?(e.openBlock(),e.createBlock(K,{key:0,color:"primary",variant:"ghost","icon-name":"ArchiveOutlineRounded",size:"sm","icon-position":"start",corners:"round",label:d.$t("feed.activity.archive"),onClick:e.withModifiers(()=>d.$emit("archiveActivity",{id:m.id}),["stop"])},null,8,["label","onClick"])):e.createCommentVNode("",!0),s(m)&&!m.active?(e.openBlock(),e.createBlock(K,{key:1,color:"primary",variant:"ghost","icon-name":"ArchiveOutlineRounded",size:"sm","icon-position":"start",corners:"round",label:d.$t("feed.activity.unarchive"),onClick:e.withModifiers(()=>d.$emit("unarchiveActivity",{id:m.id}),["stop"])},null,8,["label","onClick"])):e.createCommentVNode("",!0)]),_:2},1032,["class","id","name","project-name","project-color","phase-name","milestone-name","milestone-color","deadline","rules","tasks","description","important","type","comments","attachments","users","assignee","slug","is-editable","is-private","tag-type","onUpdateActivity","onClick","onRemoveAssignee"])]}),footer:e.withCtx(()=>[d.isLoading?(e.openBlock(),e.createElementBlock("div",t7,[e.createVNode(Q,{name:"Loading"})])):d.hasMore?(e.openBlock(),e.createElementBlock("div",{key:2,ref_key:"scrollEnd",ref:n,class:"ao-list-kanban__end"},null,512)):(e.openBlock(),e.createElementBlock("div",a7,[d.noMoreLabel?(e.openBlock(),e.createElementBlock("span",o7,e.toDisplayString(d.noMoreLabel),1)):d.isEditable?(e.openBlock(),e.createElementBlock("span",r7)):e.createCommentVNode("",!0)]))]),_:1},16,["class","list","disabled"]),d.$slots.footer||d.footerLabel?(e.openBlock(),e.createElementBlock("div",n7,[e.renderSlot(d.$slots,"footer",{},()=>[d.isEditable?(e.openBlock(),e.createBlock(Pe,{key:0,"icon-name":"AddBoxOutlineRounded",label:d.footerLabel,onClick:p[2]||(p[2]=m=>d.$emit("add"))},null,8,["label"])):e.createCommentVNode("",!0)])])):e.createCommentVNode("",!0)]))}}),J9="",s7={class:"ao-field ao-search-field"},l7=["value","placeholder","onKeypress"],c7=e.defineComponent({__name:"AoSearchField",props:{modelValue:{},delay:{default:250},placeholder:{default:"Search"}},emits:["update:modelValue","clear"],setup(a,{emit:t}){const o=a,r=async i=>{const c=i.target.value;t("update:modelValue",c,i)},n=Y5(r,o.delay),s=i=>{t("clear",i)};return(i,l)=>(e.openBlock(),e.createElementBlock("div",s7,[e.createElementVNode("input",{value:i.modelValue,type:"text",class:"ao-field__input ao-search-field__input",placeholder:i.placeholder,onInput:l[0]||(l[0]=(...c)=>e.unref(n)&&e.unref(n)(...c)),onKeypress:e.withKeys(r,["enter"])},null,40,l7),e.createVNode(Q,{name:"SearchRounded",class:e.normalizeClass(`ao-search-field__icon ao-search-field__action ${i.modelValue?"":"ao-search-field__action--visible"}`)},null,8,["class"]),e.createVNode(K,{"icon-name":"CloseRounded",size:"sm",color:"primary",corners:"round",class:e.normalizeClass(`ao-search-field__button ao-search-field__action ${i.modelValue?"ao-search-field__action--visible":""}`),onClick:s},null,8,["class"])]))}}),e4="",d7={class:"ao-feed"},p7={class:"ao-feed__filters"},u7={class:"ao-feed__body"},Ir=e.defineComponent({__name:"AoFeed",props:{activities:{},statuses:{},project:{},projects:{},filters:{},activityTypes:{},users:{},userId:{},initialActivityId:{},initialActivitySlug:{},searchText:{default:""},showsArchivedActivities:{type:Boolean},showsOnlyImportant:{type:Boolean},showsOnlyNonAssigned:{type:Boolean},selectedActivity:{},isTaskCheckable:{type:Function,default:void 0},isEditable:{type:[Boolean,String]},attachmentEnabled:{type:Boolean,default:!0}},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"],setup(a,{emit:t}){const o=a,{t:r}=We();function n(w,T){t("toast",w,T)}const s=e.toRef(o,"activities"),i=async(w,T)=>{await t("selectActivity",w,T)},l=e.ref({}),c=e.ref(!1),u=e.ref(!1),d=e.computed(()=>o.project?"milestone":"project");e.watch([()=>o.statuses,()=>o.activities,()=>o.initialActivityId,()=>o.initialActivitySlug],async([w,T,C,x],[q,Z])=>{l.value=Object.fromEntries(w.map(L=>[L.id,T.filter(S=>{var D;return((D=S.status)==null?void 0:D.id)===L.id})])),C&&!c.value?(i(C,null),c.value=!0):x&&!c.value&&(i(null,x),c.value=!0),u.value&&Ae(T,Z)},{immediate:!0});const p=e.computed(()=>{var w;return!o.selectedActivity||!o.selectedActivity.milestone?"":`${((w=o.selectedActivity.milestone.phase)==null?void 0:w.name)??""} / ${o.selectedActivity.milestone.name??""}`}),m=w=>{var Z,L;const T=(Z=o.activities)==null?void 0:Z.at(-1),C=T?ie.LexoRank.parse(T.rank).genNext():ie.LexoRank.middle(),x=((L=o.activities)==null?void 0:L.length)??0,q={name:r("activity.defaultName",{idx:x+1}),rank:C.format(),statusId:w.id};o.filters.assigneeId.length>0&&(q.assigneeId=o.filters.assigneeId[0]),o.filters.projectId.length>0&&(q.projectId=o.filters.projectId[0]),o.filters.typeId.length>0&&(q.typeId=o.filters.typeId[0]),u.value=!0,t("addActivity",q)},f=(w,T)=>{u.value=!1,t("update:filters",{...o.filters,[w]:T})},b=e.computed(()=>o.project?[o.project]:o.projects??[]),v=e.computed(()=>b.value.map(w=>({value:w.id,label:w.name}))),g=e.computed(()=>{var w;return(w=o.activityTypes)==null?void 0:w.map(T=>({value:T.id,label:T.name}))}),y=e.computed(()=>o.users.map(w=>({value:w.id,label:`${w.firstName} ${w.lastName}`,avatar:w.avatarUrl}))),h=w=>{o.selectedActivity&&t("update:activity",w)},_=w=>{t("update:activity",w)},N=w=>{t("archiveActivity",w)},B=w=>{t("unarchiveActivity",w)},V=w=>{u.value=!1,t("update:searchText",w)},I=w=>{u.value=!1,t("clear:searchText",w)},j=w=>{o.selectedActivity&&t("addSubtask",w)},P=w=>{o.selectedActivity&&t("updateSubtask",w)},H=w=>{o.selectedActivity&&t("deleteSubtask",w)},F=w=>{t("addFiles",w)},A=w=>{t("removeFile",w)},z=w=>{o.selectedActivity&&t("addComment",{...w,activityId:o.selectedActivity.id})},Y=w=>{const{id:T}=o.selectedActivity||{};T&&t("updateComment",w)},U=w=>{const{id:T}=o.selectedActivity||{};T&&t("removeComment",w)},R=Le.useRouter(),E=e.ref("feed"),$=[{label:"Overview",value:"overview"},{label:"Feed",value:"feed"},{label:"Mapping",value:"mapping"}];return e.watch(E,w=>{w==="feed"?(R.push({name:re.feed}),console.log("Navigating to feed...")):w==="overview"?(R.push({name:re.project}),console.log("Navigating to feed...")):w==="mapping"&&(R.push({name:re.mapping}),console.log("Navigating to feed..."))}),(w,T)=>{var C;return e.openBlock(),e.createElementBlock("div",d7,[e.createVNode(It,null,{primary:e.withCtx(()=>[e.createElementVNode("div",p7,[e.createVNode(fo,{tabs:$,modelValue:E.value,"onUpdate:modelValue":T[0]||(T[0]=x=>E.value=x)},null,8,["modelValue"]),e.createVNode(c7,{"model-value":w.searchText,placeholder:w.$t("feed.search.placeholder"),class:"ao-feed__search","onUpdate:modelValue":V,onClear:I},null,8,["model-value","placeholder"]),o.project?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(le,{key:0,"model-value":w.filters[e.unref(Xe).project],mode:"tags",options:v.value,"close-on-select":!1,searchable:!0,class:"ao-feed__filter ao-feed__filter__projects",placeholder:w.$t("feed.filters.project.placeholder"),"onUpdate:modelValue":T[1]||(T[1]=x=>f(e.unref(Xe).project,x))},null,8,["model-value","options","placeholder"])),g.value?(e.openBlock(),e.createBlock(le,{key:1,"model-value":w.filters[e.unref(Xe).type],mode:"tags",options:g.value,"close-on-select":!1,searchable:!0,class:"ao-feed__filter ao-feed__filter__types",placeholder:w.$t("feed.filters.activityType.placeholder"),"onUpdate:modelValue":T[2]||(T[2]=x=>f(e.unref(Xe).type,x))},null,8,["model-value","options","placeholder"])):e.createCommentVNode("",!0),y.value.length?(e.openBlock(),e.createBlock(le,{key:2,"model-value":w.filters[e.unref(Xe).assignee],mode:"tags",options:y.value,"close-on-select":!1,searchable:!0,class:"ao-feed__filter ao-feed__filter__assignees",placeholder:w.$t("feed.filters.assignee.placeholder"),"onUpdate:modelValue":T[3]||(T[3]=x=>f(e.unref(Xe).assignee,x))},{tag:e.withCtx(({option:x,handleTagRemove:q})=>[e.createVNode(ye,{"user-name":x.label,"avatar-url":x.avatar,"is-closable":!0,onClose:Z=>q(x,Z)},null,8,["user-name","avatar-url","onClose"])]),_:1},8,["model-value","options","placeholder"])):e.createCommentVNode("",!0)]),e.createVNode(K,{class:"ao-feed__only-non-assigned",size:"sm","icon-name":w.showsOnlyNonAssigned?"CheckBoxOutlineRounded":"CheckBoxOutlineBlank","icon-position":"start",color:"primary",variant:"ghost",label:w.$t("feed.filters.showsOnlyNonAssigned.label"),role:"checkbox","aria-checked":w.showsOnlyNonAssigned,onClick:T[4]||(T[4]=x=>w.$emit("update:showsOnlyNonAssigned",!w.showsOnlyNonAssigned))},null,8,["icon-name","label","aria-checked"]),e.createVNode(K,{class:"ao-feed__only-important",size:"sm","icon-name":w.showsOnlyImportant?"CheckBoxOutlineRounded":"CheckBoxOutlineBlank","icon-position":"start",color:"primary",variant:"ghost",label:w.$t("feed.filters.showsOnlyImportant.label"),role:"checkbox","aria-checked":w.showsOnlyImportant,onClick:T[5]||(T[5]=x=>w.$emit("update:showsOnlyImportant",!w.showsOnlyImportant))},null,8,["icon-name","label","aria-checked"]),e.createVNode(K,{class:"ao-feed__show-archived",size:"sm","icon-name":w.showsArchivedActivities?"CheckBoxOutlineRounded":"CheckBoxOutlineBlank","icon-position":"start",color:"primary",variant:"ghost",label:w.$t("feed.filters.showsArchivedActivities.label"),role:"checkbox","aria-checked":w.showsArchivedActivities,onClick:T[6]||(T[6]=x=>w.$emit("update:showsArchivedActivities",!w.showsArchivedActivities))},null,8,["icon-name","label","aria-checked"])]),_:1}),e.createElementVNode("div",u7,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(w.statuses,x=>(e.openBlock(),e.createBlock(i7,{key:x.id,status:x,list:l.value[x.id],title:x.name,"footer-label":w.$t("feed.activity.add"),users:w.users,"user-id":w.userId,"is-editable":w.isEditable,tagType:d.value,onAdd:()=>m(x),onSelectActivity:i,onArchiveActivity:N,onUnarchiveActivity:B,onUpdateActivity:_},null,8,["status","list","title","footer-label","users","user-id","is-editable","tagType","onAdd"]))),128))]),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[w.selectedActivity?(e.openBlock(),e.createBlock(to,{key:0,activity:w.selectedActivity,"activity-types":w.activityTypes,"milestone-id":(C=w.selectedActivity.milestone)==null?void 0:C.id,"template-activities":s.value,users:w.users,"user-id":w.userId,"is-task-checkable":w.isTaskCheckable,statuses:w.statuses,breadcrumbs:p.value,"is-editable":w.isEditable,"attachment-enabled":w.attachmentEnabled,projects:b.value,onClose:T[7]||(T[7]=()=>i(null,null)),"onUpdate:activity":h,onAddSubtask:j,onUpdateSubtask:P,onDeleteSubtask:H,onAddFiles:F,onRemoveFile:A,onAddComment:z,onUpdateComment:Y,onRemoveComment:U,onToast:n},{default:e.withCtx(x=>[e.renderSlot(w.$slots,"activityDetailsBody",e.normalizeProps(e.guardReactiveProps(x)))]),_:3},8,["activity","activity-types","milestone-id","template-activities","users","user-id","is-task-checkable","statuses","breadcrumbs","is-editable","attachment-enabled","projects"])):e.createCommentVNode("",!0)]))])}}}),t4="",m7={class:"ao-project-mapping"},f7={class:"ao-project-mapping-mapping__body"},h7={class:"ao-project-mapping-mapping__phases"},g7={key:0,class:"ao-project-mapping-mapping__image-wrapper"},_7=["src","alt"],v7=e.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(a,{emit:t}){const o=a,{t:r}=We(),n=()=>{const{name:g,rank:y}=at(o.phases,"phase",r);t("addPhase",{name:g,rank:y,projectId:o.project.id})},s=g=>{t("updatePhase",g)},i=g=>{t("archivePhase",g)},l=g=>{t("unarchivePhase",g)},c=g=>{t("copyPhaseToTemplate",g)},u=e.ref(!1),d=e.ref(!1),p=(g,y)=>{t("applyTemplate",{templateId:g,projectId:y}),u.value=!1},m=(g,y)=>{var N;const h=(N=o.templates)==null?void 0:N.at(-1),_=h?ie.LexoRank.parse(h.rank).genNext():ie.LexoRank.middle();t("saveTemplate",{templateName:g,rank:_.format(),phaseIds:y}),d.value=!1},f=Le.useRouter(),b=e.ref("mapping"),v=[{label:"Overview",value:"overview"},{label:"Feed",value:"feed"},{label:"Mapping",value:"mapping"}];return e.watch(b,g=>{g==="feed"?(f.push({name:re.feed}),console.log("Navigating to feed...")):g==="overview"?(f.push({name:re.project}),console.log("Navigating to feed...")):g==="mapping"&&(f.push({name:re.mapping}),console.log("Navigating to feed..."))}),(g,y)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",e.mergeProps({class:"ao-project-mapping-overview"},g.$attrs),[e.createElementVNode("div",m7,[e.createVNode(It,null,{primary:e.withCtx(()=>[e.createVNode(fo,{tabs:v,modelValue:b.value,"onUpdate:modelValue":y[0]||(y[0]=h=>b.value=h)},null,8,["modelValue"]),e.createVNode(K,{class:"ao-feed__show-archived",size:"sm","icon-name":g.showsArchived?"CheckBoxOutlineRounded":"CheckBoxOutlineBlank","icon-position":"start",color:"primary",variant:"ghost",label:g.$t("feed.filters.showsArchived.label"),role:"checkbox","aria-checked":g.showsArchived,onClick:y[1]||(y[1]=h=>g.$emit("update:showsArchived",!g.showsArchived))},null,8,["icon-name","label","aria-checked"])]),secondary:e.withCtx(()=>[g.isEditable===!0?(e.openBlock(),e.createBlock(K,{key:0,class:"ao-project-mapping-overview__save-as-template",color:"primary",label:g.$t("project.template.save.label"),onClick:y[2]||(y[2]=h=>d.value=!0)},null,8,["label"])):e.createCommentVNode("",!0),g.isEditable===!0?(e.openBlock(),e.createBlock(K,{key:1,class:"ao-project-mapping-overview__add-template",color:"primary",label:g.$t("project.template.apply.label"),onClick:y[3]||(y[3]=h=>u.value=!0)},null,8,["label"])):e.createCommentVNode("",!0)]),_:1}),e.createElementVNode("div",f7,[e.createElementVNode("div",h7,[e.createVNode(mo,{phases:g.phases,"closed-status":g.closedStatus,"is-editable":g.isEditable===!0,users:g.users,onAddPhase:n,onUpdatePhase:s,onArchivePhase:i,onUnarchivePhase:l,onCopyPhaseToTemplate:c},null,8,["phases","closed-status","is-editable","users"])]),g.project.architectureImage?(e.openBlock(),e.createElementBlock("div",g7,[e.createElementVNode("img",{class:"architecture-image",src:g.project.architectureImage.url,alt:e.unref(r)("architectureImage.alt")},null,8,_7)])):e.createCommentVNode("",!0)])])],16),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[d.value?(e.openBlock(),e.createBlock(Tr,{key:0,phases:g.phases,onClose:y[4]||(y[4]=h=>d.value=!1),onSave:m},null,8,["phases"])):e.createCommentVNode("",!0),u.value?(e.openBlock(),e.createBlock(Ar,{key:1,"project-id":g.project.id,templates:g.templates,onClose:y[5]||(y[5]=h=>u.value=!1),onApply:p},null,8,["project-id","templates"])):e.createCommentVNode("",!0)]))],64))}}),a4="",rt={TEMPLATES:"templates",TEMPLATE_DETAILS:"template_details",TEMPLATES_LIST:"templates_list"},C7=(a,t={})=>[{path:a,name:rt.TEMPLATES,redirect:{name:rt.TEMPLATES_LIST},...t,children:[{path:"",name:rt.TEMPLATES_LIST,component:Lr},{path:":templateId/:phaseId?/:milestoneId?/:activityId?",name:rt.TEMPLATE_DETAILS,component:xr,props:!0}]}],re={project:"AoProject",feed:"AoProjectFeed",mapping:"AoProjectMapping",milestone:"AoMilestone",activity:"AoActivity"},b7=(a,t={})=>[{path:a,...t,redirect:{name:re.project},children:[{path:"",name:re.project,component:r5,props:!0,children:[{path:":phaseId/:milestoneId",name:re.milestone,component:Or,props:!0},{path:":phaseId/:milestoneId/:activityId",name:re.activity,props:{default:!0,modal:!0},components:{default:Or,modal:z5}}]},{path:"feed",name:re.feed,component:Ir,props:!0},{path:"mapping",name:re.mapping,component:v7,props:!0}]}],y7={class:"ao-templates"},Lr=e.defineComponent({__name:"AoTemplatesList",props:{templates:{}},emits:["addTemplate","updateTemplates","updateItem","removeItem"],setup(a,{emit:t}){const o=a,{t:r}=We();e.watch(()=>o.templates,(c,u)=>{Ae(c,u)});const n=()=>{var m,f;const c=(m=o.templates)==null?void 0:m.at(-1),u=c?ie.LexoRank.parse(c.rank).genNext():ie.LexoRank.middle(),d=((f=o.templates)==null?void 0:f.length)??0,p={name:r("template.defaultName.template",{idx:d+1}),rank:u.format()};t("addTemplate",p)},s=(c,u)=>{t("updateItem",{itemType:ee.TEMPLATES,id:c,templateId:c,data:{name:u}})},i=(c,u)=>{t("removeItem",{itemType:ee.TEMPLATES,templateId:c,data:{id:c,...u?{name:u}:{}}})},l=c=>{if(c.moved){const u=Ot(c,o.templates??[]);t("updateItem",{itemType:ee.TEMPLATES,id:c.moved.element.id,templateId:c.moved.element.id,data:{rank:u}})}};return(c,u)=>(e.openBlock(),e.createElementBlock("div",y7,[e.createVNode(It,null,{secondary:e.withCtx(()=>[e.createVNode(K,{label:c.$t("templates.new"),color:"primary","icon-name":"Add","icon-position":"start",onClick:n},null,8,["label"])]),_:1}),e.createVNode(e.unref(je),{"model-value":c.templates,class:"ao-templates__list","item-key":"id",handle:".ao-card__drag",onChange:l},{item:e.withCtx(({element:d})=>{var p;return[e.createVNode(R2,{id:d.id,title:d.name,phases:d.phases,milestones:(p=d.phases)!=null&&p.length?e.unref(u2)(d.phases):0,activities:d.phases?e.unref(m2)(d.phases):0,"updated-at":d.updatedAt,"updated-by":d.updatedBy,onUpdateTitle:m=>s(d.id,m),onClick:m=>c.$router.push({name:e.unref(rt).TEMPLATE_DETAILS,params:{templateId:d.id}}),onDeleteItem:u[0]||(u[0]=(m,f)=>i(m,f))},null,8,["id","title","phases","milestones","activities","updated-at","updated-by","onUpdateTitle","onClick"])]}),_:1},8,["model-value"])]))}}),o4="",w7={class:"ao-field__label"},jr=e.defineComponent({__name:"AoField",props:{label:{},isMultiselect:{type:Boolean,default:!1}},setup(a){return(t,o)=>(e.openBlock(),e.createElementBlock("label",{class:e.normalizeClass(["ao-field",{"ao-field--multiselect":t.isMultiselect}])},[e.createElementVNode("span",w7,e.toDisplayString(t.label),1),e.renderSlot(t.$slots,"default")],2))}}),k7=["type","value","disabled","readonly"],$7=e.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(a,{emit:t}){const o=a,r=e.computed(()=>o.modelModifiers.lazy?"change":"input"),n=s=>{o.modelModifiers.number&&(s=Number(s)),t("update:modelValue",s)};return(s,i)=>(e.openBlock(),e.createBlock(jr,{label:s.label},{default:e.withCtx(()=>[e.createElementVNode("input",e.mergeProps({class:"ao-field__input",type:s.type,value:s.modelValue,disabled:s.isDisabled,readonly:s.isReadonly},{[e.toHandlerKey(r.value)]:i[0]||(i[0]=l=>n(l.target.value))}),null,16,k7)]),_:1},8,["label"]))}}),E7={class:"ao-field"},B7={class:"ao-field__label"},V7=["checked","disabled"],N7=e.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(a){return(t,o)=>(e.openBlock(),e.createElementBlock("label",E7,[e.createElementVNode("span",B7,e.toDisplayString(t.label),1),e.createElementVNode("input",{class:"ao-field__input",type:"checkbox",checked:t.modelValue,disabled:t.isDisabled,onChange:o[0]||(o[0]=r=>{var n;return t.$emit("update:modelValue",((n=r.target)==null?void 0:n.checked)??!1)})},null,40,V7)]))}});X.AoAvatar=ye,X.AoCardFeed=ho,X.AoCheckboxField=N7,X.AoFeed=Ir,X.AoField=jr,X.AoInputField=$7,X.AoMultiselect=le,X.AoProjectPhases=mo,X.AoTemplateDetails=xr,X.AoTemplates=Zr,X.AoTemplatesList=Lr,X.TemplateItemTypeEnum=Ao,X.activityFeedStatus=Nd,X.durationTypes=Vd,X.feedFilterTypes=Xe,X.getProjectOverviewRoutes=b7,X.getTemplateRoutes=C7,X.listUpdateTypes=Sd,X.milestoneStatus=kt,X.projectOverviewRoutes=re,X.ruleComparators=So,X.ruleDurationUnits=Mo,X.ruleTriggerTypes=xo,X.templateItemType=ee,X.templateRouteNames=rt,Object.defineProperty(X,Symbol.toStringTag,{value:"Module"})});
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "type": "module",
5
5
  "license": "CC-BY-NC-ND-4.0",
6
6
  "author": "26lights <dev@26lights.com> (https://www.26lights.com)",
7
- "version": "0.41.81",
7
+ "version": "0.41.83",
8
8
  "workspaces": [
9
9
  "packages/*"
10
10
  ],
@@ -27,7 +27,7 @@
27
27
  "vuedraggable": "~4.1.0"
28
28
  },
29
29
  "dependencies": {
30
- "@26lights/orcha": "^0.41.81",
30
+ "@26lights/orcha": "^0.41.83",
31
31
  "@floating-ui/dom": "^1.5.3",
32
32
  "@vueform/multiselect": "^2.6.6",
33
33
  "@vueuse/core": "^10.8.0",