@26lights/orcha 0.41.57 → 0.41.59
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.es.js +91 -91
- package/dist/orcha.umd.js +1 -1
- package/dist/src/components/AoColorPicker.vue.d.ts +3 -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=Bv(a):/rgb/.test(a)?t=Go(a):typeof a=="string"?t=Go(`rgba(${a})`):Object.prototype.toString.call(a)==="[object Object]"&&(t=a);const{r:o,g:n,b:s,a:i}=t,{h:l,s:r,v:c}=Vv(t);return{r:o,g:n,b:s,a:i===void 0?1:i,h:l,s:r,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,i){const l=a==="l",r=t.createLinearGradient(0,0,l?o:0,l?0:n);r.addColorStop(.01,s),r.addColorStop(.99,i),t.fillStyle=r,t.fillRect(0,0,o,n)}function Ev({r:a,g:t,b:o},n){const s=l=>("0"+Number(l).toString(16)).slice(-2),i=`#${s(a)}${s(t)}${s(o)}`;return n?i.toUpperCase():i}function Bv(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 Go(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 Vv({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),i=n-s;let l=0;n===s?l=0:n===a?t>=o?l=60*(t-o)/i:l=60*(t-o)/i+360:n===t?l=60*(o-a)/i+120:n===o&&(l=60*(a-t)/i+240),l=Math.floor(l);let r=parseFloat((n===0?0:1-s/n).toFixed(2)),c=parseFloat(n.toFixed(2));return{h:l,s:r,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 r=l.clientX-o,c=l.clientY-t;r<0&&(r=0),c<0&&(c=0),r>this.size&&(r=this.size),c>this.size&&(c=this.size),this.slideSaturationStyle={left:r-5+"px",top:c-5+"px"};const u=n.getImageData(Math.min(r,this.size-1),Math.min(c,this.size-1),1,1),[d,p,m]=u.data;this.$emit("selectSaturation",{r:d,g:p,b:m})};s(a);const i=()=>{document.removeEventListener("mousemove",s),document.removeEventListener("mouseup",i)};document.addEventListener("mousemove",s),document.addEventListener("mouseup",i)}}});const Nv={ref:"canvasSaturation"};function Sv(a,t,o,n,s,i){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",Nv,null,512),e.createVNode("div",{style:a.slideSaturationStyle,class:"slide"},null,4)],32)}vo.render=Sv;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=i=>{let l=i.clientY-t;l<0&&(l=0),l>this.height&&(l=this.height),this.slideHueStyle={top:l-2+"px"};const r=o.getImageData(0,Math.min(l,this.height-1),1,1),[c,u,d]=r.data;this.$emit("selectHue",{r:c,g:u,b:d})};n(a);const s=()=>{document.removeEventListener("mousemove",n),document.removeEventListener("mouseup",s)};document.addEventListener("mousemove",n),document.addEventListener("mouseup",s)}}});const Mv={ref:"canvasHue"};function Av(a,t,o,n,s,i){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",Mv,null,512),e.createVNode("div",{style:a.slideHueStyle,class:"slide"},null,4)],32)}fo.render=Av;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),i=a.getContext("2d");a.width=t,a.height=o,i.fillStyle=i.createPattern(s,"repeat"),i.fillRect(0,0,t,o),Ya("p",i,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 i=s.clientY-t;i<0&&(i=0),i>this.height&&(i=this.height);let l=parseFloat((i/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 Tv={ref:"canvasAlpha"};function Ov(a,t,o,n,s,i){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",Tv,null,512),e.createVNode("div",{style:a.slideAlphaStyle,class:"slide"},null,4)],32)}ho.render=Ov;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),i=a.getContext("2d");a.width=t,a.height=o,i.fillStyle=i.createPattern(s,"repeat"),i.fillRect(0,0,t,o),i.fillStyle=this.color,i.fillRect(0,0,t,o)}}});function Iv(a,t,o,n,s,i){return e.openBlock(),e.createBlock("canvas")}Co.render=Iv;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:i,height:l}=this.suckerCanvas.getBoundingClientRect(),r=t-s,c=o-n,d=this.suckerCanvas.getContext("2d").getImageData(Math.min(r,i-1),Math.min(c,l-1),1,1);let[p,m,v,b]=d.data;b=parseFloat((b/255).toFixed(2));const y=this.suckerPreview.style;Object.assign(y,{position:"absolute",left:t+20+"px",top:o-36+"px",width:"24px",height:"24px",borderRadius:"50%",border:"2px solid #fff",boxShadow:"0 0 8px 0 rgba(0, 0, 0, 0.16)",background:`rgba(${p}, ${m}, ${v}, ${b})`,zIndex:95}),this.suckerArea.length&&t>=this.suckerArea[0]&&o>=this.suckerArea[1]&&t<=this.suckerArea[2]&&o<=this.suckerArea[3]?y.display="":y.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:i,width:l,height:r}=a.getBoundingClientRect(),c=o-i,u=n-s,p=a.getContext("2d").getImageData(Math.min(c,l-1),Math.min(u,r-1),1,1);let[m,v,b,y]=p.data;y=parseFloat((y/255).toFixed(2)),this.$emit("selectSucker",{r:m,g:v,b,a:y})}))}}});const Lv=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),Dv={key:1,class:"sucker",viewBox:"-16 -16 68 68",xmlns:"http://www.w3.org/2000/svg",stroke:"#9099a4"},Pv=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 Hv(a,t,o,n,s,i){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))},[Lv],2)),a.isSucking?(e.openBlock(),e.createBlock("svg",Dv,[Pv])):e.createCommentVNode("v-if",!0)])}go.render=Hv;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(i){t("inputColor",i)}}),handleFocus:i=>{t("inputFocus",i)},handleBlur:i=>{t("inputBlur",i)}}}});const Rv={class:"color-type"},jv={class:"name"};function Fv(a,t,o,n,s,i){return e.openBlock(),e.createBlock("div",Rv,[e.createVNode("span",jv,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=Fv;_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(()=>{i(o.value)});function i(r){if(!r)return;const c=n.value||[],u=c.indexOf(r);u>=0&&c.splice(u,1),c.length>=8&&(c.length=7),c.unshift(r),n.value=c||[],localStorage&&a.colorsHistoryKey&&localStorage.setItem(a.colorsHistoryKey,JSON.stringify(c))}function l(r){t("selectColor",r)}return{setColorsHistory:i,colorsHistory:n,color:o,imgAlphaBase64:s,selectColor:l}}});const Uv={class:"colors"},zv={key:0,class:"colors history"};function Zv(a,t,o,n,s,i){return e.openBlock(),e.createBlock("div",null,[e.createVNode("ul",Uv,[(e.openBlock(!0),e.createBlock(e.Fragment,null,e.renderList(a.colorsDefault,l=>(e.openBlock(),e.createBlock("li",{key:l,class:"item",onClick:r=>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",zv,[(e.openBlock(!0),e.createBlock(e.Fragment,null,e.renderList(a.colorsHistory,l=>(e.openBlock(),e.createBlock("li",{key:l,class:"item",onClick:r=>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=Zv;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 Ev(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:i,v:l}=Qe(a);Object.assign(this,{r:t,g:o,b:n,h:s,s:i,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:i,v:l}=Qe(a);Object.assign(this,{r:t,g:o,b:n,h:s,s:i,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:i,s:l,v:r}=Qe(a);Object.assign(this,{r:t,g:o,b:n,a:s,h:i,s:l,v:r}),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:i,s:l,v:r}=Qe(a);Object.assign(this,{r:t,g:o,b:n,a:s,h:i,s:l,v:r}),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:i,s:l,v:r}=Qe(a);Object.assign(this,{r:t,g:o,b:n,a:s,h:i,s:l,v:r}),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:i,s:l,v:r}=Qe(a);Object.assign(this,{r:t,g:o,b:n,a:s,h:i,s:l,v:r}),this.setText(),this.$nextTick(()=>{this.$refs.saturation.renderColor(),this.$refs.saturation.renderSlide(),this.$refs.hue.renderSlide()})}}});const xv={class:"color-set"};function Wv(a,t,o,n,s,i){const l=e.resolveComponent("Saturation"),r=e.resolveComponent("Hue"),c=e.resolveComponent("Alpha"),u=e.resolveComponent("Preview"),d=e.resolveComponent("Sucker"),p=e.resolveComponent("Box"),m=e.resolveComponent("Colors");return e.openBlock(),e.createBlock("div",{class:["hu-color-picker",{light:a.isLightTheme}],style:{width:a.totalWidth+"px"}},[e.createVNode("div",xv,[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(r,{ref:"hue",hsv:a.hsv,width:a.hueWidth,height:a.hueHeight,onSelectHue:a.selectHue},null,8,["hsv","width","height","onSelectHue"]),e.createVNode(c,{ref:"alpha",color:a.rgbString,rgba:a.rgba,width:a.hueWidth,height:a.hueHeight,onSelectAlpha:a.selectAlpha},null,8,["color","rgba","width","height","onSelectAlpha"])]),e.createVNode("div",{style:{height:a.previewHeight+"px"},class:"color-show"},[e.createVNode(u,{color:a.rgbaString,width:a.previewWidth,height:a.previewHeight},null,8,["color","width","height"]),a.suckerHide?e.createCommentVNode("v-if",!0):(e.openBlock(),e.createBlock(d,{key:0,"sucker-canvas":a.suckerCanvas,"sucker-area":a.suckerArea,onOpenSucker:a.openSucker,onSelectSucker:a.selectSucker},null,8,["sucker-canvas","sucker-area","onOpenSucker","onSelectSucker"]))],4),e.createVNode(p,{name:"HEX",color:a.modelHex,onInputColor:a.inputHex,onInputFocus:a.handleFocus,onInputBlur:a.handleBlur},null,8,["color","onInputColor","onInputFocus","onInputBlur"]),e.createVNode(p,{name:"RGBA",color:a.modelRgba,onInputColor:a.inputRgba,onInputFocus:a.handleFocus,onInputBlur:a.handleBlur},null,8,["color","onInputColor","onInputFocus","onInputBlur"]),e.createVNode(m,{color:a.rgbaString,"colors-default":a.colorsDefault,"colors-history-key":a.colorsHistoryKey,onSelectColor:a.selectColor},null,8,["color","colors-default","colors-history-key","onSelectColor"]),e.createCommentVNode(" custom options "),e.renderSlot(a.$slots,"default")],6)}ut.render=Wv;ut.__file="src/color/ColorPicker.vue";ut.install=a=>{a.component(ut.name,ut)};const qv={class:"color-picker-wrapper"},Rn=e.defineComponent({__name:"AoColorPicker",props:{color:{}},emits:["update:color"],setup(a,{emit:t}){const o=e.ref(!1),n=e.ref(null),s=async()=>{o.value=!0,await e.nextTick(),setTimeout(()=>{window.addEventListener("click",i)},0)},i=r=>{const c=r.target;n.value&&!n.value.contains(c)&&(o.value=!1,window.removeEventListener("click",i))};e.onBeforeUnmount(()=>{window.removeEventListener("click",i)});const l=r=>{const{r:c,g:u,b:d,a:p}=r.rgba,m=`rgba(${c}, ${u}, ${d}, ${p})`;t("update:color",m)};return(r,c)=>(e.openBlock(),e.createElementBlock("div",qv,[e.renderSlot(r.$slots,"clickable",{openPicker:s,color:r.color}),o.value?(e.openBlock(),e.createElementBlock("div",{key:0,ref_key:"pickerRef",ref:n},[e.createVNode(e.unref(ut),{class:"color-picker",theme:"light",color:r.color,onChangeColor:l},null,8,["color"])],512)):e.createCommentVNode("",!0)]))}});const Yv={class:"ao-mapping -card-project-phase__header"},Kv={class:"ao-card-project-item__title-line"},Gv={key:0,class:"ao-card-project-item-phase__estimation"},Xv={class:"ao-mapping -card-project-phase__footer"},Qv={key:0,class:"ao-mapping -card-project-phase__footer-row ao-mapping -card-project-phase__footer-row--progress"},Jv={class:"ao-mapping -card-project-phase__subitem"},ef={class:"ao-mapping -card-project-phase__subitem"},tf={key:0,class:"ao-mapping -card-project-phase__secondary"},af={class:"ao-mapping -card-project-phase__deadline ao-mapping -card-project-phase__deadline--readonly"},of=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=p=>{t("update:title",p)},s=e.computed(()=>{var p;return(p=o.milestones)==null?void 0:p.reduce((m,v)=>{var b;return m+((b=v.activities)==null?void 0:b.reduce((y,h)=>y+(h.estimation||0),0))},0)}),i=e.computed(()=>{var p;return(p=o.milestones)==null?void 0:p.length}),l=e.computed(()=>{var p;return(p=o.milestones)==null?void 0:p.filter(m=>m.status===Ot.done).length}),r=e.computed(()=>(l.value||0)/(i.value||1)),c=e.computed({get:()=>o.deadline??"",set:p=>t("update:deadline",p!=null&&p.length?p:null)}),u=e.computed({get:()=>o.color,set:p=>{t("updatePhase",{id:o.id,color:p})}}),d=(p,m)=>{const v=p.target;v.closest("button")||v.closest("input")||v.closest(".ao-title")||m()};return(p,m)=>(e.openBlock(),e.createBlock(Rn,{color:u.value,"onUpdate:color":m[2]||(m[2]=v=>u.value=v)},{clickable:e.withCtx(({openPicker:v,color:b})=>[e.createVNode(Va,{class:"ao-mapping -card-project-phase","is-clickable":p.isEditable,onClick:y=>d(y,v),style:e.normalizeStyle({"--ao-card-custom-bg":b})},e.createSlots({default:e.withCtx(()=>[e.createElementVNode("div",Kv,[e.createVNode(ne,{id:p.id,class:"ao-mapping -card-project-phase__title",title:p.name||"",level:4,"is-editable":p.isEditable,"onUpdate:title":n},null,8,["id","title","is-editable"]),s.value?(e.openBlock(),e.createElementBlock("span",Gv," ("+e.toDisplayString(s.value)+")",1)):e.createCommentVNode("",!0)])]),footer:e.withCtx(()=>[e.createElementVNode("div",Xv,[i.value?(e.openBlock(),e.createElementBlock("div",Qv,[e.createElementVNode("div",Jv,[e.createVNode(Q,{name:"MountainFlagOutlineRounded",size:"sm"}),e.createElementVNode("span",ef,e.toDisplayString(l.value)+" / "+e.toDisplayString(i.value),1)]),e.createVNode(Na,{percentages:r.value,class:"ao-mapping -card-project-phase__progress"},null,8,["percentages"]),p.$slots.secondary?(e.openBlock(),e.createElementBlock("div",tf,[e.renderSlot(p.$slots,"secondary")])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(["ao-mapping -card-project-phase__footer-row",c.value?"":"ao-mapping -card-project-phase__no_deadline"])},[p.isEditable?e.withDirectives((e.openBlock(),e.createElementBlock("input",{key:0,"onUpdate:modelValue":m[1]||(m[1]=y=>c.value=y),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",af,e.toDisplayString(e.unref(_a)(p.deadline)),1)],2)])]),_:2},[p.isEditable?{name:"header",fn:e.withCtx(()=>[e.createElementVNode("div",Yv,[e.createVNode(K,{class:"ao-mapping -card-project-phase__archive",color:"primary",variant:"ghost","icon-name":"ArchiveOutlineRounded",size:"sm","icon-position":"start",corners:"round",label:p.active?p.$t("archive"):p.$t("unarchive"),onClick:m[0]||(m[0]=e.withModifiers(()=>p.active?p.$emit("archivePhase",{id:p.id}):p.$emit("unarchivePhase",{id:p.id}),["stop"]))},null,8,["label"])])]),key:"0"}:void 0]),1032,["is-clickable","onClick","style"])]),_:3},8,["color"]))}});const nf={key:0,class:"ao-project-phase__drag ao-card__drag"},sf={key:1,class:"ao-project-phase__col-phase"},lf={key:2,class:"ao-mapping-project-phase__col-phase"},rf={key:3,class:"ao-project-phase__col-milestones"},cf={class:"ao-project-phase__milestones"},df={class:"ao-project-phase__milestones-list-footer"},uf=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,C)=>{Me(f,C)});const s=f=>{t("updatePhase",{id:o.phase.id,name:f})},i=f=>{t("updatePhase",{id:o.phase.id,deadline:f})},l=f=>{t("updatePhase",f)},r=e.computed(()=>o.phase.milestones.map(f=>Q0(f,o.closedStatus))),c=f=>{const{name:C,rank:g}=ot(r.value??[],"milestone",n);t("addMilestone",{name:C,rank:g,phaseId:f})},u=f=>{t("updateMilestone",f)},d=f=>{t("archiveMilestone",f)},p=f=>{t("unarchiveMilestone",f)},m=f=>{t("archivePhase",f)},v=f=>{t("unarchivePhase",f)},b=f=>{"added"in f?t("updateMilestone",{id:f.added.element.id,phaseId:o.phase.id,rank:pt(r.value,f.added.newIndex)}):"removed"in f||"moved"in f&&t("updateMilestone",{id:f.moved.element.id,rank:pt(r.value,f.moved.newIndex)})},y=Rt.useRoute(),h=e.computed(()=>y.path.includes("/mapping"));return(f,C)=>{var g;return e.openBlock(),e.createElementBlock("li",{class:e.normalizeClass(["ao-project-phase",{"ao-project-phase--selected":f.phase.id===((g=f.$route.params)==null?void 0:g.phaseId)}])},[f.isEditable?(e.openBlock(),e.createElementBlock("div",nf,[e.createVNode(Q,{name:"DragIndicator",class:"ao-project-phase__drag-handle"})])):e.createCommentVNode("",!0),h.value?(e.openBlock(),e.createElementBlock("div",lf,[e.createVNode(of,{id:f.phase.id,milestones:r.value,name:f.phase.name,deadline:f.phase.deadline,active:f.phase.active,"is-editable":f.isEditable,"onUpdate:deadline":i,"onUpdate:title":s,onArchivePhase:m,onUnarchivePhase:v,onUpdatePhase:l},null,8,["id","milestones","name","deadline","active","is-editable"])])):(e.openBlock(),e.createElementBlock("div",sf,[e.createVNode(rv,{id:f.phase.id,milestones:r.value,name:f.phase.name,deadline:f.phase.deadline,active:f.phase.active,"is-editable":f.isEditable,"onUpdate:deadline":i,"onUpdate:title":s,onArchivePhase:m,onUnarchivePhase:v},null,8,["id","milestones","name","deadline","active","is-editable"])])),h.value?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",rf,[e.createElementVNode("div",cf,[e.createVNode(e.unref(xe),e.mergeProps({class:"ao-project-phase__milestones-list",list:r.value,disabled:f.readonly||!f.isEditable,"item-key":"id",group:"kanban"},f.$attrs,{onChange:b}),{item:e.withCtx(({element:N})=>{var B;return[e.createVNode($v,{id:N.id,name:N.name,color:N.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:u,onArchiveMilestone:d,onUnarchiveMilestone:p},null,8,["id","name","color","activities","deadline","active","is-editable","is-draggable","closed-status","is-selected","assignee","important","readonly","onClick"])]}),_:1},16,["list","disabled"]),e.createElementVNode("div",df,[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:C[0]||(C[0]=()=>c(f.phase.id))},null,8,["label"])):e.createCommentVNode("",!0)])])]))],2)}}});const pf={class:"ao-project__phases"},mf={key:0,class:"ao-project-phase__phases-list-footer"},vf=e.createElementVNode("div",{class:"ao-project-phase__empty_drag"},null,-1),ff={class:"ao-project-phase__col-phase"},hf=e.createElementVNode("div",{class:"ao-project-phase__col-milestones"},null,-1),bo=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)},i=m=>{t("archiveMilestone",m)},l=m=>{t("unarchiveMilestone",m)},r=m=>{t("archivePhase",m)},c=m=>{t("unarchivePhase",m)},u=m=>{if(m.moved){const v=zt(m,o.phases??[]);t("updatePhase",{id:m.moved.element.id,rank:v})}},d=m=>{t("updatePhase",m)},p=m=>{t("addPhase",m)};return(m,v)=>(e.openBlock(),e.createElementBlock("div",pf,[e.createVNode(e.unref(xe),{class:"ao-project-phase__phases-list","model-value":m.phases,"item-key":"id",handle:".ao-card__drag",onChange:u},{item:e.withCtx(({element:b})=>[e.createVNode(uf,{phase:b,"is-editable":!m.readonly&&m.isEditable,"closed-status":m.closedStatus,users:m.users,readonly:m.readonly,onAddMilestone:n,onUpdateMilestone:s,onArchiveMilestone:i,onUnarchiveMilestone:l,onUpdatePhase:d,onArchivePhase:r,onUnarchivePhase:c},null,8,["phase","is-editable","closed-status","users","readonly"])]),_:1},8,["model-value"]),m.isEditable?(e.openBlock(),e.createElementBlock("div",mf,[vf,e.createElementVNode("div",ff,[e.createVNode(We,{label:m.$t("project.phases.add"),"icon-name":"Add",class:"ao-project-phase__add-phase",onClick:p},null,8,["label"])]),hf])):e.createCommentVNode("",!0)]))}});const Cf=["onSubmit"],gf={class:"ao-add-template-modal__form-body"},_f={class:"field__row"},yf={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(r=>({value:r.id,label:r.name}))),s=e.ref(null),i=r=>{s.value=r},l=()=>{s.value&&t("apply",s.value,o.projectId)};return(r,c)=>(e.openBlock(),e.createBlock(ya,{size:"sm"},{header:e.withCtx(()=>[e.createVNode(ne,{title:r.$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(r.$t("project.template.apply.notice")),1),e.createElementVNode("div",gf,[e.createElementVNode("div",_f,[e.createVNode(ie,{value:s.value,options:n.value,detached:!0,onChange:i},null,8,["value","options"])])]),e.createElementVNode("footer",yf,[e.createVNode(K,{label:r.$t("project.template.apply.label"),type:"submit",color:"primary",variant:"solid",onClick:l},null,8,["label"])])],40,Cf)]),_:1}))}});const bf=["onSubmit"],kf={class:"ao-save-template-modal__form-body"},wf={class:"field__row"},$f={class:"ao-field ao-field--inline"},Ef={class:"ao-field__label"},Bf={class:"ao-save-template-modal__phases"},Vf={class:"ao-field__label"},Nf={class:"ao-save-template-modal__phases-list"},Sf=["value"],Mf={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 i=()=>{n.value&&t("save",n.value,s.value)};return(l,r)=>(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(i,["prevent"])},[e.createElementVNode("div",kf,[e.createElementVNode("div",wf,[e.createElementVNode("label",$f,[e.createElementVNode("span",Ef,e.toDisplayString(l.$t("project.template.name.label"))+": ",1),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":r[0]||(r[0]=c=>n.value=c),type:"text"},null,512),[[e.vModelText,n.value]])])]),e.createElementVNode("div",Bf,[e.createElementVNode("div",Vf,e.toDisplayString(l.$t("project.template.phases.label")),1),e.createElementVNode("div",Nf,[(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":r[1]||(r[1]=u=>s.value=u)},null,8,Sf),[[e.vModelCheckbox,s.value]]),e.createElementVNode("span",null,e.toDisplayString(c.name),1)]))),128))])])]),e.createElementVNode("footer",Mf,[e.createVNode(K,{label:l.$t("project.template.save.label"),type:"submit",color:"primary",variant:"solid",onClick:i},null,8,["label"])])],40,bf)]),_:1}))}});const Af=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 Tf={class:"tabbar-wrapper"},Of=["onClick"];function If(a,t,o,n,s,i){return e.openBlock(),e.createElementBlock("div",Tf,[(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:r=>a.selectTab(l.value)},e.toDisplayString(l.label),11,Of))),128))])}const ko=I(Af,[["render",If],["__scopeId","data-v-ff4e3297"]]),Lf={class:"ao-project"},Df={class:"ao-project__body"},Pf=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)),i=()=>{const{name:$,rank:k}=ot(o.phases,"phase",n);t("addPhase",{name:$,rank:k,projectId:o.project.id})},l=$=>{t("updatePhase",$)},r=$=>{t("archivePhase",$)},c=$=>{t("unarchivePhase",$)},u=$=>{t("copyPhaseToTemplate",$)},d=$=>{t("addMilestone",$)},p=$=>{t("updateMilestone",$)},m=$=>{t("archiveMilestone",$)},v=$=>{t("unarchiveMilestone",$)},b=$=>{t("addActivity",$)},y=$=>{t("update:activity",$)},h=$=>{t("archiveActivity",$)},f=$=>{t("unarchiveActivity",$)},C=$=>{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",Lf,[e.createVNode(Zt,null,{primary:e.withCtx(()=>[e.createVNode(ko,{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",Df,[e.createVNode(bo,{phases:$.phases,"closed-status":$.closedStatus,"is-editable":$.isEditable===!0,users:$.users,onAddMilestone:d,onUpdateMilestone:p,onArchiveMilestone:m,onUnarchiveMilestone:v,onAddPhase:i,onUpdatePhase:l,onArchivePhase:r,onUnarchivePhase:c,onCopyPhaseToTemplate:u},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:p,onAddActivity:b,onUpdateActivity:y,onArchiveActivity:h,onUnarchiveActivity:f},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":y,onAddSubtask:C,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 Hf={class:"ao-card-feed__header"},Rf={key:1,class:"ao-card-feed__header-secondary ao-card-feed__header-icons"},jf={key:2,class:"ao-card-feed__header-secondary ao-card-feed__secondary"},Ff={class:"ao-card-feed__body"},Uf={key:0,class:"ao-card-feed__breadcrumbs"},zf={class:e.normalizeClass(["ao-card-feed__title-group"])},Zf={class:"ao-card-feed__title-line"},xf={key:0,class:"ao-card-feed__slug"},Wf={key:1,class:"ao-card-feed__deadline"},qf={class:"ao-card-feed__footer"},Yf={class:"ao-card-feed__footer-row"},Kf={class:"ao-assignees"},Gf={key:0,class:"ao-assignee"},Xf={key:0,class:"ao-card-feed__subitems"},Qf={key:0,class:"ao-card-feed__subitem"},Jf={class:"ao-card-feed__subitem"},eh={key:1,class:"ao-card-feed__subitem"},th={class:"ao-card-feed__subitem"},ah={class:"ao-card-feed__footer-row"},oh={key:0,class:"ao-card-feed__progress-wrapper"},nh={class:"ao-card-feed__subitem"},sh={class:"ao-card-feed__subitem"},wo=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),i=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}`:""),r=e.computed(()=>o.assignee?[o.assignee]:[]),c=e.computed(()=>_a(o.deadline)),u=v=>{t("removeAssignee",v)},d=e.computed(()=>{var v;return(v=o.tasks)==null?void 0:v.length}),p=e.computed(()=>{var v;return(v=o.tasks)==null?void 0:v.filter(b=>b.isDone).length}),m=e.computed(()=>(p.value||0)/(d.value||1));return(v,b)=>(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",Hf,[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",Rf,[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",jf,[e.renderSlot(v.$slots,"secondary")])):e.createCommentVNode("",!0)])]),default:e.withCtx(()=>[e.createElementVNode("div",Ff,[l.value?(e.openBlock(),e.createElementBlock("span",Uf,e.toDisplayString(l.value),1)):e.createCommentVNode("",!0),e.createElementVNode("div",zf,[e.createElementVNode("div",Zf,[v.slug?(e.openBlock(),e.createElementBlock("span",xf,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":i,class:"ao-card-feed__title-inline"},null,8,["id","title","is-editable"])])]),v.deadline?(e.openBlock(),e.createElementBlock("span",Wf,e.toDisplayString(c.value),1)):e.createCommentVNode("",!0)])]),footer:e.withCtx(()=>[e.createElementVNode("div",qf,[e.createElementVNode("div",Yf,[e.createElementVNode("ul",Kf,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.value,y=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:y.id},[y?(e.openBlock(),e.createElementBlock("li",Gf,[e.createVNode(ke,{"user-name":e.unref(yn)(y),"avatar-url":y.avatarUrl,"is-closable":!0,onClose:()=>u(y.id)},null,8,["user-name","avatar-url","onClose"])])):e.createCommentVNode("",!0)],64))),128))]),v.comments||v.attachments?(e.openBlock(),e.createElementBlock("ul",Xf,[v.comments?(e.openBlock(),e.createElementBlock("li",Qf,[e.createVNode(Q,{name:"ChatOutline",size:"sm"}),e.createElementVNode("span",Jf,e.toDisplayString(v.comments),1)])):e.createCommentVNode("",!0),v.attachments?(e.openBlock(),e.createElementBlock("li",eh,[e.createVNode(Q,{name:"AttachFileRounded",size:"sm"}),e.createElementVNode("span",th,e.toDisplayString(v.attachments),1)])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)]),e.createElementVNode("div",ah,[v.tasks&&v.tasks.length?(e.openBlock(),e.createElementBlock("div",oh,[e.createElementVNode("div",nh,[e.createVNode(Q,{name:"SelectCheckBox",size:"sm"}),e.createElementVNode("span",sh,e.toDisplayString(p.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 lh={class:"ao-project-milestone"},ih={class:"ao-project-milestone__header"},rh={class:"ao-project-milestone__header_line"},ch={class:"ao-project-milestone__header_line"},dh={class:"ao-project-milestone__title"},uh={key:0,class:"ao-fieldset ao-milestone__fieldset"},ph={class:"ao-field__row ao-milestone__field-row"},mh={class:"ao-field ao-field--inline"},vh={class:"ao-field__row ao-milestone__field-row"},fh={class:"ao-field ao-milestone__field-multiselect"},hh=["onClick"],Ch={class:"ao-project-milestone__body"},gh={key:0,class:"ao-project-milestone__footer"},Xo=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 C;return(C=o.phases)==null?void 0:C.find(g=>g.id===o.phaseId)}),i=e.computed(()=>{var C;return(C=o.phases)==null?void 0:C.flatMap(g=>g.milestones)}),l=e.computed(()=>{var C;return(C=i.value)==null?void 0:C.find(g=>g.id===o.milestoneId)}),r=e.computed(()=>{var C;return(C=l.value)==null?void 0:C.activities});e.watch(r,(C,g)=>{Me(C,g)});const c=C=>{t("close",C)},u=()=>{const{name:C,rank:g}=ot(r.value??[],"activity",n);t("addActivity",{milestoneId:o.milestoneId,name:C,rank:g,projectId:o.projectId})},d=C=>{t("updateActivity",C)},p=C=>{r.value&&"moved"in C&&t("updateActivity",{id:C.moved.element.id,rank:pt(r.value,C.moved.newIndex)})},m=e.computed({get:()=>{var C;return(C=l.value)==null?void 0:C.color},set:C=>{l.value&&t("updateMilestone",{id:l.value.id,color:C})}}),v=e.computed({get:()=>{var C;return((C=l==null?void 0:l.value)==null?void 0:C.deadline)??""},set:C=>{l.value&&t("updateMilestone",{id:l.value.id,deadline:C!=null&&C.length?C:null})}}),b=C=>o.closedStatus?Qa(C,o.closedStatus):!1,y=e.computed(()=>{var C;return((C=o.users)==null?void 0:C.map(g=>({label:`${g.firstName} ${g.lastName}`,value:g.id,avatar:g.avatarUrl})))||[]}),h=e.computed({get(){var C,g;return(g=(C=l.value)==null?void 0:C.assignee)!=null&&g.id?[l.value.assignee.id]:[]},set(C){t("updateMilestone",{id:o.milestoneId,assigneeId:C[0]??null})}}),f=e.computed({get(){var C;return((C=l.value)==null?void 0:C.important)??!1},set(C){t("updateMilestone",{id:o.milestoneId,important:C})}});return(C,g)=>{var N;return e.openBlock(),e.createElementBlock("div",lh,[e.createElementVNode("header",ih,[e.createElementVNode("div",rh,[e.createVNode(K,{"icon-name":"CloseRounded",variant:"ghost",size:"sm",class:"ao-milestone__close",onClick:c})]),e.createElementVNode("div",ch,[e.createElementVNode("div",dh,[e.createVNode(ne,{title:((N=l.value)==null?void 0:N.name)||C.milestoneId,level:5},null,8,["title"]),e.createVNode(qa,{modelValue:f.value,"onUpdate:modelValue":g[0]||(g[0]=B=>f.value=B),modelModifiers:{lazy:!0},disabled:!C.isEditable,class:"ao-milestone__important",color:"danger",label:C.$t("activity.important.label"),"icon-name":"FlagRounded",variant:"ghost",size:"sm"},null,8,["modelValue","disabled","label"])])]),l.value?(e.openBlock(),e.createElementBlock("div",uh,[e.createElementVNode("div",ph,[e.createElementVNode("label",mh,[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",vh,[e.createElementVNode("label",fh,[e.createVNode(ie,{modelValue:h.value,"onUpdate:modelValue":g[2]||(g[2]=B=>h.value=B),options:y.value,"close-on-select":!0,searchable:!0,max:1,class:"ao-milestone__field ao-milestone__multiselect",placeholder:C.$t("activity.filters.assignee.placeholder"),mode:"tags",disabled:!C.isEditable,caret:C.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(Rn,{color:m.value,"onUpdate:color":g[3]||(g[3]=B=>m.value=B)},{clickable:e.withCtx(({openPicker:B,color:V})=>[e.createElementVNode("button",{style:e.normalizeStyle({"background-color":V}),class:"color-button",onClick:B},null,12,hh)]),_:1},8,["color"])])):e.createCommentVNode("",!0)]),e.createElementVNode("div",Ch,[e.createVNode(e.unref(xe),e.mergeProps({class:"ao-project-milestone__activities",list:r.value,disabled:!C.isEditable,"item-key":"id",group:"kanban"},C.$attrs,{onChange:p}),{item:e.withCtx(({element:B})=>{var V,L,P,R,F;return[e.createVNode(wo,{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:C.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":C.isEditable,"is-private":B.private,"is-closed":b(B),onClick:z=>C.$router.push({name:e.unref(oe).activity,params:{milestoneId:C.milestoneId,activityId:B.id}}),onUpdateActivity:d,onRemoveAssignee:()=>d({id:B.id,assigneeId:null})},e.createSlots({_:2},[C.isEditable?{name:"secondary",fn:e.withCtx(()=>[C.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:C.$t("archive"),onClick:e.withModifiers(()=>C.$emit("archiveActivity",{id:B.id}),["stop"])},null,8,["label","onClick"])):e.createCommentVNode("",!0),C.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:C.$t("feed.activity.unarchive"),onClick:e.withModifiers(()=>C.$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"]),C.isEditable?(e.openBlock(),e.createElementBlock("div",gh,[e.createVNode(We,{"icon-name":"Add",label:C.$t("project.activity.add"),onClick:u},null,8,["label"])])):e.createCommentVNode("",!0)])])}}});const _h=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(f=>f.id===o.phaseId)}),s=e.computed(()=>{var h;return(h=o.phases)==null?void 0:h.flatMap(f=>f.milestones)}),i=e.computed(()=>{var h;return(h=s.value)==null?void 0:h.find(f=>f.id===o.milestoneId)}),l=e.computed(()=>{var h;return(h=o.activities)==null?void 0:h.find(f=>f.id===o.activityId)}),r=h=>{t("update:activity",h)},c=h=>{t("addSubtask",h)},u=h=>{t("updateSubtask",h)},d=h=>{t("deleteSubtask",h)},p=h=>{t("addFiles",h)},m=h=>{t("removeFile",h)},v=h=>{t("addComment",h)},b=h=>{t("updateComment",h)},y=h=>{t("removeComment",h)};return(h,f)=>{var C,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:`${(C=n.value)==null?void 0:C.name} / ${(g=i.value)==null?void 0:g.name}`,"is-editable":h.isEditable,"attachment-enabled":h.attachmentEnabled,projects:[h.project],onClose:h.$router.back,"onUpdate:activity":r,onAddSubtask:c,onUpdateSubtask:u,onDeleteSubtask:d,onAddFiles:p,onRemoveFile:m,onAddComment:v,onUpdateComment:b,onRemoveComment:y},{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)}}}),yh={class:"ao-col-header"},bh=e.defineComponent({__name:"AoColHeader",props:{title:{},items:{}},setup(a){return(t,o)=>(e.openBlock(),e.createElementBlock("header",yh,[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 kh(a){return e.getCurrentScope()?(e.onScopeDispose(a),!0):!1}function ma(a){return typeof a=="function"?a():e.unref(a)}const wh=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const $h=a=>a!=null,At=()=>{};function Eh(a,t){function o(...n){return new Promise((s,i)=>{Promise.resolve(a(()=>t.apply(this,n),{fn:t,thisArg:this,args:n})).then(s).catch(i)})}return o}function Bh(a,t={}){let o,n,s=At;const i=r=>{clearTimeout(r),s(),s=At};return r=>{const c=ma(a),u=ma(t.maxWait);return o&&i(o),c<=0||u!==void 0&&u<=0?(n&&(i(n),n=null),Promise.resolve(r())):new Promise((d,p)=>{s=t.rejectOnCancel?p:d,u&&!n&&(n=setTimeout(()=>{o&&i(o),n=null,d(r())},u)),o=setTimeout(()=>{n&&i(n),n=null,d(r())},c)})}}function Vh(a,t=200,o={}){return Eh(Bh(t,o),a)}function Ua(a){var t;const o=ma(a);return(t=o==null?void 0:o.$el)!=null?t:o}const Nh=wh?window:void 0;function Sh(){const a=e.ref(!1),t=e.getCurrentInstance();return t&&e.onMounted(()=>{a.value=!0},t),a}function Mh(a){const t=Sh();return e.computed(()=>(t.value,!!a()))}function Ah(a,t,o={}){const{root:n,rootMargin:s="0px",threshold:i=.1,window:l=Nh,immediate:r=!0}=o,c=Mh(()=>l&&"IntersectionObserver"in l),u=e.computed(()=>{const b=ma(a);return(Array.isArray(b)?b:[b]).map(Ua).filter($h)});let d=At;const p=e.ref(r),m=c.value?e.watch(()=>[u.value,Ua(n),p.value],([b,y])=>{if(d(),!p.value||!b.length)return;const h=new IntersectionObserver(t,{root:Ua(y),rootMargin:s,threshold:i});b.forEach(f=>f&&h.observe(f)),d=()=>{h.disconnect(),d=At}},{immediate:r,flush:"post"}):At,v=()=>{d(),m(),p.value=!1};return kh(v),{isSupported:c,isActive:p,pause(){d(),p.value=!1},resume(){p.value=!0},stop:v}}const Th={class:e.normalizeClass(["ao-list-kanban"])},Oh={class:"ao-list-kanban__header"},Ih={key:0,class:"ao-list-kanban__end ao-list-kanban__end--loading"},Lh={key:1,class:"ao-list-kanban__end"},Dh={key:0,class:"ao-list-kanban__no-more"},Ph={key:1,class:"ao-list-kanban__divider"},Hh={key:1,class:"ao-list-kanban__footer"},Rh=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);Ah(s,([{isIntersecting:d}])=>{n.value=d}),e.watch(n,d=>{d&&o.hasMore&&!o.isLoading&&t("loadMore")});const i=d=>{var p;return o.isEditable===!0?!0:o.userId&&o.isEditable==="only-own"?o.userId===((p=d.assignee)==null?void 0:p.id):!1},l=d=>{t("selectActivity",d)},r=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)})},u=e.ref(!1);return(d,p)=>(e.openBlock(),e.createElementBlock("div",Th,[d.title||d.$slots.header?e.renderSlot(d.$slots,"header",{key:0},()=>{var m;return[e.createElementVNode("div",Oh,[d.title?(e.openBlock(),e.createBlock(bh,{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",u.value?"ao-list-kanban__transition":void 0],list:d.list,"item-key":"id",group:"kanban","ghost-class":"ao-list-kanban__ghost",animation:"200"},d.$attrs,{draggable:".ao-list-draggable",disabled:!d.isEditable,onChange:c,onStart:p[0]||(p[0]=m=>u.value=!0),onEnd:p[1]||(p[1]=m=>u.value=!1),"component-data":{tag:"transition-group",name:"ao-list-kanban__transition"}}),{item:e.withCtx(({element:m})=>{var v,b,y,h,f,C,g,N,B;return[e.createVNode(wo,{class:e.normalizeClass(i(m)?"ao-list-draggable":""),id:m.id,name:m.name,"project-name":(v=m.project)==null?void 0:v.name,"project-color":(b=m.project)==null?void 0:b.color,"phase-name":(h=(y=m.milestone)==null?void 0:y.phase)==null?void 0:h.name,"milestone-name":(f=m.milestone)==null?void 0:f.name,"milestone-color":(C=m.milestone)==null?void 0:C.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":i(m),"is-private":m.private,"tag-type":d.tagType,onUpdateActivity:[V=>i(m)&&r(V),()=>i(m)&&r],onClick:()=>l(m.id),onRemoveAssignee:()=>i(m)&&r({id:m.id,assigneeId:null})},{secondary:e.withCtx(()=>[i(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),i(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",Ih,[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",Lh,[d.noMoreLabel?(e.openBlock(),e.createElementBlock("span",Dh,e.toDisplayString(d.noMoreLabel),1)):d.isEditable?(e.openBlock(),e.createElementBlock("span",Ph)):e.createCommentVNode("",!0)]))]),_:1},16,["class","list","disabled"]),d.$slots.footer||d.footerLabel?(e.openBlock(),e.createElementBlock("div",Hh,[e.renderSlot(d.$slots,"footer",{},()=>[d.isEditable?(e.openBlock(),e.createBlock(We,{key:0,"icon-name":"AddBoxOutlineRounded",label:d.footerLabel,onClick:p[2]||(p[2]=m=>d.$emit("add"))},null,8,["label"])):e.createCommentVNode("",!0)])])):e.createCommentVNode("",!0)]))}});const jh={class:"ao-field ao-search-field"},Fh=["value","placeholder","onKeypress"],Uh=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=Vh(n,o.delay),i=l=>{t("clear",l)};return(l,r)=>(e.openBlock(),e.createElementBlock("div",jh,[e.createElementVNode("input",{value:l.modelValue,type:"text",class:"ao-field__input ao-search-field__input",placeholder:l.placeholder,onInput:r[0]||(r[0]=(...c)=>e.unref(s)&&e.unref(s)(...c)),onKeypress:e.withKeys(n,["enter"])},null,40,Fh),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:i},null,8,["class"])]))}});const zh={class:"ao-feed"},Zh={class:"ao-feed__filters"},xh={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 i=e.toRef(o,"activities"),l=async(k,O)=>{await t("selectActivity",k,O)},r=e.ref({}),c=e.ref(!1),u=e.ref(!1),d=e.computed(()=>o.project?"milestone":"project");e.watch([()=>o.statuses,()=>o.activities,()=>o.initialActivityId,()=>o.initialActivitySlug],async([k,O,_,M],[q,x])=>{r.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),u.value&&Me(O,x)},{immediate:!0});const p=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]),u.value=!0,t("addActivity",q)},v=(k,O)=>{u.value=!1,t("update:filters",{...o.filters,[k]:O})},b=e.computed(()=>o.project?[o.project]:o.projects??[]),y=e.computed(()=>b.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}))}),f=e.computed(()=>o.users.map(k=>({value:k.id,label:`${k.firstName} ${k.lastName}`,avatar:k.avatarUrl}))),C=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=>{u.value=!1,t("update:searchText",k)},L=k=>{u.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",zh,[e.createVNode(Zt,null,{primary:e.withCtx(()=>[e.createElementVNode("div",Zh,[e.createVNode(ko,{tabs:$,modelValue:E.value,"onUpdate:modelValue":O[0]||(O[0]=M=>E.value=M)},null,8,["modelValue"]),e.createVNode(Uh,{"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(ie,{key:0,"model-value":k.filters[e.unref(Je).project],mode:"tags",options:y.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(ie,{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),f.value.length?(e.openBlock(),e.createBlock(ie,{key:2,"model-value":k.filters[e.unref(Je).assignee],mode:"tags",options:f.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",xh,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(k.statuses,M=>(e.openBlock(),e.createBlock(Rh,{key:M.id,status:M,list:r.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":i.value,users:k.users,"user-id":k.userId,"is-task-checkable":k.isTaskCheckable,statuses:k.statuses,breadcrumbs:p.value,"is-editable":k.isEditable,"attachment-enabled":k.attachmentEnabled,projects:b.value,onClose:O[7]||(O[7]=()=>l(null,null)),"onUpdate:activity":C,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 Wh={class:"ao-project-mapping"},qh={class:"ao-project-mapping-mapping__body"},Yh={class:"ao-project-mapping-mapping__phases"},Kh={key:0,class:"ao-project-mapping-mapping__image-wrapper"},Gh=["src","alt"],Xh=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:f}=ot(o.phases,"phase",n);t("addPhase",{name:h,rank:f,projectId:o.project.id})},i=h=>{t("updatePhase",h)},l=h=>{t("archivePhase",h)},r=h=>{t("unarchivePhase",h)},c=h=>{t("copyPhaseToTemplate",h)},u=e.ref(!1),d=e.ref(!1),p=(h,f)=>{t("applyTemplate",{templateId:h,projectId:f}),u.value=!1},m=(h,f)=>{var N;const C=(N=o.templates)==null?void 0:N.at(-1),g=C?se.LexoRank.parse(C.rank).genNext():se.LexoRank.middle();t("saveTemplate",{templateName:h,rank:g.format(),phaseIds:f}),d.value=!1},v=Rt.useRouter(),b=e.ref("mapping"),y=[{label:"Overview",value:"overview"},{label:"Feed",value:"feed"},{label:"Mapping",value:"mapping"}];return e.watch(b,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,f)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",e.mergeProps({class:"ao-project-mapping-overview"},h.$attrs),[e.createElementVNode("div",Wh,[e.createVNode(Zt,null,{primary:e.withCtx(()=>[e.createVNode(ko,{tabs:y,modelValue:b.value,"onUpdate:modelValue":f[0]||(f[0]=C=>b.value=C)},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:f[1]||(f[1]=C=>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:f[2]||(f[2]=C=>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:f[3]||(f[3]=C=>u.value=!0)},null,8,["label"])):e.createCommentVNode("",!0)]),_:1}),e.createElementVNode("div",qh,[e.createElementVNode("div",Yh,[e.createVNode(bo,{phases:h.phases,"closed-status":h.closedStatus,"is-editable":h.isEditable===!0,users:h.users,onAddPhase:s,onUpdatePhase:i,onArchivePhase:l,onUnarchivePhase:r,onCopyPhaseToTemplate:c},null,8,["phases","closed-status","is-editable","users"])]),h.project.architectureImage?(e.openBlock(),e.createElementBlock("div",Kh,[e.createElementVNode("img",{class:"architecture-image",src:h.project.architectureImage.url,alt:e.unref(n)("architectureImage.alt")},null,8,Gh)])):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:f[4]||(f[4]=C=>d.value=!1),onSave:m},null,8,["phases"])):e.createCommentVNode("",!0),u.value?(e.openBlock(),e.createBlock(jn,{key:1,"project-id":h.project.id,templates:h.templates,onClose:f[5]||(f[5]=C=>u.value=!1),onApply:p},null,8,["project-id","templates"])):e.createCommentVNode("",!0)]))],64))}});const tt={TEMPLATES:"templates",TEMPLATE_DETAILS:"template_details",TEMPLATES_LIST:"templates_list"},Qh=(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:Hn,props:!0}]}],oe={project:"AoProject",feed:"AoProjectFeed",mapping:"AoProjectMapping",milestone:"AoMilestone",activity:"AoActivity"},Jh=(a,t={})=>[{path:a,...t,redirect:{name:oe.project},children:[{path:"",name:oe.project,component:Pf,props:!0,children:[{path:":phaseId/:milestoneId",name:oe.milestone,component:Xo,props:!0},{path:":phaseId/:milestoneId/:activityId",name:oe.activity,props:{default:!0,modal:!0},components:{default:Xo,modal:_h}}]},{path:"feed",name:oe.feed,component:Un,props:!0},{path:"mapping",name:oe.mapping,component:Xh,props:!0}]}],e9={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,u)=>{Me(c,u)});const s=()=>{var m,v;const c=(m=o.templates)==null?void 0:m.at(-1),u=c?se.LexoRank.parse(c.rank).genNext():se.LexoRank.middle(),d=((v=o.templates)==null?void 0:v.length)??0,p={name:n("template.defaultName.template",{idx:d+1}),rank:u.format()};t("addTemplate",p)},i=(c,u)=>{t("updateItem",{itemType:ee.TEMPLATES,id:c,templateId:c,data:{name:u}})},l=(c,u)=>{t("removeItem",{itemType:ee.TEMPLATES,templateId:c,data:{id:c,...u?{name:u}:{}}})},r=c=>{if(c.moved){const u=zt(c,o.templates??[]);t("updateItem",{itemType:ee.TEMPLATES,id:c.moved.element.id,templateId:c.moved.element.id,data:{rank:u}})}};return(c,u)=>(e.openBlock(),e.createElementBlock("div",e9,[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:r},{item:e.withCtx(({element:d})=>{var p;return[e.createVNode(k3,{id:d.id,title:d.name,phases:d.phases,milestones:(p=d.phases)!=null&&p.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=>i(d.id,m),onClick:m=>c.$router.push({name:e.unref(tt).TEMPLATE_DETAILS,params:{templateId:d.id}}),onDeleteItem:u[0]||(u[0]=(m,v)=>l(m,v))},null,8,["id","title","phases","milestones","activities","updated-at","updated-by","onUpdateTitle","onClick"])]}),_:1},8,["model-value"])]))}});const t9={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",t9,e.toDisplayString(t.label),1),e.renderSlot(t.$slots,"default")],2))}}),a9=["type","value","disabled","readonly"],o9=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=i=>{o.modelModifiers.number&&(i=Number(i)),t("update:modelValue",i)};return(i,l)=>(e.openBlock(),e.createBlock(Zn,{label:i.label},{default:e.withCtx(()=>[e.createElementVNode("input",e.mergeProps({class:"ao-field__input",type:i.type,value:i.modelValue,disabled:i.isDisabled,readonly:i.isReadonly},{[e.toHandlerKey(n.value)]:l[0]||(l[0]=r=>s(r.target.value))}),null,16,a9)]),_:1},8,["label"]))}}),n9={class:"ao-field"},s9={class:"ao-field__label"},l9=["checked","disabled"],i9=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",n9,[e.createElementVNode("span",s9,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,l9)]))}});exports.AoAvatar=ke;exports.AoCardFeed=wo;exports.AoCheckboxField=i9;exports.AoFeed=Un;exports.AoField=Zn;exports.AoInputField=o9;exports.AoMultiselect=ie;exports.AoProjectPhases=bo;exports.AoTemplateDetails=Hn;exports.AoTemplates=rs;exports.AoTemplatesList=zn;exports.TemplateItemTypeEnum=nn;exports.activityFeedStatus=c2;exports.durationTypes=r2;exports.feedFilterTypes=Je;exports.getProjectOverviewRoutes=Jh;exports.getTemplateRoutes=Qh;exports.listUpdateTypes=d2;exports.milestoneStatus=Ot;exports.projectOverviewRoutes=oe;exports.ruleComparators=tn;exports.ruleDurationUnits=on;exports.ruleTriggerTypes=an;exports.templateItemType=ee;exports.templateRouteNames=tt;
|
|
5
|
+
*/function Qe(a){let t={r:0,g:0,b:0,a:1};/#/.test(a)?t=Bv(a):/rgb/.test(a)?t=Go(a):typeof a=="string"?t=Go(`rgba(${a})`):Object.prototype.toString.call(a)==="[object Object]"&&(t=a);const{r:o,g:n,b:s,a:i}=t,{h:l,s:r,v:c}=Vv(t);return{r:o,g:n,b:s,a:i===void 0?1:i,h:l,s:r,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,i){const l=a==="l",r=t.createLinearGradient(0,0,l?o:0,l?0:n);r.addColorStop(.01,s),r.addColorStop(.99,i),t.fillStyle=r,t.fillRect(0,0,o,n)}function Ev({r:a,g:t,b:o},n){const s=l=>("0"+Number(l).toString(16)).slice(-2),i=`#${s(a)}${s(t)}${s(o)}`;return n?i.toUpperCase():i}function Bv(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 Go(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 Vv({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),i=n-s;let l=0;n===s?l=0:n===a?t>=o?l=60*(t-o)/i:l=60*(t-o)/i+360:n===t?l=60*(o-a)/i+120:n===o&&(l=60*(a-t)/i+240),l=Math.floor(l);let r=parseFloat((n===0?0:1-s/n).toFixed(2)),c=parseFloat(n.toFixed(2));return{h:l,s:r,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 r=l.clientX-o,c=l.clientY-t;r<0&&(r=0),c<0&&(c=0),r>this.size&&(r=this.size),c>this.size&&(c=this.size),this.slideSaturationStyle={left:r-5+"px",top:c-5+"px"};const u=n.getImageData(Math.min(r,this.size-1),Math.min(c,this.size-1),1,1),[d,p,m]=u.data;this.$emit("selectSaturation",{r:d,g:p,b:m})};s(a);const i=()=>{document.removeEventListener("mousemove",s),document.removeEventListener("mouseup",i)};document.addEventListener("mousemove",s),document.addEventListener("mouseup",i)}}});const Nv={ref:"canvasSaturation"};function Sv(a,t,o,n,s,i){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",Nv,null,512),e.createVNode("div",{style:a.slideSaturationStyle,class:"slide"},null,4)],32)}vo.render=Sv;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=i=>{let l=i.clientY-t;l<0&&(l=0),l>this.height&&(l=this.height),this.slideHueStyle={top:l-2+"px"};const r=o.getImageData(0,Math.min(l,this.height-1),1,1),[c,u,d]=r.data;this.$emit("selectHue",{r:c,g:u,b:d})};n(a);const s=()=>{document.removeEventListener("mousemove",n),document.removeEventListener("mouseup",s)};document.addEventListener("mousemove",n),document.addEventListener("mouseup",s)}}});const Mv={ref:"canvasHue"};function Av(a,t,o,n,s,i){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",Mv,null,512),e.createVNode("div",{style:a.slideHueStyle,class:"slide"},null,4)],32)}fo.render=Av;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),i=a.getContext("2d");a.width=t,a.height=o,i.fillStyle=i.createPattern(s,"repeat"),i.fillRect(0,0,t,o),Ya("p",i,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 i=s.clientY-t;i<0&&(i=0),i>this.height&&(i=this.height);let l=parseFloat((i/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 Tv={ref:"canvasAlpha"};function Ov(a,t,o,n,s,i){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",Tv,null,512),e.createVNode("div",{style:a.slideAlphaStyle,class:"slide"},null,4)],32)}ho.render=Ov;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),i=a.getContext("2d");a.width=t,a.height=o,i.fillStyle=i.createPattern(s,"repeat"),i.fillRect(0,0,t,o),i.fillStyle=this.color,i.fillRect(0,0,t,o)}}});function Iv(a,t,o,n,s,i){return e.openBlock(),e.createBlock("canvas")}Co.render=Iv;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:i,height:l}=this.suckerCanvas.getBoundingClientRect(),r=t-s,c=o-n,d=this.suckerCanvas.getContext("2d").getImageData(Math.min(r,i-1),Math.min(c,l-1),1,1);let[p,m,v,b]=d.data;b=parseFloat((b/255).toFixed(2));const y=this.suckerPreview.style;Object.assign(y,{position:"absolute",left:t+20+"px",top:o-36+"px",width:"24px",height:"24px",borderRadius:"50%",border:"2px solid #fff",boxShadow:"0 0 8px 0 rgba(0, 0, 0, 0.16)",background:`rgba(${p}, ${m}, ${v}, ${b})`,zIndex:95}),this.suckerArea.length&&t>=this.suckerArea[0]&&o>=this.suckerArea[1]&&t<=this.suckerArea[2]&&o<=this.suckerArea[3]?y.display="":y.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:i,width:l,height:r}=a.getBoundingClientRect(),c=o-i,u=n-s,p=a.getContext("2d").getImageData(Math.min(c,l-1),Math.min(u,r-1),1,1);let[m,v,b,y]=p.data;y=parseFloat((y/255).toFixed(2)),this.$emit("selectSucker",{r:m,g:v,b,a:y})}))}}});const Lv=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),Dv={key:1,class:"sucker",viewBox:"-16 -16 68 68",xmlns:"http://www.w3.org/2000/svg",stroke:"#9099a4"},Pv=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 Hv(a,t,o,n,s,i){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))},[Lv],2)),a.isSucking?(e.openBlock(),e.createBlock("svg",Dv,[Pv])):e.createCommentVNode("v-if",!0)])}go.render=Hv;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(i){t("inputColor",i)}}),handleFocus:i=>{t("inputFocus",i)},handleBlur:i=>{t("inputBlur",i)}}}});const Rv={class:"color-type"},jv={class:"name"};function Fv(a,t,o,n,s,i){return e.openBlock(),e.createBlock("div",Rv,[e.createVNode("span",jv,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=Fv;_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(()=>{i(o.value)});function i(r){if(!r)return;const c=n.value||[],u=c.indexOf(r);u>=0&&c.splice(u,1),c.length>=8&&(c.length=7),c.unshift(r),n.value=c||[],localStorage&&a.colorsHistoryKey&&localStorage.setItem(a.colorsHistoryKey,JSON.stringify(c))}function l(r){t("selectColor",r)}return{setColorsHistory:i,colorsHistory:n,color:o,imgAlphaBase64:s,selectColor:l}}});const Uv={class:"colors"},zv={key:0,class:"colors history"};function Zv(a,t,o,n,s,i){return e.openBlock(),e.createBlock("div",null,[e.createVNode("ul",Uv,[(e.openBlock(!0),e.createBlock(e.Fragment,null,e.renderList(a.colorsDefault,l=>(e.openBlock(),e.createBlock("li",{key:l,class:"item",onClick:r=>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",zv,[(e.openBlock(!0),e.createBlock(e.Fragment,null,e.renderList(a.colorsHistory,l=>(e.openBlock(),e.createBlock("li",{key:l,class:"item",onClick:r=>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=Zv;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 Ev(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:i,v:l}=Qe(a);Object.assign(this,{r:t,g:o,b:n,h:s,s:i,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:i,v:l}=Qe(a);Object.assign(this,{r:t,g:o,b:n,h:s,s:i,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:i,s:l,v:r}=Qe(a);Object.assign(this,{r:t,g:o,b:n,a:s,h:i,s:l,v:r}),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:i,s:l,v:r}=Qe(a);Object.assign(this,{r:t,g:o,b:n,a:s,h:i,s:l,v:r}),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:i,s:l,v:r}=Qe(a);Object.assign(this,{r:t,g:o,b:n,a:s,h:i,s:l,v:r}),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:i,s:l,v:r}=Qe(a);Object.assign(this,{r:t,g:o,b:n,a:s,h:i,s:l,v:r}),this.setText(),this.$nextTick(()=>{this.$refs.saturation.renderColor(),this.$refs.saturation.renderSlide(),this.$refs.hue.renderSlide()})}}});const xv={class:"color-set"};function Wv(a,t,o,n,s,i){const l=e.resolveComponent("Saturation"),r=e.resolveComponent("Hue"),c=e.resolveComponent("Alpha"),u=e.resolveComponent("Preview"),d=e.resolveComponent("Sucker"),p=e.resolveComponent("Box"),m=e.resolveComponent("Colors");return e.openBlock(),e.createBlock("div",{class:["hu-color-picker",{light:a.isLightTheme}],style:{width:a.totalWidth+"px"}},[e.createVNode("div",xv,[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(r,{ref:"hue",hsv:a.hsv,width:a.hueWidth,height:a.hueHeight,onSelectHue:a.selectHue},null,8,["hsv","width","height","onSelectHue"]),e.createVNode(c,{ref:"alpha",color:a.rgbString,rgba:a.rgba,width:a.hueWidth,height:a.hueHeight,onSelectAlpha:a.selectAlpha},null,8,["color","rgba","width","height","onSelectAlpha"])]),e.createVNode("div",{style:{height:a.previewHeight+"px"},class:"color-show"},[e.createVNode(u,{color:a.rgbaString,width:a.previewWidth,height:a.previewHeight},null,8,["color","width","height"]),a.suckerHide?e.createCommentVNode("v-if",!0):(e.openBlock(),e.createBlock(d,{key:0,"sucker-canvas":a.suckerCanvas,"sucker-area":a.suckerArea,onOpenSucker:a.openSucker,onSelectSucker:a.selectSucker},null,8,["sucker-canvas","sucker-area","onOpenSucker","onSelectSucker"]))],4),e.createVNode(p,{name:"HEX",color:a.modelHex,onInputColor:a.inputHex,onInputFocus:a.handleFocus,onInputBlur:a.handleBlur},null,8,["color","onInputColor","onInputFocus","onInputBlur"]),e.createVNode(p,{name:"RGBA",color:a.modelRgba,onInputColor:a.inputRgba,onInputFocus:a.handleFocus,onInputBlur:a.handleBlur},null,8,["color","onInputColor","onInputFocus","onInputBlur"]),e.createVNode(m,{color:a.rgbaString,"colors-default":a.colorsDefault,"colors-history-key":a.colorsHistoryKey,onSelectColor:a.selectColor},null,8,["color","colors-default","colors-history-key","onSelectColor"]),e.createCommentVNode(" custom options "),e.renderSlot(a.$slots,"default")],6)}ut.render=Wv;ut.__file="src/color/ColorPicker.vue";ut.install=a=>{a.component(ut.name,ut)};const qv={class:"color-picker-wrapper"},Rn=e.defineComponent({__name:"AoColorPicker",props:{color:{}},emits:["update:color"],setup(a,{emit:t}){const o=e.ref(!1),n=e.ref(null),s=async()=>{o.value=!0,await e.nextTick(),setTimeout(()=>{window.addEventListener("click",i)},0)},i=r=>{const c=r.target;n.value&&!n.value.contains(c)&&(o.value=!1,window.removeEventListener("click",i))};e.onBeforeUnmount(()=>{window.removeEventListener("click",i)});const l=r=>{const{r:c,g:u,b:d,a:p}=r.rgba,m=`rgba(${c}, ${u}, ${d}, ${p})`;t("update:color",m)};return(r,c)=>(e.openBlock(),e.createElementBlock("div",qv,[e.renderSlot(r.$slots,"clickable",{openPicker:s,style:e.normalizeStyle({backgroundColor:r.color})}),o.value?(e.openBlock(),e.createElementBlock("div",{key:0,ref_key:"pickerRef",ref:n},[e.createVNode(e.unref(ut),{class:"color-picker",theme:"light",color:r.color,onChangeColor:l},null,8,["color"])],512)):e.createCommentVNode("",!0)]))}});const Yv={class:"ao-mapping -card-project-phase__header"},Kv={class:"ao-card-project-item__title-line"},Gv={key:0,class:"ao-card-project-item-phase__estimation"},Xv={class:"ao-mapping -card-project-phase__footer"},Qv={key:0,class:"ao-mapping -card-project-phase__footer-row ao-mapping -card-project-phase__footer-row--progress"},Jv={class:"ao-mapping -card-project-phase__subitem"},ef={class:"ao-mapping -card-project-phase__subitem"},tf={key:0,class:"ao-mapping -card-project-phase__secondary"},af={class:"ao-mapping -card-project-phase__deadline ao-mapping -card-project-phase__deadline--readonly"},of=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=p=>{t("update:title",p)},s=e.computed(()=>{var p;return(p=o.milestones)==null?void 0:p.reduce((m,v)=>{var b;return m+((b=v.activities)==null?void 0:b.reduce((y,h)=>y+(h.estimation||0),0))},0)}),i=e.computed(()=>{var p;return(p=o.milestones)==null?void 0:p.length}),l=e.computed(()=>{var p;return(p=o.milestones)==null?void 0:p.filter(m=>m.status===Ot.done).length}),r=e.computed(()=>(l.value||0)/(i.value||1)),c=e.computed({get:()=>o.deadline??"",set:p=>t("update:deadline",p!=null&&p.length?p:null)}),u=e.computed({get:()=>o.color,set:p=>{t("updatePhase",{id:o.id,color:p})}}),d=(p,m)=>{const v=p.target;v.closest("button")||v.closest("input")||v.closest(".ao-title")||m()};return(p,m)=>(e.openBlock(),e.createBlock(Rn,{color:u.value,"onUpdate:color":m[2]||(m[2]=v=>u.value=v)},{clickable:e.withCtx(({openPicker:v,style:b})=>[e.createVNode(Va,{class:"ao-mapping -card-project-phase","is-clickable":p.isEditable,onClick:y=>d(y,v),style:e.normalizeStyle(b)},e.createSlots({default:e.withCtx(()=>[e.createElementVNode("div",Kv,[e.createVNode(ne,{id:p.id,class:"ao-mapping -card-project-phase__title",title:p.name||"",level:4,"is-editable":p.isEditable,"onUpdate:title":n},null,8,["id","title","is-editable"]),s.value?(e.openBlock(),e.createElementBlock("span",Gv," ("+e.toDisplayString(s.value)+")",1)):e.createCommentVNode("",!0)])]),footer:e.withCtx(()=>[e.createElementVNode("div",Xv,[i.value?(e.openBlock(),e.createElementBlock("div",Qv,[e.createElementVNode("div",Jv,[e.createVNode(Q,{name:"MountainFlagOutlineRounded",size:"sm"}),e.createElementVNode("span",ef,e.toDisplayString(l.value)+" / "+e.toDisplayString(i.value),1)]),e.createVNode(Na,{percentages:r.value,class:"ao-mapping -card-project-phase__progress"},null,8,["percentages"]),p.$slots.secondary?(e.openBlock(),e.createElementBlock("div",tf,[e.renderSlot(p.$slots,"secondary")])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(["ao-mapping -card-project-phase__footer-row",c.value?"":"ao-mapping -card-project-phase__no_deadline"])},[p.isEditable?e.withDirectives((e.openBlock(),e.createElementBlock("input",{key:0,"onUpdate:modelValue":m[1]||(m[1]=y=>c.value=y),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",af,e.toDisplayString(e.unref(_a)(p.deadline)),1)],2)])]),_:2},[p.isEditable?{name:"header",fn:e.withCtx(()=>[e.createElementVNode("div",Yv,[e.createVNode(K,{class:"ao-mapping -card-project-phase__archive",color:"primary",variant:"ghost","icon-name":"ArchiveOutlineRounded",size:"sm","icon-position":"start",corners:"round",label:p.active?p.$t("archive"):p.$t("unarchive"),onClick:m[0]||(m[0]=e.withModifiers(()=>p.active?p.$emit("archivePhase",{id:p.id}):p.$emit("unarchivePhase",{id:p.id}),["stop"]))},null,8,["label"])])]),key:"0"}:void 0]),1032,["is-clickable","onClick","style"])]),_:3},8,["color"]))}});const nf={key:0,class:"ao-project-phase__drag ao-card__drag"},sf={key:1,class:"ao-project-phase__col-phase"},lf={key:2,class:"ao-mapping-project-phase__col-phase"},rf={key:3,class:"ao-project-phase__col-milestones"},cf={class:"ao-project-phase__milestones"},df={class:"ao-project-phase__milestones-list-footer"},uf=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,C)=>{Me(f,C)});const s=f=>{t("updatePhase",{id:o.phase.id,name:f})},i=f=>{t("updatePhase",{id:o.phase.id,deadline:f})},l=f=>{t("updatePhase",f)},r=e.computed(()=>o.phase.milestones.map(f=>Q0(f,o.closedStatus))),c=f=>{const{name:C,rank:g}=ot(r.value??[],"milestone",n);t("addMilestone",{name:C,rank:g,phaseId:f})},u=f=>{t("updateMilestone",f)},d=f=>{t("archiveMilestone",f)},p=f=>{t("unarchiveMilestone",f)},m=f=>{t("archivePhase",f)},v=f=>{t("unarchivePhase",f)},b=f=>{"added"in f?t("updateMilestone",{id:f.added.element.id,phaseId:o.phase.id,rank:pt(r.value,f.added.newIndex)}):"removed"in f||"moved"in f&&t("updateMilestone",{id:f.moved.element.id,rank:pt(r.value,f.moved.newIndex)})},y=Rt.useRoute(),h=e.computed(()=>y.path.includes("/mapping"));return(f,C)=>{var g;return e.openBlock(),e.createElementBlock("li",{class:e.normalizeClass(["ao-project-phase",{"ao-project-phase--selected":f.phase.id===((g=f.$route.params)==null?void 0:g.phaseId)}])},[f.isEditable?(e.openBlock(),e.createElementBlock("div",nf,[e.createVNode(Q,{name:"DragIndicator",class:"ao-project-phase__drag-handle"})])):e.createCommentVNode("",!0),h.value?(e.openBlock(),e.createElementBlock("div",lf,[e.createVNode(of,{id:f.phase.id,milestones:r.value,name:f.phase.name,deadline:f.phase.deadline,active:f.phase.active,"is-editable":f.isEditable,"onUpdate:deadline":i,"onUpdate:title":s,onArchivePhase:m,onUnarchivePhase:v,onUpdatePhase:l},null,8,["id","milestones","name","deadline","active","is-editable"])])):(e.openBlock(),e.createElementBlock("div",sf,[e.createVNode(rv,{id:f.phase.id,milestones:r.value,name:f.phase.name,deadline:f.phase.deadline,active:f.phase.active,"is-editable":f.isEditable,"onUpdate:deadline":i,"onUpdate:title":s,onArchivePhase:m,onUnarchivePhase:v},null,8,["id","milestones","name","deadline","active","is-editable"])])),h.value?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",rf,[e.createElementVNode("div",cf,[e.createVNode(e.unref(xe),e.mergeProps({class:"ao-project-phase__milestones-list",list:r.value,disabled:f.readonly||!f.isEditable,"item-key":"id",group:"kanban"},f.$attrs,{onChange:b}),{item:e.withCtx(({element:N})=>{var B;return[e.createVNode($v,{id:N.id,name:N.name,color:N.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:u,onArchiveMilestone:d,onUnarchiveMilestone:p},null,8,["id","name","color","activities","deadline","active","is-editable","is-draggable","closed-status","is-selected","assignee","important","readonly","onClick"])]}),_:1},16,["list","disabled"]),e.createElementVNode("div",df,[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:C[0]||(C[0]=()=>c(f.phase.id))},null,8,["label"])):e.createCommentVNode("",!0)])])]))],2)}}});const pf={class:"ao-project__phases"},mf={key:0,class:"ao-project-phase__phases-list-footer"},vf=e.createElementVNode("div",{class:"ao-project-phase__empty_drag"},null,-1),ff={class:"ao-project-phase__col-phase"},hf=e.createElementVNode("div",{class:"ao-project-phase__col-milestones"},null,-1),bo=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)},i=m=>{t("archiveMilestone",m)},l=m=>{t("unarchiveMilestone",m)},r=m=>{t("archivePhase",m)},c=m=>{t("unarchivePhase",m)},u=m=>{if(m.moved){const v=zt(m,o.phases??[]);t("updatePhase",{id:m.moved.element.id,rank:v})}},d=m=>{t("updatePhase",m)},p=m=>{t("addPhase",m)};return(m,v)=>(e.openBlock(),e.createElementBlock("div",pf,[e.createVNode(e.unref(xe),{class:"ao-project-phase__phases-list","model-value":m.phases,"item-key":"id",handle:".ao-card__drag",onChange:u},{item:e.withCtx(({element:b})=>[e.createVNode(uf,{phase:b,"is-editable":!m.readonly&&m.isEditable,"closed-status":m.closedStatus,users:m.users,readonly:m.readonly,onAddMilestone:n,onUpdateMilestone:s,onArchiveMilestone:i,onUnarchiveMilestone:l,onUpdatePhase:d,onArchivePhase:r,onUnarchivePhase:c},null,8,["phase","is-editable","closed-status","users","readonly"])]),_:1},8,["model-value"]),m.isEditable?(e.openBlock(),e.createElementBlock("div",mf,[vf,e.createElementVNode("div",ff,[e.createVNode(We,{label:m.$t("project.phases.add"),"icon-name":"Add",class:"ao-project-phase__add-phase",onClick:p},null,8,["label"])]),hf])):e.createCommentVNode("",!0)]))}});const Cf=["onSubmit"],gf={class:"ao-add-template-modal__form-body"},_f={class:"field__row"},yf={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(r=>({value:r.id,label:r.name}))),s=e.ref(null),i=r=>{s.value=r},l=()=>{s.value&&t("apply",s.value,o.projectId)};return(r,c)=>(e.openBlock(),e.createBlock(ya,{size:"sm"},{header:e.withCtx(()=>[e.createVNode(ne,{title:r.$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(r.$t("project.template.apply.notice")),1),e.createElementVNode("div",gf,[e.createElementVNode("div",_f,[e.createVNode(ie,{value:s.value,options:n.value,detached:!0,onChange:i},null,8,["value","options"])])]),e.createElementVNode("footer",yf,[e.createVNode(K,{label:r.$t("project.template.apply.label"),type:"submit",color:"primary",variant:"solid",onClick:l},null,8,["label"])])],40,Cf)]),_:1}))}});const bf=["onSubmit"],kf={class:"ao-save-template-modal__form-body"},wf={class:"field__row"},$f={class:"ao-field ao-field--inline"},Ef={class:"ao-field__label"},Bf={class:"ao-save-template-modal__phases"},Vf={class:"ao-field__label"},Nf={class:"ao-save-template-modal__phases-list"},Sf=["value"],Mf={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 i=()=>{n.value&&t("save",n.value,s.value)};return(l,r)=>(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(i,["prevent"])},[e.createElementVNode("div",kf,[e.createElementVNode("div",wf,[e.createElementVNode("label",$f,[e.createElementVNode("span",Ef,e.toDisplayString(l.$t("project.template.name.label"))+": ",1),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":r[0]||(r[0]=c=>n.value=c),type:"text"},null,512),[[e.vModelText,n.value]])])]),e.createElementVNode("div",Bf,[e.createElementVNode("div",Vf,e.toDisplayString(l.$t("project.template.phases.label")),1),e.createElementVNode("div",Nf,[(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":r[1]||(r[1]=u=>s.value=u)},null,8,Sf),[[e.vModelCheckbox,s.value]]),e.createElementVNode("span",null,e.toDisplayString(c.name),1)]))),128))])])]),e.createElementVNode("footer",Mf,[e.createVNode(K,{label:l.$t("project.template.save.label"),type:"submit",color:"primary",variant:"solid",onClick:i},null,8,["label"])])],40,bf)]),_:1}))}});const Af=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 Tf={class:"tabbar-wrapper"},Of=["onClick"];function If(a,t,o,n,s,i){return e.openBlock(),e.createElementBlock("div",Tf,[(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:r=>a.selectTab(l.value)},e.toDisplayString(l.label),11,Of))),128))])}const ko=I(Af,[["render",If],["__scopeId","data-v-ff4e3297"]]),Lf={class:"ao-project"},Df={class:"ao-project__body"},Pf=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)),i=()=>{const{name:$,rank:k}=ot(o.phases,"phase",n);t("addPhase",{name:$,rank:k,projectId:o.project.id})},l=$=>{t("updatePhase",$)},r=$=>{t("archivePhase",$)},c=$=>{t("unarchivePhase",$)},u=$=>{t("copyPhaseToTemplate",$)},d=$=>{t("addMilestone",$)},p=$=>{t("updateMilestone",$)},m=$=>{t("archiveMilestone",$)},v=$=>{t("unarchiveMilestone",$)},b=$=>{t("addActivity",$)},y=$=>{t("update:activity",$)},h=$=>{t("archiveActivity",$)},f=$=>{t("unarchiveActivity",$)},C=$=>{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",Lf,[e.createVNode(Zt,null,{primary:e.withCtx(()=>[e.createVNode(ko,{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",Df,[e.createVNode(bo,{phases:$.phases,"closed-status":$.closedStatus,"is-editable":$.isEditable===!0,users:$.users,onAddMilestone:d,onUpdateMilestone:p,onArchiveMilestone:m,onUnarchiveMilestone:v,onAddPhase:i,onUpdatePhase:l,onArchivePhase:r,onUnarchivePhase:c,onCopyPhaseToTemplate:u},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:p,onAddActivity:b,onUpdateActivity:y,onArchiveActivity:h,onUnarchiveActivity:f},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":y,onAddSubtask:C,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 Hf={class:"ao-card-feed__header"},Rf={key:1,class:"ao-card-feed__header-secondary ao-card-feed__header-icons"},jf={key:2,class:"ao-card-feed__header-secondary ao-card-feed__secondary"},Ff={class:"ao-card-feed__body"},Uf={key:0,class:"ao-card-feed__breadcrumbs"},zf={class:e.normalizeClass(["ao-card-feed__title-group"])},Zf={class:"ao-card-feed__title-line"},xf={key:0,class:"ao-card-feed__slug"},Wf={key:1,class:"ao-card-feed__deadline"},qf={class:"ao-card-feed__footer"},Yf={class:"ao-card-feed__footer-row"},Kf={class:"ao-assignees"},Gf={key:0,class:"ao-assignee"},Xf={key:0,class:"ao-card-feed__subitems"},Qf={key:0,class:"ao-card-feed__subitem"},Jf={class:"ao-card-feed__subitem"},eh={key:1,class:"ao-card-feed__subitem"},th={class:"ao-card-feed__subitem"},ah={class:"ao-card-feed__footer-row"},oh={key:0,class:"ao-card-feed__progress-wrapper"},nh={class:"ao-card-feed__subitem"},sh={class:"ao-card-feed__subitem"},wo=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),i=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}`:""),r=e.computed(()=>o.assignee?[o.assignee]:[]),c=e.computed(()=>_a(o.deadline)),u=v=>{t("removeAssignee",v)},d=e.computed(()=>{var v;return(v=o.tasks)==null?void 0:v.length}),p=e.computed(()=>{var v;return(v=o.tasks)==null?void 0:v.filter(b=>b.isDone).length}),m=e.computed(()=>(p.value||0)/(d.value||1));return(v,b)=>(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",Hf,[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",Rf,[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",jf,[e.renderSlot(v.$slots,"secondary")])):e.createCommentVNode("",!0)])]),default:e.withCtx(()=>[e.createElementVNode("div",Ff,[l.value?(e.openBlock(),e.createElementBlock("span",Uf,e.toDisplayString(l.value),1)):e.createCommentVNode("",!0),e.createElementVNode("div",zf,[e.createElementVNode("div",Zf,[v.slug?(e.openBlock(),e.createElementBlock("span",xf,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":i,class:"ao-card-feed__title-inline"},null,8,["id","title","is-editable"])])]),v.deadline?(e.openBlock(),e.createElementBlock("span",Wf,e.toDisplayString(c.value),1)):e.createCommentVNode("",!0)])]),footer:e.withCtx(()=>[e.createElementVNode("div",qf,[e.createElementVNode("div",Yf,[e.createElementVNode("ul",Kf,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.value,y=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:y.id},[y?(e.openBlock(),e.createElementBlock("li",Gf,[e.createVNode(ke,{"user-name":e.unref(yn)(y),"avatar-url":y.avatarUrl,"is-closable":!0,onClose:()=>u(y.id)},null,8,["user-name","avatar-url","onClose"])])):e.createCommentVNode("",!0)],64))),128))]),v.comments||v.attachments?(e.openBlock(),e.createElementBlock("ul",Xf,[v.comments?(e.openBlock(),e.createElementBlock("li",Qf,[e.createVNode(Q,{name:"ChatOutline",size:"sm"}),e.createElementVNode("span",Jf,e.toDisplayString(v.comments),1)])):e.createCommentVNode("",!0),v.attachments?(e.openBlock(),e.createElementBlock("li",eh,[e.createVNode(Q,{name:"AttachFileRounded",size:"sm"}),e.createElementVNode("span",th,e.toDisplayString(v.attachments),1)])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)]),e.createElementVNode("div",ah,[v.tasks&&v.tasks.length?(e.openBlock(),e.createElementBlock("div",oh,[e.createElementVNode("div",nh,[e.createVNode(Q,{name:"SelectCheckBox",size:"sm"}),e.createElementVNode("span",sh,e.toDisplayString(p.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 lh={class:"ao-project-milestone"},ih={class:"ao-project-milestone__header"},rh={class:"ao-project-milestone__header_line"},ch={class:"ao-project-milestone__header_line"},dh={class:"ao-project-milestone__title"},uh={key:0,class:"ao-fieldset ao-milestone__fieldset"},ph={class:"ao-field__row ao-milestone__field-row"},mh={class:"ao-field ao-field--inline"},vh={class:"ao-field__row ao-milestone__field-row"},fh={class:"ao-field ao-milestone__field-multiselect"},hh=["onClick"],Ch={class:"ao-project-milestone__body"},gh={key:0,class:"ao-project-milestone__footer"},Xo=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 C;return(C=o.phases)==null?void 0:C.find(g=>g.id===o.phaseId)}),i=e.computed(()=>{var C;return(C=o.phases)==null?void 0:C.flatMap(g=>g.milestones)}),l=e.computed(()=>{var C;return(C=i.value)==null?void 0:C.find(g=>g.id===o.milestoneId)}),r=e.computed(()=>{var C;return(C=l.value)==null?void 0:C.activities});e.watch(r,(C,g)=>{Me(C,g)});const c=C=>{t("close",C)},u=()=>{const{name:C,rank:g}=ot(r.value??[],"activity",n);t("addActivity",{milestoneId:o.milestoneId,name:C,rank:g,projectId:o.projectId})},d=C=>{t("updateActivity",C)},p=C=>{r.value&&"moved"in C&&t("updateActivity",{id:C.moved.element.id,rank:pt(r.value,C.moved.newIndex)})},m=e.computed({get:()=>{var C;return(C=l.value)==null?void 0:C.color},set:C=>{l.value&&t("updateMilestone",{id:l.value.id,color:C})}}),v=e.computed({get:()=>{var C;return((C=l==null?void 0:l.value)==null?void 0:C.deadline)??""},set:C=>{l.value&&t("updateMilestone",{id:l.value.id,deadline:C!=null&&C.length?C:null})}}),b=C=>o.closedStatus?Qa(C,o.closedStatus):!1,y=e.computed(()=>{var C;return((C=o.users)==null?void 0:C.map(g=>({label:`${g.firstName} ${g.lastName}`,value:g.id,avatar:g.avatarUrl})))||[]}),h=e.computed({get(){var C,g;return(g=(C=l.value)==null?void 0:C.assignee)!=null&&g.id?[l.value.assignee.id]:[]},set(C){t("updateMilestone",{id:o.milestoneId,assigneeId:C[0]??null})}}),f=e.computed({get(){var C;return((C=l.value)==null?void 0:C.important)??!1},set(C){t("updateMilestone",{id:o.milestoneId,important:C})}});return(C,g)=>{var N;return e.openBlock(),e.createElementBlock("div",lh,[e.createElementVNode("header",ih,[e.createElementVNode("div",rh,[e.createVNode(K,{"icon-name":"CloseRounded",variant:"ghost",size:"sm",class:"ao-milestone__close",onClick:c})]),e.createElementVNode("div",ch,[e.createElementVNode("div",dh,[e.createVNode(ne,{title:((N=l.value)==null?void 0:N.name)||C.milestoneId,level:5},null,8,["title"]),e.createVNode(qa,{modelValue:f.value,"onUpdate:modelValue":g[0]||(g[0]=B=>f.value=B),modelModifiers:{lazy:!0},disabled:!C.isEditable,class:"ao-milestone__important",color:"danger",label:C.$t("activity.important.label"),"icon-name":"FlagRounded",variant:"ghost",size:"sm"},null,8,["modelValue","disabled","label"])])]),l.value?(e.openBlock(),e.createElementBlock("div",uh,[e.createElementVNode("div",ph,[e.createElementVNode("label",mh,[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",vh,[e.createElementVNode("label",fh,[e.createVNode(ie,{modelValue:h.value,"onUpdate:modelValue":g[2]||(g[2]=B=>h.value=B),options:y.value,"close-on-select":!0,searchable:!0,max:1,class:"ao-milestone__field ao-milestone__multiselect",placeholder:C.$t("activity.filters.assignee.placeholder"),mode:"tags",disabled:!C.isEditable,caret:C.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(Rn,{color:m.value,"onUpdate:color":g[3]||(g[3]=B=>m.value=B)},{clickable:e.withCtx(({openPicker:B,style:V})=>[e.createElementVNode("button",{style:e.normalizeStyle(V),class:"color-button",onClick:B},null,12,hh)]),_:1},8,["color"])])):e.createCommentVNode("",!0)]),e.createElementVNode("div",Ch,[e.createVNode(e.unref(xe),e.mergeProps({class:"ao-project-milestone__activities",list:r.value,disabled:!C.isEditable,"item-key":"id",group:"kanban"},C.$attrs,{onChange:p}),{item:e.withCtx(({element:B})=>{var V,L,P,R,F;return[e.createVNode(wo,{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:C.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":C.isEditable,"is-private":B.private,"is-closed":b(B),onClick:z=>C.$router.push({name:e.unref(oe).activity,params:{milestoneId:C.milestoneId,activityId:B.id}}),onUpdateActivity:d,onRemoveAssignee:()=>d({id:B.id,assigneeId:null})},e.createSlots({_:2},[C.isEditable?{name:"secondary",fn:e.withCtx(()=>[C.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:C.$t("archive"),onClick:e.withModifiers(()=>C.$emit("archiveActivity",{id:B.id}),["stop"])},null,8,["label","onClick"])):e.createCommentVNode("",!0),C.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:C.$t("feed.activity.unarchive"),onClick:e.withModifiers(()=>C.$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"]),C.isEditable?(e.openBlock(),e.createElementBlock("div",gh,[e.createVNode(We,{"icon-name":"Add",label:C.$t("project.activity.add"),onClick:u},null,8,["label"])])):e.createCommentVNode("",!0)])])}}});const _h=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(f=>f.id===o.phaseId)}),s=e.computed(()=>{var h;return(h=o.phases)==null?void 0:h.flatMap(f=>f.milestones)}),i=e.computed(()=>{var h;return(h=s.value)==null?void 0:h.find(f=>f.id===o.milestoneId)}),l=e.computed(()=>{var h;return(h=o.activities)==null?void 0:h.find(f=>f.id===o.activityId)}),r=h=>{t("update:activity",h)},c=h=>{t("addSubtask",h)},u=h=>{t("updateSubtask",h)},d=h=>{t("deleteSubtask",h)},p=h=>{t("addFiles",h)},m=h=>{t("removeFile",h)},v=h=>{t("addComment",h)},b=h=>{t("updateComment",h)},y=h=>{t("removeComment",h)};return(h,f)=>{var C,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:`${(C=n.value)==null?void 0:C.name} / ${(g=i.value)==null?void 0:g.name}`,"is-editable":h.isEditable,"attachment-enabled":h.attachmentEnabled,projects:[h.project],onClose:h.$router.back,"onUpdate:activity":r,onAddSubtask:c,onUpdateSubtask:u,onDeleteSubtask:d,onAddFiles:p,onRemoveFile:m,onAddComment:v,onUpdateComment:b,onRemoveComment:y},{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)}}}),yh={class:"ao-col-header"},bh=e.defineComponent({__name:"AoColHeader",props:{title:{},items:{}},setup(a){return(t,o)=>(e.openBlock(),e.createElementBlock("header",yh,[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 kh(a){return e.getCurrentScope()?(e.onScopeDispose(a),!0):!1}function ma(a){return typeof a=="function"?a():e.unref(a)}const wh=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const $h=a=>a!=null,At=()=>{};function Eh(a,t){function o(...n){return new Promise((s,i)=>{Promise.resolve(a(()=>t.apply(this,n),{fn:t,thisArg:this,args:n})).then(s).catch(i)})}return o}function Bh(a,t={}){let o,n,s=At;const i=r=>{clearTimeout(r),s(),s=At};return r=>{const c=ma(a),u=ma(t.maxWait);return o&&i(o),c<=0||u!==void 0&&u<=0?(n&&(i(n),n=null),Promise.resolve(r())):new Promise((d,p)=>{s=t.rejectOnCancel?p:d,u&&!n&&(n=setTimeout(()=>{o&&i(o),n=null,d(r())},u)),o=setTimeout(()=>{n&&i(n),n=null,d(r())},c)})}}function Vh(a,t=200,o={}){return Eh(Bh(t,o),a)}function Ua(a){var t;const o=ma(a);return(t=o==null?void 0:o.$el)!=null?t:o}const Nh=wh?window:void 0;function Sh(){const a=e.ref(!1),t=e.getCurrentInstance();return t&&e.onMounted(()=>{a.value=!0},t),a}function Mh(a){const t=Sh();return e.computed(()=>(t.value,!!a()))}function Ah(a,t,o={}){const{root:n,rootMargin:s="0px",threshold:i=.1,window:l=Nh,immediate:r=!0}=o,c=Mh(()=>l&&"IntersectionObserver"in l),u=e.computed(()=>{const b=ma(a);return(Array.isArray(b)?b:[b]).map(Ua).filter($h)});let d=At;const p=e.ref(r),m=c.value?e.watch(()=>[u.value,Ua(n),p.value],([b,y])=>{if(d(),!p.value||!b.length)return;const h=new IntersectionObserver(t,{root:Ua(y),rootMargin:s,threshold:i});b.forEach(f=>f&&h.observe(f)),d=()=>{h.disconnect(),d=At}},{immediate:r,flush:"post"}):At,v=()=>{d(),m(),p.value=!1};return kh(v),{isSupported:c,isActive:p,pause(){d(),p.value=!1},resume(){p.value=!0},stop:v}}const Th={class:e.normalizeClass(["ao-list-kanban"])},Oh={class:"ao-list-kanban__header"},Ih={key:0,class:"ao-list-kanban__end ao-list-kanban__end--loading"},Lh={key:1,class:"ao-list-kanban__end"},Dh={key:0,class:"ao-list-kanban__no-more"},Ph={key:1,class:"ao-list-kanban__divider"},Hh={key:1,class:"ao-list-kanban__footer"},Rh=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);Ah(s,([{isIntersecting:d}])=>{n.value=d}),e.watch(n,d=>{d&&o.hasMore&&!o.isLoading&&t("loadMore")});const i=d=>{var p;return o.isEditable===!0?!0:o.userId&&o.isEditable==="only-own"?o.userId===((p=d.assignee)==null?void 0:p.id):!1},l=d=>{t("selectActivity",d)},r=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)})},u=e.ref(!1);return(d,p)=>(e.openBlock(),e.createElementBlock("div",Th,[d.title||d.$slots.header?e.renderSlot(d.$slots,"header",{key:0},()=>{var m;return[e.createElementVNode("div",Oh,[d.title?(e.openBlock(),e.createBlock(bh,{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",u.value?"ao-list-kanban__transition":void 0],list:d.list,"item-key":"id",group:"kanban","ghost-class":"ao-list-kanban__ghost",animation:"200"},d.$attrs,{draggable:".ao-list-draggable",disabled:!d.isEditable,onChange:c,onStart:p[0]||(p[0]=m=>u.value=!0),onEnd:p[1]||(p[1]=m=>u.value=!1),"component-data":{tag:"transition-group",name:"ao-list-kanban__transition"}}),{item:e.withCtx(({element:m})=>{var v,b,y,h,f,C,g,N,B;return[e.createVNode(wo,{class:e.normalizeClass(i(m)?"ao-list-draggable":""),id:m.id,name:m.name,"project-name":(v=m.project)==null?void 0:v.name,"project-color":(b=m.project)==null?void 0:b.color,"phase-name":(h=(y=m.milestone)==null?void 0:y.phase)==null?void 0:h.name,"milestone-name":(f=m.milestone)==null?void 0:f.name,"milestone-color":(C=m.milestone)==null?void 0:C.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":i(m),"is-private":m.private,"tag-type":d.tagType,onUpdateActivity:[V=>i(m)&&r(V),()=>i(m)&&r],onClick:()=>l(m.id),onRemoveAssignee:()=>i(m)&&r({id:m.id,assigneeId:null})},{secondary:e.withCtx(()=>[i(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),i(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",Ih,[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",Lh,[d.noMoreLabel?(e.openBlock(),e.createElementBlock("span",Dh,e.toDisplayString(d.noMoreLabel),1)):d.isEditable?(e.openBlock(),e.createElementBlock("span",Ph)):e.createCommentVNode("",!0)]))]),_:1},16,["class","list","disabled"]),d.$slots.footer||d.footerLabel?(e.openBlock(),e.createElementBlock("div",Hh,[e.renderSlot(d.$slots,"footer",{},()=>[d.isEditable?(e.openBlock(),e.createBlock(We,{key:0,"icon-name":"AddBoxOutlineRounded",label:d.footerLabel,onClick:p[2]||(p[2]=m=>d.$emit("add"))},null,8,["label"])):e.createCommentVNode("",!0)])])):e.createCommentVNode("",!0)]))}});const jh={class:"ao-field ao-search-field"},Fh=["value","placeholder","onKeypress"],Uh=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=Vh(n,o.delay),i=l=>{t("clear",l)};return(l,r)=>(e.openBlock(),e.createElementBlock("div",jh,[e.createElementVNode("input",{value:l.modelValue,type:"text",class:"ao-field__input ao-search-field__input",placeholder:l.placeholder,onInput:r[0]||(r[0]=(...c)=>e.unref(s)&&e.unref(s)(...c)),onKeypress:e.withKeys(n,["enter"])},null,40,Fh),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:i},null,8,["class"])]))}});const zh={class:"ao-feed"},Zh={class:"ao-feed__filters"},xh={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 i=e.toRef(o,"activities"),l=async(k,O)=>{await t("selectActivity",k,O)},r=e.ref({}),c=e.ref(!1),u=e.ref(!1),d=e.computed(()=>o.project?"milestone":"project");e.watch([()=>o.statuses,()=>o.activities,()=>o.initialActivityId,()=>o.initialActivitySlug],async([k,O,_,M],[q,x])=>{r.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),u.value&&Me(O,x)},{immediate:!0});const p=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]),u.value=!0,t("addActivity",q)},v=(k,O)=>{u.value=!1,t("update:filters",{...o.filters,[k]:O})},b=e.computed(()=>o.project?[o.project]:o.projects??[]),y=e.computed(()=>b.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}))}),f=e.computed(()=>o.users.map(k=>({value:k.id,label:`${k.firstName} ${k.lastName}`,avatar:k.avatarUrl}))),C=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=>{u.value=!1,t("update:searchText",k)},L=k=>{u.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",zh,[e.createVNode(Zt,null,{primary:e.withCtx(()=>[e.createElementVNode("div",Zh,[e.createVNode(ko,{tabs:$,modelValue:E.value,"onUpdate:modelValue":O[0]||(O[0]=M=>E.value=M)},null,8,["modelValue"]),e.createVNode(Uh,{"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(ie,{key:0,"model-value":k.filters[e.unref(Je).project],mode:"tags",options:y.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(ie,{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),f.value.length?(e.openBlock(),e.createBlock(ie,{key:2,"model-value":k.filters[e.unref(Je).assignee],mode:"tags",options:f.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",xh,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(k.statuses,M=>(e.openBlock(),e.createBlock(Rh,{key:M.id,status:M,list:r.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":i.value,users:k.users,"user-id":k.userId,"is-task-checkable":k.isTaskCheckable,statuses:k.statuses,breadcrumbs:p.value,"is-editable":k.isEditable,"attachment-enabled":k.attachmentEnabled,projects:b.value,onClose:O[7]||(O[7]=()=>l(null,null)),"onUpdate:activity":C,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 Wh={class:"ao-project-mapping"},qh={class:"ao-project-mapping-mapping__body"},Yh={class:"ao-project-mapping-mapping__phases"},Kh={key:0,class:"ao-project-mapping-mapping__image-wrapper"},Gh=["src","alt"],Xh=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:f}=ot(o.phases,"phase",n);t("addPhase",{name:h,rank:f,projectId:o.project.id})},i=h=>{t("updatePhase",h)},l=h=>{t("archivePhase",h)},r=h=>{t("unarchivePhase",h)},c=h=>{t("copyPhaseToTemplate",h)},u=e.ref(!1),d=e.ref(!1),p=(h,f)=>{t("applyTemplate",{templateId:h,projectId:f}),u.value=!1},m=(h,f)=>{var N;const C=(N=o.templates)==null?void 0:N.at(-1),g=C?se.LexoRank.parse(C.rank).genNext():se.LexoRank.middle();t("saveTemplate",{templateName:h,rank:g.format(),phaseIds:f}),d.value=!1},v=Rt.useRouter(),b=e.ref("mapping"),y=[{label:"Overview",value:"overview"},{label:"Feed",value:"feed"},{label:"Mapping",value:"mapping"}];return e.watch(b,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,f)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",e.mergeProps({class:"ao-project-mapping-overview"},h.$attrs),[e.createElementVNode("div",Wh,[e.createVNode(Zt,null,{primary:e.withCtx(()=>[e.createVNode(ko,{tabs:y,modelValue:b.value,"onUpdate:modelValue":f[0]||(f[0]=C=>b.value=C)},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:f[1]||(f[1]=C=>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:f[2]||(f[2]=C=>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:f[3]||(f[3]=C=>u.value=!0)},null,8,["label"])):e.createCommentVNode("",!0)]),_:1}),e.createElementVNode("div",qh,[e.createElementVNode("div",Yh,[e.createVNode(bo,{phases:h.phases,"closed-status":h.closedStatus,"is-editable":h.isEditable===!0,users:h.users,onAddPhase:s,onUpdatePhase:i,onArchivePhase:l,onUnarchivePhase:r,onCopyPhaseToTemplate:c},null,8,["phases","closed-status","is-editable","users"])]),h.project.architectureImage?(e.openBlock(),e.createElementBlock("div",Kh,[e.createElementVNode("img",{class:"architecture-image",src:h.project.architectureImage.url,alt:e.unref(n)("architectureImage.alt")},null,8,Gh)])):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:f[4]||(f[4]=C=>d.value=!1),onSave:m},null,8,["phases"])):e.createCommentVNode("",!0),u.value?(e.openBlock(),e.createBlock(jn,{key:1,"project-id":h.project.id,templates:h.templates,onClose:f[5]||(f[5]=C=>u.value=!1),onApply:p},null,8,["project-id","templates"])):e.createCommentVNode("",!0)]))],64))}});const tt={TEMPLATES:"templates",TEMPLATE_DETAILS:"template_details",TEMPLATES_LIST:"templates_list"},Qh=(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:Hn,props:!0}]}],oe={project:"AoProject",feed:"AoProjectFeed",mapping:"AoProjectMapping",milestone:"AoMilestone",activity:"AoActivity"},Jh=(a,t={})=>[{path:a,...t,redirect:{name:oe.project},children:[{path:"",name:oe.project,component:Pf,props:!0,children:[{path:":phaseId/:milestoneId",name:oe.milestone,component:Xo,props:!0},{path:":phaseId/:milestoneId/:activityId",name:oe.activity,props:{default:!0,modal:!0},components:{default:Xo,modal:_h}}]},{path:"feed",name:oe.feed,component:Un,props:!0},{path:"mapping",name:oe.mapping,component:Xh,props:!0}]}],e9={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,u)=>{Me(c,u)});const s=()=>{var m,v;const c=(m=o.templates)==null?void 0:m.at(-1),u=c?se.LexoRank.parse(c.rank).genNext():se.LexoRank.middle(),d=((v=o.templates)==null?void 0:v.length)??0,p={name:n("template.defaultName.template",{idx:d+1}),rank:u.format()};t("addTemplate",p)},i=(c,u)=>{t("updateItem",{itemType:ee.TEMPLATES,id:c,templateId:c,data:{name:u}})},l=(c,u)=>{t("removeItem",{itemType:ee.TEMPLATES,templateId:c,data:{id:c,...u?{name:u}:{}}})},r=c=>{if(c.moved){const u=zt(c,o.templates??[]);t("updateItem",{itemType:ee.TEMPLATES,id:c.moved.element.id,templateId:c.moved.element.id,data:{rank:u}})}};return(c,u)=>(e.openBlock(),e.createElementBlock("div",e9,[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:r},{item:e.withCtx(({element:d})=>{var p;return[e.createVNode(k3,{id:d.id,title:d.name,phases:d.phases,milestones:(p=d.phases)!=null&&p.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=>i(d.id,m),onClick:m=>c.$router.push({name:e.unref(tt).TEMPLATE_DETAILS,params:{templateId:d.id}}),onDeleteItem:u[0]||(u[0]=(m,v)=>l(m,v))},null,8,["id","title","phases","milestones","activities","updated-at","updated-by","onUpdateTitle","onClick"])]}),_:1},8,["model-value"])]))}});const t9={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",t9,e.toDisplayString(t.label),1),e.renderSlot(t.$slots,"default")],2))}}),a9=["type","value","disabled","readonly"],o9=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=i=>{o.modelModifiers.number&&(i=Number(i)),t("update:modelValue",i)};return(i,l)=>(e.openBlock(),e.createBlock(Zn,{label:i.label},{default:e.withCtx(()=>[e.createElementVNode("input",e.mergeProps({class:"ao-field__input",type:i.type,value:i.modelValue,disabled:i.isDisabled,readonly:i.isReadonly},{[e.toHandlerKey(n.value)]:l[0]||(l[0]=r=>s(r.target.value))}),null,16,a9)]),_:1},8,["label"]))}}),n9={class:"ao-field"},s9={class:"ao-field__label"},l9=["checked","disabled"],i9=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",n9,[e.createElementVNode("span",s9,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,l9)]))}});exports.AoAvatar=ke;exports.AoCardFeed=wo;exports.AoCheckboxField=i9;exports.AoFeed=Un;exports.AoField=Zn;exports.AoInputField=o9;exports.AoMultiselect=ie;exports.AoProjectPhases=bo;exports.AoTemplateDetails=Hn;exports.AoTemplates=rs;exports.AoTemplatesList=zn;exports.TemplateItemTypeEnum=nn;exports.activityFeedStatus=c2;exports.durationTypes=r2;exports.feedFilterTypes=Je;exports.getProjectOverviewRoutes=Jh;exports.getTemplateRoutes=Qh;exports.listUpdateTypes=d2;exports.milestoneStatus=Ot;exports.projectOverviewRoutes=oe;exports.ruleComparators=tn;exports.ruleDurationUnits=on;exports.ruleTriggerTypes=an;exports.templateItemType=ee;exports.templateRouteNames=tt;
|