@26lights/orcha 0.41.86 → 0.41.87
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/orcha.cjs.js +1 -1
- package/dist/orcha.css +1 -1
- package/dist/orcha.es.js +285 -283
- package/dist/orcha.umd.js +2 -2
- package/dist/src/components/AoColorPicker.vue.d.ts +1 -1
- package/package.json +2 -2
package/dist/orcha.cjs.js
CHANGED
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
* vue-color-kit v1.0.6
|
|
3
3
|
* (c) 2023
|
|
4
4
|
* @license MIT
|
|
5
|
-
*/function Qe(a){let t={r:0,g:0,b:0,a:1};/#/.test(a)?t=ov(a):/rgb/.test(a)?t=Xo(a):typeof a=="string"?t=Xo(`rgba(${a})`):Object.prototype.toString.call(a)==="[object Object]"&&(t=a);const{r:o,g:n,b:s,a:r}=t,{h:l,s:i,v:c}=nv(t);return{r:o,g:n,b:s,a:r===void 0?1:r,h:l,s:i,v:c}}function mo(a){const t=document.createElement("canvas"),o=t.getContext("2d"),n=a*2;return t.width=n,t.height=n,o.fillStyle="#ffffff",o.fillRect(0,0,n,n),o.fillStyle="#ccd5db",o.fillRect(0,0,a,a),o.fillRect(a,a,a,a),t}function Ya(a,t,o,n,s,r){const l=a==="l",i=t.createLinearGradient(0,0,l?o:0,l?0:n);i.addColorStop(.01,s),i.addColorStop(.99,r),t.fillStyle=i,t.fillRect(0,0,o,n)}function av({r:a,g:t,b:o},n){const s=l=>("0"+Number(l).toString(16)).slice(-2),r=`#${s(a)}${s(t)}${s(o)}`;return n?r.toUpperCase():r}function ov(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 Xo(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 nv({r:a,g:t,b:o}){a=a/255,t=t/255,o=o/255;const n=Math.max(a,t,o),s=Math.min(a,t,o),r=n-s;let l=0;n===s?l=0:n===a?t>=o?l=60*(t-o)/r:l=60*(t-o)/r+360:n===t?l=60*(o-a)/r+120:n===o&&(l=60*(a-t)/r+240),l=Math.floor(l);let i=parseFloat((n===0?0:1-s/n).toFixed(2)),c=parseFloat(n.toFixed(2));return{h:l,s:i,v:c}}var vo=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),Ya("l",o,t,t,"#FFFFFF","rgba(255,255,255,0)"),Ya("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(),n=a.target.getContext("2d"),s=l=>{let i=l.clientX-o,c=l.clientY-t;i<0&&(i=0),c<0&&(c=0),i>this.size&&(i=this.size),c>this.size&&(c=this.size),this.slideSaturationStyle={left:i-5+"px",top:c-5+"px"};const p=n.getImageData(Math.min(i,this.size-1),Math.min(c,this.size-1),1,1),[d,u,m]=p.data;this.$emit("selectSaturation",{r:d,g:u,b:m})};s(a);const r=()=>{document.removeEventListener("mousemove",s),document.removeEventListener("mouseup",r)};document.addEventListener("mousemove",s),document.addEventListener("mouseup",r)}}});const sv={ref:"canvasSaturation"};function lv(a,t,o,n,s,r){return e.openBlock(),e.createBlock("div",{class:"saturation",onMousedown:t[1]||(t[1]=e.withModifiers((...l)=>a.selectSaturation&&a.selectSaturation(...l),["prevent","stop"]))},[e.createVNode("canvas",sv,null,512),e.createVNode("div",{style:a.slideSaturationStyle,class:"slide"},null,4)],32)}vo.render=lv;vo.__file="src/color/Saturation.vue";var fo=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,n=a.getContext("2d");a.width=t,a.height=o;const s=n.createLinearGradient(0,0,0,o);s.addColorStop(0,"#FF0000"),s.addColorStop(.17*1,"#FF00FF"),s.addColorStop(.17*2,"#0000FF"),s.addColorStop(.17*3,"#00FFFF"),s.addColorStop(.17*4,"#00FF00"),s.addColorStop(.17*5,"#FFFF00"),s.addColorStop(1,"#FF0000"),n.fillStyle=s,n.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"),n=r=>{let l=r.clientY-t;l<0&&(l=0),l>this.height&&(l=this.height),this.slideHueStyle={top:l-2+"px"};const i=o.getImageData(0,Math.min(l,this.height-1),1,1),[c,p,d]=i.data;this.$emit("selectHue",{r:c,g:p,b:d})};n(a);const s=()=>{document.removeEventListener("mousemove",n),document.removeEventListener("mouseup",s)};document.addEventListener("mousemove",n),document.addEventListener("mouseup",s)}}});const rv={ref:"canvasHue"};function iv(a,t,o,n,s,r){return e.openBlock(),e.createBlock("div",{class:"hue",onMousedown:t[1]||(t[1]=e.withModifiers((...l)=>a.selectHue&&a.selectHue(...l),["prevent","stop"]))},[e.createVNode("canvas",rv,null,512),e.createVNode("div",{style:a.slideHueStyle,class:"slide"},null,4)],32)}fo.render=iv;fo.__file="src/color/Hue.vue";var ho=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,n=this.alphaSize,s=mo(n),r=a.getContext("2d");a.width=t,a.height=o,r.fillStyle=r.createPattern(s,"repeat"),r.fillRect(0,0,t,o),Ya("p",r,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=s=>{let r=s.clientY-t;r<0&&(r=0),r>this.height&&(r=this.height);let l=parseFloat((r/this.height).toFixed(2));this.$emit("selectAlpha",l)};o(a);const n=()=>{document.removeEventListener("mousemove",o),document.removeEventListener("mouseup",n)};document.addEventListener("mousemove",o),document.addEventListener("mouseup",n)}}});const cv={ref:"canvasAlpha"};function dv(a,t,o,n,s,r){return e.openBlock(),e.createBlock("div",{class:"color-alpha",onMousedown:t[1]||(t[1]=e.withModifiers((...l)=>a.selectAlpha&&a.selectAlpha(...l),["prevent","stop"]))},[e.createVNode("canvas",cv,null,512),e.createVNode("div",{style:a.slideAlphaStyle,class:"slide"},null,4)],32)}ho.render=dv;ho.__file="src/color/Alpha.vue";var Co=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,n=this.alphaSize,s=mo(n),r=a.getContext("2d");a.width=t,a.height=o,r.fillStyle=r.createPattern(s,"repeat"),r.fillRect(0,0,t,o),r.fillStyle=this.color,r.fillRect(0,0,t,o)}}});function uv(a,t,o,n,s,r){return e.openBlock(),e.createBlock("canvas")}Co.render=uv;Co.__file="src/color/Preview.vue";var go=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:n,left:s,width:r,height:l}=this.suckerCanvas.getBoundingClientRect(),i=t-s,c=o-n,d=this.suckerCanvas.getContext("2d").getImageData(Math.min(i,r-1),Math.min(c,l-1),1,1);let[u,m,v,y]=d.data;y=parseFloat((y/255).toFixed(2));const C=this.suckerPreview.style;Object.assign(C,{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(${u}, ${m}, ${v}, ${y})`,zIndex:95}),this.suckerArea.length&&t>=this.suckerArea[0]&&o>=this.suckerArea[1]&&t<=this.suckerArea[2]&&o<=this.suckerArea[3]?C.display="":C.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:n}=t,{top:s,left:r,width:l,height:i}=a.getBoundingClientRect(),c=o-r,p=n-s,u=a.getContext("2d").getImageData(Math.min(c,l-1),Math.min(p,i-1),1,1);let[m,v,y,C]=u.data;C=parseFloat((C/255).toFixed(2)),this.$emit("selectSucker",{r:m,g:v,b:y,a:C})}))}}});const pv=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),mv={key:1,class:"sucker",viewBox:"-16 -16 68 68",xmlns:"http://www.w3.org/2000/svg",stroke:"#9099a4"},vv=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 fv(a,t,o,n,s,r){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]=(...l)=>a.openSucker&&a.openSucker(...l))},[pv],2)),a.isSucking?(e.openBlock(),e.createBlock("svg",mv,[vv])):e.createCommentVNode("v-if",!0)])}go.render=fv;go.__file="src/color/Sucker.vue";var _o=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(r){t("inputColor",r)}}),handleFocus:r=>{t("inputFocus",r)},handleBlur:r=>{t("inputBlur",r)}}}});const hv={class:"color-type"},Cv={class:"name"};function gv(a,t,o,n,s,r){return e.openBlock(),e.createBlock("div",hv,[e.createVNode("span",Cv,e.toDisplayString(a.name),1),e.withDirectives(e.createVNode("input",{"onUpdate:modelValue":t[1]||(t[1]=l=>a.modelColor=l),class:"value",onFocus:t[2]||(t[2]=(...l)=>a.handleFocus&&a.handleFocus(...l)),onBlur:t[3]||(t[3]=(...l)=>a.handleBlur&&a.handleBlur(...l))},null,544),[[e.vModelText,a.modelColor]])])}_o.render=gv;_o.__file="src/color/Box.vue";var yo=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(),n=e.ref([]),s=e.ref();a.colorsHistoryKey&&localStorage&&(n.value=JSON.parse(localStorage.getItem(a.colorsHistoryKey))||[]),s.value=mo(4).toDataURL(),e.onUnmounted(()=>{r(o.value)});function r(i){if(!i)return;const c=n.value||[],p=c.indexOf(i);p>=0&&c.splice(p,1),c.length>=8&&(c.length=7),c.unshift(i),n.value=c||[],localStorage&&a.colorsHistoryKey&&localStorage.setItem(a.colorsHistoryKey,JSON.stringify(c))}function l(i){t("selectColor",i)}return{setColorsHistory:r,colorsHistory:n,color:o,imgAlphaBase64:s,selectColor:l}}});const _v={class:"colors"},yv={key:0,class:"colors history"};function bv(a,t,o,n,s,r){return e.openBlock(),e.createBlock("div",null,[e.createVNode("ul",_v,[(e.openBlock(!0),e.createBlock(e.Fragment,null,e.renderList(a.colorsDefault,l=>(e.openBlock(),e.createBlock("li",{key:l,class:"item",onClick:i=>a.selectColor(l)},[e.createVNode("div",{style:{background:`url(${a.imgAlphaBase64})`},class:"alpha"},null,4),e.createVNode("div",{style:{background:l},class:"color"},null,4)],8,["onClick"]))),128))]),a.colorsHistory.length?(e.openBlock(),e.createBlock("ul",yv,[(e.openBlock(!0),e.createBlock(e.Fragment,null,e.renderList(a.colorsHistory,l=>(e.openBlock(),e.createBlock("li",{key:l,class:"item",onClick:i=>a.selectColor(l)},[e.createVNode("div",{style:{background:`url(${a.imgAlphaBase64})`},class:"alpha"},null,4),e.createVNode("div",{style:{background:l},class:"color"},null,4)],8,["onClick"]))),128))])):e.createCommentVNode("v-if",!0)])}yo.render=bv;yo.__file="src/color/Colors.vue";var ut=e.defineComponent({components:{Saturation:vo,Hue:fo,Alpha:ho,Preview:Co,Sucker:go,Box:_o,Colors:yo},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 av(this.rgba,!0)}},created(){Object.assign(this,Qe(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:n,h:s,s:r,v:l}=Qe(a);Object.assign(this,{r:t,g:o,b:n,h:s,s:r,v:l}),this.setText()},handleFocus(a){this.$emit("inputFocus",a)},handleBlur(a){this.$emit("inputBlur",a)},selectHue(a){const{r:t,g:o,b:n,h:s,s:r,v:l}=Qe(a);Object.assign(this,{r:t,g:o,b:n,h:s,s:r,v:l}),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:n,a:s,h:r,s:l,v:i}=Qe(a);Object.assign(this,{r:t,g:o,b:n,a:s,h:r,s:l,v:i}),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:n,a:s,h:r,s:l,v:i}=Qe(a);Object.assign(this,{r:t,g:o,b:n,a:s,h:r,s:l,v:i}),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:n,a:s,h:r,s:l,v:i}=Qe(a);Object.assign(this,{r:t,g:o,b:n,a:s,h:r,s:l,v:i}),this.setText(),this.$nextTick(()=>{this.$refs.saturation.renderColor(),this.$refs.saturation.renderSlide(),this.$refs.hue.renderSlide()})},selectColor(a){const{r:t,g:o,b:n,a:s,h:r,s:l,v:i}=Qe(a);Object.assign(this,{r:t,g:o,b:n,a:s,h:r,s:l,v:i}),this.setText(),this.$nextTick(()=>{this.$refs.saturation.renderColor(),this.$refs.saturation.renderSlide(),this.$refs.hue.renderSlide()})}}});const kv={class:"color-set"};function wv(a,t,o,n,s,r){const l=e.resolveComponent("Saturation"),i=e.resolveComponent("Hue"),c=e.resolveComponent("Alpha"),p=e.resolveComponent("Preview"),d=e.resolveComponent("Sucker"),u=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",kv,[e.createVNode(l,{ref:"saturation",color:a.rgbString,hsv:a.hsv,size:a.hueHeight,onSelectSaturation:a.selectSaturation},null,8,["color","hsv","size","onSelectSaturation"]),e.createVNode(i,{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(p,{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(u,{name:"HEX",color:a.modelHex,onInputColor:a.inputHex,onInputFocus:a.handleFocus,onInputBlur:a.handleBlur},null,8,["color","onInputColor","onInputFocus","onInputBlur"]),e.createVNode(u,{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)}ut.render=wv;ut.__file="src/color/ColorPicker.vue";ut.install=a=>{a.component(ut.name,ut)};const $v={class:"color-picker-wrapper"},bo=e.defineComponent({__name:"AoColorPicker",props:{color:{}},emits:["update:color"],setup(a,{emit:t}){const o=a,n=e.ref(!1),s=e.ref(null),r=e.ref("bottom"),l=async()=>{n.value=!0;const d=s.value,u=d==null?void 0:d.parentElement;if(d&&u){const m=u.getBoundingClientRect(),v=d.offsetHeight,y=window.innerHeight-m.bottom,C=m.top;r.value=y<v&&C>v?"top":"bottom"}await e.nextTick(),setTimeout(()=>{window.addEventListener("click",i)},0)},i=d=>{const u=d.target;s.value&&!s.value.contains(u)&&(n.value=!1,t("update:color",c.value),window.removeEventListener("click",i))};e.onBeforeUnmount(()=>{window.removeEventListener("click",i)}),e.watch(()=>o.color,d=>{n.value||(c.value=d)});const c=e.ref(o.color),p=d=>{const{r:u,g:m,b:v,a:y}=d.rgba;c.value=`rgba(${u}, ${m}, ${v}, ${y})`};return(d,u)=>(e.openBlock(),e.createElementBlock("div",$v,[e.renderSlot(d.$slots,"clickable",{openPicker:l,bgColor:d.color}),n.value?(e.openBlock(),e.createElementBlock("div",{key:0,ref_key:"pickerRef",ref:s,class:e.normalizeClass(["color-picker",r.value])},[e.createVNode(e.unref(ut),{class:"color-picker-box",theme:"light",color:d.color,onChangeColor:p},null,8,["color"])],2)):e.createCommentVNode("",!0)]))}});const Ev={class:"ao-card-project-phase__header"},Bv={class:"ao-card-project-item__title-line"},Vv={key:0,class:"ao-card-project-item-phase__estimation"},Nv={class:"ao-card-project-phase__footer"},Sv={key:0,class:"ao-card-project-phase__footer-row ao-card-project-phase__footer-row--progress"},Mv={class:"ao-card-project-phase__subitem"},Av={class:"ao-card-project-phase__subitem"},Tv={key:0,class:"ao-card-project-phase__secondary"},Ov={class:"ao-card-project-phase__deadline ao-card-project-phase__deadline--readonly"},Iv=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,n=u=>{t("update:title",u)},s=e.computed(()=>{var u;return(u=o.milestones)==null?void 0:u.reduce((m,v)=>{var y;return m+((y=v.activities)==null?void 0:y.reduce((C,h)=>C+(h.estimation||0),0))},0)}),r=e.computed(()=>{var u;return(u=o.milestones)==null?void 0:u.length}),l=e.computed(()=>{var u;return(u=o.milestones)==null?void 0:u.filter(m=>m.status===Ot.done).length}),i=e.computed(()=>(l.value||0)/(r.value||1)),c=e.computed({get:()=>o.deadline??"",set:u=>t("update:deadline",u!=null&&u.length?u:null)}),p=e.computed({get:()=>o.color,set:u=>{t("updatePhase",{id:o.id,color:u})}}),d=(u,m)=>{const v=u.target;v.closest("button")||v.closest("input")||v.closest(".ao-title")||m()};return(u,m)=>(e.openBlock(),e.createBlock(bo,{color:p.value,"onUpdate:color":m[2]||(m[2]=v=>p.value=v)},{clickable:e.withCtx(({openPicker:v,bgColor:y})=>[e.createVNode(Va,{class:"ao-card-project-phase","is-clickable":u.isEditable,color:y,withLeftBorder:!0,onClick:C=>d(C,v)},e.createSlots({default:e.withCtx(()=>[e.createElementVNode("div",Bv,[e.createVNode(ne,{id:u.id,class:"ao-card-project-phase__title",title:u.name||"",level:4,"is-editable":u.isEditable,"onUpdate:title":n},null,8,["id","title","is-editable"]),s.value?(e.openBlock(),e.createElementBlock("span",Vv," ("+e.toDisplayString(s.value)+")",1)):e.createCommentVNode("",!0)])]),footer:e.withCtx(()=>[e.createElementVNode("div",Nv,[r.value?(e.openBlock(),e.createElementBlock("div",Sv,[e.createElementVNode("div",Mv,[e.createVNode(Q,{name:"MountainFlagOutlineRounded",size:"sm"}),e.createElementVNode("span",Av,e.toDisplayString(l.value)+" / "+e.toDisplayString(r.value),1)]),e.createVNode(Na,{percentages:i.value,class:"ao-card-project-phase__progress",color:u.color},null,8,["percentages","color"]),u.$slots.secondary?(e.openBlock(),e.createElementBlock("div",Tv,[e.renderSlot(u.$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"])},[u.isEditable?e.withDirectives((e.openBlock(),e.createElementBlock("input",{key:0,"onUpdate:modelValue":m[1]||(m[1]=C=>c.value=C),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",Ov,e.toDisplayString(e.unref(_a)(u.deadline)),1)],2)])]),_:2},[u.isEditable?{name:"header",fn:e.withCtx(()=>[e.createElementVNode("div",Ev,[e.createVNode(K,{class:"ao-card-project-phase__archive",color:"primary",variant:"ghost","icon-name":"ArchiveOutlineRounded",size:"sm","icon-position":"start",corners:"round",label:u.active?u.$t("archive"):u.$t("unarchive"),onClick:m[0]||(m[0]=e.withModifiers(()=>u.active?u.$emit("archivePhase",{id:u.id}):u.$emit("unarchivePhase",{id:u.id}),["stop"]))},null,8,["label"])])]),key:"0"}:void 0]),1032,["is-clickable","color","onClick"])]),_:3},8,["color"]))}});const Lv=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))}});const Dv={class:"ao-card-project-milestone__default"},Pv={class:"ao-title-with-badge-wrapper"},Hv={class:"ao-card-project-item__title-line"},Rv={key:0,class:"ao-card-project-item-milestone__estimation"},jv={key:0,class:"ao-card-project-milestone__archive"},Fv={class:"ao-card-project-milestone__activities"},Uv={class:"ao-card-project-milestone__activities-row"},zv={class:"ao-card-project-milestone__subitem"},Zv={class:"ao-card-project-milestone__subitem"},xv={key:1,class:"ao-card-project-milestone__secondary"},Wv={class:"ao-card-project-milestone__footer"},qv={key:1,class:"ao-field ao-card-project-milestone__deadline"},Yv={class:"ao-field__label"},Kv={key:2,class:"ao-card-project-milestone__assignee"},Gv=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,n=e.computed(()=>{var c;return(c=o.activities)==null?void 0:c.reduce((p,d)=>p+(d.estimation||0),0)}),s=e.computed(()=>{var c;return(c=o.activities)==null?void 0:c.length}),r=e.computed(()=>{var c;return(c=o.activities)==null?void 0:c.filter(p=>Qa(p,o.closedStatus)).length}),l=e.computed(()=>(r.value||0)/(s.value||1)),i=c=>{t("updateMilestone",{id:o.id,name:c})};return(c,p)=>(e.openBlock(),e.createBlock(Va,{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",Dv,[e.createElementVNode("div",Pv,[e.createVNode(Lv,{color:c.color||""},null,8,["color"]),e.createElementVNode("div",Hv,[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":i},null,8,["id","title","is-editable"]),n.value?(e.openBlock(),e.createElementBlock("span",Rv," ("+e.toDisplayString(n.value)+")",1)):e.createCommentVNode("",!0)])]),!c.readonly&&c.isEditable?(e.openBlock(),e.createElementBlock("div",jv,[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:p[0]||(p[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",Fv,[e.createElementVNode("div",Uv,[s.value?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createElementVNode("div",zv,[e.createVNode(Q,{name:"SelectCheckBox",size:"sm"}),e.createElementVNode("span",Zv,e.toDisplayString(r.value)+" / "+e.toDisplayString(s.value),1)]),e.createVNode(Na,{percentages:l.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",xv,[e.renderSlot(c.$slots,"secondary")])):e.createCommentVNode("",!0)])])]),footer:e.withCtx(()=>[e.createElementVNode("div",Wv,[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",qv,[e.createElementVNode("span",Yv,e.toDisplayString(e.unref(_a)(c.deadline)),1)])):e.createCommentVNode("",!0),c.assignee?(e.openBlock(),e.createElementBlock("div",Kv,[e.createVNode(ke,{"user-name":e.unref(bn)(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"]))}});const Xv={class:"ao-mapping-card-project-phase__header"},Qv={class:"ao-card-project-item__title-line"},Jv={key:0,class:"ao-card-project-item-phase__estimation"},ef={class:"ao-mapping-card-project-phase__footer"},tf={key:0,class:"ao-mapping-card-project-phase__footer-row ao-mapping-card-project-phase__footer-row--progress"},af={class:"ao-mapping-card-project-phase__subitem"},of={class:"ao-mapping-card-project-phase__subitem"},nf={key:0,class:"ao-mapping-card-project-phase__secondary"},sf={class:"ao-mapping-card-project-phase__deadline ao-mapping-card-project-phase__deadline--readonly"},lf=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,n=u=>{t("update:title",u)},s=e.computed(()=>{var u;return(u=o.milestones)==null?void 0:u.reduce((m,v)=>{var y;return m+((y=v.activities)==null?void 0:y.reduce((C,h)=>C+(h.estimation||0),0))},0)}),r=e.computed(()=>{var u;return(u=o.milestones)==null?void 0:u.length}),l=e.computed(()=>{var u;return(u=o.milestones)==null?void 0:u.filter(m=>m.status===Ot.done).length}),i=e.computed(()=>(l.value||0)/(r.value||1)),c=e.computed({get:()=>o.deadline??"",set:u=>t("update:deadline",u!=null&&u.length?u:null)}),p=e.computed({get:()=>o.color,set:u=>{t("updatePhase",{id:o.id,color:u})}}),d=(u,m)=>{const v=u.target;v.closest("button")||v.closest("input")||v.closest(".ao-title")||m()};return(u,m)=>(e.openBlock(),e.createBlock(bo,{color:p.value,"onUpdate:color":m[2]||(m[2]=v=>p.value=v)},{clickable:e.withCtx(({openPicker:v,bgColor:y})=>[e.createVNode(Va,{class:"ao-mapping-card-project-phase","is-clickable":u.isEditable,color:y,withLeftBorder:!0,onClick:C=>d(C,v)},e.createSlots({default:e.withCtx(()=>[e.createElementVNode("div",Qv,[e.createVNode(ne,{id:u.id,class:"ao-mapping-card-project-phase__title",title:u.name||"",level:4,"is-editable":u.isEditable,"onUpdate:title":n},null,8,["id","title","is-editable"]),s.value?(e.openBlock(),e.createElementBlock("span",Jv," ("+e.toDisplayString(s.value)+")",1)):e.createCommentVNode("",!0)])]),footer:e.withCtx(()=>[e.createElementVNode("div",ef,[r.value?(e.openBlock(),e.createElementBlock("div",tf,[e.createElementVNode("div",af,[e.createVNode(Q,{name:"MountainFlagOutlineRounded",size:"sm"}),e.createElementVNode("span",of,e.toDisplayString(l.value)+" / "+e.toDisplayString(r.value),1)]),e.createVNode(Na,{percentages:i.value,class:"ao-mapping-card-project-phase__progress",color:p.value},null,8,["percentages","color"]),u.$slots.secondary?(e.openBlock(),e.createElementBlock("div",nf,[e.renderSlot(u.$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"])},[u.isEditable?e.withDirectives((e.openBlock(),e.createElementBlock("input",{key:0,"onUpdate:modelValue":m[1]||(m[1]=C=>c.value=C),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",sf,e.toDisplayString(e.unref(_a)(u.deadline)),1)],2)])]),_:2},[u.isEditable?{name:"header",fn:e.withCtx(()=>[e.createElementVNode("div",Xv,[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:u.active?u.$t("archive"):u.$t("unarchive"),onClick:m[0]||(m[0]=e.withModifiers(()=>u.active?u.$emit("archivePhase",{id:u.id}):u.$emit("unarchivePhase",{id:u.id}),["stop"]))},null,8,["label"])])]),key:"0"}:void 0]),1032,["is-clickable","color","onClick"])]),_:3},8,["color"]))}});const rf={class:"ao-project-phase"},cf={key:0,class:"ao-project-phase__drag ao-card__drag"},df={key:1,class:"ao-project-phase__col-phase"},uf={key:2,class:"ao-mapping-project-phase__col-phase"},pf={key:0,class:"ao-project-phase__col-milestones"},mf={class:"ao-project-phase__milestones-list-footer"},vf=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:n}=Ye();e.watch(()=>o.phase.milestones,(f,g)=>{Me(f,g)});const s=f=>{t("updatePhase",{id:o.phase.id,name:f})},r=f=>{t("updatePhase",{id:o.phase.id,deadline:f})},l=f=>{t("updatePhase",f)},i=e.computed(()=>o.phase.milestones.map(f=>Q0(f,o.closedStatus))),c=f=>{const{name:g,rank:N}=ot(i.value??[],"milestone",n);t("addMilestone",{name:g,rank:N,phaseId:f})},p=f=>{t("updateMilestone",f)},d=f=>{t("archiveMilestone",f)},u=f=>{t("unarchiveMilestone",f)},m=f=>{t("archivePhase",f)},v=f=>{t("unarchivePhase",f)},y=f=>{"added"in f?t("updateMilestone",{id:f.added.element.id,phaseId:o.phase.id,rank:pt(i.value,f.added.newIndex)}):"removed"in f||"moved"in f&&t("updateMilestone",{id:f.moved.element.id,rank:pt(i.value,f.moved.newIndex)})},C=Rt.useRoute(),h=e.computed(()=>C.path.includes("/mapping")),b=e.computed(()=>{var f;return o.phase.id!==((f=C.params)==null?void 0:f.phaseId)?{backgroundColor:"var(--ao-color-sheet)"}:o.phase.color?{backgroundColor:e3(o.phase.color)}:{backgroundColor:"var(--ao-color-primary-lightest)"}});return(f,g)=>(e.openBlock(),e.createElementBlock("li",rf,[e.createElementVNode("div",{class:"ao-project-phases__draggable-card",style:e.normalizeStyle(b.value)},[f.isEditable?(e.openBlock(),e.createElementBlock("div",cf,[e.createVNode(Q,{name:"DragIndicator",class:"ao-project-phase__drag-handle"})])):e.createCommentVNode("",!0),h.value?(e.openBlock(),e.createElementBlock("div",uf,[e.createVNode(lf,{id:f.phase.id,milestones:i.value,name:f.phase.name,deadline:f.phase.deadline,active:f.phase.active,"is-editable":f.isEditable,color:f.phase.color,"onUpdate:deadline":r,"onUpdate:title":s,onArchivePhase:m,onUnarchivePhase:v,onUpdatePhase:l},null,8,["id","milestones","name","deadline","active","is-editable","color"])])):(e.openBlock(),e.createElementBlock("div",df,[e.createVNode(Iv,{id:f.phase.id,milestones:i.value,name:f.phase.name,deadline:f.phase.deadline,active:f.phase.active,"is-editable":f.isEditable,color:f.phase.color,"onUpdate:deadline":r,"onUpdate:title":s,onArchivePhase:m,onUnarchivePhase:v,onUpdatePhase:l},null,8,["id","milestones","name","deadline","active","is-editable","color"])]))],4),h.value?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",pf,[e.createElementVNode("div",{class:"ao-project-phase__milestones",style:e.normalizeStyle(b.value)},[e.createVNode(e.unref(xe),e.mergeProps({class:"ao-project-phase__milestones-list",list:i.value,disabled:f.readonly||!f.isEditable,"item-key":"id",group:"kanban"},f.$attrs,{onChange:y}),{item:e.withCtx(({element:N})=>{var B;return[e.createVNode(Gv,{id:N.id,name:N.name,color:N.color,"phase-color":f.phase.color,activities:N.activities,deadline:N.deadline,active:N.active,"is-editable":!f.readonly&&f.isEditable,"is-draggable":!f.readonly&&f.isEditable,"closed-status":f.closedStatus,"is-selected":N.id===((B=f.$route.params)==null?void 0:B.milestoneId),assignee:N.assignee,important:N.important,readonly:f.readonly,class:e.normalizeClass(["ao-project-phase__milestone"]),onClick:V=>!f.readonly&&f.$router.push({name:e.unref(oe).milestone,params:{phaseId:f.phase.id,milestoneId:N.id}}),onUpdateMilestone:p,onArchiveMilestone:d,onUnarchiveMilestone:u},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",mf,[f.isEditable?(e.openBlock(),e.createBlock(We,{key:0,label:f.$t("project.milestone.add"),class:"ao-project-phase__milestone-add","icon-name":"Add",onClick:g[0]||(g[0]=()=>c(f.phase.id))},null,8,["label"])):e.createCommentVNode("",!0)])],4)]))]))}});const ff={class:"ao-project__phases"},hf={key:0,class:"ao-project-phase__phases-list-footer"},Cf=e.createElementVNode("div",{class:"ao-project-phase__empty_drag"},null,-1),gf={class:"ao-project-phase__col-phase"},_f=e.createElementVNode("div",{class:"ao-project-phase__col-milestones"},null,-1),ko=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,v)=>{Me(m,v)});const n=m=>{t("addMilestone",m)},s=m=>{t("updateMilestone",m)},r=m=>{t("archiveMilestone",m)},l=m=>{t("unarchiveMilestone",m)},i=m=>{t("archivePhase",m)},c=m=>{t("unarchivePhase",m)},p=m=>{if(m.moved){const v=zt(m,o.phases??[]);t("updatePhase",{id:m.moved.element.id,rank:v})}},d=m=>{t("updatePhase",m)},u=m=>{t("addPhase",m)};return(m,v)=>(e.openBlock(),e.createElementBlock("div",ff,[e.createVNode(e.unref(xe),{class:"ao-project-phase__phases-list","model-value":m.phases,"item-key":"id",handle:".ao-card__drag",onChange:p},{item:e.withCtx(({element:y})=>[e.createVNode(vf,{phase:y,"is-editable":!m.readonly&&m.isEditable,"closed-status":m.closedStatus,users:m.users,readonly:m.readonly,onAddMilestone:n,onUpdateMilestone:s,onArchiveMilestone:r,onUnarchiveMilestone:l,onUpdatePhase:d,onArchivePhase:i,onUnarchivePhase:c},null,8,["phase","is-editable","closed-status","users","readonly"])]),_:1},8,["model-value"]),m.isEditable?(e.openBlock(),e.createElementBlock("div",hf,[Cf,e.createElementVNode("div",gf,[e.createVNode(We,{label:m.$t("project.phases.add"),"icon-name":"Add",class:"ao-project-phase__add-phase",onClick:u},null,8,["label"])]),_f])):e.createCommentVNode("",!0)]))}});const yf=["onSubmit"],bf={class:"ao-add-template-modal__form-body"},kf={class:"field__row"},wf={class:"ao-add-template-modal__form-footer"},jn=e.defineComponent({__name:"AoAddTemplateModal",props:{projectId:{},templates:{}},emits:["apply"],setup(a,{emit:t}){const o=a,n=e.computed(()=>o.templates.map(i=>({value:i.id,label:i.name}))),s=e.ref(null),r=i=>{s.value=i},l=()=>{s.value&&t("apply",s.value,o.projectId)};return(i,c)=>(e.openBlock(),e.createBlock(ya,{size:"sm"},{header:e.withCtx(()=>[e.createVNode(ne,{title:i.$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(l,["prevent"])},[e.createElementVNode("p",null,e.toDisplayString(i.$t("project.template.apply.notice")),1),e.createElementVNode("div",bf,[e.createElementVNode("div",kf,[e.createVNode(re,{value:s.value,options:n.value,detached:!0,onChange:r},null,8,["value","options"])])]),e.createElementVNode("footer",wf,[e.createVNode(K,{label:i.$t("project.template.apply.label"),type:"submit",color:"primary",variant:"solid",onClick:l},null,8,["label"])])],40,yf)]),_:1}))}});const $f=["onSubmit"],Ef={class:"ao-save-template-modal__form-body"},Bf={class:"field__row"},Vf={class:"ao-field ao-field--inline"},Nf={class:"ao-field__label"},Sf={class:"ao-save-template-modal__phases"},Mf={class:"ao-field__label"},Af={class:"ao-save-template-modal__phases-list"},Tf=["value"],Of={class:"ao-save-template-modal__form-footer"},Fn=e.defineComponent({__name:"AoSaveTemplateModal",props:{phases:{}},emits:["save"],setup(a,{emit:t}){const o=a,n=e.ref(""),s=e.ref([]);e.onMounted(()=>{s.value=o.phases.map(l=>l.id)});const r=()=>{n.value&&t("save",n.value,s.value)};return(l,i)=>(e.openBlock(),e.createBlock(ya,{size:"sm"},{header:e.withCtx(()=>[e.createVNode(ne,{title:l.$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(r,["prevent"])},[e.createElementVNode("div",Ef,[e.createElementVNode("div",Bf,[e.createElementVNode("label",Vf,[e.createElementVNode("span",Nf,e.toDisplayString(l.$t("project.template.name.label"))+": ",1),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":i[0]||(i[0]=c=>n.value=c),type:"text"},null,512),[[e.vModelText,n.value]])])]),e.createElementVNode("div",Sf,[e.createElementVNode("div",Mf,e.toDisplayString(l.$t("project.template.phases.label")),1),e.createElementVNode("div",Af,[(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":i[1]||(i[1]=p=>s.value=p)},null,8,Tf),[[e.vModelCheckbox,s.value]]),e.createElementVNode("span",null,e.toDisplayString(c.name),1)]))),128))])])]),e.createElementVNode("footer",Of,[e.createVNode(K,{label:l.$t("project.template.save.label"),type:"submit",color:"primary",variant:"solid",onClick:r},null,8,["label"])])],40,$f)]),_:1}))}});const If=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)}}});const Lf={class:"tabbar-wrapper"},Df=["onClick"];function Pf(a,t,o,n,s,r){return e.openBlock(),e.createElementBlock("div",Lf,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.tabs,l=>(e.openBlock(),e.createElementBlock("button",{key:l.value,class:e.normalizeClass(["tab-button",{"tab-button--active":l.value===a.modelValue}]),type:"button",onClick:i=>a.selectTab(l.value)},e.toDisplayString(l.label),11,Df))),128))])}const wo=I(If,[["render",Pf],["__scopeId","data-v-ff4e3297"]]),Hf={class:"ao-project"},Rf={class:"ao-project__body"},jf=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:n}=Ye(),s=e.computed(()=>o.phases.flatMap($=>$.milestones)),r=()=>{const{name:$,rank:k}=ot(o.phases,"phase",n);t("addPhase",{name:$,rank:k,projectId:o.project.id})},l=$=>{t("updatePhase",$)},i=$=>{t("archivePhase",$)},c=$=>{t("unarchivePhase",$)},p=$=>{t("copyPhaseToTemplate",$)},d=$=>{t("addMilestone",$)},u=$=>{t("updateMilestone",$)},m=$=>{t("archiveMilestone",$)},v=$=>{t("unarchiveMilestone",$)},y=$=>{t("addActivity",$)},C=$=>{t("update:activity",$)},h=$=>{t("archiveActivity",$)},b=$=>{t("unarchiveActivity",$)},f=$=>{t("addSubtask",$)},g=$=>{t("updateSubtask",$)},N=$=>{t("deleteSubtask",$)},B=e.computed(()=>s.value.flatMap($=>$.activities)),V=$=>{t("addFiles",$)},L=$=>{t("removeFile",$)},P=$=>{t("addComment",$)},R=$=>{t("updateComment",$)},F=$=>{t("removeComment",$)},z=e.ref(!1),T=e.ref(!1),j=($,k)=>{t("applyTemplate",{templateId:$,projectId:k}),z.value=!1},Y=($,k)=>{var M;const O=(M=o.templates)==null?void 0:M.at(-1),_=O?se.LexoRank.parse(O.rank).genNext():se.LexoRank.middle();t("saveTemplate",{templateName:$,rank:_.format(),phaseIds:k}),T.value=!1},Z=Rt.useRouter(),U=e.ref("overview"),E=[{label:"Overview",value:"overview"},{label:"Feed",value:"feed"},{label:"Mapping",value:"mapping"}];return e.watch(U,$=>{$==="feed"?(Z.push({name:oe.feed}),console.log("Navigating to feed...")):$==="overview"?(Z.push({name:oe.project}),console.log("Navigating to feed...")):$==="mapping"&&(Z.push({name:oe.mapping}),console.log("Navigating to feed..."))}),($,k)=>{const O=e.resolveComponent("RouterView");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",e.mergeProps({class:"ao-project-overview"},$.$attrs),[e.createElementVNode("div",Hf,[e.createVNode(Zt,null,{primary:e.withCtx(()=>[e.createVNode(wo,{tabs:E,modelValue:U.value,"onUpdate:modelValue":k[0]||(k[0]=_=>U.value=_)},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:k[1]||(k[1]=_=>$.$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:k[2]||(k[2]=_=>T.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:k[3]||(k[3]=_=>z.value=!0)},null,8,["label"])):e.createCommentVNode("",!0)]),_:1}),e.createElementVNode("div",Rf,[e.createVNode(ko,{phases:$.phases,"closed-status":$.closedStatus,"is-editable":$.isEditable===!0,users:$.users,onAddMilestone:d,onUpdateMilestone:u,onArchiveMilestone:m,onUnarchiveMilestone:v,onAddPhase:r,onUpdatePhase:l,onArchivePhase:i,onUnarchivePhase:c,onCopyPhaseToTemplate:p},null,8,["phases","closed-status","is-editable","users"])])]),e.createVNode(O,{class:"ao-project__sidebar",phases:$.phases,"project-id":$.project.id,"project-name":$.project.name,users:$.users,"is-editable":$.isEditable===!0,"closed-status":$.closedStatus,onClose:k[4]||(k[4]=_=>$.$router.push({name:e.unref(oe).project})),onUpdateMilestone:u,onAddActivity:y,onUpdateActivity:C,onArchiveActivity:h,onUnarchiveActivity:b},null,8,["phases","project-id","project-name","users","is-editable","closed-status"]),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.createVNode(O,{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":C,onAddSubtask:f,onUpdateSubtask:g,onDeleteSubtask:N,onAddFiles:V,onRemoveFile:L,onAddComment:P,onUpdateComment:R,onRemoveComment:F},{default:e.withCtx(({Component:_})=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(_),null,{default:e.withCtx(M=>[e.renderSlot($.$slots,"activityDetailsBody",e.normalizeProps(e.guardReactiveProps(M)))]),_: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"},[T.value?(e.openBlock(),e.createBlock(Fn,{key:0,phases:$.phases,onClose:k[5]||(k[5]=_=>T.value=!1),onSave:Y},null,8,["phases"])):e.createCommentVNode("",!0),z.value?(e.openBlock(),e.createBlock(jn,{key:1,"project-id":$.project.id,templates:$.templates,onClose:k[6]||(k[6]=_=>z.value=!1),onApply:j},null,8,["project-id","templates"])):e.createCommentVNode("",!0)]))],64)}}});const Ff={class:"ao-card-feed__header"},Uf={key:1,class:"ao-card-feed__header-secondary ao-card-feed__header-icons"},zf={key:2,class:"ao-card-feed__header-secondary ao-card-feed__secondary"},Zf={class:"ao-card-feed__body"},xf={key:0,class:"ao-card-feed__breadcrumbs"},Wf={class:e.normalizeClass(["ao-card-feed__title-group"])},qf={class:"ao-card-feed__title-line"},Yf={key:0,class:"ao-card-feed__slug"},Kf={key:1,class:"ao-card-feed__deadline"},Gf={class:"ao-card-feed__footer"},Xf={class:"ao-card-feed__footer-row"},Qf={class:"ao-assignees"},Jf={key:0,class:"ao-assignee"},eh={key:0,class:"ao-card-feed__subitems"},th={key:0,class:"ao-card-feed__subitem"},ah={class:"ao-card-feed__subitem"},oh={key:1,class:"ao-card-feed__subitem"},nh={class:"ao-card-feed__subitem"},sh={class:"ao-card-feed__footer-row"},lh={key:0,class:"ao-card-feed__progress-wrapper"},rh={class:"ao-card-feed__subitem"},ih={class:"ao-card-feed__subitem"},$o=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,n=e.computed(()=>o.tagType==="milestone"?o.milestoneName:o.projectName),s=e.computed(()=>o.tagType==="milestone"?o.milestoneColor:o.projectColor),r=v=>{t("updateActivity",{id:o.id,name:v})},l=e.computed(()=>o.tagType==="milestone"&&o.phaseName?`${o.phaseName}`:o.phaseName&&o.milestoneName?`${o.phaseName} / ${o.milestoneName}`:""),i=e.computed(()=>o.assignee?[o.assignee]:[]),c=e.computed(()=>_a(o.deadline)),p=v=>{t("removeAssignee",v)},d=e.computed(()=>{var v;return(v=o.tasks)==null?void 0:v.length}),u=e.computed(()=>{var v;return(v=o.tasks)==null?void 0:v.filter(y=>y.isDone).length}),m=e.computed(()=>(u.value||0)/(d.value||1));return(v,y)=>(e.openBlock(),e.createBlock(Va,{class:e.normalizeClass(["ao-card-feed",{"ao-card-feed--closed":v.isClosed}]),"is-clickable":!0},{header:e.withCtx(()=>[e.createElementVNode("div",Ff,[n.value?(e.openBlock(),e.createBlock(Tt,{key:0,label:n.value,class:"ao-card-feed__project",variant:"solid",color:v.projectColor?void 0:"primary","raw-color":s.value},null,8,["label","color","raw-color"])):e.createCommentVNode("",!0),v.isPrivate||v.important||v.isClosed?(e.openBlock(),e.createElementBlock("div",Uf,[v.isPrivate?(e.openBlock(),e.createBlock(Q,{key:0,name:"Lock",class:"ao-card-feed__warning",size:"sm"})):e.createCommentVNode("",!0),v.important?(e.openBlock(),e.createBlock(Q,{key:1,name:"FlagRounded",class:"ao-card-feed__important",size:"sm"})):e.createCommentVNode("",!0),v.isClosed?(e.openBlock(),e.createBlock(Q,{key:2,name:"CheckSmallRounded",class:"ao-card-feed__closed"})):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),v.$slots.secondary?(e.openBlock(),e.createElementBlock("div",zf,[e.renderSlot(v.$slots,"secondary")])):e.createCommentVNode("",!0)])]),default:e.withCtx(()=>[e.createElementVNode("div",Zf,[l.value?(e.openBlock(),e.createElementBlock("span",xf,e.toDisplayString(l.value),1)):e.createCommentVNode("",!0),e.createElementVNode("div",Wf,[e.createElementVNode("div",qf,[v.slug?(e.openBlock(),e.createElementBlock("span",Yf,e.toDisplayString(v.slug)+": ",1)):e.createCommentVNode("",!0),e.createVNode(ne,{id:v.id,title:v.name,level:5,"is-editable":v.isEditable,"onUpdate:title":r,class:"ao-card-feed__title-inline"},null,8,["id","title","is-editable"])])]),v.deadline?(e.openBlock(),e.createElementBlock("span",Kf,e.toDisplayString(c.value),1)):e.createCommentVNode("",!0)])]),footer:e.withCtx(()=>[e.createElementVNode("div",Gf,[e.createElementVNode("div",Xf,[e.createElementVNode("ul",Qf,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.value,C=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:C.id},[C?(e.openBlock(),e.createElementBlock("li",Jf,[e.createVNode(ke,{"user-name":e.unref(bn)(C),"avatar-url":C.avatarUrl,"is-closable":!0,onClose:()=>p(C.id)},null,8,["user-name","avatar-url","onClose"])])):e.createCommentVNode("",!0)],64))),128))]),v.comments||v.attachments?(e.openBlock(),e.createElementBlock("ul",eh,[v.comments?(e.openBlock(),e.createElementBlock("li",th,[e.createVNode(Q,{name:"ChatOutline",size:"sm"}),e.createElementVNode("span",ah,e.toDisplayString(v.comments),1)])):e.createCommentVNode("",!0),v.attachments?(e.openBlock(),e.createElementBlock("li",oh,[e.createVNode(Q,{name:"AttachFileRounded",size:"sm"}),e.createElementVNode("span",nh,e.toDisplayString(v.attachments),1)])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)]),e.createElementVNode("div",sh,[v.tasks&&v.tasks.length?(e.openBlock(),e.createElementBlock("div",lh,[e.createElementVNode("div",rh,[e.createVNode(Q,{name:"SelectCheckBox",size:"sm"}),e.createElementVNode("span",ih,e.toDisplayString(u.value)+" / "+e.toDisplayString(d.value),1)]),e.createVNode(Na,{percentages:m.value,class:"ao-card-feed__progress"},null,8,["percentages"])])):e.createCommentVNode("",!0)])])]),_:3},8,["class"]))}});const ch={class:"ao-project-milestone"},dh={class:"ao-project-milestone__header"},uh={class:"ao-project-milestone__header_line"},ph={class:"ao-project-milestone__header_line"},mh={class:"ao-project-milestone__title"},vh={key:0,class:"ao-fieldset ao-milestone__fieldset"},fh={class:"ao-field__row ao-milestone__field-row"},hh={class:"ao-field ao-field--inline"},Ch={class:"ao-field__row ao-milestone__field-row"},gh={class:"ao-field ao-milestone__field-multiselect"},_h=["onClick"],yh={class:"ao-project-milestone__body"},bh={key:0,class:"ao-project-milestone__footer"},Qo=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:n}=Ye(),s=e.computed(()=>{var f;return(f=o.phases)==null?void 0:f.find(g=>g.id===o.phaseId)}),r=e.computed(()=>{var f;return(f=o.phases)==null?void 0:f.flatMap(g=>g.milestones)}),l=e.computed(()=>{var f;return(f=r.value)==null?void 0:f.find(g=>g.id===o.milestoneId)}),i=e.computed(()=>{var f;return(f=l.value)==null?void 0:f.activities});e.watch(i,(f,g)=>{Me(f,g)});const c=f=>{t("close",f)},p=()=>{const{name:f,rank:g}=ot(i.value??[],"activity",n);t("addActivity",{milestoneId:o.milestoneId,name:f,rank:g,projectId:o.projectId})},d=f=>{t("updateActivity",f)},u=f=>{i.value&&"moved"in f&&t("updateActivity",{id:f.moved.element.id,rank:pt(i.value,f.moved.newIndex)})},m=e.computed({get:()=>{var f;return(f=l.value)==null?void 0:f.color},set:f=>{l.value&&t("updateMilestone",{id:l.value.id,color:f})}}),v=e.computed({get:()=>{var f;return((f=l==null?void 0:l.value)==null?void 0:f.deadline)??""},set:f=>{l.value&&t("updateMilestone",{id:l.value.id,deadline:f!=null&&f.length?f:null})}}),y=f=>o.closedStatus?Qa(f,o.closedStatus):!1,C=e.computed(()=>{var f;return((f=o.users)==null?void 0:f.map(g=>({label:`${g.firstName} ${g.lastName}`,value:g.id,avatar:g.avatarUrl})))||[]}),h=e.computed({get(){var f,g;return(g=(f=l.value)==null?void 0:f.assignee)!=null&&g.id?[l.value.assignee.id]:[]},set(f){t("updateMilestone",{id:o.milestoneId,assigneeId:f[0]??null})}}),b=e.computed({get(){var f;return((f=l.value)==null?void 0:f.important)??!1},set(f){t("updateMilestone",{id:o.milestoneId,important:f})}});return(f,g)=>{var N;return e.openBlock(),e.createElementBlock("div",ch,[e.createElementVNode("header",dh,[e.createElementVNode("div",uh,[e.createVNode(K,{"icon-name":"CloseRounded",variant:"ghost",size:"sm",class:"ao-milestone__close",onClick:c})]),e.createElementVNode("div",ph,[e.createElementVNode("div",mh,[e.createVNode(ne,{title:((N=l.value)==null?void 0:N.name)||f.milestoneId,level:5},null,8,["title"]),e.createVNode(qa,{modelValue:b.value,"onUpdate:modelValue":g[0]||(g[0]=B=>b.value=B),modelModifiers:{lazy:!0},disabled:!f.isEditable,class:"ao-milestone__important",color:"danger",label:f.$t("activity.important.label"),"icon-name":"FlagRounded",variant:"ghost",size:"sm"},null,8,["modelValue","disabled","label"])])]),l.value?(e.openBlock(),e.createElementBlock("div",vh,[e.createElementVNode("div",fh,[e.createElementVNode("label",hh,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":g[1]||(g[1]=B=>v.value=B),class:"ao-milestone__field ao-milestone__date-field",type:"date"},null,512),[[e.vModelText,v.value,void 0,{lazy:!0}]])])]),e.createElementVNode("div",Ch,[e.createElementVNode("label",gh,[e.createVNode(re,{modelValue:h.value,"onUpdate:modelValue":g[2]||(g[2]=B=>h.value=B),options:C.value,"close-on-select":!0,searchable:!0,max:1,class:"ao-milestone__field ao-milestone__multiselect",placeholder:f.$t("activity.filters.assignee.placeholder"),mode:"tags",disabled:!f.isEditable,caret:f.isEditable},{tag:e.withCtx(({option:B,handleTagRemove:V})=>[e.createVNode(ke,{"user-name":B.label,"avatar-url":B.avatar,"is-closable":!0,onClose:L=>V(B,L)},null,8,["user-name","avatar-url","onClose"])]),_:1},8,["modelValue","options","placeholder","disabled","caret"])])]),e.createVNode(bo,{color:m.value,"onUpdate:color":g[3]||(g[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,_h)]),_:1},8,["color"])])):e.createCommentVNode("",!0)]),e.createElementVNode("div",yh,[e.createVNode(e.unref(xe),e.mergeProps({class:"ao-project-milestone__activities",list:i.value,disabled:!f.isEditable,"item-key":"id",group:"kanban"},f.$attrs,{onChange:u}),{item:e.withCtx(({element:B})=>{var V,L,P,R,F;return[e.createVNode($o,{id:B.id,name:B.name||B.id,"phase-name":(V=s.value)==null?void 0:V.name,"milestone-name":(L=l.value)==null?void 0:L.name,"milestone-color":(P=l.value)==null?void 0:P.color,deadline:B.deadline,important:B.important,users:f.users,assignee:B.assignee,slug:B.slug,comments:(R=B.comments)==null?void 0:R.length,attachments:(F=B.attachments)==null?void 0:F.length,tasks:B.tasks,"is-editable":f.isEditable,"is-private":B.private,"is-closed":y(B),onClick:z=>f.$router.push({name:e.unref(oe).activity,params:{milestoneId:f.milestoneId,activityId:B.id}}),onUpdateActivity:d,onRemoveAssignee:()=>d({id:B.id,assigneeId:null})},e.createSlots({_:2},[f.isEditable?{name:"secondary",fn:e.withCtx(()=>[f.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:f.$t("archive"),onClick:e.withModifiers(()=>f.$emit("archiveActivity",{id:B.id}),["stop"])},null,8,["label","onClick"])):e.createCommentVNode("",!0),f.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:f.$t("feed.activity.unarchive"),onClick:e.withModifiers(()=>f.$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"]),f.isEditable?(e.openBlock(),e.createElementBlock("div",bh,[e.createVNode(We,{"icon-name":"Add",label:f.$t("project.activity.add"),onClick:p},null,8,["label"])])):e.createCommentVNode("",!0)])])}}});const kh=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,n=e.computed(()=>{var h;return(h=o.phases)==null?void 0:h.find(b=>b.id===o.phaseId)}),s=e.computed(()=>{var h;return(h=o.phases)==null?void 0:h.flatMap(b=>b.milestones)}),r=e.computed(()=>{var h;return(h=s.value)==null?void 0:h.find(b=>b.id===o.milestoneId)}),l=e.computed(()=>{var h;return(h=o.activities)==null?void 0:h.find(b=>b.id===o.activityId)}),i=h=>{t("update:activity",h)},c=h=>{t("addSubtask",h)},p=h=>{t("updateSubtask",h)},d=h=>{t("deleteSubtask",h)},u=h=>{t("addFiles",h)},m=h=>{t("removeFile",h)},v=h=>{t("addComment",h)},y=h=>{t("updateComment",h)},C=h=>{t("removeComment",h)};return(h,b)=>{var f,g;return l.value?(e.openBlock(),e.createBlock(po,{key:0,activity:l.value,"activity-types":h.activityTypes,"milestone-id":h.milestoneId,"template-activities":h.activities,"is-template":!1,users:h.users,"user-id":h.userId,"is-task-checkable":h.isTaskCheckable,statuses:h.statuses,breadcrumbs:`${(f=n.value)==null?void 0:f.name} / ${(g=r.value)==null?void 0:g.name}`,"is-editable":h.isEditable,"attachment-enabled":h.attachmentEnabled,projects:[h.project],onClose:h.$router.back,"onUpdate:activity":i,onAddSubtask:c,onUpdateSubtask:p,onDeleteSubtask:d,onAddFiles:u,onRemoveFile:m,onAddComment:v,onUpdateComment:y,onRemoveComment:C},{default:e.withCtx(N=>[e.renderSlot(h.$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)}}}),wh={class:"ao-col-header"},$h=e.defineComponent({__name:"AoColHeader",props:{title:{},items:{}},setup(a){return(t,o)=>(e.openBlock(),e.createElementBlock("header",wh,[e.createVNode(ne,{title:t.title,class:"ao-col-header__title",level:4},null,8,["title"]),t.items?(e.openBlock(),e.createBlock(Tt,{key:0,label:t.items,class:"ao-col-header__items",variant:"solid",color:"primary"},null,8,["label"])):e.createCommentVNode("",!0)]))}});function Eh(a){return e.getCurrentScope()?(e.onScopeDispose(a),!0):!1}function ma(a){return typeof a=="function"?a():e.unref(a)}const Bh=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const Vh=a=>a!=null,At=()=>{};function Nh(a,t){function o(...n){return new Promise((s,r)=>{Promise.resolve(a(()=>t.apply(this,n),{fn:t,thisArg:this,args:n})).then(s).catch(r)})}return o}function Sh(a,t={}){let o,n,s=At;const r=i=>{clearTimeout(i),s(),s=At};return i=>{const c=ma(a),p=ma(t.maxWait);return o&&r(o),c<=0||p!==void 0&&p<=0?(n&&(r(n),n=null),Promise.resolve(i())):new Promise((d,u)=>{s=t.rejectOnCancel?u:d,p&&!n&&(n=setTimeout(()=>{o&&r(o),n=null,d(i())},p)),o=setTimeout(()=>{n&&r(n),n=null,d(i())},c)})}}function Mh(a,t=200,o={}){return Nh(Sh(t,o),a)}function Ua(a){var t;const o=ma(a);return(t=o==null?void 0:o.$el)!=null?t:o}const Ah=Bh?window:void 0;function Th(){const a=e.ref(!1),t=e.getCurrentInstance();return t&&e.onMounted(()=>{a.value=!0},t),a}function Oh(a){const t=Th();return e.computed(()=>(t.value,!!a()))}function Ih(a,t,o={}){const{root:n,rootMargin:s="0px",threshold:r=.1,window:l=Ah,immediate:i=!0}=o,c=Oh(()=>l&&"IntersectionObserver"in l),p=e.computed(()=>{const y=ma(a);return(Array.isArray(y)?y:[y]).map(Ua).filter(Vh)});let d=At;const u=e.ref(i),m=c.value?e.watch(()=>[p.value,Ua(n),u.value],([y,C])=>{if(d(),!u.value||!y.length)return;const h=new IntersectionObserver(t,{root:Ua(C),rootMargin:s,threshold:r});y.forEach(b=>b&&h.observe(b)),d=()=>{h.disconnect(),d=At}},{immediate:i,flush:"post"}):At,v=()=>{d(),m(),u.value=!1};return Eh(v),{isSupported:c,isActive:u,pause(){d(),u.value=!1},resume(){u.value=!0},stop:v}}const Lh={class:e.normalizeClass(["ao-list-kanban"])},Dh={class:"ao-list-kanban__header"},Ph={key:0,class:"ao-list-kanban__end ao-list-kanban__end--loading"},Hh={key:1,class:"ao-list-kanban__end"},Rh={key:0,class:"ao-list-kanban__no-more"},jh={key:1,class:"ao-list-kanban__divider"},Fh={key:1,class:"ao-list-kanban__footer"},Uh=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,n=e.ref(!1),s=e.ref(null);Ih(s,([{isIntersecting:d}])=>{n.value=d}),e.watch(n,d=>{d&&o.hasMore&&!o.isLoading&&t("loadMore")});const r=d=>{var u;return o.isEditable===!0?!0:o.userId&&o.isEditable==="only-own"?o.userId===((u=d.assignee)==null?void 0:u.id):!1},l=d=>{t("selectActivity",d)},i=d=>{t("updateActivity",d)},c=d=>{"added"in d?t("updateActivity",{id:d.added.element.id,statusId:o.status.id,rank:pt(o.list,d.added.newIndex)}):"removed"in d||"moved"in d&&t("updateActivity",{id:d.moved.element.id,rank:pt(o.list,d.moved.newIndex)})},p=e.ref(!1);return(d,u)=>(e.openBlock(),e.createElementBlock("div",Lh,[d.title||d.$slots.header?e.renderSlot(d.$slots,"header",{key:0},()=>{var m;return[e.createElementVNode("div",Dh,[d.title?(e.openBlock(),e.createBlock($h,{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(xe),e.mergeProps({class:["ao-list-kanban__list",p.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:u[0]||(u[0]=m=>p.value=!0),onEnd:u[1]||(u[1]=m=>p.value=!1),"component-data":{tag:"transition-group",name:"ao-list-kanban__transition"}}),{item:e.withCtx(({element:m})=>{var v,y,C,h,b,f,g,N,B;return[e.createVNode($o,{class:e.normalizeClass(r(m)?"ao-list-draggable":""),id:m.id,name:m.name,"project-name":(v=m.project)==null?void 0:v.name,"project-color":(y=m.project)==null?void 0:y.color,"phase-name":(h=(C=m.milestone)==null?void 0:C.phase)==null?void 0:h.name,"milestone-name":(b=m.milestone)==null?void 0:b.name,"milestone-color":(f=m.milestone)==null?void 0:f.color,deadline:m.deadline,rules:((g=m.rules)==null?void 0:g.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":r(m),"is-private":m.private,"tag-type":d.tagType,onUpdateActivity:[V=>r(m)&&i(V),()=>r(m)&&i],onClick:()=>l(m.id),onRemoveAssignee:()=>r(m)&&i({id:m.id,assigneeId:null})},{secondary:e.withCtx(()=>[r(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),r(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",Ph,[e.createVNode(Q,{name:"Loading"})])):d.hasMore?(e.openBlock(),e.createElementBlock("div",{key:2,ref_key:"scrollEnd",ref:s,class:"ao-list-kanban__end"},null,512)):(e.openBlock(),e.createElementBlock("div",Hh,[d.noMoreLabel?(e.openBlock(),e.createElementBlock("span",Rh,e.toDisplayString(d.noMoreLabel),1)):d.isEditable?(e.openBlock(),e.createElementBlock("span",jh)):e.createCommentVNode("",!0)]))]),_:1},16,["class","list","disabled"]),d.$slots.footer||d.footerLabel?(e.openBlock(),e.createElementBlock("div",Fh,[e.renderSlot(d.$slots,"footer",{},()=>[d.isEditable?(e.openBlock(),e.createBlock(We,{key:0,"icon-name":"AddBoxOutlineRounded",label:d.footerLabel,onClick:u[2]||(u[2]=m=>d.$emit("add"))},null,8,["label"])):e.createCommentVNode("",!0)])])):e.createCommentVNode("",!0)]))}});const zh={class:"ao-field ao-search-field"},Zh=["value","placeholder","onKeypress"],xh=e.defineComponent({__name:"AoSearchField",props:{modelValue:{},delay:{default:250},placeholder:{default:"Search"}},emits:["update:modelValue","clear"],setup(a,{emit:t}){const o=a,n=async l=>{const c=l.target.value;t("update:modelValue",c,l)},s=Mh(n,o.delay),r=l=>{t("clear",l)};return(l,i)=>(e.openBlock(),e.createElementBlock("div",zh,[e.createElementVNode("input",{value:l.modelValue,type:"text",class:"ao-field__input ao-search-field__input",placeholder:l.placeholder,onInput:i[0]||(i[0]=(...c)=>e.unref(s)&&e.unref(s)(...c)),onKeypress:e.withKeys(n,["enter"])},null,40,Zh),e.createVNode(Q,{name:"SearchRounded",class:e.normalizeClass(`ao-search-field__icon ao-search-field__action ${l.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 ${l.modelValue?"ao-search-field__action--visible":""}`),onClick:r},null,8,["class"])]))}});const Wh={class:"ao-feed"},qh={class:"ao-feed__filters"},Yh={class:"ao-feed__body"},Un=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:n}=Ye();function s(k,O){t("toast",k,O)}const r=e.toRef(o,"activities"),l=async(k,O)=>{await t("selectActivity",k,O)},i=e.ref({}),c=e.ref(!1),p=e.ref(!1),d=e.computed(()=>o.project?"milestone":"project");e.watch([()=>o.statuses,()=>o.activities,()=>o.initialActivityId,()=>o.initialActivitySlug],async([k,O,_,M],[q,x])=>{i.value=Object.fromEntries(k.map(D=>[D.id,O.filter(S=>{var H;return((H=S.status)==null?void 0:H.id)===D.id})])),_&&!c.value?(l(_,null),c.value=!0):M&&!c.value&&(l(null,M),c.value=!0),p.value&&Me(O,x)},{immediate:!0});const u=e.computed(()=>{var k;return!o.selectedActivity||!o.selectedActivity.milestone?"":`${((k=o.selectedActivity.milestone.phase)==null?void 0:k.name)??""} / ${o.selectedActivity.milestone.name??""}`}),m=k=>{var x,D;const O=(x=o.activities)==null?void 0:x.at(-1),_=O?se.LexoRank.parse(O.rank).genNext():se.LexoRank.middle(),M=((D=o.activities)==null?void 0:D.length)??0,q={name:n("activity.defaultName",{idx:M+1}),rank:_.format(),statusId:k.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]),p.value=!0,t("addActivity",q)},v=(k,O)=>{p.value=!1,t("update:filters",{...o.filters,[k]:O})},y=e.computed(()=>o.project?[o.project]:o.projects??[]),C=e.computed(()=>y.value.map(k=>({value:k.id,label:k.name}))),h=e.computed(()=>{var k;return(k=o.activityTypes)==null?void 0:k.map(O=>({value:O.id,label:O.name}))}),b=e.computed(()=>o.users.map(k=>({value:k.id,label:`${k.firstName} ${k.lastName}`,avatar:k.avatarUrl}))),f=k=>{o.selectedActivity&&t("update:activity",k)},g=k=>{t("update:activity",k)},N=k=>{t("archiveActivity",k)},B=k=>{t("unarchiveActivity",k)},V=k=>{p.value=!1,t("update:searchText",k)},L=k=>{p.value=!1,t("clear:searchText",k)},P=k=>{o.selectedActivity&&t("addSubtask",k)},R=k=>{o.selectedActivity&&t("updateSubtask",k)},F=k=>{o.selectedActivity&&t("deleteSubtask",k)},z=k=>{t("addFiles",k)},T=k=>{t("removeFile",k)},j=k=>{o.selectedActivity&&t("addComment",{...k,activityId:o.selectedActivity.id})},Y=k=>{const{id:O}=o.selectedActivity||{};O&&t("updateComment",k)},Z=k=>{const{id:O}=o.selectedActivity||{};O&&t("removeComment",k)},U=Rt.useRouter(),E=e.ref("feed"),$=[{label:"Overview",value:"overview"},{label:"Feed",value:"feed"},{label:"Mapping",value:"mapping"}];return e.watch(E,k=>{k==="feed"?(U.push({name:oe.feed}),console.log("Navigating to feed...")):k==="overview"?(U.push({name:oe.project}),console.log("Navigating to feed...")):k==="mapping"&&(U.push({name:oe.mapping}),console.log("Navigating to feed..."))}),(k,O)=>{var _;return e.openBlock(),e.createElementBlock("div",Wh,[e.createVNode(Zt,null,{primary:e.withCtx(()=>[e.createElementVNode("div",qh,[e.createVNode(wo,{tabs:$,modelValue:E.value,"onUpdate:modelValue":O[0]||(O[0]=M=>E.value=M)},null,8,["modelValue"]),e.createVNode(xh,{"model-value":k.searchText,placeholder:k.$t("feed.search.placeholder"),class:"ao-feed__search","onUpdate:modelValue":V,onClear:L},null,8,["model-value","placeholder"]),o.project?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(re,{key:0,"model-value":k.filters[e.unref(Je).project],mode:"tags",options:C.value,"close-on-select":!1,searchable:!0,class:"ao-feed__filter ao-feed__filter__projects",placeholder:k.$t("feed.filters.project.placeholder"),"onUpdate:modelValue":O[1]||(O[1]=M=>v(e.unref(Je).project,M))},null,8,["model-value","options","placeholder"])),h.value?(e.openBlock(),e.createBlock(re,{key:1,"model-value":k.filters[e.unref(Je).type],mode:"tags",options:h.value,"close-on-select":!1,searchable:!0,class:"ao-feed__filter ao-feed__filter__types",placeholder:k.$t("feed.filters.activityType.placeholder"),"onUpdate:modelValue":O[2]||(O[2]=M=>v(e.unref(Je).type,M))},null,8,["model-value","options","placeholder"])):e.createCommentVNode("",!0),b.value.length?(e.openBlock(),e.createBlock(re,{key:2,"model-value":k.filters[e.unref(Je).assignee],mode:"tags",options:b.value,"close-on-select":!1,searchable:!0,class:"ao-feed__filter ao-feed__filter__assignees",placeholder:k.$t("feed.filters.assignee.placeholder"),"onUpdate:modelValue":O[3]||(O[3]=M=>v(e.unref(Je).assignee,M))},{tag:e.withCtx(({option:M,handleTagRemove:q})=>[e.createVNode(ke,{"user-name":M.label,"avatar-url":M.avatar,"is-closable":!0,onClose:x=>q(M,x)},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":k.showsOnlyNonAssigned?"CheckBoxOutlineRounded":"CheckBoxOutlineBlank","icon-position":"start",color:"primary",variant:"ghost",label:k.$t("feed.filters.showsOnlyNonAssigned.label"),role:"checkbox","aria-checked":k.showsOnlyNonAssigned,onClick:O[4]||(O[4]=M=>k.$emit("update:showsOnlyNonAssigned",!k.showsOnlyNonAssigned))},null,8,["icon-name","label","aria-checked"]),e.createVNode(K,{class:"ao-feed__only-important",size:"sm","icon-name":k.showsOnlyImportant?"CheckBoxOutlineRounded":"CheckBoxOutlineBlank","icon-position":"start",color:"primary",variant:"ghost",label:k.$t("feed.filters.showsOnlyImportant.label"),role:"checkbox","aria-checked":k.showsOnlyImportant,onClick:O[5]||(O[5]=M=>k.$emit("update:showsOnlyImportant",!k.showsOnlyImportant))},null,8,["icon-name","label","aria-checked"]),e.createVNode(K,{class:"ao-feed__show-archived",size:"sm","icon-name":k.showsArchivedActivities?"CheckBoxOutlineRounded":"CheckBoxOutlineBlank","icon-position":"start",color:"primary",variant:"ghost",label:k.$t("feed.filters.showsArchivedActivities.label"),role:"checkbox","aria-checked":k.showsArchivedActivities,onClick:O[6]||(O[6]=M=>k.$emit("update:showsArchivedActivities",!k.showsArchivedActivities))},null,8,["icon-name","label","aria-checked"])]),_:1}),e.createElementVNode("div",Yh,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(k.statuses,M=>(e.openBlock(),e.createBlock(Uh,{key:M.id,status:M,list:i.value[M.id],title:M.name,"footer-label":k.$t("feed.activity.add"),users:k.users,"user-id":k.userId,"is-editable":k.isEditable,tagType:d.value,onAdd:()=>m(M),onSelectActivity:l,onArchiveActivity:N,onUnarchiveActivity:B,onUpdateActivity:g},null,8,["status","list","title","footer-label","users","user-id","is-editable","tagType","onAdd"]))),128))]),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[k.selectedActivity?(e.openBlock(),e.createBlock(po,{key:0,activity:k.selectedActivity,"activity-types":k.activityTypes,"milestone-id":(_=k.selectedActivity.milestone)==null?void 0:_.id,"template-activities":r.value,users:k.users,"user-id":k.userId,"is-task-checkable":k.isTaskCheckable,statuses:k.statuses,breadcrumbs:u.value,"is-editable":k.isEditable,"attachment-enabled":k.attachmentEnabled,projects:y.value,onClose:O[7]||(O[7]=()=>l(null,null)),"onUpdate:activity":f,onAddSubtask:P,onUpdateSubtask:R,onDeleteSubtask:F,onAddFiles:z,onRemoveFile:T,onAddComment:j,onUpdateComment:Y,onRemoveComment:Z,onToast:s},{default:e.withCtx(M=>[e.renderSlot(k.$slots,"activityDetailsBody",e.normalizeProps(e.guardReactiveProps(M)))]),_: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)]))])}}});const Kh={class:"ao-project-mapping"},Gh={class:"ao-project-mapping-mapping__body"},Xh={class:"ao-project-mapping-mapping__phases"},Qh={key:0,class:"ao-project-mapping-mapping__image-wrapper"},Jh=["src","alt"],e9=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:n}=Ye(),s=()=>{const{name:h,rank:b}=ot(o.phases,"phase",n);t("addPhase",{name:h,rank:b,projectId:o.project.id})},r=h=>{t("updatePhase",h)},l=h=>{t("archivePhase",h)},i=h=>{t("unarchivePhase",h)},c=h=>{t("copyPhaseToTemplate",h)},p=e.ref(!1),d=e.ref(!1),u=(h,b)=>{t("applyTemplate",{templateId:h,projectId:b}),p.value=!1},m=(h,b)=>{var N;const f=(N=o.templates)==null?void 0:N.at(-1),g=f?se.LexoRank.parse(f.rank).genNext():se.LexoRank.middle();t("saveTemplate",{templateName:h,rank:g.format(),phaseIds:b}),d.value=!1},v=Rt.useRouter(),y=e.ref("mapping"),C=[{label:"Overview",value:"overview"},{label:"Feed",value:"feed"},{label:"Mapping",value:"mapping"}];return e.watch(y,h=>{h==="feed"?(v.push({name:oe.feed}),console.log("Navigating to feed...")):h==="overview"?(v.push({name:oe.project}),console.log("Navigating to feed...")):h==="mapping"&&(v.push({name:oe.mapping}),console.log("Navigating to feed..."))}),(h,b)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",e.mergeProps({class:"ao-project-mapping-overview"},h.$attrs),[e.createElementVNode("div",Kh,[e.createVNode(Zt,null,{primary:e.withCtx(()=>[e.createVNode(wo,{tabs:C,modelValue:y.value,"onUpdate:modelValue":b[0]||(b[0]=f=>y.value=f)},null,8,["modelValue"]),e.createVNode(K,{class:"ao-feed__show-archived",size:"sm","icon-name":h.showsArchived?"CheckBoxOutlineRounded":"CheckBoxOutlineBlank","icon-position":"start",color:"primary",variant:"ghost",label:h.$t("feed.filters.showsArchived.label"),role:"checkbox","aria-checked":h.showsArchived,onClick:b[1]||(b[1]=f=>h.$emit("update:showsArchived",!h.showsArchived))},null,8,["icon-name","label","aria-checked"])]),secondary:e.withCtx(()=>[h.isEditable===!0?(e.openBlock(),e.createBlock(K,{key:0,class:"ao-project-mapping-overview__save-as-template",color:"primary",label:h.$t("project.template.save.label"),onClick:b[2]||(b[2]=f=>d.value=!0)},null,8,["label"])):e.createCommentVNode("",!0),h.isEditable===!0?(e.openBlock(),e.createBlock(K,{key:1,class:"ao-project-mapping-overview__add-template",color:"primary",label:h.$t("project.template.apply.label"),onClick:b[3]||(b[3]=f=>p.value=!0)},null,8,["label"])):e.createCommentVNode("",!0)]),_:1}),e.createElementVNode("div",Gh,[e.createElementVNode("div",Xh,[e.createVNode(ko,{phases:h.phases,"closed-status":h.closedStatus,"is-editable":h.isEditable===!0,users:h.users,onAddPhase:s,onUpdatePhase:r,onArchivePhase:l,onUnarchivePhase:i,onCopyPhaseToTemplate:c},null,8,["phases","closed-status","is-editable","users"])]),h.project.architectureImage?(e.openBlock(),e.createElementBlock("div",Qh,[e.createElementVNode("img",{class:"architecture-image",src:h.project.architectureImage.url,alt:e.unref(n)("architectureImage.alt")},null,8,Jh)])):e.createCommentVNode("",!0)])])],16),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[d.value?(e.openBlock(),e.createBlock(Fn,{key:0,phases:h.phases,onClose:b[4]||(b[4]=f=>d.value=!1),onSave:m},null,8,["phases"])):e.createCommentVNode("",!0),p.value?(e.openBlock(),e.createBlock(jn,{key:1,"project-id":h.project.id,templates:h.templates,onClose:b[5]||(b[5]=f=>p.value=!1),onApply:u},null,8,["project-id","templates"])):e.createCommentVNode("",!0)]))],64))}});const tt={TEMPLATES:"templates",TEMPLATE_DETAILS:"template_details",TEMPLATES_LIST:"templates_list"},t9=(a,t={})=>[{path:a,name:tt.TEMPLATES,redirect:{name:tt.TEMPLATES_LIST},...t,children:[{path:"",name:tt.TEMPLATES_LIST,component:zn},{path:":templateId/:phaseId?/:milestoneId?/:activityId?",name:tt.TEMPLATE_DETAILS,component:Rn,props:!0}]}],oe={project:"AoProject",feed:"AoProjectFeed",mapping:"AoProjectMapping",milestone:"AoMilestone",activity:"AoActivity"},a9=(a,t={})=>[{path:a,...t,redirect:{name:oe.project},children:[{path:"",name:oe.project,component:jf,props:!0,children:[{path:":phaseId/:milestoneId",name:oe.milestone,component:Qo,props:!0},{path:":phaseId/:milestoneId/:activityId",name:oe.activity,props:{default:!0,modal:!0},components:{default:Qo,modal:kh}}]},{path:"feed",name:oe.feed,component:Un,props:!0},{path:"mapping",name:oe.mapping,component:e9,props:!0}]}],o9={class:"ao-templates"},zn=e.defineComponent({__name:"AoTemplatesList",props:{templates:{}},emits:["addTemplate","updateTemplates","updateItem","removeItem"],setup(a,{emit:t}){const o=a,{t:n}=Ye();e.watch(()=>o.templates,(c,p)=>{Me(c,p)});const s=()=>{var m,v;const c=(m=o.templates)==null?void 0:m.at(-1),p=c?se.LexoRank.parse(c.rank).genNext():se.LexoRank.middle(),d=((v=o.templates)==null?void 0:v.length)??0,u={name:n("template.defaultName.template",{idx:d+1}),rank:p.format()};t("addTemplate",u)},r=(c,p)=>{t("updateItem",{itemType:ee.TEMPLATES,id:c,templateId:c,data:{name:p}})},l=(c,p)=>{t("removeItem",{itemType:ee.TEMPLATES,templateId:c,data:{id:c,...p?{name:p}:{}}})},i=c=>{if(c.moved){const p=zt(c,o.templates??[]);t("updateItem",{itemType:ee.TEMPLATES,id:c.moved.element.id,templateId:c.moved.element.id,data:{rank:p}})}};return(c,p)=>(e.openBlock(),e.createElementBlock("div",o9,[e.createVNode(Zt,null,{secondary:e.withCtx(()=>[e.createVNode(K,{label:c.$t("templates.new"),color:"primary","icon-name":"Add","icon-position":"start",onClick:s},null,8,["label"])]),_:1}),e.createVNode(e.unref(xe),{"model-value":c.templates,class:"ao-templates__list","item-key":"id",handle:".ao-card__drag",onChange:i},{item:e.withCtx(({element:d})=>{var u;return[e.createVNode($3,{id:d.id,title:d.name,phases:d.phases,milestones:(u=d.phases)!=null&&u.length?e.unref(Y0)(d.phases):0,activities:d.phases?e.unref(K0)(d.phases):0,"updated-at":d.updatedAt,"updated-by":d.updatedBy,onUpdateTitle:m=>r(d.id,m),onClick:m=>c.$router.push({name:e.unref(tt).TEMPLATE_DETAILS,params:{templateId:d.id}}),onDeleteItem:p[0]||(p[0]=(m,v)=>l(m,v))},null,8,["id","title","phases","milestones","activities","updated-at","updated-by","onUpdateTitle","onClick"])]}),_:1},8,["model-value"])]))}});const n9={class:"ao-field__label"},Zn=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",n9,e.toDisplayString(t.label),1),e.renderSlot(t.$slots,"default")],2))}}),s9=["type","value","disabled","readonly"],l9=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,n=e.computed(()=>o.modelModifiers.lazy?"change":"input"),s=r=>{o.modelModifiers.number&&(r=Number(r)),t("update:modelValue",r)};return(r,l)=>(e.openBlock(),e.createBlock(Zn,{label:r.label},{default:e.withCtx(()=>[e.createElementVNode("input",e.mergeProps({class:"ao-field__input",type:r.type,value:r.modelValue,disabled:r.isDisabled,readonly:r.isReadonly},{[e.toHandlerKey(n.value)]:l[0]||(l[0]=i=>s(i.target.value))}),null,16,s9)]),_:1},8,["label"]))}}),r9={class:"ao-field"},i9={class:"ao-field__label"},c9=["checked","disabled"],d9=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",r9,[e.createElementVNode("span",i9,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]=n=>{var s;return t.$emit("update:modelValue",((s=n.target)==null?void 0:s.checked)??!1)})},null,40,c9)]))}});exports.AoAvatar=ke;exports.AoCardFeed=$o;exports.AoCheckboxField=d9;exports.AoFeed=Un;exports.AoField=Zn;exports.AoInputField=l9;exports.AoMultiselect=re;exports.AoProjectPhases=ko;exports.AoTemplateDetails=Rn;exports.AoTemplates=is;exports.AoTemplatesList=zn;exports.TemplateItemTypeEnum=sn;exports.activityFeedStatus=c2;exports.durationTypes=i2;exports.feedFilterTypes=Je;exports.getProjectOverviewRoutes=a9;exports.getTemplateRoutes=t9;exports.listUpdateTypes=d2;exports.milestoneStatus=Ot;exports.projectOverviewRoutes=oe;exports.ruleComparators=an;exports.ruleDurationUnits=nn;exports.ruleTriggerTypes=on;exports.templateItemType=ee;exports.templateRouteNames=tt;
|
|
5
|
+
*/function Qe(a){let t={r:0,g:0,b:0,a:1};/#/.test(a)?t=ov(a):/rgb/.test(a)?t=Xo(a):typeof a=="string"?t=Xo(`rgba(${a})`):Object.prototype.toString.call(a)==="[object Object]"&&(t=a);const{r:o,g:n,b:s,a:r}=t,{h:l,s:i,v:c}=nv(t);return{r:o,g:n,b:s,a:r===void 0?1:r,h:l,s:i,v:c}}function mo(a){const t=document.createElement("canvas"),o=t.getContext("2d"),n=a*2;return t.width=n,t.height=n,o.fillStyle="#ffffff",o.fillRect(0,0,n,n),o.fillStyle="#ccd5db",o.fillRect(0,0,a,a),o.fillRect(a,a,a,a),t}function Ya(a,t,o,n,s,r){const l=a==="l",i=t.createLinearGradient(0,0,l?o:0,l?0:n);i.addColorStop(.01,s),i.addColorStop(.99,r),t.fillStyle=i,t.fillRect(0,0,o,n)}function av({r:a,g:t,b:o},n){const s=l=>("0"+Number(l).toString(16)).slice(-2),r=`#${s(a)}${s(t)}${s(o)}`;return n?r.toUpperCase():r}function ov(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 Xo(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 nv({r:a,g:t,b:o}){a=a/255,t=t/255,o=o/255;const n=Math.max(a,t,o),s=Math.min(a,t,o),r=n-s;let l=0;n===s?l=0:n===a?t>=o?l=60*(t-o)/r:l=60*(t-o)/r+360:n===t?l=60*(o-a)/r+120:n===o&&(l=60*(a-t)/r+240),l=Math.floor(l);let i=parseFloat((n===0?0:1-s/n).toFixed(2)),c=parseFloat(n.toFixed(2));return{h:l,s:i,v:c}}var vo=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),Ya("l",o,t,t,"#FFFFFF","rgba(255,255,255,0)"),Ya("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(),n=a.target.getContext("2d"),s=l=>{let i=l.clientX-o,c=l.clientY-t;i<0&&(i=0),c<0&&(c=0),i>this.size&&(i=this.size),c>this.size&&(c=this.size),this.slideSaturationStyle={left:i-5+"px",top:c-5+"px"};const p=n.getImageData(Math.min(i,this.size-1),Math.min(c,this.size-1),1,1),[d,u,m]=p.data;this.$emit("selectSaturation",{r:d,g:u,b:m})};s(a);const r=()=>{document.removeEventListener("mousemove",s),document.removeEventListener("mouseup",r)};document.addEventListener("mousemove",s),document.addEventListener("mouseup",r)}}});const sv={ref:"canvasSaturation"};function lv(a,t,o,n,s,r){return e.openBlock(),e.createBlock("div",{class:"saturation",onMousedown:t[1]||(t[1]=e.withModifiers((...l)=>a.selectSaturation&&a.selectSaturation(...l),["prevent","stop"]))},[e.createVNode("canvas",sv,null,512),e.createVNode("div",{style:a.slideSaturationStyle,class:"slide"},null,4)],32)}vo.render=lv;vo.__file="src/color/Saturation.vue";var fo=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,n=a.getContext("2d");a.width=t,a.height=o;const s=n.createLinearGradient(0,0,0,o);s.addColorStop(0,"#FF0000"),s.addColorStop(.17*1,"#FF00FF"),s.addColorStop(.17*2,"#0000FF"),s.addColorStop(.17*3,"#00FFFF"),s.addColorStop(.17*4,"#00FF00"),s.addColorStop(.17*5,"#FFFF00"),s.addColorStop(1,"#FF0000"),n.fillStyle=s,n.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"),n=r=>{let l=r.clientY-t;l<0&&(l=0),l>this.height&&(l=this.height),this.slideHueStyle={top:l-2+"px"};const i=o.getImageData(0,Math.min(l,this.height-1),1,1),[c,p,d]=i.data;this.$emit("selectHue",{r:c,g:p,b:d})};n(a);const s=()=>{document.removeEventListener("mousemove",n),document.removeEventListener("mouseup",s)};document.addEventListener("mousemove",n),document.addEventListener("mouseup",s)}}});const rv={ref:"canvasHue"};function iv(a,t,o,n,s,r){return e.openBlock(),e.createBlock("div",{class:"hue",onMousedown:t[1]||(t[1]=e.withModifiers((...l)=>a.selectHue&&a.selectHue(...l),["prevent","stop"]))},[e.createVNode("canvas",rv,null,512),e.createVNode("div",{style:a.slideHueStyle,class:"slide"},null,4)],32)}fo.render=iv;fo.__file="src/color/Hue.vue";var ho=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,n=this.alphaSize,s=mo(n),r=a.getContext("2d");a.width=t,a.height=o,r.fillStyle=r.createPattern(s,"repeat"),r.fillRect(0,0,t,o),Ya("p",r,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=s=>{let r=s.clientY-t;r<0&&(r=0),r>this.height&&(r=this.height);let l=parseFloat((r/this.height).toFixed(2));this.$emit("selectAlpha",l)};o(a);const n=()=>{document.removeEventListener("mousemove",o),document.removeEventListener("mouseup",n)};document.addEventListener("mousemove",o),document.addEventListener("mouseup",n)}}});const cv={ref:"canvasAlpha"};function dv(a,t,o,n,s,r){return e.openBlock(),e.createBlock("div",{class:"color-alpha",onMousedown:t[1]||(t[1]=e.withModifiers((...l)=>a.selectAlpha&&a.selectAlpha(...l),["prevent","stop"]))},[e.createVNode("canvas",cv,null,512),e.createVNode("div",{style:a.slideAlphaStyle,class:"slide"},null,4)],32)}ho.render=dv;ho.__file="src/color/Alpha.vue";var Co=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,n=this.alphaSize,s=mo(n),r=a.getContext("2d");a.width=t,a.height=o,r.fillStyle=r.createPattern(s,"repeat"),r.fillRect(0,0,t,o),r.fillStyle=this.color,r.fillRect(0,0,t,o)}}});function uv(a,t,o,n,s,r){return e.openBlock(),e.createBlock("canvas")}Co.render=uv;Co.__file="src/color/Preview.vue";var go=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:n,left:s,width:r,height:l}=this.suckerCanvas.getBoundingClientRect(),i=t-s,c=o-n,d=this.suckerCanvas.getContext("2d").getImageData(Math.min(i,r-1),Math.min(c,l-1),1,1);let[u,m,v,y]=d.data;y=parseFloat((y/255).toFixed(2));const C=this.suckerPreview.style;Object.assign(C,{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(${u}, ${m}, ${v}, ${y})`,zIndex:95}),this.suckerArea.length&&t>=this.suckerArea[0]&&o>=this.suckerArea[1]&&t<=this.suckerArea[2]&&o<=this.suckerArea[3]?C.display="":C.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:n}=t,{top:s,left:r,width:l,height:i}=a.getBoundingClientRect(),c=o-r,p=n-s,u=a.getContext("2d").getImageData(Math.min(c,l-1),Math.min(p,i-1),1,1);let[m,v,y,C]=u.data;C=parseFloat((C/255).toFixed(2)),this.$emit("selectSucker",{r:m,g:v,b:y,a:C})}))}}});const pv=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),mv={key:1,class:"sucker",viewBox:"-16 -16 68 68",xmlns:"http://www.w3.org/2000/svg",stroke:"#9099a4"},vv=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 fv(a,t,o,n,s,r){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]=(...l)=>a.openSucker&&a.openSucker(...l))},[pv],2)),a.isSucking?(e.openBlock(),e.createBlock("svg",mv,[vv])):e.createCommentVNode("v-if",!0)])}go.render=fv;go.__file="src/color/Sucker.vue";var _o=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(r){t("inputColor",r)}}),handleFocus:r=>{t("inputFocus",r)},handleBlur:r=>{t("inputBlur",r)}}}});const hv={class:"color-type"},Cv={class:"name"};function gv(a,t,o,n,s,r){return e.openBlock(),e.createBlock("div",hv,[e.createVNode("span",Cv,e.toDisplayString(a.name),1),e.withDirectives(e.createVNode("input",{"onUpdate:modelValue":t[1]||(t[1]=l=>a.modelColor=l),class:"value",onFocus:t[2]||(t[2]=(...l)=>a.handleFocus&&a.handleFocus(...l)),onBlur:t[3]||(t[3]=(...l)=>a.handleBlur&&a.handleBlur(...l))},null,544),[[e.vModelText,a.modelColor]])])}_o.render=gv;_o.__file="src/color/Box.vue";var yo=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(),n=e.ref([]),s=e.ref();a.colorsHistoryKey&&localStorage&&(n.value=JSON.parse(localStorage.getItem(a.colorsHistoryKey))||[]),s.value=mo(4).toDataURL(),e.onUnmounted(()=>{r(o.value)});function r(i){if(!i)return;const c=n.value||[],p=c.indexOf(i);p>=0&&c.splice(p,1),c.length>=8&&(c.length=7),c.unshift(i),n.value=c||[],localStorage&&a.colorsHistoryKey&&localStorage.setItem(a.colorsHistoryKey,JSON.stringify(c))}function l(i){t("selectColor",i)}return{setColorsHistory:r,colorsHistory:n,color:o,imgAlphaBase64:s,selectColor:l}}});const _v={class:"colors"},yv={key:0,class:"colors history"};function bv(a,t,o,n,s,r){return e.openBlock(),e.createBlock("div",null,[e.createVNode("ul",_v,[(e.openBlock(!0),e.createBlock(e.Fragment,null,e.renderList(a.colorsDefault,l=>(e.openBlock(),e.createBlock("li",{key:l,class:"item",onClick:i=>a.selectColor(l)},[e.createVNode("div",{style:{background:`url(${a.imgAlphaBase64})`},class:"alpha"},null,4),e.createVNode("div",{style:{background:l},class:"color"},null,4)],8,["onClick"]))),128))]),a.colorsHistory.length?(e.openBlock(),e.createBlock("ul",yv,[(e.openBlock(!0),e.createBlock(e.Fragment,null,e.renderList(a.colorsHistory,l=>(e.openBlock(),e.createBlock("li",{key:l,class:"item",onClick:i=>a.selectColor(l)},[e.createVNode("div",{style:{background:`url(${a.imgAlphaBase64})`},class:"alpha"},null,4),e.createVNode("div",{style:{background:l},class:"color"},null,4)],8,["onClick"]))),128))])):e.createCommentVNode("v-if",!0)])}yo.render=bv;yo.__file="src/color/Colors.vue";var ut=e.defineComponent({components:{Saturation:vo,Hue:fo,Alpha:ho,Preview:Co,Sucker:go,Box:_o,Colors:yo},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 av(this.rgba,!0)}},created(){Object.assign(this,Qe(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:n,h:s,s:r,v:l}=Qe(a);Object.assign(this,{r:t,g:o,b:n,h:s,s:r,v:l}),this.setText()},handleFocus(a){this.$emit("inputFocus",a)},handleBlur(a){this.$emit("inputBlur",a)},selectHue(a){const{r:t,g:o,b:n,h:s,s:r,v:l}=Qe(a);Object.assign(this,{r:t,g:o,b:n,h:s,s:r,v:l}),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:n,a:s,h:r,s:l,v:i}=Qe(a);Object.assign(this,{r:t,g:o,b:n,a:s,h:r,s:l,v:i}),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:n,a:s,h:r,s:l,v:i}=Qe(a);Object.assign(this,{r:t,g:o,b:n,a:s,h:r,s:l,v:i}),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:n,a:s,h:r,s:l,v:i}=Qe(a);Object.assign(this,{r:t,g:o,b:n,a:s,h:r,s:l,v:i}),this.setText(),this.$nextTick(()=>{this.$refs.saturation.renderColor(),this.$refs.saturation.renderSlide(),this.$refs.hue.renderSlide()})},selectColor(a){const{r:t,g:o,b:n,a:s,h:r,s:l,v:i}=Qe(a);Object.assign(this,{r:t,g:o,b:n,a:s,h:r,s:l,v:i}),this.setText(),this.$nextTick(()=>{this.$refs.saturation.renderColor(),this.$refs.saturation.renderSlide(),this.$refs.hue.renderSlide()})}}});const kv={class:"color-set"};function wv(a,t,o,n,s,r){const l=e.resolveComponent("Saturation"),i=e.resolveComponent("Hue"),c=e.resolveComponent("Alpha"),p=e.resolveComponent("Preview"),d=e.resolveComponent("Sucker"),u=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",kv,[e.createVNode(l,{ref:"saturation",color:a.rgbString,hsv:a.hsv,size:a.hueHeight,onSelectSaturation:a.selectSaturation},null,8,["color","hsv","size","onSelectSaturation"]),e.createVNode(i,{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(p,{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(u,{name:"HEX",color:a.modelHex,onInputColor:a.inputHex,onInputFocus:a.handleFocus,onInputBlur:a.handleBlur},null,8,["color","onInputColor","onInputFocus","onInputBlur"]),e.createVNode(u,{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)}ut.render=wv;ut.__file="src/color/ColorPicker.vue";ut.install=a=>{a.component(ut.name,ut)};const $v={class:"color-picker-wrapper"},bo=e.defineComponent({__name:"AoColorPicker",props:{color:{}},emits:["update:color"],setup(a,{emit:t}){const o=a,n=e.ref(!1),s=e.ref(null),r=e.ref(null),l=e.ref(0),i=e.ref(0),c=async v=>{r.value=v,n.value=!0,await e.nextTick();const y=v.getBoundingClientRect(),C=s.value,h=(C==null?void 0:C.offsetHeight)||300,b=window.innerHeight-y.bottom,f=y.top,g=b<h&&f>h;l.value=g?y.top-h-8:y.bottom+8,i.value=y.left,setTimeout(()=>{window.addEventListener("click",d)},0)},p=e.computed(()=>({position:"fixed",top:`${l.value}px`,left:`${i.value}px`,zIndex:1e3})),d=v=>{const y=v.target;s.value&&!s.value.contains(y)&&(n.value=!1,t("update:color",u.value),window.removeEventListener("click",d))};e.onBeforeUnmount(()=>{window.removeEventListener("click",d)}),e.watch(()=>o.color,v=>{n.value||(u.value=v)});const u=e.ref(o.color),m=v=>{const{r:y,g:C,b:h,a:b}=v.rgba;u.value=`rgba(${y}, ${C}, ${h}, ${b})`};return(v,y)=>(e.openBlock(),e.createElementBlock("div",$v,[e.renderSlot(v.$slots,"clickable",{openPicker:c,bgColor:v.color}),n.value?(e.openBlock(),e.createElementBlock("div",{key:0,ref_key:"pickerRef",ref:s,class:"color-picker",style:e.normalizeStyle(p.value)},[e.createVNode(e.unref(ut),{class:"color-picker-box",theme:"light",color:v.color,onChangeColor:m},null,8,["color"])],4)):e.createCommentVNode("",!0)]))}});const Ev={class:"ao-card-project-phase__header"},Bv={class:"ao-card-project-item__title-line"},Vv={key:0,class:"ao-card-project-item-phase__estimation"},Nv={class:"ao-card-project-phase__footer"},Sv={key:0,class:"ao-card-project-phase__footer-row ao-card-project-phase__footer-row--progress"},Mv={class:"ao-card-project-phase__subitem"},Av={class:"ao-card-project-phase__subitem"},Tv={key:0,class:"ao-card-project-phase__secondary"},Ov={class:"ao-card-project-phase__deadline ao-card-project-phase__deadline--readonly"},Iv=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,n=u=>{t("update:title",u)},s=e.computed(()=>{var u;return(u=o.milestones)==null?void 0:u.reduce((m,v)=>{var y;return m+((y=v.activities)==null?void 0:y.reduce((C,h)=>C+(h.estimation||0),0))},0)}),r=e.computed(()=>{var u;return(u=o.milestones)==null?void 0:u.length}),l=e.computed(()=>{var u;return(u=o.milestones)==null?void 0:u.filter(m=>m.status===Ot.done).length}),i=e.computed(()=>(l.value||0)/(r.value||1)),c=e.computed({get:()=>o.deadline??"",set:u=>t("update:deadline",u!=null&&u.length?u:null)}),p=e.computed({get:()=>o.color,set:u=>{t("updatePhase",{id:o.id,color:u})}}),d=(u,m)=>{const v=u.target;v.closest("button")||v.closest("input")||v.closest(".ao-title")||m(v)};return(u,m)=>(e.openBlock(),e.createBlock(bo,{color:p.value,"onUpdate:color":m[2]||(m[2]=v=>p.value=v)},{clickable:e.withCtx(({openPicker:v,bgColor:y})=>[e.createVNode(Va,{class:"ao-card-project-phase","is-clickable":u.isEditable,color:y,withLeftBorder:!0,onClick:C=>d(C,v)},e.createSlots({default:e.withCtx(()=>[e.createElementVNode("div",Bv,[e.createVNode(ne,{id:u.id,class:"ao-card-project-phase__title",title:u.name||"",level:4,"is-editable":u.isEditable,"onUpdate:title":n},null,8,["id","title","is-editable"]),s.value?(e.openBlock(),e.createElementBlock("span",Vv," ("+e.toDisplayString(s.value)+")",1)):e.createCommentVNode("",!0)])]),footer:e.withCtx(()=>[e.createElementVNode("div",Nv,[r.value?(e.openBlock(),e.createElementBlock("div",Sv,[e.createElementVNode("div",Mv,[e.createVNode(Q,{name:"MountainFlagOutlineRounded",size:"sm"}),e.createElementVNode("span",Av,e.toDisplayString(l.value)+" / "+e.toDisplayString(r.value),1)]),e.createVNode(Na,{percentages:i.value,class:"ao-card-project-phase__progress",color:u.color},null,8,["percentages","color"]),u.$slots.secondary?(e.openBlock(),e.createElementBlock("div",Tv,[e.renderSlot(u.$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"])},[u.isEditable?e.withDirectives((e.openBlock(),e.createElementBlock("input",{key:0,"onUpdate:modelValue":m[1]||(m[1]=C=>c.value=C),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",Ov,e.toDisplayString(e.unref(_a)(u.deadline)),1)],2)])]),_:2},[u.isEditable?{name:"header",fn:e.withCtx(()=>[e.createElementVNode("div",Ev,[e.createVNode(K,{class:"ao-card-project-phase__archive",color:"primary",variant:"ghost","icon-name":"ArchiveOutlineRounded",size:"sm","icon-position":"start",corners:"round",label:u.active?u.$t("archive"):u.$t("unarchive"),onClick:m[0]||(m[0]=e.withModifiers(()=>u.active?u.$emit("archivePhase",{id:u.id}):u.$emit("unarchivePhase",{id:u.id}),["stop"]))},null,8,["label"])])]),key:"0"}:void 0]),1032,["is-clickable","color","onClick"])]),_:3},8,["color"]))}});const Lv=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))}});const Dv={class:"ao-card-project-milestone__default"},Pv={class:"ao-title-with-badge-wrapper"},Hv={class:"ao-card-project-item__title-line"},Rv={key:0,class:"ao-card-project-item-milestone__estimation"},jv={key:0,class:"ao-card-project-milestone__archive"},Fv={class:"ao-card-project-milestone__activities"},Uv={class:"ao-card-project-milestone__activities-row"},zv={class:"ao-card-project-milestone__subitem"},Zv={class:"ao-card-project-milestone__subitem"},xv={key:1,class:"ao-card-project-milestone__secondary"},Wv={class:"ao-card-project-milestone__footer"},qv={key:1,class:"ao-field ao-card-project-milestone__deadline"},Yv={class:"ao-field__label"},Kv={key:2,class:"ao-card-project-milestone__assignee"},Gv=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,n=e.computed(()=>{var c;return(c=o.activities)==null?void 0:c.reduce((p,d)=>p+(d.estimation||0),0)}),s=e.computed(()=>{var c;return(c=o.activities)==null?void 0:c.length}),r=e.computed(()=>{var c;return(c=o.activities)==null?void 0:c.filter(p=>Qa(p,o.closedStatus)).length}),l=e.computed(()=>(r.value||0)/(s.value||1)),i=c=>{t("updateMilestone",{id:o.id,name:c})};return(c,p)=>(e.openBlock(),e.createBlock(Va,{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",Dv,[e.createElementVNode("div",Pv,[e.createVNode(Lv,{color:c.color||""},null,8,["color"]),e.createElementVNode("div",Hv,[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":i},null,8,["id","title","is-editable"]),n.value?(e.openBlock(),e.createElementBlock("span",Rv," ("+e.toDisplayString(n.value)+")",1)):e.createCommentVNode("",!0)])]),!c.readonly&&c.isEditable?(e.openBlock(),e.createElementBlock("div",jv,[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:p[0]||(p[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",Fv,[e.createElementVNode("div",Uv,[s.value?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createElementVNode("div",zv,[e.createVNode(Q,{name:"SelectCheckBox",size:"sm"}),e.createElementVNode("span",Zv,e.toDisplayString(r.value)+" / "+e.toDisplayString(s.value),1)]),e.createVNode(Na,{percentages:l.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",xv,[e.renderSlot(c.$slots,"secondary")])):e.createCommentVNode("",!0)])])]),footer:e.withCtx(()=>[e.createElementVNode("div",Wv,[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",qv,[e.createElementVNode("span",Yv,e.toDisplayString(e.unref(_a)(c.deadline)),1)])):e.createCommentVNode("",!0),c.assignee?(e.openBlock(),e.createElementBlock("div",Kv,[e.createVNode(ke,{"user-name":e.unref(bn)(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"]))}});const Xv={class:"ao-mapping-card-project-phase__header"},Qv={class:"ao-card-project-item__title-line"},Jv={key:0,class:"ao-card-project-item-phase__estimation"},ef={class:"ao-mapping-card-project-phase__footer"},tf={key:0,class:"ao-mapping-card-project-phase__footer-row ao-mapping-card-project-phase__footer-row--progress"},af={class:"ao-mapping-card-project-phase__subitem"},of={class:"ao-mapping-card-project-phase__subitem"},nf={key:0,class:"ao-mapping-card-project-phase__secondary"},sf={class:"ao-mapping-card-project-phase__deadline ao-mapping-card-project-phase__deadline--readonly"},lf=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,n=u=>{t("update:title",u)},s=e.computed(()=>{var u;return(u=o.milestones)==null?void 0:u.reduce((m,v)=>{var y;return m+((y=v.activities)==null?void 0:y.reduce((C,h)=>C+(h.estimation||0),0))},0)}),r=e.computed(()=>{var u;return(u=o.milestones)==null?void 0:u.length}),l=e.computed(()=>{var u;return(u=o.milestones)==null?void 0:u.filter(m=>m.status===Ot.done).length}),i=e.computed(()=>(l.value||0)/(r.value||1)),c=e.computed({get:()=>o.deadline??"",set:u=>t("update:deadline",u!=null&&u.length?u:null)}),p=e.computed({get:()=>o.color,set:u=>{t("updatePhase",{id:o.id,color:u})}}),d=(u,m)=>{const v=u.target;v.closest("button")||v.closest("input")||v.closest(".ao-title")||m()};return(u,m)=>(e.openBlock(),e.createBlock(bo,{color:p.value,"onUpdate:color":m[2]||(m[2]=v=>p.value=v)},{clickable:e.withCtx(({openPicker:v,bgColor:y})=>[e.createVNode(Va,{class:"ao-mapping-card-project-phase","is-clickable":u.isEditable,color:y,withLeftBorder:!0,onClick:C=>d(C,v)},e.createSlots({default:e.withCtx(()=>[e.createElementVNode("div",Qv,[e.createVNode(ne,{id:u.id,class:"ao-mapping-card-project-phase__title",title:u.name||"",level:4,"is-editable":u.isEditable,"onUpdate:title":n},null,8,["id","title","is-editable"]),s.value?(e.openBlock(),e.createElementBlock("span",Jv," ("+e.toDisplayString(s.value)+")",1)):e.createCommentVNode("",!0)])]),footer:e.withCtx(()=>[e.createElementVNode("div",ef,[r.value?(e.openBlock(),e.createElementBlock("div",tf,[e.createElementVNode("div",af,[e.createVNode(Q,{name:"MountainFlagOutlineRounded",size:"sm"}),e.createElementVNode("span",of,e.toDisplayString(l.value)+" / "+e.toDisplayString(r.value),1)]),e.createVNode(Na,{percentages:i.value,class:"ao-mapping-card-project-phase__progress",color:p.value},null,8,["percentages","color"]),u.$slots.secondary?(e.openBlock(),e.createElementBlock("div",nf,[e.renderSlot(u.$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"])},[u.isEditable?e.withDirectives((e.openBlock(),e.createElementBlock("input",{key:0,"onUpdate:modelValue":m[1]||(m[1]=C=>c.value=C),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",sf,e.toDisplayString(e.unref(_a)(u.deadline)),1)],2)])]),_:2},[u.isEditable?{name:"header",fn:e.withCtx(()=>[e.createElementVNode("div",Xv,[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:u.active?u.$t("archive"):u.$t("unarchive"),onClick:m[0]||(m[0]=e.withModifiers(()=>u.active?u.$emit("archivePhase",{id:u.id}):u.$emit("unarchivePhase",{id:u.id}),["stop"]))},null,8,["label"])])]),key:"0"}:void 0]),1032,["is-clickable","color","onClick"])]),_:3},8,["color"]))}});const rf={class:"ao-project-phase"},cf={key:0,class:"ao-project-phase__drag ao-card__drag"},df={key:1,class:"ao-project-phase__col-phase"},uf={key:2,class:"ao-mapping-project-phase__col-phase"},pf={key:0,class:"ao-project-phase__col-milestones"},mf={class:"ao-project-phase__milestones-list-footer"},vf=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:n}=Ye();e.watch(()=>o.phase.milestones,(f,g)=>{Me(f,g)});const s=f=>{t("updatePhase",{id:o.phase.id,name:f})},r=f=>{t("updatePhase",{id:o.phase.id,deadline:f})},l=f=>{t("updatePhase",f)},i=e.computed(()=>o.phase.milestones.map(f=>Q0(f,o.closedStatus))),c=f=>{const{name:g,rank:N}=ot(i.value??[],"milestone",n);t("addMilestone",{name:g,rank:N,phaseId:f})},p=f=>{t("updateMilestone",f)},d=f=>{t("archiveMilestone",f)},u=f=>{t("unarchiveMilestone",f)},m=f=>{t("archivePhase",f)},v=f=>{t("unarchivePhase",f)},y=f=>{"added"in f?t("updateMilestone",{id:f.added.element.id,phaseId:o.phase.id,rank:pt(i.value,f.added.newIndex)}):"removed"in f||"moved"in f&&t("updateMilestone",{id:f.moved.element.id,rank:pt(i.value,f.moved.newIndex)})},C=Rt.useRoute(),h=e.computed(()=>C.path.includes("/mapping")),b=e.computed(()=>{var f;return o.phase.id!==((f=C.params)==null?void 0:f.phaseId)?{backgroundColor:"var(--ao-color-sheet)"}:o.phase.color?{backgroundColor:e3(o.phase.color)}:{backgroundColor:"var(--ao-color-primary-lightest)"}});return(f,g)=>(e.openBlock(),e.createElementBlock("li",rf,[e.createElementVNode("div",{class:"ao-project-phases__draggable-card",style:e.normalizeStyle(b.value)},[f.isEditable?(e.openBlock(),e.createElementBlock("div",cf,[e.createVNode(Q,{name:"DragIndicator",class:"ao-project-phase__drag-handle"})])):e.createCommentVNode("",!0),h.value?(e.openBlock(),e.createElementBlock("div",uf,[e.createVNode(lf,{id:f.phase.id,milestones:i.value,name:f.phase.name,deadline:f.phase.deadline,active:f.phase.active,"is-editable":f.isEditable,color:f.phase.color,"onUpdate:deadline":r,"onUpdate:title":s,onArchivePhase:m,onUnarchivePhase:v,onUpdatePhase:l},null,8,["id","milestones","name","deadline","active","is-editable","color"])])):(e.openBlock(),e.createElementBlock("div",df,[e.createVNode(Iv,{id:f.phase.id,milestones:i.value,name:f.phase.name,deadline:f.phase.deadline,active:f.phase.active,"is-editable":f.isEditable,color:f.phase.color,"onUpdate:deadline":r,"onUpdate:title":s,onArchivePhase:m,onUnarchivePhase:v,onUpdatePhase:l},null,8,["id","milestones","name","deadline","active","is-editable","color"])]))],4),h.value?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",pf,[e.createElementVNode("div",{class:"ao-project-phase__milestones",style:e.normalizeStyle(b.value)},[e.createVNode(e.unref(xe),e.mergeProps({class:"ao-project-phase__milestones-list",list:i.value,disabled:f.readonly||!f.isEditable,"item-key":"id",group:"kanban"},f.$attrs,{onChange:y}),{item:e.withCtx(({element:N})=>{var B;return[e.createVNode(Gv,{id:N.id,name:N.name,color:N.color,"phase-color":f.phase.color,activities:N.activities,deadline:N.deadline,active:N.active,"is-editable":!f.readonly&&f.isEditable,"is-draggable":!f.readonly&&f.isEditable,"closed-status":f.closedStatus,"is-selected":N.id===((B=f.$route.params)==null?void 0:B.milestoneId),assignee:N.assignee,important:N.important,readonly:f.readonly,class:e.normalizeClass(["ao-project-phase__milestone"]),onClick:V=>!f.readonly&&f.$router.push({name:e.unref(oe).milestone,params:{phaseId:f.phase.id,milestoneId:N.id}}),onUpdateMilestone:p,onArchiveMilestone:d,onUnarchiveMilestone:u},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",mf,[f.isEditable?(e.openBlock(),e.createBlock(We,{key:0,label:f.$t("project.milestone.add"),class:"ao-project-phase__milestone-add","icon-name":"Add",onClick:g[0]||(g[0]=()=>c(f.phase.id))},null,8,["label"])):e.createCommentVNode("",!0)])],4)]))]))}});const ff={class:"ao-project__phases"},hf={key:0,class:"ao-project-phase__phases-list-footer"},Cf=e.createElementVNode("div",{class:"ao-project-phase__empty_drag"},null,-1),gf={class:"ao-project-phase__col-phase"},_f=e.createElementVNode("div",{class:"ao-project-phase__col-milestones"},null,-1),ko=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,v)=>{Me(m,v)});const n=m=>{t("addMilestone",m)},s=m=>{t("updateMilestone",m)},r=m=>{t("archiveMilestone",m)},l=m=>{t("unarchiveMilestone",m)},i=m=>{t("archivePhase",m)},c=m=>{t("unarchivePhase",m)},p=m=>{if(m.moved){const v=zt(m,o.phases??[]);t("updatePhase",{id:m.moved.element.id,rank:v})}},d=m=>{t("updatePhase",m)},u=m=>{t("addPhase",m)};return(m,v)=>(e.openBlock(),e.createElementBlock("div",ff,[e.createVNode(e.unref(xe),{class:"ao-project-phase__phases-list","model-value":m.phases,"item-key":"id",handle:".ao-card__drag",onChange:p},{item:e.withCtx(({element:y})=>[e.createVNode(vf,{phase:y,"is-editable":!m.readonly&&m.isEditable,"closed-status":m.closedStatus,users:m.users,readonly:m.readonly,onAddMilestone:n,onUpdateMilestone:s,onArchiveMilestone:r,onUnarchiveMilestone:l,onUpdatePhase:d,onArchivePhase:i,onUnarchivePhase:c},null,8,["phase","is-editable","closed-status","users","readonly"])]),_:1},8,["model-value"]),m.isEditable?(e.openBlock(),e.createElementBlock("div",hf,[Cf,e.createElementVNode("div",gf,[e.createVNode(We,{label:m.$t("project.phases.add"),"icon-name":"Add",class:"ao-project-phase__add-phase",onClick:u},null,8,["label"])]),_f])):e.createCommentVNode("",!0)]))}});const yf=["onSubmit"],bf={class:"ao-add-template-modal__form-body"},kf={class:"field__row"},wf={class:"ao-add-template-modal__form-footer"},jn=e.defineComponent({__name:"AoAddTemplateModal",props:{projectId:{},templates:{}},emits:["apply"],setup(a,{emit:t}){const o=a,n=e.computed(()=>o.templates.map(i=>({value:i.id,label:i.name}))),s=e.ref(null),r=i=>{s.value=i},l=()=>{s.value&&t("apply",s.value,o.projectId)};return(i,c)=>(e.openBlock(),e.createBlock(ya,{size:"sm"},{header:e.withCtx(()=>[e.createVNode(ne,{title:i.$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(l,["prevent"])},[e.createElementVNode("p",null,e.toDisplayString(i.$t("project.template.apply.notice")),1),e.createElementVNode("div",bf,[e.createElementVNode("div",kf,[e.createVNode(re,{value:s.value,options:n.value,detached:!0,onChange:r},null,8,["value","options"])])]),e.createElementVNode("footer",wf,[e.createVNode(K,{label:i.$t("project.template.apply.label"),type:"submit",color:"primary",variant:"solid",onClick:l},null,8,["label"])])],40,yf)]),_:1}))}});const $f=["onSubmit"],Ef={class:"ao-save-template-modal__form-body"},Bf={class:"field__row"},Vf={class:"ao-field ao-field--inline"},Nf={class:"ao-field__label"},Sf={class:"ao-save-template-modal__phases"},Mf={class:"ao-field__label"},Af={class:"ao-save-template-modal__phases-list"},Tf=["value"],Of={class:"ao-save-template-modal__form-footer"},Fn=e.defineComponent({__name:"AoSaveTemplateModal",props:{phases:{}},emits:["save"],setup(a,{emit:t}){const o=a,n=e.ref(""),s=e.ref([]);e.onMounted(()=>{s.value=o.phases.map(l=>l.id)});const r=()=>{n.value&&t("save",n.value,s.value)};return(l,i)=>(e.openBlock(),e.createBlock(ya,{size:"sm"},{header:e.withCtx(()=>[e.createVNode(ne,{title:l.$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(r,["prevent"])},[e.createElementVNode("div",Ef,[e.createElementVNode("div",Bf,[e.createElementVNode("label",Vf,[e.createElementVNode("span",Nf,e.toDisplayString(l.$t("project.template.name.label"))+": ",1),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":i[0]||(i[0]=c=>n.value=c),type:"text"},null,512),[[e.vModelText,n.value]])])]),e.createElementVNode("div",Sf,[e.createElementVNode("div",Mf,e.toDisplayString(l.$t("project.template.phases.label")),1),e.createElementVNode("div",Af,[(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":i[1]||(i[1]=p=>s.value=p)},null,8,Tf),[[e.vModelCheckbox,s.value]]),e.createElementVNode("span",null,e.toDisplayString(c.name),1)]))),128))])])]),e.createElementVNode("footer",Of,[e.createVNode(K,{label:l.$t("project.template.save.label"),type:"submit",color:"primary",variant:"solid",onClick:r},null,8,["label"])])],40,$f)]),_:1}))}});const If=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)}}});const Lf={class:"tabbar-wrapper"},Df=["onClick"];function Pf(a,t,o,n,s,r){return e.openBlock(),e.createElementBlock("div",Lf,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.tabs,l=>(e.openBlock(),e.createElementBlock("button",{key:l.value,class:e.normalizeClass(["tab-button",{"tab-button--active":l.value===a.modelValue}]),type:"button",onClick:i=>a.selectTab(l.value)},e.toDisplayString(l.label),11,Df))),128))])}const wo=I(If,[["render",Pf],["__scopeId","data-v-ff4e3297"]]),Hf={class:"ao-project"},Rf={class:"ao-project__body"},jf=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:n}=Ye(),s=e.computed(()=>o.phases.flatMap($=>$.milestones)),r=()=>{const{name:$,rank:k}=ot(o.phases,"phase",n);t("addPhase",{name:$,rank:k,projectId:o.project.id})},l=$=>{t("updatePhase",$)},i=$=>{t("archivePhase",$)},c=$=>{t("unarchivePhase",$)},p=$=>{t("copyPhaseToTemplate",$)},d=$=>{t("addMilestone",$)},u=$=>{t("updateMilestone",$)},m=$=>{t("archiveMilestone",$)},v=$=>{t("unarchiveMilestone",$)},y=$=>{t("addActivity",$)},C=$=>{t("update:activity",$)},h=$=>{t("archiveActivity",$)},b=$=>{t("unarchiveActivity",$)},f=$=>{t("addSubtask",$)},g=$=>{t("updateSubtask",$)},N=$=>{t("deleteSubtask",$)},B=e.computed(()=>s.value.flatMap($=>$.activities)),V=$=>{t("addFiles",$)},L=$=>{t("removeFile",$)},P=$=>{t("addComment",$)},R=$=>{t("updateComment",$)},F=$=>{t("removeComment",$)},z=e.ref(!1),T=e.ref(!1),j=($,k)=>{t("applyTemplate",{templateId:$,projectId:k}),z.value=!1},Y=($,k)=>{var M;const O=(M=o.templates)==null?void 0:M.at(-1),_=O?se.LexoRank.parse(O.rank).genNext():se.LexoRank.middle();t("saveTemplate",{templateName:$,rank:_.format(),phaseIds:k}),T.value=!1},Z=Rt.useRouter(),U=e.ref("overview"),E=[{label:"Overview",value:"overview"},{label:"Feed",value:"feed"},{label:"Mapping",value:"mapping"}];return e.watch(U,$=>{$==="feed"?(Z.push({name:oe.feed}),console.log("Navigating to feed...")):$==="overview"?(Z.push({name:oe.project}),console.log("Navigating to feed...")):$==="mapping"&&(Z.push({name:oe.mapping}),console.log("Navigating to feed..."))}),($,k)=>{const O=e.resolveComponent("RouterView");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",e.mergeProps({class:"ao-project-overview"},$.$attrs),[e.createElementVNode("div",Hf,[e.createVNode(Zt,null,{primary:e.withCtx(()=>[e.createVNode(wo,{tabs:E,modelValue:U.value,"onUpdate:modelValue":k[0]||(k[0]=_=>U.value=_)},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:k[1]||(k[1]=_=>$.$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:k[2]||(k[2]=_=>T.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:k[3]||(k[3]=_=>z.value=!0)},null,8,["label"])):e.createCommentVNode("",!0)]),_:1}),e.createElementVNode("div",Rf,[e.createVNode(ko,{phases:$.phases,"closed-status":$.closedStatus,"is-editable":$.isEditable===!0,users:$.users,onAddMilestone:d,onUpdateMilestone:u,onArchiveMilestone:m,onUnarchiveMilestone:v,onAddPhase:r,onUpdatePhase:l,onArchivePhase:i,onUnarchivePhase:c,onCopyPhaseToTemplate:p},null,8,["phases","closed-status","is-editable","users"])])]),e.createVNode(O,{class:"ao-project__sidebar",phases:$.phases,"project-id":$.project.id,"project-name":$.project.name,users:$.users,"is-editable":$.isEditable===!0,"closed-status":$.closedStatus,onClose:k[4]||(k[4]=_=>$.$router.push({name:e.unref(oe).project})),onUpdateMilestone:u,onAddActivity:y,onUpdateActivity:C,onArchiveActivity:h,onUnarchiveActivity:b},null,8,["phases","project-id","project-name","users","is-editable","closed-status"]),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.createVNode(O,{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":C,onAddSubtask:f,onUpdateSubtask:g,onDeleteSubtask:N,onAddFiles:V,onRemoveFile:L,onAddComment:P,onUpdateComment:R,onRemoveComment:F},{default:e.withCtx(({Component:_})=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(_),null,{default:e.withCtx(M=>[e.renderSlot($.$slots,"activityDetailsBody",e.normalizeProps(e.guardReactiveProps(M)))]),_: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"},[T.value?(e.openBlock(),e.createBlock(Fn,{key:0,phases:$.phases,onClose:k[5]||(k[5]=_=>T.value=!1),onSave:Y},null,8,["phases"])):e.createCommentVNode("",!0),z.value?(e.openBlock(),e.createBlock(jn,{key:1,"project-id":$.project.id,templates:$.templates,onClose:k[6]||(k[6]=_=>z.value=!1),onApply:j},null,8,["project-id","templates"])):e.createCommentVNode("",!0)]))],64)}}});const Ff={class:"ao-card-feed__header"},Uf={key:1,class:"ao-card-feed__header-secondary ao-card-feed__header-icons"},zf={key:2,class:"ao-card-feed__header-secondary ao-card-feed__secondary"},Zf={class:"ao-card-feed__body"},xf={key:0,class:"ao-card-feed__breadcrumbs"},Wf={class:e.normalizeClass(["ao-card-feed__title-group"])},qf={class:"ao-card-feed__title-line"},Yf={key:0,class:"ao-card-feed__slug"},Kf={key:1,class:"ao-card-feed__deadline"},Gf={class:"ao-card-feed__footer"},Xf={class:"ao-card-feed__footer-row"},Qf={class:"ao-assignees"},Jf={key:0,class:"ao-assignee"},eh={key:0,class:"ao-card-feed__subitems"},th={key:0,class:"ao-card-feed__subitem"},ah={class:"ao-card-feed__subitem"},oh={key:1,class:"ao-card-feed__subitem"},nh={class:"ao-card-feed__subitem"},sh={class:"ao-card-feed__footer-row"},lh={key:0,class:"ao-card-feed__progress-wrapper"},rh={class:"ao-card-feed__subitem"},ih={class:"ao-card-feed__subitem"},$o=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,n=e.computed(()=>o.tagType==="milestone"?o.milestoneName:o.projectName),s=e.computed(()=>o.tagType==="milestone"?o.milestoneColor:o.projectColor),r=v=>{t("updateActivity",{id:o.id,name:v})},l=e.computed(()=>o.tagType==="milestone"&&o.phaseName?`${o.phaseName}`:o.phaseName&&o.milestoneName?`${o.phaseName} / ${o.milestoneName}`:""),i=e.computed(()=>o.assignee?[o.assignee]:[]),c=e.computed(()=>_a(o.deadline)),p=v=>{t("removeAssignee",v)},d=e.computed(()=>{var v;return(v=o.tasks)==null?void 0:v.length}),u=e.computed(()=>{var v;return(v=o.tasks)==null?void 0:v.filter(y=>y.isDone).length}),m=e.computed(()=>(u.value||0)/(d.value||1));return(v,y)=>(e.openBlock(),e.createBlock(Va,{class:e.normalizeClass(["ao-card-feed",{"ao-card-feed--closed":v.isClosed}]),"is-clickable":!0},{header:e.withCtx(()=>[e.createElementVNode("div",Ff,[n.value?(e.openBlock(),e.createBlock(Tt,{key:0,label:n.value,class:"ao-card-feed__project",variant:"solid",color:v.projectColor?void 0:"primary","raw-color":s.value},null,8,["label","color","raw-color"])):e.createCommentVNode("",!0),v.isPrivate||v.important||v.isClosed?(e.openBlock(),e.createElementBlock("div",Uf,[v.isPrivate?(e.openBlock(),e.createBlock(Q,{key:0,name:"Lock",class:"ao-card-feed__warning",size:"sm"})):e.createCommentVNode("",!0),v.important?(e.openBlock(),e.createBlock(Q,{key:1,name:"FlagRounded",class:"ao-card-feed__important",size:"sm"})):e.createCommentVNode("",!0),v.isClosed?(e.openBlock(),e.createBlock(Q,{key:2,name:"CheckSmallRounded",class:"ao-card-feed__closed"})):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),v.$slots.secondary?(e.openBlock(),e.createElementBlock("div",zf,[e.renderSlot(v.$slots,"secondary")])):e.createCommentVNode("",!0)])]),default:e.withCtx(()=>[e.createElementVNode("div",Zf,[l.value?(e.openBlock(),e.createElementBlock("span",xf,e.toDisplayString(l.value),1)):e.createCommentVNode("",!0),e.createElementVNode("div",Wf,[e.createElementVNode("div",qf,[v.slug?(e.openBlock(),e.createElementBlock("span",Yf,e.toDisplayString(v.slug)+": ",1)):e.createCommentVNode("",!0),e.createVNode(ne,{id:v.id,title:v.name,level:5,"is-editable":v.isEditable,"onUpdate:title":r,class:"ao-card-feed__title-inline"},null,8,["id","title","is-editable"])])]),v.deadline?(e.openBlock(),e.createElementBlock("span",Kf,e.toDisplayString(c.value),1)):e.createCommentVNode("",!0)])]),footer:e.withCtx(()=>[e.createElementVNode("div",Gf,[e.createElementVNode("div",Xf,[e.createElementVNode("ul",Qf,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.value,C=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:C.id},[C?(e.openBlock(),e.createElementBlock("li",Jf,[e.createVNode(ke,{"user-name":e.unref(bn)(C),"avatar-url":C.avatarUrl,"is-closable":!0,onClose:()=>p(C.id)},null,8,["user-name","avatar-url","onClose"])])):e.createCommentVNode("",!0)],64))),128))]),v.comments||v.attachments?(e.openBlock(),e.createElementBlock("ul",eh,[v.comments?(e.openBlock(),e.createElementBlock("li",th,[e.createVNode(Q,{name:"ChatOutline",size:"sm"}),e.createElementVNode("span",ah,e.toDisplayString(v.comments),1)])):e.createCommentVNode("",!0),v.attachments?(e.openBlock(),e.createElementBlock("li",oh,[e.createVNode(Q,{name:"AttachFileRounded",size:"sm"}),e.createElementVNode("span",nh,e.toDisplayString(v.attachments),1)])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)]),e.createElementVNode("div",sh,[v.tasks&&v.tasks.length?(e.openBlock(),e.createElementBlock("div",lh,[e.createElementVNode("div",rh,[e.createVNode(Q,{name:"SelectCheckBox",size:"sm"}),e.createElementVNode("span",ih,e.toDisplayString(u.value)+" / "+e.toDisplayString(d.value),1)]),e.createVNode(Na,{percentages:m.value,class:"ao-card-feed__progress"},null,8,["percentages"])])):e.createCommentVNode("",!0)])])]),_:3},8,["class"]))}});const ch={class:"ao-project-milestone"},dh={class:"ao-project-milestone__header"},uh={class:"ao-project-milestone__header_line"},ph={class:"ao-project-milestone__header_line"},mh={class:"ao-project-milestone__title"},vh={key:0,class:"ao-fieldset ao-milestone__fieldset"},fh={class:"ao-field__row ao-milestone__field-row"},hh={class:"ao-field ao-field--inline"},Ch={class:"ao-field__row ao-milestone__field-row"},gh={class:"ao-field ao-milestone__field-multiselect"},_h=["onClick"],yh={class:"ao-project-milestone__body"},bh={key:0,class:"ao-project-milestone__footer"},Qo=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:n}=Ye(),s=e.computed(()=>{var f;return(f=o.phases)==null?void 0:f.find(g=>g.id===o.phaseId)}),r=e.computed(()=>{var f;return(f=o.phases)==null?void 0:f.flatMap(g=>g.milestones)}),l=e.computed(()=>{var f;return(f=r.value)==null?void 0:f.find(g=>g.id===o.milestoneId)}),i=e.computed(()=>{var f;return(f=l.value)==null?void 0:f.activities});e.watch(i,(f,g)=>{Me(f,g)});const c=f=>{t("close",f)},p=()=>{const{name:f,rank:g}=ot(i.value??[],"activity",n);t("addActivity",{milestoneId:o.milestoneId,name:f,rank:g,projectId:o.projectId})},d=f=>{t("updateActivity",f)},u=f=>{i.value&&"moved"in f&&t("updateActivity",{id:f.moved.element.id,rank:pt(i.value,f.moved.newIndex)})},m=e.computed({get:()=>{var f;return(f=l.value)==null?void 0:f.color},set:f=>{l.value&&t("updateMilestone",{id:l.value.id,color:f})}}),v=e.computed({get:()=>{var f;return((f=l==null?void 0:l.value)==null?void 0:f.deadline)??""},set:f=>{l.value&&t("updateMilestone",{id:l.value.id,deadline:f!=null&&f.length?f:null})}}),y=f=>o.closedStatus?Qa(f,o.closedStatus):!1,C=e.computed(()=>{var f;return((f=o.users)==null?void 0:f.map(g=>({label:`${g.firstName} ${g.lastName}`,value:g.id,avatar:g.avatarUrl})))||[]}),h=e.computed({get(){var f,g;return(g=(f=l.value)==null?void 0:f.assignee)!=null&&g.id?[l.value.assignee.id]:[]},set(f){t("updateMilestone",{id:o.milestoneId,assigneeId:f[0]??null})}}),b=e.computed({get(){var f;return((f=l.value)==null?void 0:f.important)??!1},set(f){t("updateMilestone",{id:o.milestoneId,important:f})}});return(f,g)=>{var N;return e.openBlock(),e.createElementBlock("div",ch,[e.createElementVNode("header",dh,[e.createElementVNode("div",uh,[e.createVNode(K,{"icon-name":"CloseRounded",variant:"ghost",size:"sm",class:"ao-milestone__close",onClick:c})]),e.createElementVNode("div",ph,[e.createElementVNode("div",mh,[e.createVNode(ne,{title:((N=l.value)==null?void 0:N.name)||f.milestoneId,level:5},null,8,["title"]),e.createVNode(qa,{modelValue:b.value,"onUpdate:modelValue":g[0]||(g[0]=B=>b.value=B),modelModifiers:{lazy:!0},disabled:!f.isEditable,class:"ao-milestone__important",color:"danger",label:f.$t("activity.important.label"),"icon-name":"FlagRounded",variant:"ghost",size:"sm"},null,8,["modelValue","disabled","label"])])]),l.value?(e.openBlock(),e.createElementBlock("div",vh,[e.createElementVNode("div",fh,[e.createElementVNode("label",hh,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":g[1]||(g[1]=B=>v.value=B),class:"ao-milestone__field ao-milestone__date-field",type:"date"},null,512),[[e.vModelText,v.value,void 0,{lazy:!0}]])])]),e.createElementVNode("div",Ch,[e.createElementVNode("label",gh,[e.createVNode(re,{modelValue:h.value,"onUpdate:modelValue":g[2]||(g[2]=B=>h.value=B),options:C.value,"close-on-select":!0,searchable:!0,max:1,class:"ao-milestone__field ao-milestone__multiselect",placeholder:f.$t("activity.filters.assignee.placeholder"),mode:"tags",disabled:!f.isEditable,caret:f.isEditable},{tag:e.withCtx(({option:B,handleTagRemove:V})=>[e.createVNode(ke,{"user-name":B.label,"avatar-url":B.avatar,"is-closable":!0,onClose:L=>V(B,L)},null,8,["user-name","avatar-url","onClose"])]),_:1},8,["modelValue","options","placeholder","disabled","caret"])])]),e.createVNode(bo,{color:m.value,"onUpdate:color":g[3]||(g[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,_h)]),_:1},8,["color"])])):e.createCommentVNode("",!0)]),e.createElementVNode("div",yh,[e.createVNode(e.unref(xe),e.mergeProps({class:"ao-project-milestone__activities",list:i.value,disabled:!f.isEditable,"item-key":"id",group:"kanban"},f.$attrs,{onChange:u}),{item:e.withCtx(({element:B})=>{var V,L,P,R,F;return[e.createVNode($o,{id:B.id,name:B.name||B.id,"phase-name":(V=s.value)==null?void 0:V.name,"milestone-name":(L=l.value)==null?void 0:L.name,"milestone-color":(P=l.value)==null?void 0:P.color,deadline:B.deadline,important:B.important,users:f.users,assignee:B.assignee,slug:B.slug,comments:(R=B.comments)==null?void 0:R.length,attachments:(F=B.attachments)==null?void 0:F.length,tasks:B.tasks,"is-editable":f.isEditable,"is-private":B.private,"is-closed":y(B),onClick:z=>f.$router.push({name:e.unref(oe).activity,params:{milestoneId:f.milestoneId,activityId:B.id}}),onUpdateActivity:d,onRemoveAssignee:()=>d({id:B.id,assigneeId:null})},e.createSlots({_:2},[f.isEditable?{name:"secondary",fn:e.withCtx(()=>[f.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:f.$t("archive"),onClick:e.withModifiers(()=>f.$emit("archiveActivity",{id:B.id}),["stop"])},null,8,["label","onClick"])):e.createCommentVNode("",!0),f.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:f.$t("feed.activity.unarchive"),onClick:e.withModifiers(()=>f.$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"]),f.isEditable?(e.openBlock(),e.createElementBlock("div",bh,[e.createVNode(We,{"icon-name":"Add",label:f.$t("project.activity.add"),onClick:p},null,8,["label"])])):e.createCommentVNode("",!0)])])}}});const kh=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,n=e.computed(()=>{var h;return(h=o.phases)==null?void 0:h.find(b=>b.id===o.phaseId)}),s=e.computed(()=>{var h;return(h=o.phases)==null?void 0:h.flatMap(b=>b.milestones)}),r=e.computed(()=>{var h;return(h=s.value)==null?void 0:h.find(b=>b.id===o.milestoneId)}),l=e.computed(()=>{var h;return(h=o.activities)==null?void 0:h.find(b=>b.id===o.activityId)}),i=h=>{t("update:activity",h)},c=h=>{t("addSubtask",h)},p=h=>{t("updateSubtask",h)},d=h=>{t("deleteSubtask",h)},u=h=>{t("addFiles",h)},m=h=>{t("removeFile",h)},v=h=>{t("addComment",h)},y=h=>{t("updateComment",h)},C=h=>{t("removeComment",h)};return(h,b)=>{var f,g;return l.value?(e.openBlock(),e.createBlock(po,{key:0,activity:l.value,"activity-types":h.activityTypes,"milestone-id":h.milestoneId,"template-activities":h.activities,"is-template":!1,users:h.users,"user-id":h.userId,"is-task-checkable":h.isTaskCheckable,statuses:h.statuses,breadcrumbs:`${(f=n.value)==null?void 0:f.name} / ${(g=r.value)==null?void 0:g.name}`,"is-editable":h.isEditable,"attachment-enabled":h.attachmentEnabled,projects:[h.project],onClose:h.$router.back,"onUpdate:activity":i,onAddSubtask:c,onUpdateSubtask:p,onDeleteSubtask:d,onAddFiles:u,onRemoveFile:m,onAddComment:v,onUpdateComment:y,onRemoveComment:C},{default:e.withCtx(N=>[e.renderSlot(h.$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)}}}),wh={class:"ao-col-header"},$h=e.defineComponent({__name:"AoColHeader",props:{title:{},items:{}},setup(a){return(t,o)=>(e.openBlock(),e.createElementBlock("header",wh,[e.createVNode(ne,{title:t.title,class:"ao-col-header__title",level:4},null,8,["title"]),t.items?(e.openBlock(),e.createBlock(Tt,{key:0,label:t.items,class:"ao-col-header__items",variant:"solid",color:"primary"},null,8,["label"])):e.createCommentVNode("",!0)]))}});function Eh(a){return e.getCurrentScope()?(e.onScopeDispose(a),!0):!1}function ma(a){return typeof a=="function"?a():e.unref(a)}const Bh=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const Vh=a=>a!=null,At=()=>{};function Nh(a,t){function o(...n){return new Promise((s,r)=>{Promise.resolve(a(()=>t.apply(this,n),{fn:t,thisArg:this,args:n})).then(s).catch(r)})}return o}function Sh(a,t={}){let o,n,s=At;const r=i=>{clearTimeout(i),s(),s=At};return i=>{const c=ma(a),p=ma(t.maxWait);return o&&r(o),c<=0||p!==void 0&&p<=0?(n&&(r(n),n=null),Promise.resolve(i())):new Promise((d,u)=>{s=t.rejectOnCancel?u:d,p&&!n&&(n=setTimeout(()=>{o&&r(o),n=null,d(i())},p)),o=setTimeout(()=>{n&&r(n),n=null,d(i())},c)})}}function Mh(a,t=200,o={}){return Nh(Sh(t,o),a)}function Ua(a){var t;const o=ma(a);return(t=o==null?void 0:o.$el)!=null?t:o}const Ah=Bh?window:void 0;function Th(){const a=e.ref(!1),t=e.getCurrentInstance();return t&&e.onMounted(()=>{a.value=!0},t),a}function Oh(a){const t=Th();return e.computed(()=>(t.value,!!a()))}function Ih(a,t,o={}){const{root:n,rootMargin:s="0px",threshold:r=.1,window:l=Ah,immediate:i=!0}=o,c=Oh(()=>l&&"IntersectionObserver"in l),p=e.computed(()=>{const y=ma(a);return(Array.isArray(y)?y:[y]).map(Ua).filter(Vh)});let d=At;const u=e.ref(i),m=c.value?e.watch(()=>[p.value,Ua(n),u.value],([y,C])=>{if(d(),!u.value||!y.length)return;const h=new IntersectionObserver(t,{root:Ua(C),rootMargin:s,threshold:r});y.forEach(b=>b&&h.observe(b)),d=()=>{h.disconnect(),d=At}},{immediate:i,flush:"post"}):At,v=()=>{d(),m(),u.value=!1};return Eh(v),{isSupported:c,isActive:u,pause(){d(),u.value=!1},resume(){u.value=!0},stop:v}}const Lh={class:e.normalizeClass(["ao-list-kanban"])},Dh={class:"ao-list-kanban__header"},Ph={key:0,class:"ao-list-kanban__end ao-list-kanban__end--loading"},Hh={key:1,class:"ao-list-kanban__end"},Rh={key:0,class:"ao-list-kanban__no-more"},jh={key:1,class:"ao-list-kanban__divider"},Fh={key:1,class:"ao-list-kanban__footer"},Uh=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,n=e.ref(!1),s=e.ref(null);Ih(s,([{isIntersecting:d}])=>{n.value=d}),e.watch(n,d=>{d&&o.hasMore&&!o.isLoading&&t("loadMore")});const r=d=>{var u;return o.isEditable===!0?!0:o.userId&&o.isEditable==="only-own"?o.userId===((u=d.assignee)==null?void 0:u.id):!1},l=d=>{t("selectActivity",d)},i=d=>{t("updateActivity",d)},c=d=>{"added"in d?t("updateActivity",{id:d.added.element.id,statusId:o.status.id,rank:pt(o.list,d.added.newIndex)}):"removed"in d||"moved"in d&&t("updateActivity",{id:d.moved.element.id,rank:pt(o.list,d.moved.newIndex)})},p=e.ref(!1);return(d,u)=>(e.openBlock(),e.createElementBlock("div",Lh,[d.title||d.$slots.header?e.renderSlot(d.$slots,"header",{key:0},()=>{var m;return[e.createElementVNode("div",Dh,[d.title?(e.openBlock(),e.createBlock($h,{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(xe),e.mergeProps({class:["ao-list-kanban__list",p.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:u[0]||(u[0]=m=>p.value=!0),onEnd:u[1]||(u[1]=m=>p.value=!1),"component-data":{tag:"transition-group",name:"ao-list-kanban__transition"}}),{item:e.withCtx(({element:m})=>{var v,y,C,h,b,f,g,N,B;return[e.createVNode($o,{class:e.normalizeClass(r(m)?"ao-list-draggable":""),id:m.id,name:m.name,"project-name":(v=m.project)==null?void 0:v.name,"project-color":(y=m.project)==null?void 0:y.color,"phase-name":(h=(C=m.milestone)==null?void 0:C.phase)==null?void 0:h.name,"milestone-name":(b=m.milestone)==null?void 0:b.name,"milestone-color":(f=m.milestone)==null?void 0:f.color,deadline:m.deadline,rules:((g=m.rules)==null?void 0:g.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":r(m),"is-private":m.private,"tag-type":d.tagType,onUpdateActivity:[V=>r(m)&&i(V),()=>r(m)&&i],onClick:()=>l(m.id),onRemoveAssignee:()=>r(m)&&i({id:m.id,assigneeId:null})},{secondary:e.withCtx(()=>[r(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),r(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",Ph,[e.createVNode(Q,{name:"Loading"})])):d.hasMore?(e.openBlock(),e.createElementBlock("div",{key:2,ref_key:"scrollEnd",ref:s,class:"ao-list-kanban__end"},null,512)):(e.openBlock(),e.createElementBlock("div",Hh,[d.noMoreLabel?(e.openBlock(),e.createElementBlock("span",Rh,e.toDisplayString(d.noMoreLabel),1)):d.isEditable?(e.openBlock(),e.createElementBlock("span",jh)):e.createCommentVNode("",!0)]))]),_:1},16,["class","list","disabled"]),d.$slots.footer||d.footerLabel?(e.openBlock(),e.createElementBlock("div",Fh,[e.renderSlot(d.$slots,"footer",{},()=>[d.isEditable?(e.openBlock(),e.createBlock(We,{key:0,"icon-name":"AddBoxOutlineRounded",label:d.footerLabel,onClick:u[2]||(u[2]=m=>d.$emit("add"))},null,8,["label"])):e.createCommentVNode("",!0)])])):e.createCommentVNode("",!0)]))}});const zh={class:"ao-field ao-search-field"},Zh=["value","placeholder","onKeypress"],xh=e.defineComponent({__name:"AoSearchField",props:{modelValue:{},delay:{default:250},placeholder:{default:"Search"}},emits:["update:modelValue","clear"],setup(a,{emit:t}){const o=a,n=async l=>{const c=l.target.value;t("update:modelValue",c,l)},s=Mh(n,o.delay),r=l=>{t("clear",l)};return(l,i)=>(e.openBlock(),e.createElementBlock("div",zh,[e.createElementVNode("input",{value:l.modelValue,type:"text",class:"ao-field__input ao-search-field__input",placeholder:l.placeholder,onInput:i[0]||(i[0]=(...c)=>e.unref(s)&&e.unref(s)(...c)),onKeypress:e.withKeys(n,["enter"])},null,40,Zh),e.createVNode(Q,{name:"SearchRounded",class:e.normalizeClass(`ao-search-field__icon ao-search-field__action ${l.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 ${l.modelValue?"ao-search-field__action--visible":""}`),onClick:r},null,8,["class"])]))}});const Wh={class:"ao-feed"},qh={class:"ao-feed__filters"},Yh={class:"ao-feed__body"},Un=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:n}=Ye();function s(k,O){t("toast",k,O)}const r=e.toRef(o,"activities"),l=async(k,O)=>{await t("selectActivity",k,O)},i=e.ref({}),c=e.ref(!1),p=e.ref(!1),d=e.computed(()=>o.project?"milestone":"project");e.watch([()=>o.statuses,()=>o.activities,()=>o.initialActivityId,()=>o.initialActivitySlug],async([k,O,_,M],[q,x])=>{i.value=Object.fromEntries(k.map(D=>[D.id,O.filter(S=>{var H;return((H=S.status)==null?void 0:H.id)===D.id})])),_&&!c.value?(l(_,null),c.value=!0):M&&!c.value&&(l(null,M),c.value=!0),p.value&&Me(O,x)},{immediate:!0});const u=e.computed(()=>{var k;return!o.selectedActivity||!o.selectedActivity.milestone?"":`${((k=o.selectedActivity.milestone.phase)==null?void 0:k.name)??""} / ${o.selectedActivity.milestone.name??""}`}),m=k=>{var x,D;const O=(x=o.activities)==null?void 0:x.at(-1),_=O?se.LexoRank.parse(O.rank).genNext():se.LexoRank.middle(),M=((D=o.activities)==null?void 0:D.length)??0,q={name:n("activity.defaultName",{idx:M+1}),rank:_.format(),statusId:k.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]),p.value=!0,t("addActivity",q)},v=(k,O)=>{p.value=!1,t("update:filters",{...o.filters,[k]:O})},y=e.computed(()=>o.project?[o.project]:o.projects??[]),C=e.computed(()=>y.value.map(k=>({value:k.id,label:k.name}))),h=e.computed(()=>{var k;return(k=o.activityTypes)==null?void 0:k.map(O=>({value:O.id,label:O.name}))}),b=e.computed(()=>o.users.map(k=>({value:k.id,label:`${k.firstName} ${k.lastName}`,avatar:k.avatarUrl}))),f=k=>{o.selectedActivity&&t("update:activity",k)},g=k=>{t("update:activity",k)},N=k=>{t("archiveActivity",k)},B=k=>{t("unarchiveActivity",k)},V=k=>{p.value=!1,t("update:searchText",k)},L=k=>{p.value=!1,t("clear:searchText",k)},P=k=>{o.selectedActivity&&t("addSubtask",k)},R=k=>{o.selectedActivity&&t("updateSubtask",k)},F=k=>{o.selectedActivity&&t("deleteSubtask",k)},z=k=>{t("addFiles",k)},T=k=>{t("removeFile",k)},j=k=>{o.selectedActivity&&t("addComment",{...k,activityId:o.selectedActivity.id})},Y=k=>{const{id:O}=o.selectedActivity||{};O&&t("updateComment",k)},Z=k=>{const{id:O}=o.selectedActivity||{};O&&t("removeComment",k)},U=Rt.useRouter(),E=e.ref("feed"),$=[{label:"Overview",value:"overview"},{label:"Feed",value:"feed"},{label:"Mapping",value:"mapping"}];return e.watch(E,k=>{k==="feed"?(U.push({name:oe.feed}),console.log("Navigating to feed...")):k==="overview"?(U.push({name:oe.project}),console.log("Navigating to feed...")):k==="mapping"&&(U.push({name:oe.mapping}),console.log("Navigating to feed..."))}),(k,O)=>{var _;return e.openBlock(),e.createElementBlock("div",Wh,[e.createVNode(Zt,null,{primary:e.withCtx(()=>[e.createElementVNode("div",qh,[e.createVNode(wo,{tabs:$,modelValue:E.value,"onUpdate:modelValue":O[0]||(O[0]=M=>E.value=M)},null,8,["modelValue"]),e.createVNode(xh,{"model-value":k.searchText,placeholder:k.$t("feed.search.placeholder"),class:"ao-feed__search","onUpdate:modelValue":V,onClear:L},null,8,["model-value","placeholder"]),o.project?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(re,{key:0,"model-value":k.filters[e.unref(Je).project],mode:"tags",options:C.value,"close-on-select":!1,searchable:!0,class:"ao-feed__filter ao-feed__filter__projects",placeholder:k.$t("feed.filters.project.placeholder"),"onUpdate:modelValue":O[1]||(O[1]=M=>v(e.unref(Je).project,M))},null,8,["model-value","options","placeholder"])),h.value?(e.openBlock(),e.createBlock(re,{key:1,"model-value":k.filters[e.unref(Je).type],mode:"tags",options:h.value,"close-on-select":!1,searchable:!0,class:"ao-feed__filter ao-feed__filter__types",placeholder:k.$t("feed.filters.activityType.placeholder"),"onUpdate:modelValue":O[2]||(O[2]=M=>v(e.unref(Je).type,M))},null,8,["model-value","options","placeholder"])):e.createCommentVNode("",!0),b.value.length?(e.openBlock(),e.createBlock(re,{key:2,"model-value":k.filters[e.unref(Je).assignee],mode:"tags",options:b.value,"close-on-select":!1,searchable:!0,class:"ao-feed__filter ao-feed__filter__assignees",placeholder:k.$t("feed.filters.assignee.placeholder"),"onUpdate:modelValue":O[3]||(O[3]=M=>v(e.unref(Je).assignee,M))},{tag:e.withCtx(({option:M,handleTagRemove:q})=>[e.createVNode(ke,{"user-name":M.label,"avatar-url":M.avatar,"is-closable":!0,onClose:x=>q(M,x)},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":k.showsOnlyNonAssigned?"CheckBoxOutlineRounded":"CheckBoxOutlineBlank","icon-position":"start",color:"primary",variant:"ghost",label:k.$t("feed.filters.showsOnlyNonAssigned.label"),role:"checkbox","aria-checked":k.showsOnlyNonAssigned,onClick:O[4]||(O[4]=M=>k.$emit("update:showsOnlyNonAssigned",!k.showsOnlyNonAssigned))},null,8,["icon-name","label","aria-checked"]),e.createVNode(K,{class:"ao-feed__only-important",size:"sm","icon-name":k.showsOnlyImportant?"CheckBoxOutlineRounded":"CheckBoxOutlineBlank","icon-position":"start",color:"primary",variant:"ghost",label:k.$t("feed.filters.showsOnlyImportant.label"),role:"checkbox","aria-checked":k.showsOnlyImportant,onClick:O[5]||(O[5]=M=>k.$emit("update:showsOnlyImportant",!k.showsOnlyImportant))},null,8,["icon-name","label","aria-checked"]),e.createVNode(K,{class:"ao-feed__show-archived",size:"sm","icon-name":k.showsArchivedActivities?"CheckBoxOutlineRounded":"CheckBoxOutlineBlank","icon-position":"start",color:"primary",variant:"ghost",label:k.$t("feed.filters.showsArchivedActivities.label"),role:"checkbox","aria-checked":k.showsArchivedActivities,onClick:O[6]||(O[6]=M=>k.$emit("update:showsArchivedActivities",!k.showsArchivedActivities))},null,8,["icon-name","label","aria-checked"])]),_:1}),e.createElementVNode("div",Yh,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(k.statuses,M=>(e.openBlock(),e.createBlock(Uh,{key:M.id,status:M,list:i.value[M.id],title:M.name,"footer-label":k.$t("feed.activity.add"),users:k.users,"user-id":k.userId,"is-editable":k.isEditable,tagType:d.value,onAdd:()=>m(M),onSelectActivity:l,onArchiveActivity:N,onUnarchiveActivity:B,onUpdateActivity:g},null,8,["status","list","title","footer-label","users","user-id","is-editable","tagType","onAdd"]))),128))]),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[k.selectedActivity?(e.openBlock(),e.createBlock(po,{key:0,activity:k.selectedActivity,"activity-types":k.activityTypes,"milestone-id":(_=k.selectedActivity.milestone)==null?void 0:_.id,"template-activities":r.value,users:k.users,"user-id":k.userId,"is-task-checkable":k.isTaskCheckable,statuses:k.statuses,breadcrumbs:u.value,"is-editable":k.isEditable,"attachment-enabled":k.attachmentEnabled,projects:y.value,onClose:O[7]||(O[7]=()=>l(null,null)),"onUpdate:activity":f,onAddSubtask:P,onUpdateSubtask:R,onDeleteSubtask:F,onAddFiles:z,onRemoveFile:T,onAddComment:j,onUpdateComment:Y,onRemoveComment:Z,onToast:s},{default:e.withCtx(M=>[e.renderSlot(k.$slots,"activityDetailsBody",e.normalizeProps(e.guardReactiveProps(M)))]),_: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)]))])}}});const Kh={class:"ao-project-mapping"},Gh={class:"ao-project-mapping-mapping__body"},Xh={class:"ao-project-mapping-mapping__phases"},Qh={key:0,class:"ao-project-mapping-mapping__image-wrapper"},Jh=["src","alt"],e9=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:n}=Ye(),s=()=>{const{name:h,rank:b}=ot(o.phases,"phase",n);t("addPhase",{name:h,rank:b,projectId:o.project.id})},r=h=>{t("updatePhase",h)},l=h=>{t("archivePhase",h)},i=h=>{t("unarchivePhase",h)},c=h=>{t("copyPhaseToTemplate",h)},p=e.ref(!1),d=e.ref(!1),u=(h,b)=>{t("applyTemplate",{templateId:h,projectId:b}),p.value=!1},m=(h,b)=>{var N;const f=(N=o.templates)==null?void 0:N.at(-1),g=f?se.LexoRank.parse(f.rank).genNext():se.LexoRank.middle();t("saveTemplate",{templateName:h,rank:g.format(),phaseIds:b}),d.value=!1},v=Rt.useRouter(),y=e.ref("mapping"),C=[{label:"Overview",value:"overview"},{label:"Feed",value:"feed"},{label:"Mapping",value:"mapping"}];return e.watch(y,h=>{h==="feed"?(v.push({name:oe.feed}),console.log("Navigating to feed...")):h==="overview"?(v.push({name:oe.project}),console.log("Navigating to feed...")):h==="mapping"&&(v.push({name:oe.mapping}),console.log("Navigating to feed..."))}),(h,b)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",e.mergeProps({class:"ao-project-mapping-overview"},h.$attrs),[e.createElementVNode("div",Kh,[e.createVNode(Zt,null,{primary:e.withCtx(()=>[e.createVNode(wo,{tabs:C,modelValue:y.value,"onUpdate:modelValue":b[0]||(b[0]=f=>y.value=f)},null,8,["modelValue"]),e.createVNode(K,{class:"ao-feed__show-archived",size:"sm","icon-name":h.showsArchived?"CheckBoxOutlineRounded":"CheckBoxOutlineBlank","icon-position":"start",color:"primary",variant:"ghost",label:h.$t("feed.filters.showsArchived.label"),role:"checkbox","aria-checked":h.showsArchived,onClick:b[1]||(b[1]=f=>h.$emit("update:showsArchived",!h.showsArchived))},null,8,["icon-name","label","aria-checked"])]),secondary:e.withCtx(()=>[h.isEditable===!0?(e.openBlock(),e.createBlock(K,{key:0,class:"ao-project-mapping-overview__save-as-template",color:"primary",label:h.$t("project.template.save.label"),onClick:b[2]||(b[2]=f=>d.value=!0)},null,8,["label"])):e.createCommentVNode("",!0),h.isEditable===!0?(e.openBlock(),e.createBlock(K,{key:1,class:"ao-project-mapping-overview__add-template",color:"primary",label:h.$t("project.template.apply.label"),onClick:b[3]||(b[3]=f=>p.value=!0)},null,8,["label"])):e.createCommentVNode("",!0)]),_:1}),e.createElementVNode("div",Gh,[e.createElementVNode("div",Xh,[e.createVNode(ko,{phases:h.phases,"closed-status":h.closedStatus,"is-editable":h.isEditable===!0,users:h.users,onAddPhase:s,onUpdatePhase:r,onArchivePhase:l,onUnarchivePhase:i,onCopyPhaseToTemplate:c},null,8,["phases","closed-status","is-editable","users"])]),h.project.architectureImage?(e.openBlock(),e.createElementBlock("div",Qh,[e.createElementVNode("img",{class:"architecture-image",src:h.project.architectureImage.url,alt:e.unref(n)("architectureImage.alt")},null,8,Jh)])):e.createCommentVNode("",!0)])])],16),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[d.value?(e.openBlock(),e.createBlock(Fn,{key:0,phases:h.phases,onClose:b[4]||(b[4]=f=>d.value=!1),onSave:m},null,8,["phases"])):e.createCommentVNode("",!0),p.value?(e.openBlock(),e.createBlock(jn,{key:1,"project-id":h.project.id,templates:h.templates,onClose:b[5]||(b[5]=f=>p.value=!1),onApply:u},null,8,["project-id","templates"])):e.createCommentVNode("",!0)]))],64))}});const tt={TEMPLATES:"templates",TEMPLATE_DETAILS:"template_details",TEMPLATES_LIST:"templates_list"},t9=(a,t={})=>[{path:a,name:tt.TEMPLATES,redirect:{name:tt.TEMPLATES_LIST},...t,children:[{path:"",name:tt.TEMPLATES_LIST,component:zn},{path:":templateId/:phaseId?/:milestoneId?/:activityId?",name:tt.TEMPLATE_DETAILS,component:Rn,props:!0}]}],oe={project:"AoProject",feed:"AoProjectFeed",mapping:"AoProjectMapping",milestone:"AoMilestone",activity:"AoActivity"},a9=(a,t={})=>[{path:a,...t,redirect:{name:oe.project},children:[{path:"",name:oe.project,component:jf,props:!0,children:[{path:":phaseId/:milestoneId",name:oe.milestone,component:Qo,props:!0},{path:":phaseId/:milestoneId/:activityId",name:oe.activity,props:{default:!0,modal:!0},components:{default:Qo,modal:kh}}]},{path:"feed",name:oe.feed,component:Un,props:!0},{path:"mapping",name:oe.mapping,component:e9,props:!0}]}],o9={class:"ao-templates"},zn=e.defineComponent({__name:"AoTemplatesList",props:{templates:{}},emits:["addTemplate","updateTemplates","updateItem","removeItem"],setup(a,{emit:t}){const o=a,{t:n}=Ye();e.watch(()=>o.templates,(c,p)=>{Me(c,p)});const s=()=>{var m,v;const c=(m=o.templates)==null?void 0:m.at(-1),p=c?se.LexoRank.parse(c.rank).genNext():se.LexoRank.middle(),d=((v=o.templates)==null?void 0:v.length)??0,u={name:n("template.defaultName.template",{idx:d+1}),rank:p.format()};t("addTemplate",u)},r=(c,p)=>{t("updateItem",{itemType:ee.TEMPLATES,id:c,templateId:c,data:{name:p}})},l=(c,p)=>{t("removeItem",{itemType:ee.TEMPLATES,templateId:c,data:{id:c,...p?{name:p}:{}}})},i=c=>{if(c.moved){const p=zt(c,o.templates??[]);t("updateItem",{itemType:ee.TEMPLATES,id:c.moved.element.id,templateId:c.moved.element.id,data:{rank:p}})}};return(c,p)=>(e.openBlock(),e.createElementBlock("div",o9,[e.createVNode(Zt,null,{secondary:e.withCtx(()=>[e.createVNode(K,{label:c.$t("templates.new"),color:"primary","icon-name":"Add","icon-position":"start",onClick:s},null,8,["label"])]),_:1}),e.createVNode(e.unref(xe),{"model-value":c.templates,class:"ao-templates__list","item-key":"id",handle:".ao-card__drag",onChange:i},{item:e.withCtx(({element:d})=>{var u;return[e.createVNode($3,{id:d.id,title:d.name,phases:d.phases,milestones:(u=d.phases)!=null&&u.length?e.unref(Y0)(d.phases):0,activities:d.phases?e.unref(K0)(d.phases):0,"updated-at":d.updatedAt,"updated-by":d.updatedBy,onUpdateTitle:m=>r(d.id,m),onClick:m=>c.$router.push({name:e.unref(tt).TEMPLATE_DETAILS,params:{templateId:d.id}}),onDeleteItem:p[0]||(p[0]=(m,v)=>l(m,v))},null,8,["id","title","phases","milestones","activities","updated-at","updated-by","onUpdateTitle","onClick"])]}),_:1},8,["model-value"])]))}});const n9={class:"ao-field__label"},Zn=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",n9,e.toDisplayString(t.label),1),e.renderSlot(t.$slots,"default")],2))}}),s9=["type","value","disabled","readonly"],l9=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,n=e.computed(()=>o.modelModifiers.lazy?"change":"input"),s=r=>{o.modelModifiers.number&&(r=Number(r)),t("update:modelValue",r)};return(r,l)=>(e.openBlock(),e.createBlock(Zn,{label:r.label},{default:e.withCtx(()=>[e.createElementVNode("input",e.mergeProps({class:"ao-field__input",type:r.type,value:r.modelValue,disabled:r.isDisabled,readonly:r.isReadonly},{[e.toHandlerKey(n.value)]:l[0]||(l[0]=i=>s(i.target.value))}),null,16,s9)]),_:1},8,["label"]))}}),r9={class:"ao-field"},i9={class:"ao-field__label"},c9=["checked","disabled"],d9=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",r9,[e.createElementVNode("span",i9,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]=n=>{var s;return t.$emit("update:modelValue",((s=n.target)==null?void 0:s.checked)??!1)})},null,40,c9)]))}});exports.AoAvatar=ke;exports.AoCardFeed=$o;exports.AoCheckboxField=d9;exports.AoFeed=Un;exports.AoField=Zn;exports.AoInputField=l9;exports.AoMultiselect=re;exports.AoProjectPhases=ko;exports.AoTemplateDetails=Rn;exports.AoTemplates=is;exports.AoTemplatesList=zn;exports.TemplateItemTypeEnum=sn;exports.activityFeedStatus=c2;exports.durationTypes=i2;exports.feedFilterTypes=Je;exports.getProjectOverviewRoutes=a9;exports.getTemplateRoutes=t9;exports.listUpdateTypes=d2;exports.milestoneStatus=Ot;exports.projectOverviewRoutes=oe;exports.ruleComparators=an;exports.ruleDurationUnits=nn;exports.ruleTriggerTypes=on;exports.templateItemType=ee;exports.templateRouteNames=tt;
|