@26lights/orcha 0.42.88 → 0.42.89
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/orcha.cjs.js
CHANGED
|
@@ -55,4 +55,4 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
55
55
|
* vue-color-kit v1.0.6
|
|
56
56
|
* (c) 2023
|
|
57
57
|
* @license MIT
|
|
58
|
-
*/function Ao(t){let e={r:0,g:0,b:0,a:1};/#/.test(t)?e=sfe(t):/rgb/.test(t)?e=lp(t):typeof t=="string"?e=lp(`rgba(${t})`):Object.prototype.toString.call(t)==="[object Object]"&&(e=t);const{r:n,g:o,b:r,a:s}=e,{h:a,s:l,v:c}=afe(e);return{r:n,g:o,b:r,a:s===void 0?1:s,h:a,s:l,v:c}}function Xu(t){const e=document.createElement("canvas"),n=e.getContext("2d"),o=t*2;return e.width=o,e.height=o,n.fillStyle="#ffffff",n.fillRect(0,0,o,o),n.fillStyle="#ccd5db",n.fillRect(0,0,t,t),n.fillRect(t,t,t,t),e}function jc(t,e,n,o,r,s){const a=t==="l",l=e.createLinearGradient(0,0,a?n:0,a?0:o);l.addColorStop(.01,r),l.addColorStop(.99,s),e.fillStyle=l,e.fillRect(0,0,n,o)}function ife({r:t,g:e,b:n},o){const r=a=>("0"+Number(a).toString(16)).slice(-2),s=`#${r(t)}${r(e)}${r(n)}`;return o?s.toUpperCase():s}function sfe(t){t=t.slice(1);const e=n=>parseInt(n,16)||0;return{r:e(t.slice(0,2)),g:e(t.slice(2,4)),b:e(t.slice(4,6))}}function lp(t){return typeof t=="string"?(t=(/rgba?\((.*?)\)/.exec(t)||["","0,0,0,1"])[1].split(","),{r:Number(t[0])||0,g:Number(t[1])||0,b:Number(t[2])||0,a:Number(t[3]?t[3]:1)}):t}function afe({r:t,g:e,b:n}){t=t/255,e=e/255,n=n/255;const o=Math.max(t,e,n),r=Math.min(t,e,n),s=o-r;let a=0;o===r?a=0:o===t?e>=n?a=60*(e-n)/s:a=60*(e-n)/s+360:o===e?a=60*(n-t)/s+120:o===n&&(a=60*(t-e)/s+240),a=Math.floor(a);let l=parseFloat((o===0?0:1-r/o).toFixed(2)),c=parseFloat(o.toFixed(2));return{h:a,s:l,v:c}}var Qu=i.defineComponent({props:{color:{type:String,default:"#000000"},hsv:{type:Object,default:null},size:{type:Number,default:152}},emits:["selectSaturation"],data(){return{slideSaturationStyle:{}}},mounted(){this.renderColor(),this.renderSlide()},methods:{renderColor(){const t=this.$refs.canvasSaturation,e=this.size,n=t.getContext("2d");t.width=e,t.height=e,n.fillStyle=this.color,n.fillRect(0,0,e,e),jc("l",n,e,e,"#FFFFFF","rgba(255,255,255,0)"),jc("p",n,e,e,"rgba(0,0,0,0)","#000000")},renderSlide(){this.slideSaturationStyle={left:this.hsv.s*this.size-5+"px",top:(1-this.hsv.v)*this.size-5+"px"}},selectSaturation(t){const{top:e,left:n}=this.$el.getBoundingClientRect(),o=t.target.getContext("2d"),r=a=>{let l=a.clientX-n,c=a.clientY-e;l<0&&(l=0),c<0&&(c=0),l>this.size&&(l=this.size),c>this.size&&(c=this.size),this.slideSaturationStyle={left:l-5+"px",top:c-5+"px"};const u=o.getImageData(Math.min(l,this.size-1),Math.min(c,this.size-1),1,1),[d,f,p]=u.data;this.$emit("selectSaturation",{r:d,g:f,b:p})};r(t);const s=()=>{document.removeEventListener("mousemove",r),document.removeEventListener("mouseup",s)};document.addEventListener("mousemove",r),document.addEventListener("mouseup",s)}}});const lfe={ref:"canvasSaturation"};function cfe(t,e,n,o,r,s){return i.openBlock(),i.createBlock("div",{class:"saturation",onMousedown:e[1]||(e[1]=i.withModifiers((...a)=>t.selectSaturation&&t.selectSaturation(...a),["prevent","stop"]))},[i.createVNode("canvas",lfe,null,512),i.createVNode("div",{style:t.slideSaturationStyle,class:"slide"},null,4)],32)}Qu.render=cfe;Qu.__file="src/color/Saturation.vue";var ed=i.defineComponent({props:{hsv:{type:Object,default:null},width:{type:Number,default:15},height:{type:Number,default:152}},emits:["selectHue"],data(){return{slideHueStyle:{}}},mounted(){this.renderColor(),this.renderSlide()},methods:{renderColor(){const t=this.$refs.canvasHue,e=this.width,n=this.height,o=t.getContext("2d");t.width=e,t.height=n;const r=o.createLinearGradient(0,0,0,n);r.addColorStop(0,"#FF0000"),r.addColorStop(.17*1,"#FF00FF"),r.addColorStop(.17*2,"#0000FF"),r.addColorStop(.17*3,"#00FFFF"),r.addColorStop(.17*4,"#00FF00"),r.addColorStop(.17*5,"#FFFF00"),r.addColorStop(1,"#FF0000"),o.fillStyle=r,o.fillRect(0,0,e,n)},renderSlide(){this.slideHueStyle={top:(1-this.hsv.h/360)*this.height-2+"px"}},selectHue(t){const{top:e}=this.$el.getBoundingClientRect(),n=t.target.getContext("2d"),o=s=>{let a=s.clientY-e;a<0&&(a=0),a>this.height&&(a=this.height),this.slideHueStyle={top:a-2+"px"};const l=n.getImageData(0,Math.min(a,this.height-1),1,1),[c,u,d]=l.data;this.$emit("selectHue",{r:c,g:u,b:d})};o(t);const r=()=>{document.removeEventListener("mousemove",o),document.removeEventListener("mouseup",r)};document.addEventListener("mousemove",o),document.addEventListener("mouseup",r)}}});const ufe={ref:"canvasHue"};function dfe(t,e,n,o,r,s){return i.openBlock(),i.createBlock("div",{class:"hue",onMousedown:e[1]||(e[1]=i.withModifiers((...a)=>t.selectHue&&t.selectHue(...a),["prevent","stop"]))},[i.createVNode("canvas",ufe,null,512),i.createVNode("div",{style:t.slideHueStyle,class:"slide"},null,4)],32)}ed.render=dfe;ed.__file="src/color/Hue.vue";var td=i.defineComponent({props:{color:{type:String,default:"#000000"},rgba:{type:Object,default:null},width:{type:Number,default:15},height:{type:Number,default:152}},emits:["selectAlpha"],data(){return{slideAlphaStyle:{},alphaSize:5}},watch:{color(){this.renderColor()},"rgba.a"(){this.renderSlide()}},mounted(){this.renderColor(),this.renderSlide()},methods:{renderColor(){const t=this.$refs.canvasAlpha,e=this.width,n=this.height,o=this.alphaSize,r=Xu(o),s=t.getContext("2d");t.width=e,t.height=n,s.fillStyle=s.createPattern(r,"repeat"),s.fillRect(0,0,e,n),jc("p",s,e,n,"rgba(255,255,255,0)",this.color)},renderSlide(){this.slideAlphaStyle={top:this.rgba.a*this.height-2+"px"}},selectAlpha(t){const{top:e}=this.$el.getBoundingClientRect(),n=r=>{let s=r.clientY-e;s<0&&(s=0),s>this.height&&(s=this.height);let a=parseFloat((s/this.height).toFixed(2));this.$emit("selectAlpha",a)};n(t);const o=()=>{document.removeEventListener("mousemove",n),document.removeEventListener("mouseup",o)};document.addEventListener("mousemove",n),document.addEventListener("mouseup",o)}}});const ffe={ref:"canvasAlpha"};function pfe(t,e,n,o,r,s){return i.openBlock(),i.createBlock("div",{class:"color-alpha",onMousedown:e[1]||(e[1]=i.withModifiers((...a)=>t.selectAlpha&&t.selectAlpha(...a),["prevent","stop"]))},[i.createVNode("canvas",ffe,null,512),i.createVNode("div",{style:t.slideAlphaStyle,class:"slide"},null,4)],32)}td.render=pfe;td.__file="src/color/Alpha.vue";var nd=i.defineComponent({props:{color:{type:String,default:"#000000"},width:{type:Number,default:100},height:{type:Number,default:30}},data(){return{alphaSize:5}},watch:{color(){this.renderColor()}},mounted(){this.renderColor()},methods:{renderColor(){const t=this.$el,e=this.width,n=this.height,o=this.alphaSize,r=Xu(o),s=t.getContext("2d");t.width=e,t.height=n,s.fillStyle=s.createPattern(r,"repeat"),s.fillRect(0,0,e,n),s.fillStyle=this.color,s.fillRect(0,0,e,n)}}});function hfe(t,e,n,o,r,s){return i.openBlock(),i.createBlock("canvas")}nd.render=hfe;nd.__file="src/color/Preview.vue";var od=i.defineComponent({props:{suckerCanvas:{type:Object,default:null},suckerArea:{type:Array,default:()=>[]}},data(){return{isOpenSucker:!1,suckerPreview:null,isSucking:!1}},watch:{suckerCanvas(t){this.isSucking=!1,this.suckColor(t)}},methods:{openSucker(){this.isOpenSucker?this.keydownHandler({keyCode:27}):(this.isOpenSucker=!0,this.isSucking=!0,this.$emit("openSucker",!0),document.addEventListener("keydown",this.keydownHandler))},keydownHandler(t){t.keyCode===27&&(this.isOpenSucker=!1,this.isSucking=!1,this.$emit("openSucker",!1),document.removeEventListener("keydown",this.keydownHandler),document.removeEventListener("mousemove",this.mousemoveHandler),document.removeEventListener("mouseup",this.mousemoveHandler),this.suckerPreview&&(document.body.removeChild(this.suckerPreview),this.suckerPreview=null))},mousemoveHandler(t){const{clientX:e,clientY:n}=t,{top:o,left:r,width:s,height:a}=this.suckerCanvas.getBoundingClientRect(),l=e-r,c=n-o,d=this.suckerCanvas.getContext("2d").getImageData(Math.min(l,s-1),Math.min(c,a-1),1,1);let[f,p,h,m]=d.data;m=parseFloat((m/255).toFixed(2));const g=this.suckerPreview.style;Object.assign(g,{position:"absolute",left:e+20+"px",top:n-36+"px",width:"24px",height:"24px",borderRadius:"50%",border:"2px solid #fff",boxShadow:"0 0 8px 0 rgba(0, 0, 0, 0.16)",background:`rgba(${f}, ${p}, ${h}, ${m})`,zIndex:95}),this.suckerArea.length&&e>=this.suckerArea[0]&&n>=this.suckerArea[1]&&e<=this.suckerArea[2]&&n<=this.suckerArea[3]?g.display="":g.display="none"},suckColor(t){t&&t.tagName!=="CANVAS"||(this.suckerPreview=document.createElement("div"),this.suckerPreview&&document.body.appendChild(this.suckerPreview),document.addEventListener("mousemove",this.mousemoveHandler),document.addEventListener("mouseup",this.mousemoveHandler),t.addEventListener("click",e=>{const{clientX:n,clientY:o}=e,{top:r,left:s,width:a,height:l}=t.getBoundingClientRect(),c=n-s,u=o-r,f=t.getContext("2d").getImageData(Math.min(c,a-1),Math.min(u,l-1),1,1);let[p,h,m,g]=f.data;g=parseFloat((g/255).toFixed(2)),this.$emit("selectSucker",{r:p,g:h,b:m,a:g})}))}}});const mfe=i.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),gfe={key:1,class:"sucker",viewBox:"-16 -16 68 68",xmlns:"http://www.w3.org/2000/svg",stroke:"#9099a4"},vfe=i.createVNode("g",{fill:"none","fill-rule":"evenodd"},[i.createVNode("g",{transform:"translate(1 1)","stroke-width":"4"},[i.createVNode("circle",{"stroke-opacity":".5",cx:"18",cy:"18",r:"18"}),i.createVNode("path",{d:"M36 18c0-9.94-8.06-18-18-18"},[i.createVNode("animateTransform",{attributeName:"transform",type:"rotate",from:"0 18 18",to:"360 18 18",dur:"1s",repeatCount:"indefinite"})])])],-1);function yfe(t,e,n,o,r,s){return i.openBlock(),i.createBlock("div",null,[t.isSucking?i.createCommentVNode("v-if",!0):(i.openBlock(),i.createBlock("svg",{key:0,class:[{active:t.isOpenSucker},"sucker"],xmlns:"http://www.w3.org/2000/svg",viewBox:"-12 -12 48 48",onClick:e[1]||(e[1]=(...a)=>t.openSucker&&t.openSucker(...a))},[mfe],2)),t.isSucking?(i.openBlock(),i.createBlock("svg",gfe,[vfe])):i.createCommentVNode("v-if",!0)])}od.render=yfe;od.__file="src/color/Sucker.vue";var rd=i.defineComponent({props:{name:{type:String,default:""},color:{type:String,default:""}},emits:["inputColor","inputFocus","inputBlur"],setup(t,{emit:e}){return{modelColor:i.computed({get(){return t.color||""},set(s){e("inputColor",s)}}),handleFocus:s=>{e("inputFocus",s)},handleBlur:s=>{e("inputBlur",s)}}}});const _fe={class:"color-type"},Cfe={class:"name"};function bfe(t,e,n,o,r,s){return i.openBlock(),i.createBlock("div",_fe,[i.createVNode("span",Cfe,i.toDisplayString(t.name),1),i.withDirectives(i.createVNode("input",{"onUpdate:modelValue":e[1]||(e[1]=a=>t.modelColor=a),class:"value",onFocus:e[2]||(e[2]=(...a)=>t.handleFocus&&t.handleFocus(...a)),onBlur:e[3]||(e[3]=(...a)=>t.handleBlur&&t.handleBlur(...a))},null,544),[[i.vModelText,t.modelColor]])])}rd.render=bfe;rd.__file="src/color/Box.vue";var id=i.defineComponent({name:"ColorPicker",props:{color:{type:String,default:"#000000"},colorsDefault:{type:Array,default:()=>[]},colorsHistoryKey:{type:String,default:""}},emits:["selectColor"],setup(t,{emit:e}){const n=i.ref(),o=i.ref([]),r=i.ref();t.colorsHistoryKey&&localStorage&&(o.value=JSON.parse(localStorage.getItem(t.colorsHistoryKey))||[]),r.value=Xu(4).toDataURL(),i.onUnmounted(()=>{s(n.value)});function s(l){if(!l)return;const c=o.value||[],u=c.indexOf(l);u>=0&&c.splice(u,1),c.length>=8&&(c.length=7),c.unshift(l),o.value=c||[],localStorage&&t.colorsHistoryKey&&localStorage.setItem(t.colorsHistoryKey,JSON.stringify(c))}function a(l){e("selectColor",l)}return{setColorsHistory:s,colorsHistory:o,color:n,imgAlphaBase64:r,selectColor:a}}});const kfe={class:"colors"},wfe={key:0,class:"colors history"};function Efe(t,e,n,o,r,s){return i.openBlock(),i.createBlock("div",null,[i.createVNode("ul",kfe,[(i.openBlock(!0),i.createBlock(i.Fragment,null,i.renderList(t.colorsDefault,a=>(i.openBlock(),i.createBlock("li",{key:a,class:"item",onClick:l=>t.selectColor(a)},[i.createVNode("div",{style:{background:`url(${t.imgAlphaBase64})`},class:"alpha"},null,4),i.createVNode("div",{style:{background:a},class:"color"},null,4)],8,["onClick"]))),128))]),t.colorsHistory.length?(i.openBlock(),i.createBlock("ul",wfe,[(i.openBlock(!0),i.createBlock(i.Fragment,null,i.renderList(t.colorsHistory,a=>(i.openBlock(),i.createBlock("li",{key:a,class:"item",onClick:l=>t.selectColor(a)},[i.createVNode("div",{style:{background:`url(${t.imgAlphaBase64})`},class:"alpha"},null,4),i.createVNode("div",{style:{background:a},class:"color"},null,4)],8,["onClick"]))),128))])):i.createCommentVNode("v-if",!0)])}id.render=Efe;id.__file="src/color/Colors.vue";var Tr=i.defineComponent({components:{Saturation:Qu,Hue:ed,Alpha:td,Preview:nd,Sucker:od,Box:rd,Colors:id},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 ife(this.rgba,!0)}},created(){Object.assign(this,Ao(this.color)),this.setText(),this.$watch("rgba",()=>{this.$emit("changeColor",{rgba:this.rgba,hsv:this.hsv,hex:this.modelHex})})},methods:{selectSaturation(t){const{r:e,g:n,b:o,h:r,s,v:a}=Ao(t);Object.assign(this,{r:e,g:n,b:o,h:r,s,v:a}),this.setText()},handleFocus(t){this.$emit("inputFocus",t)},handleBlur(t){this.$emit("inputBlur",t)},selectHue(t){const{r:e,g:n,b:o,h:r,s,v:a}=Ao(t);Object.assign(this,{r:e,g:n,b:o,h:r,s,v:a}),this.setText(),this.$nextTick(()=>{this.$refs.saturation.renderColor(),this.$refs.saturation.renderSlide()})},selectAlpha(t){this.a=t,this.setText()},inputHex(t){const{r:e,g:n,b:o,a:r,h:s,s:a,v:l}=Ao(t);Object.assign(this,{r:e,g:n,b:o,a:r,h:s,s:a,v:l}),this.modelHex=t,this.modelRgba=this.rgbaStringShort,this.$nextTick(()=>{this.$refs.saturation.renderColor(),this.$refs.saturation.renderSlide(),this.$refs.hue.renderSlide()})},inputRgba(t){const{r:e,g:n,b:o,a:r,h:s,s:a,v:l}=Ao(t);Object.assign(this,{r:e,g:n,b:o,a:r,h:s,s:a,v:l}),this.modelHex=this.hexString,this.modelRgba=t,this.$nextTick(()=>{this.$refs.saturation.renderColor(),this.$refs.saturation.renderSlide(),this.$refs.hue.renderSlide()})},setText(){this.modelHex=this.hexString,this.modelRgba=this.rgbaStringShort},openSucker(t){this.$emit("openSucker",t)},selectSucker(t){const{r:e,g:n,b:o,a:r,h:s,s:a,v:l}=Ao(t);Object.assign(this,{r:e,g:n,b:o,a:r,h:s,s:a,v:l}),this.setText(),this.$nextTick(()=>{this.$refs.saturation.renderColor(),this.$refs.saturation.renderSlide(),this.$refs.hue.renderSlide()})},selectColor(t){const{r:e,g:n,b:o,a:r,h:s,s:a,v:l}=Ao(t);Object.assign(this,{r:e,g:n,b:o,a:r,h:s,s:a,v:l}),this.setText(),this.$nextTick(()=>{this.$refs.saturation.renderColor(),this.$refs.saturation.renderSlide(),this.$refs.hue.renderSlide()})}}});const xfe={class:"color-set"};function Sfe(t,e,n,o,r,s){const a=i.resolveComponent("Saturation"),l=i.resolveComponent("Hue"),c=i.resolveComponent("Alpha"),u=i.resolveComponent("Preview"),d=i.resolveComponent("Sucker"),f=i.resolveComponent("Box"),p=i.resolveComponent("Colors");return i.openBlock(),i.createBlock("div",{class:["hu-color-picker",{light:t.isLightTheme}],style:{width:t.totalWidth+"px"}},[i.createVNode("div",xfe,[i.createVNode(a,{ref:"saturation",color:t.rgbString,hsv:t.hsv,size:t.hueHeight,onSelectSaturation:t.selectSaturation},null,8,["color","hsv","size","onSelectSaturation"]),i.createVNode(l,{ref:"hue",hsv:t.hsv,width:t.hueWidth,height:t.hueHeight,onSelectHue:t.selectHue},null,8,["hsv","width","height","onSelectHue"]),i.createVNode(c,{ref:"alpha",color:t.rgbString,rgba:t.rgba,width:t.hueWidth,height:t.hueHeight,onSelectAlpha:t.selectAlpha},null,8,["color","rgba","width","height","onSelectAlpha"])]),i.createVNode("div",{style:{height:t.previewHeight+"px"},class:"color-show"},[i.createVNode(u,{color:t.rgbaString,width:t.previewWidth,height:t.previewHeight},null,8,["color","width","height"]),t.suckerHide?i.createCommentVNode("v-if",!0):(i.openBlock(),i.createBlock(d,{key:0,"sucker-canvas":t.suckerCanvas,"sucker-area":t.suckerArea,onOpenSucker:t.openSucker,onSelectSucker:t.selectSucker},null,8,["sucker-canvas","sucker-area","onOpenSucker","onSelectSucker"]))],4),i.createVNode(f,{name:"HEX",color:t.modelHex,onInputColor:t.inputHex,onInputFocus:t.handleFocus,onInputBlur:t.handleBlur},null,8,["color","onInputColor","onInputFocus","onInputBlur"]),i.createVNode(f,{name:"RGBA",color:t.modelRgba,onInputColor:t.inputRgba,onInputFocus:t.handleFocus,onInputBlur:t.handleBlur},null,8,["color","onInputColor","onInputFocus","onInputBlur"]),i.createVNode(p,{color:t.rgbaString,"colors-default":t.colorsDefault,"colors-history-key":t.colorsHistoryKey,onSelectColor:t.selectColor},null,8,["color","colors-default","colors-history-key","onSelectColor"]),i.createCommentVNode(" custom options "),i.renderSlot(t.$slots,"default")],6)}Tr.render=Sfe;Tr.__file="src/color/ColorPicker.vue";Tr.install=t=>{t.component(Tr.name,Tr)};const Tfe={class:"color-picker-wrapper"},dl=i.defineComponent({__name:"AoColorPicker",props:{color:{}},emits:["update:color"],setup(t,{emit:e}){const n=t,o=e,r=i.ref(!1),s=i.ref(null),a=i.ref(null),l=i.ref(0),c=i.ref(0),u=async m=>{a.value=m,r.value=!0,await i.nextTick();const g=m.getBoundingClientRect(),C=s.value,_=(C==null?void 0:C.offsetHeight)||300,y=window.innerHeight-g.bottom,v=g.top,w=y<_&&v>_;console.log("pickerHeight = "+_),l.value=w?g.top-_-8:g.bottom+8,c.value=g.left,setTimeout(()=>{window.addEventListener("click",f)},0)},d=i.computed(()=>({position:"fixed",top:`${l.value}px`,left:`${c.value}px`,zIndex:1e3})),f=m=>{const g=m.target;s.value&&!s.value.contains(g)&&(r.value=!1,o("update:color",p.value),window.removeEventListener("click",f))};i.onBeforeUnmount(()=>{window.removeEventListener("click",f)}),i.watch(()=>n.color,m=>{r.value||(p.value=m)});const p=i.ref(n.color),h=m=>{const{r:g,g:C,b:_,a:y}=m.rgba;p.value=`rgba(${g}, ${C}, ${_}, ${y})`};return(m,g)=>(i.openBlock(),i.createElementBlock("div",Tfe,[i.renderSlot(m.$slots,"clickable",{openPicker:u,bgColor:t.color}),r.value?(i.openBlock(),i.createElementBlock("div",{key:0,ref_key:"pickerRef",ref:s,class:"color-picker",style:i.normalizeStyle(d.value)},[i.createVNode(i.unref(Tr),{class:"color-picker-box",theme:"light",color:t.color,onChangeColor:h},null,8,["color"])],4)):i.createCommentVNode("",!0)]))}});const Afe={class:"ao-card-project-phase__header"},Nfe={class:"ao-card-project-item__title-line"},Dfe={key:0,class:"ao-card-project-item-phase__estimation"},Mfe={class:"ao-card-project-phase__footer"},Bfe={key:0,class:"ao-card-project-phase__footer-row ao-card-project-phase__footer-row--progress"},$fe={class:"ao-card-project-phase__subitem"},Ofe={class:"ao-card-project-phase__subitem"},Lfe={key:0,class:"ao-card-project-phase__secondary"},Ife={class:"ao-card-project-phase__deadline ao-card-project-phase__deadline--readonly"},Pfe=i.defineComponent({__name:"AoCardProjectItemPhase",props:{id:{},projectName:{},name:{},milestones:{},isEditable:{type:Boolean},deadline:{},active:{type:Boolean},color:{},timeTrackingData:{},estimationUnit:{}},emits:["update:title","update:deadline","archivePhase","unarchivePhase","updatePhase"],setup(t,{emit:e}){const n=t,o=e,r=g=>{o("update:title",g)},s=i.computed(()=>{var g;return((g=n.milestones)==null?void 0:g.reduce((C,_)=>{var y;return C+((y=_.activities)==null?void 0:y.reduce((v,w)=>v+(w.estimation||0),0))},0))||0}),a=i.computed(()=>!n.milestones||!n.timeTrackingData?0:n.milestones.reduce((g,C)=>{var _;return g+(((_=C.activities)==null?void 0:_.reduce((y,v)=>{var k;const w=(k=n.timeTrackingData)==null?void 0:k[v.id];return y+((w==null?void 0:w.timeSpent)||0)},0))||0)},0)),l=i.computed(()=>n.estimationUnit==="days"?"d":"h"),c=i.computed(()=>Aa(a.value,n.estimationUnit)),u=i.computed(()=>{var g;return(g=n.milestones)==null?void 0:g.length}),d=i.computed(()=>{var g;return(g=n.milestones)==null?void 0:g.filter(C=>C.status===$i.done).length}),f=i.computed(()=>(d.value||0)/(u.value||1)),p=i.computed({get:()=>n.deadline??"",set:g=>o("update:deadline",g!=null&&g.length?g:null)}),h=i.computed({get:()=>n.color,set:g=>{o("updatePhase",{id:n.id,color:g})}}),m=(g,C)=>{const _=g.target;_.closest("button")||_.closest("input")||_.closest(".ao-title")||C(_)};return(g,C)=>(i.openBlock(),i.createBlock(dl,{color:h.value,"onUpdate:color":C[2]||(C[2]=_=>h.value=_)},{clickable:i.withCtx(({openPicker:_,bgColor:y})=>[i.createVNode(cl,{class:"ao-card-project-phase","is-clickable":t.isEditable,color:y,"with-left-border":!0,onClick:v=>m(v,_)},i.createSlots({default:i.withCtx(()=>[i.createElementVNode("div",Nfe,[i.createVNode(at,{id:t.id,class:"ao-card-project-phase__title",title:t.name||"",level:4,"is-editable":t.isEditable,"onUpdate:title":r},null,8,["id","title","is-editable"]),s.value||a.value?(i.openBlock(),i.createElementBlock("span",Dfe," ("+i.toDisplayString(c.value)+"/"+i.toDisplayString(s.value)+i.toDisplayString(l.value)+")",1)):i.createCommentVNode("",!0)])]),footer:i.withCtx(()=>[i.createElementVNode("div",Mfe,[u.value?(i.openBlock(),i.createElementBlock("div",Bfe,[i.createElementVNode("div",$fe,[i.createVNode(be,{name:"MountainFlagOutlineRounded",size:"sm"}),i.createElementVNode("span",Ofe,i.toDisplayString(d.value)+" / "+i.toDisplayString(u.value),1)]),i.createVNode(ul,{percentages:f.value,class:"ao-card-project-phase__progress",color:t.color},null,8,["percentages","color"]),g.$slots.secondary?(i.openBlock(),i.createElementBlock("div",Lfe,[i.renderSlot(g.$slots,"secondary")])):i.createCommentVNode("",!0)])):i.createCommentVNode("",!0),i.createElementVNode("div",{class:i.normalizeClass(["ao-card-project-phase__footer-row",p.value?"":"ao-card-project-phase__no_deadline"])},[t.isEditable?i.withDirectives((i.openBlock(),i.createElementBlock("input",{key:0,"onUpdate:modelValue":C[1]||(C[1]=v=>p.value=v),class:"ao-card-project-phase__deadline ao-card-project-phase__deadline--input",type:"date"},null,512)),[[i.vModelText,p.value,void 0,{lazy:!0}]]):i.createCommentVNode("",!0),i.createElementVNode("span",Ife,i.toDisplayString(i.unref(Na)(t.deadline)),1)],2)])]),_:2},[t.isEditable?{name:"header",fn:i.withCtx(()=>[i.createElementVNode("div",Afe,[i.createVNode(me,{class:"ao-card-project-phase__archive",color:"primary",variant:"ghost","icon-name":"ArchiveOutlineRounded",size:"sm","icon-position":"start",corners:"round",label:t.active?g.$t("archive"):g.$t("unarchive"),onClick:C[0]||(C[0]=i.withModifiers(()=>t.active?g.$emit("archivePhase",{id:t.id}):g.$emit("unarchivePhase",{id:t.id}),["stop"]))},null,8,["label"])])]),key:"0"}:void 0]),1032,["is-clickable","color","onClick"])]),_:3},8,["color"]))}});const Ffe=i.defineComponent({__name:"AoBadge",props:{color:{}},setup(t){return(e,n)=>(i.openBlock(),i.createElementBlock("span",{class:"aoBadge",style:i.normalizeStyle({backgroundColor:t.color})},null,4))}});const Vfe={class:"ao-card-project-milestone__default"},Rfe={class:"ao-title-with-badge-wrapper"},zfe={class:"ao-card-project-item__title-line"},Ufe={key:0,class:"ao-card-project-item-milestone__estimation"},qfe={key:0,class:"ao-card-project-milestone__archive"},Hfe={class:"ao-card-project-milestone__activities"},jfe={class:"ao-card-project-milestone__activities-row"},Wfe={class:"ao-card-project-milestone__subitem"},Zfe={class:"ao-card-project-milestone__subitem"},Kfe={key:1,class:"ao-card-project-milestone__secondary"},Gfe={class:"ao-card-project-milestone__footer"},Yfe={key:1,class:"ao-field ao-card-project-milestone__deadline"},Jfe={class:"ao-field__label"},Xfe={key:2,class:"ao-card-project-milestone__assignee"},Qfe=i.defineComponent({__name:"AoCardProjectItemMilestone",props:{id:{},name:{},color:{},phaseColor:{},activities:{},closedStatus:{},isEditable:{type:Boolean},deadline:{},active:{type:Boolean},isSelected:{type:Boolean},assignee:{},important:{type:Boolean},readonly:{type:Boolean},timeTrackingData:{},estimationUnit:{}},emits:["updateMilestone","archiveMilestone","unarchiveMilestone"],setup(t,{emit:e}){const n=t,o=e,r=i.computed(()=>{var p;return((p=n.activities)==null?void 0:p.reduce((h,m)=>h+(m.estimation||0),0))||0}),s=i.computed(()=>!n.activities||!n.timeTrackingData?0:n.activities.reduce((p,h)=>{var g;const m=(g=n.timeTrackingData)==null?void 0:g[h.id];return p+((m==null?void 0:m.timeSpent)||0)},0)),a=i.computed(()=>n.estimationUnit==="days"?"d":"h"),l=i.computed(()=>Aa(s.value,n.estimationUnit));i.computed(()=>{const p=s.value/60;return p%1===0?p.toString():p.toFixed(2)});const c=i.computed(()=>{var p;return(p=n.activities)==null?void 0:p.length}),u=i.computed(()=>{var p;return(p=n.activities)==null?void 0:p.filter(h=>Kc(h,n.closedStatus)).length}),d=i.computed(()=>(u.value||0)/(c.value||1)),f=p=>{o("updateMilestone",{id:n.id,name:p})};return(p,h)=>(i.openBlock(),i.createBlock(cl,{class:i.normalizeClass(["ao-card-project-milestone"]),"is-clickable":!t.readonly,"tag-name":"li","is-selected":t.isSelected,color:t.phaseColor},{default:i.withCtx(()=>[i.createElementVNode("div",Vfe,[i.createElementVNode("div",Rfe,[i.createVNode(Ffe,{color:t.color||""},null,8,["color"]),i.createElementVNode("div",zfe,[i.createVNode(at,{id:t.id,title:t.name||"",level:5,"is-editable":!t.readonly&&t.isEditable,class:"ao-card-project-milestone__title","onUpdate:title":f},null,8,["id","title","is-editable"]),r.value||s.value?(i.openBlock(),i.createElementBlock("span",Ufe," ("+i.toDisplayString(l.value)+"/"+i.toDisplayString(r.value)+i.toDisplayString(a.value)+")",1)):i.createCommentVNode("",!0)])]),!t.readonly&&t.isEditable?(i.openBlock(),i.createElementBlock("div",qfe,[i.createVNode(me,{color:"primary",variant:"ghost","icon-name":"ArchiveOutlineRounded",size:"sm","icon-position":"start",corners:"round",label:t.active?p.$t("archive"):p.$t("unarchive"),onClick:h[0]||(h[0]=i.withModifiers(()=>t.active?p.$emit("archiveMilestone",{id:t.id}):p.$emit("unarchiveMilestone",{id:t.id}),["stop"]))},null,8,["label"])])):i.createCommentVNode("",!0)]),i.createElementVNode("div",Hfe,[i.createElementVNode("div",jfe,[c.value?(i.openBlock(),i.createElementBlock(i.Fragment,{key:0},[i.createElementVNode("div",Wfe,[i.createVNode(be,{name:"SelectCheckBox",size:"sm"}),i.createElementVNode("span",Zfe,i.toDisplayString(u.value)+" / "+i.toDisplayString(c.value),1)]),i.createVNode(ul,{percentages:d.value,color:t.phaseColor,class:"ao-card-project-milestone__progress"},null,8,["percentages","color"])],64)):i.createCommentVNode("",!0),p.$slots.secondary?(i.openBlock(),i.createElementBlock("div",Kfe,[i.renderSlot(p.$slots,"secondary")])):i.createCommentVNode("",!0)])])]),footer:i.withCtx(()=>[i.createElementVNode("div",Gfe,[t.important?(i.openBlock(),i.createBlock(be,{key:0,name:"FlagRounded",class:i.normalizeClass(t.isSelected?"ao-card-project-milestone__important--selected":"ao-card-project-milestone__important"),size:"sm"},null,8,["class"])):i.createCommentVNode("",!0),t.deadline?(i.openBlock(),i.createElementBlock("label",Yfe,[i.createElementVNode("span",Jfe,i.toDisplayString(i.unref(Na)(t.deadline)),1)])):i.createCommentVNode("",!0),t.assignee?(i.openBlock(),i.createElementBlock("div",Xfe,[i.createVNode(Un,{"user-name":i.unref(Mp)(t.assignee),"avatar-url":t.assignee.avatarUrl,color:t.isSelected?"black":"primary",size:"sm"},null,8,["user-name","avatar-url","color"])])):i.createCommentVNode("",!0)])]),_:3},8,["is-clickable","is-selected","color"]))}});const epe={class:"ao-mapping-card-project-phase__header"},tpe={class:"ao-card-project-item__title-line"},npe={key:0,class:"ao-card-project-item-phase__estimation"},ope={class:"ao-mapping-card-project-phase__footer"},rpe={key:0,class:"ao-mapping-card-project-phase__footer-row ao-mapping-card-project-phase__footer-row--progress"},ipe={class:"ao-mapping-card-project-phase__subitem"},spe={class:"ao-mapping-card-project-phase__subitem"},ape={key:0,class:"ao-mapping-card-project-phase__secondary"},lpe={class:"ao-mapping-card-project-phase__deadline ao-mapping-card-project-phase__deadline--readonly"},cpe=i.defineComponent({__name:"AoCondensedCardProjectItemPhase",props:{id:{},projectName:{},name:{},milestones:{},isEditable:{type:Boolean},deadline:{},active:{type:Boolean},color:{},timeTrackingData:{},estimationUnit:{}},emits:["update:title","update:deadline","archivePhase","updatePhase","unarchivePhase"],setup(t,{emit:e}){const n=t,o=e,r=g=>{o("update:title",g)},s=i.computed(()=>{var g;return((g=n.milestones)==null?void 0:g.reduce((C,_)=>{var y;return C+((y=_.activities)==null?void 0:y.reduce((v,w)=>v+(w.estimation||0),0))},0))||0}),a=i.computed(()=>!n.milestones||!n.timeTrackingData?0:n.milestones.reduce((g,C)=>{var _;return g+(((_=C.activities)==null?void 0:_.reduce((y,v)=>{var k;const w=(k=n.timeTrackingData)==null?void 0:k[v.id];return y+((w==null?void 0:w.timeSpent)||0)},0))||0)},0)),l=i.computed(()=>n.estimationUnit==="days"?"d":"h"),c=i.computed(()=>Aa(a.value,n.estimationUnit)),u=i.computed(()=>{var g;return(g=n.milestones)==null?void 0:g.length}),d=i.computed(()=>{var g;return(g=n.milestones)==null?void 0:g.filter(C=>C.status===$i.done).length}),f=i.computed(()=>(d.value||0)/(u.value||1)),p=i.computed({get:()=>n.deadline??"",set:g=>o("update:deadline",g!=null&&g.length?g:null)}),h=i.computed({get:()=>n.color,set:g=>{o("updatePhase",{id:n.id,color:g})}}),m=(g,C)=>{const _=g.target;_.closest("button")||_.closest("input")||_.closest(".ao-title")||C()};return(g,C)=>(i.openBlock(),i.createBlock(dl,{color:h.value,"onUpdate:color":C[2]||(C[2]=_=>h.value=_)},{clickable:i.withCtx(({openPicker:_,bgColor:y})=>[i.createVNode(cl,{class:"ao-mapping-card-project-phase","is-clickable":t.isEditable,color:y,"with-left-border":!0,onClick:v=>m(v,_)},i.createSlots({default:i.withCtx(()=>[i.createElementVNode("div",tpe,[i.createVNode(at,{id:t.id,class:"ao-mapping-card-project-phase__title",title:t.name||"",level:4,"is-editable":t.isEditable,"onUpdate:title":r},null,8,["id","title","is-editable"]),s.value||a.value?(i.openBlock(),i.createElementBlock("span",npe," ("+i.toDisplayString(c.value)+"/"+i.toDisplayString(s.value)+i.toDisplayString(l.value)+")",1)):i.createCommentVNode("",!0)])]),footer:i.withCtx(()=>[i.createElementVNode("div",ope,[u.value?(i.openBlock(),i.createElementBlock("div",rpe,[i.createElementVNode("div",ipe,[i.createVNode(be,{name:"MountainFlagOutlineRounded",size:"sm"}),i.createElementVNode("span",spe,i.toDisplayString(d.value)+" / "+i.toDisplayString(u.value),1)]),i.createVNode(ul,{percentages:f.value,class:"ao-mapping-card-project-phase__progress",color:h.value},null,8,["percentages","color"]),g.$slots.secondary?(i.openBlock(),i.createElementBlock("div",ape,[i.renderSlot(g.$slots,"secondary")])):i.createCommentVNode("",!0)])):i.createCommentVNode("",!0),i.createElementVNode("div",{class:i.normalizeClass(["ao-mapping-card-project-phase__footer-row",p.value?"":"ao-mapping-card-project-phase__no_deadline"])},[t.isEditable?i.withDirectives((i.openBlock(),i.createElementBlock("input",{key:0,"onUpdate:modelValue":C[1]||(C[1]=v=>p.value=v),class:"ao-mapping-card-project-phase__deadline ao-mapping-card-project-phase__deadline--input",type:"date"},null,512)),[[i.vModelText,p.value,void 0,{lazy:!0}]]):i.createCommentVNode("",!0),i.createElementVNode("span",lpe,i.toDisplayString(i.unref(Na)(t.deadline)),1)],2)])]),_:2},[t.isEditable?{name:"header",fn:i.withCtx(()=>[i.createElementVNode("div",epe,[i.createVNode(me,{class:"ao-mapping-card-project-phase__archive",color:"primary",variant:"ghost","icon-name":"ArchiveOutlineRounded",size:"sm","icon-position":"start",corners:"round",label:t.active?g.$t("archive"):g.$t("unarchive"),onClick:C[0]||(C[0]=i.withModifiers(()=>t.active?g.$emit("archivePhase",{id:t.id}):g.$emit("unarchivePhase",{id:t.id}),["stop"]))},null,8,["label"])])]),key:"0"}:void 0]),1032,["is-clickable","color","onClick"])]),_:3},8,["color"]))}});const upe={class:"ao-project-phase"},dpe={key:0,class:"ao-project-phase__drag ao-card__drag"},fpe={key:1,class:"ao-project-phase__col-phase"},ppe={key:2,class:"ao-mapping-project-phase__col-phase"},hpe={key:0,class:"ao-project-phase__col-milestones"},mpe={class:"ao-project-phase__milestones-list-footer"},gpe=i.defineComponent({__name:"AoProjectPhase",props:{phase:{},closedStatus:{},users:{},isEditable:{type:Boolean},readonly:{type:Boolean},timeTrackingData:{},estimationUnit:{}},emits:["addMilestone","updateMilestone","archiveMilestone","unarchiveMilestone","updatePhase","archivePhase","unarchivePhase"],setup(t,{emit:e}){const{t:n}=Hn(),o=t,r=e;i.watch(()=>o.phase.milestones,(v,w)=>{In(v,w)});const s=v=>{r("updatePhase",{id:o.phase.id,name:v})},a=v=>{r("updatePhase",{id:o.phase.id,deadline:v})},l=v=>{r("updatePhase",v)},c=i.computed(()=>o.phase.milestones.map(v=>m_(v,o.closedStatus))),u=v=>{const{name:w,rank:k}=Uo(c.value??[],"milestone",n);r("addMilestone",{name:w,rank:k,phaseId:v})},d=v=>{r("updateMilestone",v)},f=v=>{r("archiveMilestone",v)},p=v=>{r("unarchiveMilestone",v)},h=v=>{r("archivePhase",v)},m=v=>{r("unarchivePhase",v)},g=v=>{"added"in v?r("updateMilestone",{id:v.added.element.id,phaseId:o.phase.id,rank:Ar(c.value,v.added.newIndex)}):"removed"in v||"moved"in v&&r("updateMilestone",{id:v.moved.element.id,rank:Ar(c.value,v.moved.newIndex)})},C=Ki.useRoute(),_=i.computed(()=>C.path.includes("/mapping")),y=i.computed(()=>{var v;return o.phase.id!==((v=C.params)==null?void 0:v.phaseId)?{backgroundColor:"var(--ao-color-sheet)"}:o.phase.color?{backgroundColor:v_(o.phase.color)}:{backgroundColor:"var(--ao-color-primary-lightest)"}});return(v,w)=>(i.openBlock(),i.createElementBlock("li",upe,[i.createElementVNode("div",{class:"ao-project-phases__draggable-card",style:i.normalizeStyle(y.value)},[t.isEditable?(i.openBlock(),i.createElementBlock("div",dpe,[i.createVNode(be,{name:"DragIndicator",class:"ao-project-phase__drag-handle"})])):i.createCommentVNode("",!0),_.value?(i.openBlock(),i.createElementBlock("div",ppe,[i.createVNode(cpe,{id:t.phase.id,milestones:c.value,name:t.phase.name,deadline:t.phase.deadline,active:t.phase.active,"is-editable":t.isEditable,color:t.phase.color,"estimation-unit":t.estimationUnit,"onUpdate:deadline":a,"onUpdate:title":s,onArchivePhase:h,onUnarchivePhase:m,onUpdatePhase:l},null,8,["id","milestones","name","deadline","active","is-editable","color","estimation-unit"])])):(i.openBlock(),i.createElementBlock("div",fpe,[i.createVNode(Pfe,{id:t.phase.id,milestones:c.value,name:t.phase.name,deadline:t.phase.deadline,active:t.phase.active,"is-editable":t.isEditable,color:t.phase.color,"time-tracking-data":t.timeTrackingData,"estimation-unit":t.estimationUnit,"onUpdate:deadline":a,"onUpdate:title":s,onArchivePhase:h,onUnarchivePhase:m,onUpdatePhase:l},null,8,["id","milestones","name","deadline","active","is-editable","color","time-tracking-data","estimation-unit"])]))],4),_.value?i.createCommentVNode("",!0):(i.openBlock(),i.createElementBlock("div",hpe,[i.createElementVNode("div",{class:"ao-project-phase__milestones",style:i.normalizeStyle(y.value)},[i.createVNode(i.unref(mo),i.mergeProps({class:"ao-project-phase__milestones-list",list:c.value,disabled:t.readonly||!t.isEditable,"item-key":"id",group:"kanban"},v.$attrs,{onChange:g}),{item:i.withCtx(({element:k})=>{var b;return[i.createVNode(Qfe,{id:k.id,name:k.name,color:k.color,"phase-color":t.phase.color,activities:k.activities,deadline:k.deadline,active:k.active,"is-editable":!t.readonly&&t.isEditable,"is-draggable":!t.readonly&&t.isEditable,"closed-status":t.closedStatus,"is-selected":k.id===((b=v.$route.params)==null?void 0:b.milestoneId),assignee:k.assignee,important:k.important,readonly:t.readonly,"time-tracking-data":t.timeTrackingData,"estimation-unit":t.estimationUnit,class:i.normalizeClass(["ao-project-phase__milestone"]),onClick:S=>!t.readonly&&v.$router.push({name:i.unref(je).milestone,params:{phaseId:t.phase.id,milestoneId:k.id}}),onUpdateMilestone:d,onArchiveMilestone:f,onUnarchiveMilestone:p},null,8,["id","name","color","phase-color","activities","deadline","active","is-editable","is-draggable","closed-status","is-selected","assignee","important","readonly","time-tracking-data","estimation-unit","onClick"])]}),_:1},16,["list","disabled"]),i.createElementVNode("div",mpe,[t.isEditable?(i.openBlock(),i.createBlock(go,{key:0,label:v.$t("project.milestone.add"),class:"ao-project-phase__milestone-add","icon-name":"Add",onClick:w[0]||(w[0]=()=>u(t.phase.id))},null,8,["label"])):i.createCommentVNode("",!0)])],4)]))]))}});const vpe={class:"ao-project__phases"},ype={key:0,class:"ao-project-phase__phases-list-footer"},_pe={class:"ao-project-phase__col-phase"},sd=i.defineComponent({__name:"AoProjectPhases",props:{phases:{},closedStatus:{},isEditable:{type:Boolean},users:{},readonly:{type:Boolean},timeTrackingData:{},estimationUnit:{}},emits:["addMilestone","updateMilestone","archiveMilestone","unarchiveMilestone","addPhase","updatePhase","archivePhase","unarchivePhase"],setup(t,{emit:e}){const n=t,o=e;i.watch(()=>n.phases,(h,m)=>{In(h,m)});const r=h=>{o("addMilestone",h)},s=h=>{o("updateMilestone",h)},a=h=>{o("archiveMilestone",h)},l=h=>{o("unarchiveMilestone",h)},c=h=>{o("archivePhase",h)},u=h=>{o("unarchivePhase",h)},d=h=>{if(h.moved){const m=Xi(h,n.phases??[]);o("updatePhase",{id:h.moved.element.id,rank:m})}},f=h=>{o("updatePhase",h)},p=h=>{o("addPhase",h)};return(h,m)=>(i.openBlock(),i.createElementBlock("div",vpe,[i.createVNode(i.unref(mo),{class:"ao-project-phase__phases-list","model-value":t.phases,"item-key":"id",handle:".ao-card__drag",onChange:d},{item:i.withCtx(({element:g})=>[i.createVNode(gpe,{phase:g,"is-editable":!t.readonly&&t.isEditable,"closed-status":t.closedStatus,users:t.users,readonly:t.readonly,"time-tracking-data":t.timeTrackingData,"estimation-unit":t.estimationUnit,onAddMilestone:r,onUpdateMilestone:s,onArchiveMilestone:a,onUnarchiveMilestone:l,onUpdatePhase:f,onArchivePhase:c,onUnarchivePhase:u},null,8,["phase","is-editable","closed-status","users","readonly","time-tracking-data","estimation-unit"])]),_:1},8,["model-value"]),t.isEditable?(i.openBlock(),i.createElementBlock("div",ype,[m[0]||(m[0]=i.createElementVNode("div",{class:"ao-project-phase__empty_drag"},null,-1)),i.createElementVNode("div",_pe,[i.createVNode(go,{label:h.$t("project.phases.add"),"icon-name":"Add",class:"ao-project-phase__add-phase",onClick:p},null,8,["label"])]),m[1]||(m[1]=i.createElementVNode("div",{class:"ao-project-phase__col-milestones"},null,-1))])):i.createCommentVNode("",!0)]))}});const Cpe={class:"ao-add-template-modal__form-body"},bpe={class:"field__row"},kpe={class:"ao-add-template-modal__form-footer"},Ig=i.defineComponent({__name:"AoAddTemplateModal",props:{projectId:{},templates:{}},emits:["apply"],setup(t,{emit:e}){const n=t,o=e,r=i.computed(()=>n.templates.map(c=>({value:c.id,label:c.name}))),s=i.ref(null),a=c=>{s.value=c},l=()=>{s.value&&o("apply",s.value,n.projectId)};return(c,u)=>(i.openBlock(),i.createBlock(Da,{size:"sm"},{header:i.withCtx(()=>[i.createVNode(at,{title:c.$t("project.template.apply.title"),level:3},null,8,["title"])]),default:i.withCtx(()=>[i.createElementVNode("form",{class:"ao-add-template-modal__form",onSubmit:i.withModifiers(l,["prevent"])},[i.createElementVNode("p",null,i.toDisplayString(c.$t("project.template.apply.notice")),1),i.createElementVNode("div",Cpe,[i.createElementVNode("div",bpe,[i.createVNode(Dt,{value:s.value,options:r.value,detached:!0,onChange:a},null,8,["value","options"])])]),i.createElementVNode("footer",kpe,[i.createVNode(me,{label:c.$t("project.template.apply.label"),type:"submit",color:"primary",variant:"solid",onClick:l},null,8,["label"])])],32)]),_:1}))}});const wpe={class:"ao-save-template-modal__form-body"},Epe={class:"field__row"},xpe={class:"ao-field ao-field--inline"},Spe={class:"ao-field__label"},Tpe={class:"ao-save-template-modal__phases"},Ape={class:"ao-field__label"},Npe={class:"ao-save-template-modal__phases-list"},Dpe=["value"],Mpe={class:"ao-save-template-modal__form-footer"},Pg=i.defineComponent({__name:"AoSaveTemplateModal",props:{phases:{}},emits:["save"],setup(t,{emit:e}){const n=t,o=e,r=i.ref(""),s=i.ref([]);i.onMounted(()=>{s.value=n.phases.map(l=>l.id)});const a=()=>{r.value&&o("save",r.value,s.value)};return(l,c)=>(i.openBlock(),i.createBlock(Da,{size:"sm"},{header:i.withCtx(()=>[i.createVNode(at,{title:l.$t("project.template.save.title"),level:3},null,8,["title"])]),default:i.withCtx(()=>[i.createElementVNode("form",{class:"ao-save-template-modal__form",onSubmit:i.withModifiers(a,["prevent"])},[i.createElementVNode("div",wpe,[i.createElementVNode("div",Epe,[i.createElementVNode("label",xpe,[i.createElementVNode("span",Spe,i.toDisplayString(l.$t("project.template.name.label"))+": ",1),i.withDirectives(i.createElementVNode("input",{"onUpdate:modelValue":c[0]||(c[0]=u=>r.value=u),type:"text"},null,512),[[i.vModelText,r.value]])])]),i.createElementVNode("div",Tpe,[i.createElementVNode("div",Ape,i.toDisplayString(l.$t("project.template.phases.label")),1),i.createElementVNode("div",Npe,[(i.openBlock(!0),i.createElementBlock(i.Fragment,null,i.renderList(n.phases,u=>(i.openBlock(),i.createElementBlock("label",{key:u.id,class:"ao-field ao-field--checkbox"},[i.withDirectives(i.createElementVNode("input",{"onUpdate:modelValue":c[1]||(c[1]=d=>s.value=d),type:"checkbox",value:u.id},null,8,Dpe),[[i.vModelCheckbox,s.value]]),i.createElementVNode("span",null,i.toDisplayString(u.name),1)]))),128))])])]),i.createElementVNode("footer",Mpe,[i.createVNode(me,{label:l.$t("project.template.save.label"),type:"submit",color:"primary",variant:"solid",onClick:a},null,8,["label"])])],32)]),_:1}))}});const Bpe={class:"ao-project"},$pe={class:"ao-project__body"},Ope=i.defineComponent({__name:"AoProjectOverviewProject",props:{project:{},phases:{},closedStatus:{},users:{},userId:{},templates:{},isTaskCheckable:{type:Function},statuses:{},activityTypes:{},isEditable:{type:[Boolean,String]},showsArchived:{type:Boolean},attachmentEnabled:{type:Boolean},timeTrackingData:{}},emits:["addPhase","updatePhase","archivePhase","unarchivePhase","addMilestone","updateMilestone","archiveMilestone","unarchiveMilestone","addActivity","update:activity","archiveActivity","copyPhaseToTemplate","unarchiveActivity","addSubtask","updateSubtask","deleteSubtask","addFiles","removeFile","addComment","updateComment","removeComment","applyTemplate","saveTemplate","update:showsArchived"],setup(t,{emit:e}){const{t:n}=Hn(),o=t,r=e,s=i.computed(()=>o.phases.flatMap(N=>N.milestones)),a=()=>{const{name:N,rank:G}=Uo(o.phases,"phase",n);r("addPhase",{name:N,rank:G,projectId:o.project.id})},l=N=>{r("updatePhase",N)},c=N=>{r("archivePhase",N)},u=N=>{r("unarchivePhase",N)},d=N=>{r("copyPhaseToTemplate",N)},f=N=>{r("addMilestone",N)},p=N=>{r("updateMilestone",N)},h=N=>{r("archiveMilestone",N)},m=N=>{r("unarchiveMilestone",N)},g=N=>{r("addActivity",N)},C=N=>{r("update:activity",N)},_=N=>{r("archiveActivity",N)},y=N=>{r("unarchiveActivity",N)},v=N=>{r("addSubtask",N)},w=N=>{r("updateSubtask",N)},k=N=>{r("deleteSubtask",N)},b=i.computed(()=>s.value.flatMap(N=>N.activities)),S=N=>{r("addFiles",N)},T=N=>{r("removeFile",N)},A=N=>{r("addComment",N)},x=N=>{r("updateComment",N)},M=N=>{r("removeComment",N)},B=i.ref(!1),$=i.ref(!1),O=(N,G)=>{r("applyTemplate",{templateId:N,projectId:G}),B.value=!1},P=(N,G)=>{var ue;const z=(ue=o.templates)==null?void 0:ue.at(-1),H=z?it.LexoRank.parse(z.rank).genNext():it.LexoRank.middle();r("saveTemplate",{templateName:N,rank:H.format(),phaseIds:G}),$.value=!1},F=Ki.useRouter(),K=i.ref("overview"),V=[{label:"Overview",value:"overview"},{label:"Feed",value:"feed"},{label:"Mapping",value:"mapping"}];return i.watch(K,N=>{N==="feed"?(F.push({name:je.feed}),console.log("Navigating to feed...")):N==="overview"?(F.push({name:je.project}),console.log("Navigating to feed...")):N==="mapping"&&(F.push({name:je.mapping}),console.log("Navigating to feed..."))}),(N,G)=>{var H;const z=i.resolveComponent("RouterView");return i.openBlock(),i.createElementBlock(i.Fragment,null,[i.createElementVNode("div",i.mergeProps({class:"ao-project-overview"},N.$attrs),[i.createElementVNode("div",Bpe,[i.createVNode(Qi,null,{primary:i.withCtx(()=>[i.createVNode(fs,{modelValue:K.value,"onUpdate:modelValue":G[0]||(G[0]=ue=>K.value=ue),tabs:V},null,8,["modelValue"]),i.createVNode(me,{class:"ao-feed__show-archived",size:"sm","icon-name":t.showsArchived?"CheckBoxOutlineRounded":"CheckBoxOutlineBlank","icon-position":"start",color:"primary",variant:"ghost",label:N.$t("feed.filters.showsArchived.label"),role:"checkbox","aria-checked":t.showsArchived,onClick:G[1]||(G[1]=ue=>N.$emit("update:showsArchived",!t.showsArchived))},null,8,["icon-name","label","aria-checked"])]),secondary:i.withCtx(()=>[t.isEditable===!0?(i.openBlock(),i.createBlock(me,{key:0,class:"ao-project-overview__save-as-template",color:"primary",label:N.$t("project.template.save.label"),onClick:G[2]||(G[2]=ue=>$.value=!0)},null,8,["label"])):i.createCommentVNode("",!0),t.isEditable===!0?(i.openBlock(),i.createBlock(me,{key:1,class:"ao-project-overview__add-template",color:"primary",label:N.$t("project.template.apply.label"),onClick:G[3]||(G[3]=ue=>B.value=!0)},null,8,["label"])):i.createCommentVNode("",!0)]),_:1}),i.createElementVNode("div",$pe,[i.createVNode(sd,{phases:t.phases,"closed-status":t.closedStatus,"is-editable":t.isEditable===!0,users:t.users,"time-tracking-data":t.timeTrackingData,"estimation-unit":(H=t.project)==null?void 0:H.estimationUnit,onAddMilestone:f,onUpdateMilestone:p,onArchiveMilestone:h,onUnarchiveMilestone:m,onAddPhase:a,onUpdatePhase:l,onArchivePhase:c,onUnarchivePhase:u,onCopyPhaseToTemplate:d},null,8,["phases","closed-status","is-editable","users","time-tracking-data","estimation-unit"])])]),i.createVNode(z,{class:"ao-project__sidebar",phases:t.phases,"project-id":t.project.id,"project-name":t.project.name,users:t.users,"is-editable":t.isEditable===!0,"closed-status":t.closedStatus,"time-tracking-data":t.timeTrackingData,onClose:G[4]||(G[4]=ue=>N.$router.push({name:i.unref(je).project})),onUpdateMilestone:p,onAddActivity:g,onUpdateActivity:C,onArchiveActivity:_,onUnarchiveActivity:y},null,8,["phases","project-id","project-name","users","is-editable","closed-status","time-tracking-data"]),(i.openBlock(),i.createBlock(i.Teleport,{to:"body"},[i.createVNode(z,{name:"modal",activities:b.value,"is-task-checkable":t.isTaskCheckable,statuses:t.statuses,"activity-types":t.activityTypes,phases:t.phases,project:t.project,users:t.users,"user-id":t.userId,"is-editable":t.isEditable,"attachment-enabled":t.attachmentEnabled,"time-tracking-data":t.timeTrackingData,"onUpdate:activity":C,onAddSubtask:v,onUpdateSubtask:w,onDeleteSubtask:k,onAddFiles:S,onRemoveFile:T,onAddComment:A,onUpdateComment:x,onRemoveComment:M},{default:i.withCtx(({Component:ue})=>[(i.openBlock(),i.createBlock(i.resolveDynamicComponent(ue),null,{default:i.withCtx(Q=>[i.renderSlot(N.$slots,"activityDetailsBody",i.normalizeProps(i.guardReactiveProps(Q)))]),_:3}))]),_:3},8,["activities","is-task-checkable","statuses","activity-types","phases","project","users","user-id","is-editable","attachment-enabled","time-tracking-data"])]))],16),(i.openBlock(),i.createBlock(i.Teleport,{to:"body"},[$.value?(i.openBlock(),i.createBlock(Pg,{key:0,phases:t.phases,onClose:G[5]||(G[5]=ue=>$.value=!1),onSave:P},null,8,["phases"])):i.createCommentVNode("",!0),B.value?(i.openBlock(),i.createBlock(Ig,{key:1,"project-id":t.project.id,templates:t.templates,onClose:G[6]||(G[6]=ue=>B.value=!1),onApply:O},null,8,["project-id","templates"])):i.createCommentVNode("",!0)]))],64)}}});const Lpe={class:"ao-card-feed__header"},Ipe={key:1,class:"ao-card-feed__header-secondary ao-card-feed__header-icons"},Ppe={key:2,class:"ao-card-feed__header-secondary ao-card-feed__secondary"},Fpe={class:"ao-card-feed__body"},Vpe={key:0,class:"ao-card-feed__breadcrumbs"},Rpe={class:i.normalizeClass(["ao-card-feed__title-group"])},zpe={class:"ao-card-feed__title-line"},Upe={key:0,class:"ao-card-feed__slug"},qpe={key:1,class:"ao-card-feed__deadline"},Hpe={class:"ao-card-feed__footer"},jpe={class:"ao-card-feed__footer-row"},Wpe={class:"ao-assignees"},Zpe={key:0,class:"ao-assignee"},Kpe={key:0,class:"ao-card-feed__subitems"},Gpe={key:0,class:"ao-card-feed__subitem"},Ype={class:"ao-card-feed__subitem"},Jpe={key:1,class:"ao-card-feed__subitem"},Xpe={class:"ao-card-feed__subitem"},Qpe={class:"ao-card-feed__timer-wrapper"},ehe={class:"ao-card-feed__footer-row"},the={key:0,class:"ao-card-feed__progress-wrapper"},nhe={class:"ao-card-feed__subitem"},ohe={class:"ao-card-feed__subitem"},ad=i.defineComponent({__name:"AoCardFeed",props:{id:{},name:{},projectName:{},projectId:{},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","startTimer"],setup(t,{emit:e}){const n=t,o=e,r=i.computed(()=>n.tagType==="milestone"?n.milestoneName:n.projectName),s=i.computed(()=>n.tagType==="milestone"?n.milestoneColor:n.projectColor),a=g=>{o("updateActivity",{id:n.id,name:g})},l=i.computed(()=>n.tagType==="milestone"&&n.phaseName?`${n.phaseName}`:n.phaseName&&n.milestoneName?`${n.phaseName} / ${n.milestoneName}`:""),c=i.computed(()=>n.assignee?[n.assignee]:[]),u=i.computed(()=>Na(n.deadline)),d=g=>{o("removeAssignee",g)},f=()=>{o("startTimer",{activityId:n.id,name:n.name,project:n.projectName,projectId:n.projectId,slug:n.slug})},p=i.computed(()=>{var g;return(g=n.tasks)==null?void 0:g.length}),h=i.computed(()=>{var g;return(g=n.tasks)==null?void 0:g.filter(C=>C.isDone).length}),m=i.computed(()=>(h.value||0)/(p.value||1));return(g,C)=>(i.openBlock(),i.createBlock(cl,{class:i.normalizeClass(["ao-card-feed",{"ao-card-feed--closed":t.isClosed}]),"is-clickable":!0},{header:i.withCtx(()=>[i.createElementVNode("div",Lpe,[r.value?(i.openBlock(),i.createBlock(Bi,{key:0,label:r.value,class:"ao-card-feed__project",variant:"solid",color:t.projectColor?void 0:"primary","raw-color":s.value},null,8,["label","color","raw-color"])):i.createCommentVNode("",!0),t.isPrivate||t.important||t.isClosed?(i.openBlock(),i.createElementBlock("div",Ipe,[t.isPrivate?(i.openBlock(),i.createBlock(be,{key:0,name:"Lock",class:"ao-card-feed__warning",size:"sm"})):i.createCommentVNode("",!0),t.important?(i.openBlock(),i.createBlock(be,{key:1,name:"FlagRounded",class:"ao-card-feed__important",size:"sm"})):i.createCommentVNode("",!0),t.isClosed?(i.openBlock(),i.createBlock(be,{key:2,name:"CheckSmallRounded",class:"ao-card-feed__closed"})):i.createCommentVNode("",!0)])):i.createCommentVNode("",!0),g.$slots.secondary?(i.openBlock(),i.createElementBlock("div",Ppe,[i.renderSlot(g.$slots,"secondary")])):i.createCommentVNode("",!0)])]),default:i.withCtx(()=>[i.createElementVNode("div",Fpe,[l.value?(i.openBlock(),i.createElementBlock("span",Vpe,i.toDisplayString(l.value),1)):i.createCommentVNode("",!0),i.createElementVNode("div",Rpe,[i.createElementVNode("div",zpe,[t.slug?(i.openBlock(),i.createElementBlock("span",Upe,i.toDisplayString(t.slug)+": ",1)):i.createCommentVNode("",!0),i.createVNode(at,{id:t.id,title:t.name,level:5,"is-editable":t.isEditable,class:"ao-card-feed__title-inline","onUpdate:title":a},null,8,["id","title","is-editable"])])]),t.deadline?(i.openBlock(),i.createElementBlock("span",qpe,i.toDisplayString(u.value),1)):i.createCommentVNode("",!0)])]),footer:i.withCtx(()=>[i.createElementVNode("div",Hpe,[i.createElementVNode("div",jpe,[i.createElementVNode("ul",Wpe,[(i.openBlock(!0),i.createElementBlock(i.Fragment,null,i.renderList(c.value,_=>(i.openBlock(),i.createElementBlock(i.Fragment,{key:_.id},[_?(i.openBlock(),i.createElementBlock("li",Zpe,[i.createVNode(Un,{"user-name":i.unref(Mp)(_),"avatar-url":_.avatarUrl,"is-closable":!0,onClose:()=>d(_.id)},null,8,["user-name","avatar-url","onClose"])])):i.createCommentVNode("",!0)],64))),128))]),t.comments||t.attachments?(i.openBlock(),i.createElementBlock("ul",Kpe,[t.comments?(i.openBlock(),i.createElementBlock("li",Gpe,[i.createVNode(be,{name:"ChatOutline",size:"sm"}),i.createElementVNode("span",Ype,i.toDisplayString(t.comments),1)])):i.createCommentVNode("",!0),t.attachments?(i.openBlock(),i.createElementBlock("li",Jpe,[i.createVNode(be,{name:"AttachFileRounded",size:"sm"}),i.createElementVNode("span",Xpe,i.toDisplayString(t.attachments),1)])):i.createCommentVNode("",!0)])):i.createCommentVNode("",!0),i.createElementVNode("div",Qpe,[i.createVNode(be,{name:"TimerOutline",class:"ao-card-feed__timer",size:"md",onClick:i.withModifiers(f,["stop"])})])]),i.createElementVNode("div",ehe,[t.tasks&&t.tasks.length?(i.openBlock(),i.createElementBlock("div",the,[i.createElementVNode("div",nhe,[i.createVNode(be,{name:"SelectCheckBox",size:"sm"}),i.createElementVNode("span",ohe,i.toDisplayString(h.value)+" / "+i.toDisplayString(p.value),1)]),i.createVNode(ul,{percentages:m.value,class:"ao-card-feed__progress"},null,8,["percentages"])])):i.createCommentVNode("",!0)])])]),_:3},8,["class"]))}});const rhe={class:"ao-project-milestone"},ihe={class:"ao-project-milestone__header"},she={class:"ao-project-milestone__header_line"},ahe={class:"ao-project-milestone__header_line"},lhe={class:"ao-project-milestone__title"},che={key:0,class:"ao-fieldset ao-milestone__fieldset"},uhe={class:"ao-field__row ao-milestone__field-row"},dhe={class:"ao-field ao-field--inline"},fhe={class:"ao-field__row ao-milestone__field-row"},phe={class:"ao-field ao-milestone__field-multiselect"},hhe=["onClick"],mhe={class:"ao-project-milestone__body"},ghe={key:0,class:"ao-project-milestone__footer"},cp=i.defineComponent({__name:"AoProjectOverviewMilestoneDetails",props:{milestoneId:{},users:{},projectId:{},phases:{},phaseId:{},isEditable:{type:Boolean},closedStatus:{},timeTrackingData:{}},emits:["close","addActivity","updateMilestone","updateActivity","archiveActivity","unarchiveActivity","startTimer"],setup(t,{emit:e}){const{t:n}=Hn(),o=t,r=e,s=k=>{var b;r("startTimer",k),(b=window.parent)==null||b.postMessage({type:"startTimer",data:k},"*")},a=i.computed(()=>{var k;return(k=o.phases)==null?void 0:k.find(b=>b.id===o.phaseId)}),l=i.computed(()=>{var k;return(k=o.phases)==null?void 0:k.flatMap(b=>b.milestones)}),c=i.computed(()=>{var k;return(k=l.value)==null?void 0:k.find(b=>b.id===o.milestoneId)}),u=i.computed(()=>{var k;return(k=c.value)==null?void 0:k.activities});i.watch(u,(k,b)=>{In(k,b)});const d=k=>{r("close",k)},f=()=>{const{name:k,rank:b}=Uo(u.value??[],"activity",n);r("addActivity",{milestoneId:o.milestoneId,name:k,rank:b,projectId:o.projectId})},p=k=>{r("updateActivity",k)},h=k=>{u.value&&"moved"in k&&r("updateActivity",{id:k.moved.element.id,rank:Ar(u.value,k.moved.newIndex)})},m=i.computed({get:()=>{var k;return(k=c.value)==null?void 0:k.color},set:k=>{c.value&&r("updateMilestone",{id:c.value.id,color:k})}}),g=i.computed({get:()=>{var k;return((k=c==null?void 0:c.value)==null?void 0:k.deadline)??""},set:k=>{c.value&&r("updateMilestone",{id:c.value.id,deadline:k!=null&&k.length?k:null})}}),C=k=>o.closedStatus?Kc(k,o.closedStatus):!1,_=i.computed(()=>{var k;return((k=o.users)==null?void 0:k.map(b=>({label:`${b.firstName} ${b.lastName}`,value:b.id,avatar:b.avatarUrl})))||[]}),y=i.computed({get(){var k,b;return(b=(k=c.value)==null?void 0:k.assignee)!=null&&b.id?[c.value.assignee.id]:[]},set(k){r("updateMilestone",{id:o.milestoneId,assigneeId:k[0]??null})}}),v=i.computed({get(){var k;return((k=c.value)==null?void 0:k.important)??!1},set(k){r("updateMilestone",{id:o.milestoneId,important:k})}}),w=(k,b)=>{const S=k.currentTarget;S instanceof HTMLElement&&b(S)};return(k,b)=>{var S;return i.openBlock(),i.createElementBlock("div",rhe,[i.createElementVNode("header",ihe,[i.createElementVNode("div",she,[i.createVNode(me,{"icon-name":"CloseRounded",variant:"ghost",size:"sm",class:"ao-milestone__close",onClick:d})]),i.createElementVNode("div",ahe,[i.createElementVNode("div",lhe,[i.createVNode(at,{title:((S=c.value)==null?void 0:S.name)||t.milestoneId,level:5},null,8,["title"]),i.createVNode(Og,{modelValue:v.value,"onUpdate:modelValue":b[0]||(b[0]=T=>v.value=T),modelModifiers:{lazy:!0},disabled:!t.isEditable,class:"ao-milestone__important",color:"danger",label:k.$t("activity.important.label"),"icon-name":"FlagRounded",variant:"ghost",size:"sm"},null,8,["modelValue","disabled","label"])])]),c.value?(i.openBlock(),i.createElementBlock("div",che,[i.createElementVNode("div",uhe,[i.createElementVNode("label",dhe,[i.withDirectives(i.createElementVNode("input",{"onUpdate:modelValue":b[1]||(b[1]=T=>g.value=T),class:"ao-milestone__field ao-milestone__date-field",type:"date"},null,512),[[i.vModelText,g.value,void 0,{lazy:!0}]])])]),i.createElementVNode("div",fhe,[i.createElementVNode("label",phe,[i.createVNode(Dt,{modelValue:y.value,"onUpdate:modelValue":b[2]||(b[2]=T=>y.value=T),options:_.value,"close-on-select":!0,searchable:!0,max:1,class:"ao-milestone__field ao-milestone__multiselect",placeholder:k.$t("activity.filters.assignee.placeholder"),mode:"tags",disabled:!t.isEditable,caret:t.isEditable},{tag:i.withCtx(({option:T,handleTagRemove:A})=>[i.createVNode(Un,{"user-name":T.label,"avatar-url":T.avatar,"is-closable":!0,onClose:x=>A(T,x)},null,8,["user-name","avatar-url","onClose"])]),_:1},8,["modelValue","options","placeholder","disabled","caret"])])]),i.createVNode(dl,{color:m.value,"onUpdate:color":b[3]||(b[3]=T=>m.value=T)},{clickable:i.withCtx(({openPicker:T,bgColor:A})=>[i.createElementVNode("button",{style:i.normalizeStyle({background:A}),class:"color-button",onClick:x=>w(x,T)},null,12,hhe)]),_:1},8,["color"])])):i.createCommentVNode("",!0)]),i.createElementVNode("div",mhe,[i.createVNode(i.unref(mo),i.mergeProps({class:"ao-project-milestone__activities",list:u.value,disabled:!t.isEditable,"item-key":"id",group:"kanban"},k.$attrs,{onChange:h}),{item:i.withCtx(({element:T})=>{var A,x,M,B,$;return[i.createVNode(ad,{id:T.id,name:T.name||T.id,"project-id":t.projectId,"phase-name":(A=a.value)==null?void 0:A.name,"milestone-name":(x=c.value)==null?void 0:x.name,"milestone-color":(M=c.value)==null?void 0:M.color,deadline:T.deadline,important:T.important,users:t.users,assignee:T.assignee,slug:T.slug,comments:(B=T.comments)==null?void 0:B.length,attachments:($=T.attachments)==null?void 0:$.length,tasks:T.tasks,"is-editable":t.isEditable,"is-private":T.private,"is-closed":C(T),onClick:O=>k.$router.push({name:i.unref(je).activity,params:{milestoneId:t.milestoneId,activityId:T.id}}),onUpdateActivity:p,onRemoveAssignee:()=>p({id:T.id,assigneeId:null}),onStartTimer:s},i.createSlots({_:2},[t.isEditable?{name:"secondary",fn:i.withCtx(()=>[t.isEditable&&T.active?(i.openBlock(),i.createBlock(me,{key:0,color:"primary",variant:"ghost","icon-name":"ArchiveOutlineRounded",size:"sm","icon-position":"start",corners:"round",label:k.$t("archive"),onClick:i.withModifiers(()=>k.$emit("archiveActivity",{id:T.id}),["stop"])},null,8,["label","onClick"])):i.createCommentVNode("",!0),t.isEditable&&!T.active?(i.openBlock(),i.createBlock(me,{key:1,color:"primary",variant:"ghost","icon-name":"ArchiveOutlineRounded",size:"sm","icon-position":"start",corners:"round",label:k.$t("feed.activity.unarchive"),onClick:i.withModifiers(()=>k.$emit("unarchiveActivity",{id:T.id}),["stop"])},null,8,["label","onClick"])):i.createCommentVNode("",!0)]),key:"0"}:void 0]),1032,["id","name","project-id","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"]),t.isEditable?(i.openBlock(),i.createElementBlock("div",ghe,[i.createVNode(go,{"icon-name":"Add",label:k.$t("project.activity.add"),onClick:f},null,8,["label"])])):i.createCommentVNode("",!0)])])}}});const vhe=i.defineComponent({__name:"AoProjectOverviewActivityDetails",props:{phaseId:{},milestoneId:{},activityId:{},activityTypes:{},activities:{},isTaskCheckable:{type:Function},statuses:{},phases:{},users:{},project:{},userId:{},isEditable:{type:Boolean},attachmentEnabled:{type:Boolean},timeTrackingData:{},loadAttachmentPreview:{type:Function}},emits:["update:activity","addSubtask","updateSubtask","deleteSubtask","addFiles","removeFile","addComment","updateComment","removeComment"],setup(t,{emit:e}){const n=t,o=e,r=i.computed(()=>{var _;return(_=n.phases)==null?void 0:_.find(y=>y.id===n.phaseId)}),s=i.computed(()=>{var _;return(_=n.phases)==null?void 0:_.flatMap(y=>y.milestones)}),a=i.computed(()=>{var _;return(_=s.value)==null?void 0:_.find(y=>y.id===n.milestoneId)}),l=i.computed(()=>{var _;return(_=n.activities)==null?void 0:_.find(y=>y.id===n.activityId)}),c=_=>{o("update:activity",_)},u=_=>{o("addSubtask",_)},d=_=>{o("updateSubtask",_)},f=_=>{o("deleteSubtask",_)},p=_=>{o("addFiles",_)},h=_=>{o("removeFile",_)},m=_=>{o("addComment",_)},g=_=>{o("updateComment",_)},C=_=>{o("removeComment",_)};return(_,y)=>{var v,w;return l.value?(i.openBlock(),i.createBlock(Ju,{key:0,activity:l.value,"activity-types":t.activityTypes,"milestone-id":t.milestoneId,"template-activities":t.activities,"is-template":!1,users:t.users,"user-id":t.userId,"is-task-checkable":t.isTaskCheckable,statuses:t.statuses,breadcrumbs:`${(v=r.value)==null?void 0:v.name} / ${(w=a.value)==null?void 0:w.name}`,"is-editable":t.isEditable,"attachment-enabled":t.attachmentEnabled,projects:[t.project],"time-tracking-data":t.timeTrackingData,"load-attachment-preview":n.loadAttachmentPreview,onClose:_.$router.back,"onUpdate:activity":c,onAddSubtask:u,onUpdateSubtask:d,onDeleteSubtask:f,onAddFiles:p,onRemoveFile:h,onAddComment:m,onUpdateComment:g,onRemoveComment:C},{default:i.withCtx(k=>[i.renderSlot(_.$slots,"default",i.normalizeProps(i.guardReactiveProps(k)))]),_:3},8,["activity","activity-types","milestone-id","template-activities","users","user-id","is-task-checkable","statuses","breadcrumbs","is-editable","attachment-enabled","projects","time-tracking-data","load-attachment-preview","onClose"])):i.createCommentVNode("",!0)}}}),yhe={class:"ao-col-header"},_he=i.defineComponent({__name:"AoColHeader",props:{title:{},items:{}},setup(t){return(e,n)=>(i.openBlock(),i.createElementBlock("header",yhe,[i.createVNode(at,{title:t.title,class:"ao-col-header__title",level:4},null,8,["title"]),t.items?(i.openBlock(),i.createBlock(Bi,{key:0,label:t.items,class:"ao-col-header__items",variant:"solid",color:"primary"},null,8,["label"])):i.createCommentVNode("",!0)]))}});function Che(t){return i.getCurrentScope()?(i.onScopeDispose(t),!0):!1}function ka(t){return typeof t=="function"?t():i.unref(t)}const bhe=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const khe=t=>t!=null,Mi=()=>{};function whe(t,e){function n(...o){return new Promise((r,s)=>{Promise.resolve(t(()=>e.apply(this,o),{fn:e,thisArg:this,args:o})).then(r).catch(s)})}return n}function Ehe(t,e={}){let n,o,r=Mi;const s=l=>{clearTimeout(l),r(),r=Mi};return l=>{const c=ka(t),u=ka(e.maxWait);return n&&s(n),c<=0||u!==void 0&&u<=0?(o&&(s(o),o=null),Promise.resolve(l())):new Promise((d,f)=>{r=e.rejectOnCancel?f:d,u&&!o&&(o=setTimeout(()=>{n&&s(n),o=null,d(l())},u)),n=setTimeout(()=>{o&&s(o),o=null,d(l())},c)})}}function xhe(t,e=200,n={}){return whe(Ehe(e,n),t)}function ic(t){var e;const n=ka(t);return(e=n==null?void 0:n.$el)!=null?e:n}const She=bhe?window:void 0;function The(){const t=i.ref(!1),e=i.getCurrentInstance();return e&&i.onMounted(()=>{t.value=!0},e),t}function Ahe(t){const e=The();return i.computed(()=>(e.value,!!t()))}function Nhe(t,e,n={}){const{root:o,rootMargin:r="0px",threshold:s=.1,window:a=She,immediate:l=!0}=n,c=Ahe(()=>a&&"IntersectionObserver"in a),u=i.computed(()=>{const m=ka(t);return(Array.isArray(m)?m:[m]).map(ic).filter(khe)});let d=Mi;const f=i.ref(l),p=c.value?i.watch(()=>[u.value,ic(o),f.value],([m,g])=>{if(d(),!f.value||!m.length)return;const C=new IntersectionObserver(e,{root:ic(g),rootMargin:r,threshold:s});m.forEach(_=>_&&C.observe(_)),d=()=>{C.disconnect(),d=Mi}},{immediate:l,flush:"post"}):Mi,h=()=>{d(),p(),f.value=!1};return Che(h),{isSupported:c,isActive:f,pause(){d(),f.value=!1},resume(){f.value=!0},stop:h}}const Dhe={class:i.normalizeClass(["ao-list-kanban"])},Mhe={class:"ao-list-kanban__header"},Bhe={key:0,class:"ao-list-kanban__end ao-list-kanban__end--loading"},$he={key:1,class:"ao-list-kanban__end"},Ohe={key:0,class:"ao-list-kanban__no-more"},Lhe={key:1,class:"ao-list-kanban__divider"},Ihe={key:1,class:"ao-list-kanban__footer"},Phe=i.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","startTimer"],setup(t,{emit:e}){const n=t,o=e,r=i.ref(!1),s=i.ref(null);Nhe(s,([{isIntersecting:f}])=>{r.value=f}),i.watch(r,f=>{f&&n.hasMore&&!n.isLoading&&o("loadMore")});const a=f=>{var p;return n.isEditable===!0?!0:n.userId&&n.isEditable==="only-own"?n.userId===((p=f.assignee)==null?void 0:p.id):!1},l=f=>{o("selectActivity",f)},c=f=>{o("updateActivity",f)},u=f=>{"added"in f?o("updateActivity",{id:f.added.element.id,statusId:n.status.id,rank:Ar(n.list,f.added.newIndex)}):"removed"in f||"moved"in f&&o("updateActivity",{id:f.moved.element.id,rank:Ar(n.list,f.moved.newIndex)})},d=i.ref(!1);return(f,p)=>(i.openBlock(),i.createElementBlock("div",Dhe,[t.title||f.$slots.header?i.renderSlot(f.$slots,"header",{},()=>{var h;return[i.createElementVNode("div",Mhe,[t.title?(i.openBlock(),i.createBlock(_he,{key:0,title:t.title,level:3,items:(h=t.list)==null?void 0:h.length},null,8,["title","items"])):i.createCommentVNode("",!0)])]},void 0,0):i.createCommentVNode("",!0),i.createVNode(i.unref(mo),i.mergeProps({class:["ao-list-kanban__list",d.value?"ao-list-kanban__transition":void 0],list:t.list,"item-key":"id",group:"kanban","ghost-class":"ao-list-kanban__ghost",animation:"200"},f.$attrs,{draggable:".ao-list-draggable",disabled:!t.isEditable,"component-data":{tag:"transition-group",name:"ao-list-kanban__transition"},onChange:u,onStart:p[1]||(p[1]=h=>d.value=!0),onEnd:p[2]||(p[2]=h=>d.value=!1)}),{item:i.withCtx(({element:h})=>{var m,g,C,_,y,v,w,k,b,S;return[i.createVNode(ad,{id:h.id,class:i.normalizeClass(a(h)?"ao-list-draggable":""),name:h.name,"project-name":(m=h.project)==null?void 0:m.name,"project-id":(g=h.project)==null?void 0:g.id,"project-color":(C=h.project)==null?void 0:C.color,"phase-name":(y=(_=h.milestone)==null?void 0:_.phase)==null?void 0:y.name,"milestone-name":(v=h.milestone)==null?void 0:v.name,"milestone-color":(w=h.milestone)==null?void 0:w.color,deadline:h.deadline,rules:((k=h.rules)==null?void 0:k.length)||0,tasks:h.tasks,description:h.description,important:h.important,type:h.type,comments:(b=h.comments)==null?void 0:b.length,attachments:(S=h.attachments)==null?void 0:S.length,users:t.users,assignee:h.assignee,slug:h.slug,"is-editable":a(h),"is-private":h.private,"tag-type":t.tagType,onUpdateActivity:[T=>a(h)&&c(T),()=>a(h)&&c],onClick:()=>l(h.id),onRemoveAssignee:()=>a(h)&&c({id:h.id,assigneeId:null}),onStartTimer:p[0]||(p[0]=T=>f.$emit("startTimer",T))},{secondary:i.withCtx(()=>[a(h)&&h.active?(i.openBlock(),i.createBlock(me,{key:0,color:"primary",variant:"ghost","icon-name":"ArchiveOutlineRounded",size:"sm","icon-position":"start",corners:"round",label:f.$t("feed.activity.archive"),onClick:i.withModifiers(()=>f.$emit("archiveActivity",{id:h.id}),["stop"])},null,8,["label","onClick"])):i.createCommentVNode("",!0),a(h)&&!h.active?(i.openBlock(),i.createBlock(me,{key:1,color:"primary",variant:"ghost","icon-name":"ArchiveOutlineRounded",size:"sm","icon-position":"start",corners:"round",label:f.$t("feed.activity.unarchive"),onClick:i.withModifiers(()=>f.$emit("unarchiveActivity",{id:h.id}),["stop"])},null,8,["label","onClick"])):i.createCommentVNode("",!0)]),_:2},1032,["id","class","name","project-name","project-id","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:i.withCtx(()=>[t.isLoading?(i.openBlock(),i.createElementBlock("div",Bhe,[i.createVNode(be,{name:"Loading"})])):t.hasMore?(i.openBlock(),i.createElementBlock("div",{key:2,ref_key:"scrollEnd",ref:s,class:"ao-list-kanban__end"},null,512)):(i.openBlock(),i.createElementBlock("div",$he,[t.noMoreLabel?(i.openBlock(),i.createElementBlock("span",Ohe,i.toDisplayString(t.noMoreLabel),1)):t.isEditable?(i.openBlock(),i.createElementBlock("span",Lhe)):i.createCommentVNode("",!0)]))]),_:1},16,["class","list","disabled"]),f.$slots.footer||t.footerLabel?(i.openBlock(),i.createElementBlock("div",Ihe,[i.renderSlot(f.$slots,"footer",{},()=>[t.isEditable?(i.openBlock(),i.createBlock(go,{key:0,"icon-name":"AddBoxOutlineRounded",label:t.footerLabel,onClick:p[3]||(p[3]=h=>f.$emit("add"))},null,8,["label"])):i.createCommentVNode("",!0)])])):i.createCommentVNode("",!0)]))}});const Fhe={class:"ao-field ao-search-field"},Vhe=["value","placeholder"],Rhe=i.defineComponent({__name:"AoSearchField",props:{modelValue:{},delay:{default:250},placeholder:{default:"Search"}},emits:["update:modelValue","clear"],setup(t,{emit:e}){const n=t,o=e,r=async l=>{const u=l.target.value;o("update:modelValue",u,l)},s=xhe(r,n.delay),a=l=>{o("clear",l)};return(l,c)=>(i.openBlock(),i.createElementBlock("div",Fhe,[i.createElementVNode("input",{value:t.modelValue,type:"text",class:"ao-field__input ao-search-field__input",placeholder:t.placeholder,onInput:c[0]||(c[0]=(...u)=>i.unref(s)&&i.unref(s)(...u)),onKeypress:i.withKeys(r,["enter"])},null,40,Vhe),i.createVNode(be,{name:"SearchRounded",class:i.normalizeClass(`ao-search-field__icon ao-search-field__action ${t.modelValue?"":"ao-search-field__action--visible"}`)},null,8,["class"]),i.createVNode(me,{"icon-name":"CloseRounded",size:"sm",color:"primary",corners:"round",class:i.normalizeClass(`ao-search-field__button ao-search-field__action ${t.modelValue?"ao-search-field__action--visible":""}`),onClick:a},null,8,["class"])]))}});const zhe={class:"ao-feed"},Uhe={class:"ao-feed__filters"},qhe={class:"ao-feed__body"},Fg=i.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},timeTrackingData:{},loadAttachmentPreview:{}},emits:["change:activities","addActivity","update:filters","selectActivity","update:activity","archiveActivity","unarchiveActivity","update:searchText","clear:searchText","update:showsArchivedActivities","update:showsOnlyImportant","update:showsOnlyNonAssigned","addSubtask","updateSubtask","deleteSubtask","addFiles","removeFile","addComment","updateComment","removeComment","toast","startTimer"],setup(t,{emit:e}){const{t:n}=Hn(),o=t,r=e;function s(z,H){r("toast",z,H)}const a=i.toRef(o,"activities"),l=async(z,H)=>{await r("selectActivity",z,H)},c=i.ref({}),u=i.ref(!1),d=i.ref(!1),f=i.computed(()=>o.project?"milestone":"project");i.watch([()=>o.statuses,()=>o.activities,()=>o.initialActivityId,()=>o.initialActivitySlug],async([z,H,ue,Q],[ie,U])=>{c.value=Object.fromEntries(z.map(ne=>[ne.id,H.filter(ge=>{var I;return((I=ge.status)==null?void 0:I.id)===ne.id})])),ue&&!u.value?(l(ue,null),u.value=!0):Q&&!u.value&&(l(null,Q),u.value=!0),d.value&&In(H,U)},{immediate:!0});const p=i.computed(()=>{var z;return!o.selectedActivity||!o.selectedActivity.milestone?"":`${((z=o.selectedActivity.milestone.phase)==null?void 0:z.name)??""} / ${o.selectedActivity.milestone.name??""}`}),h=z=>{var U,ne;const H=(U=o.activities)==null?void 0:U.at(-1),ue=H?it.LexoRank.parse(H.rank).genNext():it.LexoRank.middle(),Q=((ne=o.activities)==null?void 0:ne.length)??0,ie={name:n("activity.defaultName",{idx:Q+1}),rank:ue.format(),statusId:z.id};o.filters.assigneeId.length>0&&(ie.assigneeId=o.filters.assigneeId[0]),o.filters.projectId.length>0&&(ie.projectId=o.filters.projectId[0]),o.filters.typeId.length>0&&(ie.typeId=o.filters.typeId[0]),d.value=!0,r("addActivity",ie)},m=(z,H)=>{d.value=!1,r("update:filters",{...o.filters,[z]:H})},g=i.computed(()=>o.project?[o.project]:o.projects??[]),C=i.computed(()=>g.value.map(z=>({value:z.id,label:z.name}))),_=i.computed(()=>{var z;return(z=o.activityTypes)==null?void 0:z.map(H=>({value:H.id,label:H.name}))}),y=i.computed(()=>o.users.map(z=>({value:z.id,label:`${z.firstName} ${z.lastName}`,avatar:z.avatarUrl}))),v=z=>{o.selectedActivity&&r("update:activity",z)},w=z=>{r("update:activity",z)},k=z=>{r("archiveActivity",z)},b=z=>{r("unarchiveActivity",z)},S=z=>{var H;r("startTimer",z),(H=window.parent)==null||H.postMessage({type:"startTimer",data:z},"*")},T=z=>{d.value=!1,r("update:searchText",z)},A=z=>{d.value=!1,r("clear:searchText",z)},x=z=>{o.selectedActivity&&r("addSubtask",z)},M=z=>{o.selectedActivity&&r("updateSubtask",z)},B=z=>{o.selectedActivity&&r("deleteSubtask",z)},$=z=>{r("addFiles",z)},O=z=>{r("removeFile",z)},P=z=>{o.selectedActivity&&r("addComment",{...z,activityId:o.selectedActivity.id})},F=z=>{const{id:H}=o.selectedActivity||{};H&&r("updateComment",z)},K=z=>{const{id:H}=o.selectedActivity||{};H&&r("removeComment",z)},V=Ki.useRouter(),N=i.ref("feed"),G=[{label:"Overview",value:"overview"},{label:"Feed",value:"feed"},{label:"Mapping",value:"mapping"}];return i.watch(N,z=>{z==="feed"?(V.push({name:je.feed}),console.log("Navigating to feed...")):z==="overview"?(V.push({name:je.project}),console.log("Navigating to feed...")):z==="mapping"&&(V.push({name:je.mapping}),console.log("Navigating to feed..."))}),(z,H)=>{var ue;return i.openBlock(),i.createElementBlock("div",zhe,[i.createVNode(Qi,null,{primary:i.withCtx(()=>[i.createElementVNode("div",Uhe,[i.createVNode(fs,{modelValue:N.value,"onUpdate:modelValue":H[0]||(H[0]=Q=>N.value=Q),tabs:G},null,8,["modelValue"]),i.createVNode(Rhe,{"model-value":t.searchText,placeholder:z.$t("feed.search.placeholder"),class:"ao-feed__search","onUpdate:modelValue":T,onClear:A},null,8,["model-value","placeholder"]),o.project?i.createCommentVNode("",!0):(i.openBlock(),i.createBlock(Dt,{key:0,"model-value":t.filters[i.unref(No).project],mode:"tags",options:C.value,"close-on-select":!1,searchable:!0,class:"ao-feed__filter ao-feed__filter__projects",placeholder:z.$t("feed.filters.project.placeholder"),"onUpdate:modelValue":H[1]||(H[1]=Q=>m(i.unref(No).project,Q))},null,8,["model-value","options","placeholder"])),_.value?(i.openBlock(),i.createBlock(Dt,{key:1,"model-value":t.filters[i.unref(No).type],mode:"tags",options:_.value,"close-on-select":!1,searchable:!0,class:"ao-feed__filter ao-feed__filter__types",placeholder:z.$t("feed.filters.activityType.placeholder"),"onUpdate:modelValue":H[2]||(H[2]=Q=>m(i.unref(No).type,Q))},null,8,["model-value","options","placeholder"])):i.createCommentVNode("",!0),y.value.length?(i.openBlock(),i.createBlock(Dt,{key:2,"model-value":t.filters[i.unref(No).assignee],mode:"tags",options:y.value,"close-on-select":!1,searchable:!0,class:"ao-feed__filter ao-feed__filter__assignees",placeholder:z.$t("feed.filters.assignee.placeholder"),"onUpdate:modelValue":H[3]||(H[3]=Q=>m(i.unref(No).assignee,Q))},{tag:i.withCtx(({option:Q,handleTagRemove:ie})=>[i.createVNode(Un,{"user-name":Q.label,"avatar-url":Q.avatar,"is-closable":!0,onClose:U=>ie(Q,U)},null,8,["user-name","avatar-url","onClose"])]),_:1},8,["model-value","options","placeholder"])):i.createCommentVNode("",!0)]),i.createVNode(me,{class:"ao-feed__only-non-assigned",size:"sm","icon-name":t.showsOnlyNonAssigned?"CheckBoxOutlineRounded":"CheckBoxOutlineBlank","icon-position":"start",color:"primary",variant:"ghost",label:z.$t("feed.filters.showsOnlyNonAssigned.label"),role:"checkbox","aria-checked":t.showsOnlyNonAssigned,onClick:H[4]||(H[4]=Q=>z.$emit("update:showsOnlyNonAssigned",!t.showsOnlyNonAssigned))},null,8,["icon-name","label","aria-checked"]),i.createVNode(me,{class:"ao-feed__only-important",size:"sm","icon-name":t.showsOnlyImportant?"CheckBoxOutlineRounded":"CheckBoxOutlineBlank","icon-position":"start",color:"primary",variant:"ghost",label:z.$t("feed.filters.showsOnlyImportant.label"),role:"checkbox","aria-checked":t.showsOnlyImportant,onClick:H[5]||(H[5]=Q=>z.$emit("update:showsOnlyImportant",!t.showsOnlyImportant))},null,8,["icon-name","label","aria-checked"]),i.createVNode(me,{class:"ao-feed__show-archived",size:"sm","icon-name":t.showsArchivedActivities?"CheckBoxOutlineRounded":"CheckBoxOutlineBlank","icon-position":"start",color:"primary",variant:"ghost",label:z.$t("feed.filters.showsArchivedActivities.label"),role:"checkbox","aria-checked":t.showsArchivedActivities,onClick:H[6]||(H[6]=Q=>z.$emit("update:showsArchivedActivities",!t.showsArchivedActivities))},null,8,["icon-name","label","aria-checked"])]),_:1}),i.createElementVNode("div",qhe,[(i.openBlock(!0),i.createElementBlock(i.Fragment,null,i.renderList(t.statuses,Q=>(i.openBlock(),i.createBlock(Phe,{key:Q.id,status:Q,list:c.value[Q.id],title:Q.name,"footer-label":z.$t("feed.activity.add"),users:t.users,"user-id":t.userId,"is-editable":t.isEditable,"tag-type":f.value,onAdd:()=>h(Q),onSelectActivity:l,onArchiveActivity:k,onUnarchiveActivity:b,onUpdateActivity:w,onStartTimer:S},null,8,["status","list","title","footer-label","users","user-id","is-editable","tag-type","onAdd"]))),128))]),(i.openBlock(),i.createBlock(i.Teleport,{to:"body"},[t.selectedActivity?(i.openBlock(),i.createBlock(Ju,{key:0,activity:t.selectedActivity,"activity-types":t.activityTypes,"milestone-id":(ue=t.selectedActivity.milestone)==null?void 0:ue.id,"template-activities":a.value,users:t.users,"user-id":t.userId,"is-task-checkable":t.isTaskCheckable,statuses:t.statuses,breadcrumbs:p.value,"is-editable":t.isEditable,"attachment-enabled":t.attachmentEnabled,projects:g.value,"time-tracking-data":t.timeTrackingData,"load-attachment-preview":o.loadAttachmentPreview,onClose:H[7]||(H[7]=()=>l(null,null)),"onUpdate:activity":v,onAddSubtask:x,onUpdateSubtask:M,onDeleteSubtask:B,onAddFiles:$,onRemoveFile:O,onAddComment:P,onUpdateComment:F,onRemoveComment:K,onToast:s},{default:i.withCtx(Q=>[i.renderSlot(z.$slots,"activityDetailsBody",i.normalizeProps(i.guardReactiveProps(Q)))]),_:3},8,["activity","activity-types","milestone-id","template-activities","users","user-id","is-task-checkable","statuses","breadcrumbs","is-editable","attachment-enabled","projects","time-tracking-data","load-attachment-preview"])):i.createCommentVNode("",!0)]))])}}});const Hhe={class:"ao-project-mapping"},jhe={class:"ao-project-mapping-mapping__body"},Whe={class:"ao-project-mapping-mapping__phases"},Zhe={key:0,class:"ao-project-mapping-mapping__image-wrapper"},Khe=["src","alt"],Ghe=i.defineComponent({__name:"AoMapping",props:{project:{},phases:{},closedStatus:{},users:{},userId:{},templates:{},isTaskCheckable:{type:Function},statuses:{},activityTypes:{},isEditable:{type:[Boolean,String]},showsArchived:{type:Boolean},attachmentEnabled:{type:Boolean}},emits:["addPhase","updatePhase","archivePhase","unarchivePhase","copyPhaseToTemplate","applyTemplate","saveTemplate","update:showsArchived"],setup(t,{emit:e}){const{t:n}=Hn(),o=t,r=e,s=()=>{const{name:_,rank:y}=Uo(o.phases,"phase",n);r("addPhase",{name:_,rank:y,projectId:o.project.id})},a=_=>{r("updatePhase",_)},l=_=>{r("archivePhase",_)},c=_=>{r("unarchivePhase",_)},u=_=>{r("copyPhaseToTemplate",_)},d=i.ref(!1),f=i.ref(!1),p=(_,y)=>{r("applyTemplate",{templateId:_,projectId:y}),d.value=!1},h=(_,y)=>{var k;const v=(k=o.templates)==null?void 0:k.at(-1),w=v?it.LexoRank.parse(v.rank).genNext():it.LexoRank.middle();r("saveTemplate",{templateName:_,rank:w.format(),phaseIds:y}),f.value=!1},m=Ki.useRouter(),g=i.ref("mapping"),C=[{label:"Overview",value:"overview"},{label:"Feed",value:"feed"},{label:"Mapping",value:"mapping"}];return i.watch(g,_=>{_==="feed"?(m.push({name:je.feed}),console.log("Navigating to feed...")):_==="overview"?(m.push({name:je.project}),console.log("Navigating to feed...")):_==="mapping"&&(m.push({name:je.mapping}),console.log("Navigating to feed..."))}),(_,y)=>{var v;return i.openBlock(),i.createElementBlock(i.Fragment,null,[i.createElementVNode("div",i.mergeProps({class:"ao-project-mapping-overview"},_.$attrs),[i.createElementVNode("div",Hhe,[i.createVNode(Qi,null,{primary:i.withCtx(()=>[i.createVNode(fs,{modelValue:g.value,"onUpdate:modelValue":y[0]||(y[0]=w=>g.value=w),tabs:C},null,8,["modelValue"]),i.createVNode(me,{class:"ao-feed__show-archived",size:"sm","icon-name":t.showsArchived?"CheckBoxOutlineRounded":"CheckBoxOutlineBlank","icon-position":"start",color:"primary",variant:"ghost",label:_.$t("feed.filters.showsArchived.label"),role:"checkbox","aria-checked":t.showsArchived,onClick:y[1]||(y[1]=w=>_.$emit("update:showsArchived",!t.showsArchived))},null,8,["icon-name","label","aria-checked"])]),secondary:i.withCtx(()=>[t.isEditable===!0?(i.openBlock(),i.createBlock(me,{key:0,class:"ao-project-mapping-overview__save-as-template",color:"primary",label:_.$t("project.template.save.label"),onClick:y[2]||(y[2]=w=>f.value=!0)},null,8,["label"])):i.createCommentVNode("",!0),t.isEditable===!0?(i.openBlock(),i.createBlock(me,{key:1,class:"ao-project-mapping-overview__add-template",color:"primary",label:_.$t("project.template.apply.label"),onClick:y[3]||(y[3]=w=>d.value=!0)},null,8,["label"])):i.createCommentVNode("",!0)]),_:1}),i.createElementVNode("div",jhe,[i.createElementVNode("div",Whe,[i.createVNode(sd,{phases:t.phases,"closed-status":t.closedStatus,"is-editable":t.isEditable===!0,users:t.users,"estimation-unit":(v=t.project)==null?void 0:v.estimationUnit,onAddPhase:s,onUpdatePhase:a,onArchivePhase:l,onUnarchivePhase:c,onCopyPhaseToTemplate:u},null,8,["phases","closed-status","is-editable","users","estimation-unit"])]),t.project.architectureImage?(i.openBlock(),i.createElementBlock("div",Zhe,[i.createElementVNode("img",{class:"architecture-image",src:t.project.architectureImage.url,alt:i.unref(n)("architectureImage.alt")},null,8,Khe)])):i.createCommentVNode("",!0)])])],16),(i.openBlock(),i.createBlock(i.Teleport,{to:"body"},[f.value?(i.openBlock(),i.createBlock(Pg,{key:0,phases:t.phases,onClose:y[4]||(y[4]=w=>f.value=!1),onSave:h},null,8,["phases"])):i.createCommentVNode("",!0),d.value?(i.openBlock(),i.createBlock(Ig,{key:1,"project-id":t.project.id,templates:t.templates,onClose:y[5]||(y[5]=w=>d.value=!1),onApply:p},null,8,["project-id","templates"])):i.createCommentVNode("",!0)]))],64)}}});const Po={TEMPLATES:"templates",TEMPLATE_DETAILS:"template_details",TEMPLATES_LIST:"templates_list"},Yhe=(t,e={})=>[{path:t,name:Po.TEMPLATES,redirect:{name:Po.TEMPLATES_LIST},...e,children:[{path:"",name:Po.TEMPLATES_LIST,component:Vg},{path:":templateId/:phaseId?/:milestoneId?/:activityId?",name:Po.TEMPLATE_DETAILS,component:Lg,props:!0}]}],je={project:"AoProject",feed:"AoProjectFeed",mapping:"AoProjectMapping",milestone:"AoMilestone",activity:"AoActivity"},Jhe=(t,e={})=>[{path:t,...e,redirect:{name:je.project},children:[{path:"",name:je.project,component:Ope,props:!0,children:[{path:":phaseId/:milestoneId",name:je.milestone,component:cp,props:!0},{path:":phaseId/:milestoneId/:activityId",name:je.activity,props:{default:!0,modal:!0},components:{default:cp,modal:vhe}}]},{path:"feed",name:je.feed,component:Fg,props:!0},{path:"mapping",name:je.mapping,component:Ghe,props:!0}]}],Xhe={class:"ao-templates"},Vg=i.defineComponent({__name:"AoTemplatesList",props:{templates:{}},emits:["addTemplate","updateTemplates","updateItem","removeItem"],setup(t,{emit:e}){const{t:n}=Hn(),o=t,r=e;i.watch(()=>o.templates,(u,d)=>{In(u,d)});const s=()=>{var h,m;const u=(h=o.templates)==null?void 0:h.at(-1),d=u?it.LexoRank.parse(u.rank).genNext():it.LexoRank.middle(),f=((m=o.templates)==null?void 0:m.length)??0,p={name:n("template.defaultName.template",{idx:f+1}),rank:d.format()};r("addTemplate",p)},a=(u,d)=>{r("updateItem",{itemType:$e.TEMPLATES,id:u,templateId:u,data:{name:d}})},l=(u,d)=>{r("removeItem",{itemType:$e.TEMPLATES,templateId:u,data:{id:u,...d?{name:d}:{}}})},c=u=>{if(u.moved){const d=Xi(u,o.templates??[]);r("updateItem",{itemType:$e.TEMPLATES,id:u.moved.element.id,templateId:u.moved.element.id,data:{rank:d}})}};return(u,d)=>(i.openBlock(),i.createElementBlock("div",Xhe,[i.createVNode(Qi,null,{secondary:i.withCtx(()=>[i.createVNode(me,{label:u.$t("templates.new"),color:"primary","icon-name":"Add","icon-position":"start",onClick:s},null,8,["label"])]),_:1}),i.createVNode(i.unref(mo),{"model-value":t.templates,class:"ao-templates__list","item-key":"id",handle:".ao-card__drag",onChange:c},{item:i.withCtx(({element:f})=>{var p;return[i.createVNode(z_,{id:f.id,title:f.name,phases:f.phases,milestones:(p=f.phases)!=null&&p.length?i.unref(d_)(f.phases):0,activities:f.phases?i.unref(f_)(f.phases):0,"updated-at":f.updatedAt,"updated-by":f.updatedBy,onUpdateTitle:h=>a(f.id,h),onClick:h=>u.$router.push({name:i.unref(Po).TEMPLATE_DETAILS,params:{templateId:f.id}}),onDeleteItem:d[0]||(d[0]=(h,m)=>l(h,m))},null,8,["id","title","phases","milestones","activities","updated-at","updated-by","onUpdateTitle","onClick"])]}),_:1},8,["model-value"])]))}});const Qhe={class:"ao-field__label"},Rg=i.defineComponent({__name:"AoField",props:{label:{},isMultiselect:{type:Boolean,default:!1}},setup(t){return(e,n)=>(i.openBlock(),i.createElementBlock("label",{class:i.normalizeClass(["ao-field",{"ao-field--multiselect":t.isMultiselect}])},[i.createElementVNode("span",Qhe,i.toDisplayString(t.label),1),i.renderSlot(e.$slots,"default")],2))}}),eme=["type","value","disabled","readonly"],tme=i.defineComponent({__name:"AoInputField",props:{label:{default:""},type:{default:"text"},modelValue:{default:""},modelModifiers:{default:()=>({})},isDisabled:{type:Boolean,default:!1},isReadonly:{type:Boolean,default:!1}},emits:["update:modelValue"],setup(t,{emit:e}){const n=t,o=e,r=i.computed(()=>n.modelModifiers.lazy?"change":"input"),s=a=>{n.modelModifiers.number&&(a=Number(a)),o("update:modelValue",a)};return(a,l)=>(i.openBlock(),i.createBlock(Rg,{label:t.label},{default:i.withCtx(()=>[i.createElementVNode("input",i.mergeProps({class:"ao-field__input",type:t.type,value:t.modelValue,disabled:t.isDisabled,readonly:t.isReadonly},{[i.toHandlerKey(r.value)]:l[0]||(l[0]=c=>s(c.target.value))}),null,16,eme)]),_:1},8,["label"]))}}),nme={class:"ao-field"},ome={class:"ao-field__label"},rme=["checked","disabled"],ime=i.defineComponent({__name:"AoCheckboxField",props:{label:{default:""},modelValue:{type:Boolean,default:!1},isReadonly:{type:Boolean,default:!1},isDisabled:{type:Boolean,default:!1}},emits:["update:modelValue"],setup(t){return(e,n)=>(i.openBlock(),i.createElementBlock("label",nme,[i.createElementVNode("span",ome,i.toDisplayString(t.label),1),i.createElementVNode("input",{class:"ao-field__input",type:"checkbox",checked:t.modelValue,disabled:t.isDisabled,onChange:n[0]||(n[0]=o=>{var r;return e.$emit("update:modelValue",((r=o.target)==null?void 0:r.checked)??!1)})},null,40,rme)]))}});exports.AoAvatar=Un;exports.AoCardFeed=ad;exports.AoCheckboxField=ime;exports.AoColorPicker=dl;exports.AoFeed=Fg;exports.AoField=Rg;exports.AoInputField=tme;exports.AoMultiselect=Dt;exports.AoProjectPhases=sd;exports.AoTabBar=fs;exports.AoTemplateDetails=Lg;exports.AoTemplates=Gg;exports.AoTemplatesList=Vg;exports.EstimationUnit=gp;exports.TemplateItemTypeEnum=mp;exports.activityFeedStatus=wy;exports.durationTypes=ky;exports.feedFilterTypes=No;exports.getProjectOverviewRoutes=Jhe;exports.getTemplateRoutes=Yhe;exports.listUpdateTypes=Ey;exports.milestoneStatus=$i;exports.projectOverviewRoutes=je;exports.ruleComparators=fp;exports.ruleDurationUnits=hp;exports.ruleTriggerTypes=pp;exports.templateItemType=$e;exports.templateRouteNames=Po;
|
|
58
|
+
*/function Ao(t){let e={r:0,g:0,b:0,a:1};/#/.test(t)?e=sfe(t):/rgb/.test(t)?e=lp(t):typeof t=="string"?e=lp(`rgba(${t})`):Object.prototype.toString.call(t)==="[object Object]"&&(e=t);const{r:n,g:o,b:r,a:s}=e,{h:a,s:l,v:c}=afe(e);return{r:n,g:o,b:r,a:s===void 0?1:s,h:a,s:l,v:c}}function Xu(t){const e=document.createElement("canvas"),n=e.getContext("2d"),o=t*2;return e.width=o,e.height=o,n.fillStyle="#ffffff",n.fillRect(0,0,o,o),n.fillStyle="#ccd5db",n.fillRect(0,0,t,t),n.fillRect(t,t,t,t),e}function jc(t,e,n,o,r,s){const a=t==="l",l=e.createLinearGradient(0,0,a?n:0,a?0:o);l.addColorStop(.01,r),l.addColorStop(.99,s),e.fillStyle=l,e.fillRect(0,0,n,o)}function ife({r:t,g:e,b:n},o){const r=a=>("0"+Number(a).toString(16)).slice(-2),s=`#${r(t)}${r(e)}${r(n)}`;return o?s.toUpperCase():s}function sfe(t){t=t.slice(1);const e=n=>parseInt(n,16)||0;return{r:e(t.slice(0,2)),g:e(t.slice(2,4)),b:e(t.slice(4,6))}}function lp(t){return typeof t=="string"?(t=(/rgba?\((.*?)\)/.exec(t)||["","0,0,0,1"])[1].split(","),{r:Number(t[0])||0,g:Number(t[1])||0,b:Number(t[2])||0,a:Number(t[3]?t[3]:1)}):t}function afe({r:t,g:e,b:n}){t=t/255,e=e/255,n=n/255;const o=Math.max(t,e,n),r=Math.min(t,e,n),s=o-r;let a=0;o===r?a=0:o===t?e>=n?a=60*(e-n)/s:a=60*(e-n)/s+360:o===e?a=60*(n-t)/s+120:o===n&&(a=60*(t-e)/s+240),a=Math.floor(a);let l=parseFloat((o===0?0:1-r/o).toFixed(2)),c=parseFloat(o.toFixed(2));return{h:a,s:l,v:c}}var Qu=i.defineComponent({props:{color:{type:String,default:"#000000"},hsv:{type:Object,default:null},size:{type:Number,default:152}},emits:["selectSaturation"],data(){return{slideSaturationStyle:{}}},mounted(){this.renderColor(),this.renderSlide()},methods:{renderColor(){const t=this.$refs.canvasSaturation,e=this.size,n=t.getContext("2d");t.width=e,t.height=e,n.fillStyle=this.color,n.fillRect(0,0,e,e),jc("l",n,e,e,"#FFFFFF","rgba(255,255,255,0)"),jc("p",n,e,e,"rgba(0,0,0,0)","#000000")},renderSlide(){this.slideSaturationStyle={left:this.hsv.s*this.size-5+"px",top:(1-this.hsv.v)*this.size-5+"px"}},selectSaturation(t){const{top:e,left:n}=this.$el.getBoundingClientRect(),o=t.target.getContext("2d"),r=a=>{let l=a.clientX-n,c=a.clientY-e;l<0&&(l=0),c<0&&(c=0),l>this.size&&(l=this.size),c>this.size&&(c=this.size),this.slideSaturationStyle={left:l-5+"px",top:c-5+"px"};const u=o.getImageData(Math.min(l,this.size-1),Math.min(c,this.size-1),1,1),[d,f,p]=u.data;this.$emit("selectSaturation",{r:d,g:f,b:p})};r(t);const s=()=>{document.removeEventListener("mousemove",r),document.removeEventListener("mouseup",s)};document.addEventListener("mousemove",r),document.addEventListener("mouseup",s)}}});const lfe={ref:"canvasSaturation"};function cfe(t,e,n,o,r,s){return i.openBlock(),i.createBlock("div",{class:"saturation",onMousedown:e[1]||(e[1]=i.withModifiers((...a)=>t.selectSaturation&&t.selectSaturation(...a),["prevent","stop"]))},[i.createVNode("canvas",lfe,null,512),i.createVNode("div",{style:t.slideSaturationStyle,class:"slide"},null,4)],32)}Qu.render=cfe;Qu.__file="src/color/Saturation.vue";var ed=i.defineComponent({props:{hsv:{type:Object,default:null},width:{type:Number,default:15},height:{type:Number,default:152}},emits:["selectHue"],data(){return{slideHueStyle:{}}},mounted(){this.renderColor(),this.renderSlide()},methods:{renderColor(){const t=this.$refs.canvasHue,e=this.width,n=this.height,o=t.getContext("2d");t.width=e,t.height=n;const r=o.createLinearGradient(0,0,0,n);r.addColorStop(0,"#FF0000"),r.addColorStop(.17*1,"#FF00FF"),r.addColorStop(.17*2,"#0000FF"),r.addColorStop(.17*3,"#00FFFF"),r.addColorStop(.17*4,"#00FF00"),r.addColorStop(.17*5,"#FFFF00"),r.addColorStop(1,"#FF0000"),o.fillStyle=r,o.fillRect(0,0,e,n)},renderSlide(){this.slideHueStyle={top:(1-this.hsv.h/360)*this.height-2+"px"}},selectHue(t){const{top:e}=this.$el.getBoundingClientRect(),n=t.target.getContext("2d"),o=s=>{let a=s.clientY-e;a<0&&(a=0),a>this.height&&(a=this.height),this.slideHueStyle={top:a-2+"px"};const l=n.getImageData(0,Math.min(a,this.height-1),1,1),[c,u,d]=l.data;this.$emit("selectHue",{r:c,g:u,b:d})};o(t);const r=()=>{document.removeEventListener("mousemove",o),document.removeEventListener("mouseup",r)};document.addEventListener("mousemove",o),document.addEventListener("mouseup",r)}}});const ufe={ref:"canvasHue"};function dfe(t,e,n,o,r,s){return i.openBlock(),i.createBlock("div",{class:"hue",onMousedown:e[1]||(e[1]=i.withModifiers((...a)=>t.selectHue&&t.selectHue(...a),["prevent","stop"]))},[i.createVNode("canvas",ufe,null,512),i.createVNode("div",{style:t.slideHueStyle,class:"slide"},null,4)],32)}ed.render=dfe;ed.__file="src/color/Hue.vue";var td=i.defineComponent({props:{color:{type:String,default:"#000000"},rgba:{type:Object,default:null},width:{type:Number,default:15},height:{type:Number,default:152}},emits:["selectAlpha"],data(){return{slideAlphaStyle:{},alphaSize:5}},watch:{color(){this.renderColor()},"rgba.a"(){this.renderSlide()}},mounted(){this.renderColor(),this.renderSlide()},methods:{renderColor(){const t=this.$refs.canvasAlpha,e=this.width,n=this.height,o=this.alphaSize,r=Xu(o),s=t.getContext("2d");t.width=e,t.height=n,s.fillStyle=s.createPattern(r,"repeat"),s.fillRect(0,0,e,n),jc("p",s,e,n,"rgba(255,255,255,0)",this.color)},renderSlide(){this.slideAlphaStyle={top:this.rgba.a*this.height-2+"px"}},selectAlpha(t){const{top:e}=this.$el.getBoundingClientRect(),n=r=>{let s=r.clientY-e;s<0&&(s=0),s>this.height&&(s=this.height);let a=parseFloat((s/this.height).toFixed(2));this.$emit("selectAlpha",a)};n(t);const o=()=>{document.removeEventListener("mousemove",n),document.removeEventListener("mouseup",o)};document.addEventListener("mousemove",n),document.addEventListener("mouseup",o)}}});const ffe={ref:"canvasAlpha"};function pfe(t,e,n,o,r,s){return i.openBlock(),i.createBlock("div",{class:"color-alpha",onMousedown:e[1]||(e[1]=i.withModifiers((...a)=>t.selectAlpha&&t.selectAlpha(...a),["prevent","stop"]))},[i.createVNode("canvas",ffe,null,512),i.createVNode("div",{style:t.slideAlphaStyle,class:"slide"},null,4)],32)}td.render=pfe;td.__file="src/color/Alpha.vue";var nd=i.defineComponent({props:{color:{type:String,default:"#000000"},width:{type:Number,default:100},height:{type:Number,default:30}},data(){return{alphaSize:5}},watch:{color(){this.renderColor()}},mounted(){this.renderColor()},methods:{renderColor(){const t=this.$el,e=this.width,n=this.height,o=this.alphaSize,r=Xu(o),s=t.getContext("2d");t.width=e,t.height=n,s.fillStyle=s.createPattern(r,"repeat"),s.fillRect(0,0,e,n),s.fillStyle=this.color,s.fillRect(0,0,e,n)}}});function hfe(t,e,n,o,r,s){return i.openBlock(),i.createBlock("canvas")}nd.render=hfe;nd.__file="src/color/Preview.vue";var od=i.defineComponent({props:{suckerCanvas:{type:Object,default:null},suckerArea:{type:Array,default:()=>[]}},data(){return{isOpenSucker:!1,suckerPreview:null,isSucking:!1}},watch:{suckerCanvas(t){this.isSucking=!1,this.suckColor(t)}},methods:{openSucker(){this.isOpenSucker?this.keydownHandler({keyCode:27}):(this.isOpenSucker=!0,this.isSucking=!0,this.$emit("openSucker",!0),document.addEventListener("keydown",this.keydownHandler))},keydownHandler(t){t.keyCode===27&&(this.isOpenSucker=!1,this.isSucking=!1,this.$emit("openSucker",!1),document.removeEventListener("keydown",this.keydownHandler),document.removeEventListener("mousemove",this.mousemoveHandler),document.removeEventListener("mouseup",this.mousemoveHandler),this.suckerPreview&&(document.body.removeChild(this.suckerPreview),this.suckerPreview=null))},mousemoveHandler(t){const{clientX:e,clientY:n}=t,{top:o,left:r,width:s,height:a}=this.suckerCanvas.getBoundingClientRect(),l=e-r,c=n-o,d=this.suckerCanvas.getContext("2d").getImageData(Math.min(l,s-1),Math.min(c,a-1),1,1);let[f,p,h,m]=d.data;m=parseFloat((m/255).toFixed(2));const g=this.suckerPreview.style;Object.assign(g,{position:"absolute",left:e+20+"px",top:n-36+"px",width:"24px",height:"24px",borderRadius:"50%",border:"2px solid #fff",boxShadow:"0 0 8px 0 rgba(0, 0, 0, 0.16)",background:`rgba(${f}, ${p}, ${h}, ${m})`,zIndex:95}),this.suckerArea.length&&e>=this.suckerArea[0]&&n>=this.suckerArea[1]&&e<=this.suckerArea[2]&&n<=this.suckerArea[3]?g.display="":g.display="none"},suckColor(t){t&&t.tagName!=="CANVAS"||(this.suckerPreview=document.createElement("div"),this.suckerPreview&&document.body.appendChild(this.suckerPreview),document.addEventListener("mousemove",this.mousemoveHandler),document.addEventListener("mouseup",this.mousemoveHandler),t.addEventListener("click",e=>{const{clientX:n,clientY:o}=e,{top:r,left:s,width:a,height:l}=t.getBoundingClientRect(),c=n-s,u=o-r,f=t.getContext("2d").getImageData(Math.min(c,a-1),Math.min(u,l-1),1,1);let[p,h,m,g]=f.data;g=parseFloat((g/255).toFixed(2)),this.$emit("selectSucker",{r:p,g:h,b:m,a:g})}))}}});const mfe=i.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),gfe={key:1,class:"sucker",viewBox:"-16 -16 68 68",xmlns:"http://www.w3.org/2000/svg",stroke:"#9099a4"},vfe=i.createVNode("g",{fill:"none","fill-rule":"evenodd"},[i.createVNode("g",{transform:"translate(1 1)","stroke-width":"4"},[i.createVNode("circle",{"stroke-opacity":".5",cx:"18",cy:"18",r:"18"}),i.createVNode("path",{d:"M36 18c0-9.94-8.06-18-18-18"},[i.createVNode("animateTransform",{attributeName:"transform",type:"rotate",from:"0 18 18",to:"360 18 18",dur:"1s",repeatCount:"indefinite"})])])],-1);function yfe(t,e,n,o,r,s){return i.openBlock(),i.createBlock("div",null,[t.isSucking?i.createCommentVNode("v-if",!0):(i.openBlock(),i.createBlock("svg",{key:0,class:[{active:t.isOpenSucker},"sucker"],xmlns:"http://www.w3.org/2000/svg",viewBox:"-12 -12 48 48",onClick:e[1]||(e[1]=(...a)=>t.openSucker&&t.openSucker(...a))},[mfe],2)),t.isSucking?(i.openBlock(),i.createBlock("svg",gfe,[vfe])):i.createCommentVNode("v-if",!0)])}od.render=yfe;od.__file="src/color/Sucker.vue";var rd=i.defineComponent({props:{name:{type:String,default:""},color:{type:String,default:""}},emits:["inputColor","inputFocus","inputBlur"],setup(t,{emit:e}){return{modelColor:i.computed({get(){return t.color||""},set(s){e("inputColor",s)}}),handleFocus:s=>{e("inputFocus",s)},handleBlur:s=>{e("inputBlur",s)}}}});const _fe={class:"color-type"},Cfe={class:"name"};function bfe(t,e,n,o,r,s){return i.openBlock(),i.createBlock("div",_fe,[i.createVNode("span",Cfe,i.toDisplayString(t.name),1),i.withDirectives(i.createVNode("input",{"onUpdate:modelValue":e[1]||(e[1]=a=>t.modelColor=a),class:"value",onFocus:e[2]||(e[2]=(...a)=>t.handleFocus&&t.handleFocus(...a)),onBlur:e[3]||(e[3]=(...a)=>t.handleBlur&&t.handleBlur(...a))},null,544),[[i.vModelText,t.modelColor]])])}rd.render=bfe;rd.__file="src/color/Box.vue";var id=i.defineComponent({name:"ColorPicker",props:{color:{type:String,default:"#000000"},colorsDefault:{type:Array,default:()=>[]},colorsHistoryKey:{type:String,default:""}},emits:["selectColor"],setup(t,{emit:e}){const n=i.ref(),o=i.ref([]),r=i.ref();t.colorsHistoryKey&&localStorage&&(o.value=JSON.parse(localStorage.getItem(t.colorsHistoryKey))||[]),r.value=Xu(4).toDataURL(),i.onUnmounted(()=>{s(n.value)});function s(l){if(!l)return;const c=o.value||[],u=c.indexOf(l);u>=0&&c.splice(u,1),c.length>=8&&(c.length=7),c.unshift(l),o.value=c||[],localStorage&&t.colorsHistoryKey&&localStorage.setItem(t.colorsHistoryKey,JSON.stringify(c))}function a(l){e("selectColor",l)}return{setColorsHistory:s,colorsHistory:o,color:n,imgAlphaBase64:r,selectColor:a}}});const kfe={class:"colors"},wfe={key:0,class:"colors history"};function Efe(t,e,n,o,r,s){return i.openBlock(),i.createBlock("div",null,[i.createVNode("ul",kfe,[(i.openBlock(!0),i.createBlock(i.Fragment,null,i.renderList(t.colorsDefault,a=>(i.openBlock(),i.createBlock("li",{key:a,class:"item",onClick:l=>t.selectColor(a)},[i.createVNode("div",{style:{background:`url(${t.imgAlphaBase64})`},class:"alpha"},null,4),i.createVNode("div",{style:{background:a},class:"color"},null,4)],8,["onClick"]))),128))]),t.colorsHistory.length?(i.openBlock(),i.createBlock("ul",wfe,[(i.openBlock(!0),i.createBlock(i.Fragment,null,i.renderList(t.colorsHistory,a=>(i.openBlock(),i.createBlock("li",{key:a,class:"item",onClick:l=>t.selectColor(a)},[i.createVNode("div",{style:{background:`url(${t.imgAlphaBase64})`},class:"alpha"},null,4),i.createVNode("div",{style:{background:a},class:"color"},null,4)],8,["onClick"]))),128))])):i.createCommentVNode("v-if",!0)])}id.render=Efe;id.__file="src/color/Colors.vue";var Tr=i.defineComponent({components:{Saturation:Qu,Hue:ed,Alpha:td,Preview:nd,Sucker:od,Box:rd,Colors:id},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 ife(this.rgba,!0)}},created(){Object.assign(this,Ao(this.color)),this.setText(),this.$watch("rgba",()=>{this.$emit("changeColor",{rgba:this.rgba,hsv:this.hsv,hex:this.modelHex})})},methods:{selectSaturation(t){const{r:e,g:n,b:o,h:r,s,v:a}=Ao(t);Object.assign(this,{r:e,g:n,b:o,h:r,s,v:a}),this.setText()},handleFocus(t){this.$emit("inputFocus",t)},handleBlur(t){this.$emit("inputBlur",t)},selectHue(t){const{r:e,g:n,b:o,h:r,s,v:a}=Ao(t);Object.assign(this,{r:e,g:n,b:o,h:r,s,v:a}),this.setText(),this.$nextTick(()=>{this.$refs.saturation.renderColor(),this.$refs.saturation.renderSlide()})},selectAlpha(t){this.a=t,this.setText()},inputHex(t){const{r:e,g:n,b:o,a:r,h:s,s:a,v:l}=Ao(t);Object.assign(this,{r:e,g:n,b:o,a:r,h:s,s:a,v:l}),this.modelHex=t,this.modelRgba=this.rgbaStringShort,this.$nextTick(()=>{this.$refs.saturation.renderColor(),this.$refs.saturation.renderSlide(),this.$refs.hue.renderSlide()})},inputRgba(t){const{r:e,g:n,b:o,a:r,h:s,s:a,v:l}=Ao(t);Object.assign(this,{r:e,g:n,b:o,a:r,h:s,s:a,v:l}),this.modelHex=this.hexString,this.modelRgba=t,this.$nextTick(()=>{this.$refs.saturation.renderColor(),this.$refs.saturation.renderSlide(),this.$refs.hue.renderSlide()})},setText(){this.modelHex=this.hexString,this.modelRgba=this.rgbaStringShort},openSucker(t){this.$emit("openSucker",t)},selectSucker(t){const{r:e,g:n,b:o,a:r,h:s,s:a,v:l}=Ao(t);Object.assign(this,{r:e,g:n,b:o,a:r,h:s,s:a,v:l}),this.setText(),this.$nextTick(()=>{this.$refs.saturation.renderColor(),this.$refs.saturation.renderSlide(),this.$refs.hue.renderSlide()})},selectColor(t){const{r:e,g:n,b:o,a:r,h:s,s:a,v:l}=Ao(t);Object.assign(this,{r:e,g:n,b:o,a:r,h:s,s:a,v:l}),this.setText(),this.$nextTick(()=>{this.$refs.saturation.renderColor(),this.$refs.saturation.renderSlide(),this.$refs.hue.renderSlide()})}}});const xfe={class:"color-set"};function Sfe(t,e,n,o,r,s){const a=i.resolveComponent("Saturation"),l=i.resolveComponent("Hue"),c=i.resolveComponent("Alpha"),u=i.resolveComponent("Preview"),d=i.resolveComponent("Sucker"),f=i.resolveComponent("Box"),p=i.resolveComponent("Colors");return i.openBlock(),i.createBlock("div",{class:["hu-color-picker",{light:t.isLightTheme}],style:{width:t.totalWidth+"px"}},[i.createVNode("div",xfe,[i.createVNode(a,{ref:"saturation",color:t.rgbString,hsv:t.hsv,size:t.hueHeight,onSelectSaturation:t.selectSaturation},null,8,["color","hsv","size","onSelectSaturation"]),i.createVNode(l,{ref:"hue",hsv:t.hsv,width:t.hueWidth,height:t.hueHeight,onSelectHue:t.selectHue},null,8,["hsv","width","height","onSelectHue"]),i.createVNode(c,{ref:"alpha",color:t.rgbString,rgba:t.rgba,width:t.hueWidth,height:t.hueHeight,onSelectAlpha:t.selectAlpha},null,8,["color","rgba","width","height","onSelectAlpha"])]),i.createVNode("div",{style:{height:t.previewHeight+"px"},class:"color-show"},[i.createVNode(u,{color:t.rgbaString,width:t.previewWidth,height:t.previewHeight},null,8,["color","width","height"]),t.suckerHide?i.createCommentVNode("v-if",!0):(i.openBlock(),i.createBlock(d,{key:0,"sucker-canvas":t.suckerCanvas,"sucker-area":t.suckerArea,onOpenSucker:t.openSucker,onSelectSucker:t.selectSucker},null,8,["sucker-canvas","sucker-area","onOpenSucker","onSelectSucker"]))],4),i.createVNode(f,{name:"HEX",color:t.modelHex,onInputColor:t.inputHex,onInputFocus:t.handleFocus,onInputBlur:t.handleBlur},null,8,["color","onInputColor","onInputFocus","onInputBlur"]),i.createVNode(f,{name:"RGBA",color:t.modelRgba,onInputColor:t.inputRgba,onInputFocus:t.handleFocus,onInputBlur:t.handleBlur},null,8,["color","onInputColor","onInputFocus","onInputBlur"]),i.createVNode(p,{color:t.rgbaString,"colors-default":t.colorsDefault,"colors-history-key":t.colorsHistoryKey,onSelectColor:t.selectColor},null,8,["color","colors-default","colors-history-key","onSelectColor"]),i.createCommentVNode(" custom options "),i.renderSlot(t.$slots,"default")],6)}Tr.render=Sfe;Tr.__file="src/color/ColorPicker.vue";Tr.install=t=>{t.component(Tr.name,Tr)};const Tfe={class:"color-picker-wrapper"},dl=i.defineComponent({__name:"AoColorPicker",props:{color:{}},emits:["update:color"],setup(t,{emit:e}){const n=t,o=e,r=i.ref(!1),s=i.ref(null),a=i.ref(null),l=i.ref(0),c=i.ref(0),u=async m=>{a.value=m,r.value=!0,await i.nextTick();const g=m.getBoundingClientRect(),C=s.value,_=(C==null?void 0:C.offsetHeight)||300,y=window.innerHeight-g.bottom,v=g.top,w=y<_&&v>_;console.log("pickerHeight = "+_),l.value=w?g.top-_-8:g.bottom+8,c.value=g.left,setTimeout(()=>{window.addEventListener("click",f)},0)},d=i.computed(()=>({position:"fixed",top:`${l.value}px`,left:`${c.value}px`,zIndex:1e3})),f=m=>{const g=m.target;s.value&&!s.value.contains(g)&&(r.value=!1,o("update:color",p.value),window.removeEventListener("click",f))};i.onBeforeUnmount(()=>{window.removeEventListener("click",f)}),i.watch(()=>n.color,m=>{r.value||(p.value=m)});const p=i.ref(n.color),h=m=>{const{r:g,g:C,b:_,a:y}=m.rgba;p.value=`rgba(${g}, ${C}, ${_}, ${y})`};return(m,g)=>(i.openBlock(),i.createElementBlock("div",Tfe,[i.renderSlot(m.$slots,"clickable",{openPicker:u,bgColor:t.color}),r.value?(i.openBlock(),i.createElementBlock("div",{key:0,ref_key:"pickerRef",ref:s,class:"color-picker",style:i.normalizeStyle(d.value)},[i.createVNode(i.unref(Tr),{class:"color-picker-box",theme:"light",color:t.color,onChangeColor:h},null,8,["color"])],4)):i.createCommentVNode("",!0)]))}});const Afe={class:"ao-card-project-phase__header"},Nfe={class:"ao-card-project-item__title-line"},Dfe={key:0,class:"ao-card-project-item-phase__estimation"},Mfe={class:"ao-card-project-phase__footer"},Bfe={key:0,class:"ao-card-project-phase__footer-row ao-card-project-phase__footer-row--progress"},$fe={class:"ao-card-project-phase__subitem"},Ofe={class:"ao-card-project-phase__subitem"},Lfe={key:0,class:"ao-card-project-phase__secondary"},Ife={class:"ao-card-project-phase__deadline ao-card-project-phase__deadline--readonly"},Pfe=i.defineComponent({__name:"AoCardProjectItemPhase",props:{id:{},projectName:{},name:{},milestones:{},isEditable:{type:Boolean},deadline:{},active:{type:Boolean},color:{},timeTrackingData:{},estimationUnit:{}},emits:["update:title","update:deadline","archivePhase","unarchivePhase","updatePhase"],setup(t,{emit:e}){const n=t,o=e,r=g=>{o("update:title",g)},s=i.computed(()=>{var g;return((g=n.milestones)==null?void 0:g.reduce((C,_)=>{var y;return C+((y=_.activities)==null?void 0:y.reduce((v,w)=>v+(w.estimation||0),0))},0))||0}),a=i.computed(()=>!n.milestones||!n.timeTrackingData?0:n.milestones.reduce((g,C)=>{var _;return g+(((_=C.activities)==null?void 0:_.reduce((y,v)=>{var k;const w=(k=n.timeTrackingData)==null?void 0:k[v.id];return y+((w==null?void 0:w.timeSpent)||0)},0))||0)},0)),l=i.computed(()=>n.estimationUnit==="days"?"d":"h"),c=i.computed(()=>Aa(a.value,n.estimationUnit)),u=i.computed(()=>{var g;return(g=n.milestones)==null?void 0:g.length}),d=i.computed(()=>{var g;return(g=n.milestones)==null?void 0:g.filter(C=>C.status===$i.done).length}),f=i.computed(()=>(d.value||0)/(u.value||1)),p=i.computed({get:()=>n.deadline??"",set:g=>o("update:deadline",g!=null&&g.length?g:null)}),h=i.computed({get:()=>n.color,set:g=>{o("updatePhase",{id:n.id,color:g})}}),m=(g,C)=>{const _=g.target;_.closest("button")||_.closest("input")||_.closest(".ao-title")||C(_)};return(g,C)=>(i.openBlock(),i.createBlock(dl,{color:h.value,"onUpdate:color":C[2]||(C[2]=_=>h.value=_)},{clickable:i.withCtx(({openPicker:_,bgColor:y})=>[i.createVNode(cl,{class:"ao-card-project-phase","is-clickable":t.isEditable,color:y,"with-left-border":!0,onClick:v=>m(v,_)},i.createSlots({default:i.withCtx(()=>[i.createElementVNode("div",Nfe,[i.createVNode(at,{id:t.id,class:"ao-card-project-phase__title",title:t.name||"",level:4,"is-editable":t.isEditable,"onUpdate:title":r},null,8,["id","title","is-editable"]),s.value||a.value?(i.openBlock(),i.createElementBlock("span",Dfe," ("+i.toDisplayString(c.value)+"/"+i.toDisplayString(s.value)+i.toDisplayString(l.value)+")",1)):i.createCommentVNode("",!0)])]),footer:i.withCtx(()=>[i.createElementVNode("div",Mfe,[u.value?(i.openBlock(),i.createElementBlock("div",Bfe,[i.createElementVNode("div",$fe,[i.createVNode(be,{name:"MountainFlagOutlineRounded",size:"sm"}),i.createElementVNode("span",Ofe,i.toDisplayString(d.value)+" / "+i.toDisplayString(u.value),1)]),i.createVNode(ul,{percentages:f.value,class:"ao-card-project-phase__progress",color:t.color},null,8,["percentages","color"]),g.$slots.secondary?(i.openBlock(),i.createElementBlock("div",Lfe,[i.renderSlot(g.$slots,"secondary")])):i.createCommentVNode("",!0)])):i.createCommentVNode("",!0),i.createElementVNode("div",{class:i.normalizeClass(["ao-card-project-phase__footer-row",p.value?"":"ao-card-project-phase__no_deadline"])},[t.isEditable?i.withDirectives((i.openBlock(),i.createElementBlock("input",{key:0,"onUpdate:modelValue":C[1]||(C[1]=v=>p.value=v),class:"ao-card-project-phase__deadline ao-card-project-phase__deadline--input",type:"date"},null,512)),[[i.vModelText,p.value,void 0,{lazy:!0}]]):i.createCommentVNode("",!0),i.createElementVNode("span",Ife,i.toDisplayString(i.unref(Na)(t.deadline)),1)],2)])]),_:2},[t.isEditable?{name:"header",fn:i.withCtx(()=>[i.createElementVNode("div",Afe,[i.createVNode(me,{class:"ao-card-project-phase__archive",color:"primary",variant:"ghost","icon-name":"ArchiveOutlineRounded",size:"sm","icon-position":"start",corners:"round",label:t.active?g.$t("archive"):g.$t("unarchive"),onClick:C[0]||(C[0]=i.withModifiers(()=>t.active?g.$emit("archivePhase",{id:t.id}):g.$emit("unarchivePhase",{id:t.id}),["stop"]))},null,8,["label"])])]),key:"0"}:void 0]),1032,["is-clickable","color","onClick"])]),_:3},8,["color"]))}});const Ffe=i.defineComponent({__name:"AoBadge",props:{color:{}},setup(t){return(e,n)=>(i.openBlock(),i.createElementBlock("span",{class:"aoBadge",style:i.normalizeStyle({backgroundColor:t.color})},null,4))}});const Vfe={class:"ao-card-project-milestone__default"},Rfe={class:"ao-title-with-badge-wrapper"},zfe={class:"ao-card-project-item__title-line"},Ufe={key:0,class:"ao-card-project-item-milestone__estimation"},qfe={key:0,class:"ao-card-project-milestone__archive"},Hfe={class:"ao-card-project-milestone__activities"},jfe={class:"ao-card-project-milestone__activities-row"},Wfe={class:"ao-card-project-milestone__subitem"},Zfe={class:"ao-card-project-milestone__subitem"},Kfe={key:1,class:"ao-card-project-milestone__secondary"},Gfe={class:"ao-card-project-milestone__footer"},Yfe={key:1,class:"ao-field ao-card-project-milestone__deadline"},Jfe={class:"ao-field__label"},Xfe={key:2,class:"ao-card-project-milestone__assignee"},Qfe=i.defineComponent({__name:"AoCardProjectItemMilestone",props:{id:{},name:{},color:{},phaseColor:{},activities:{},closedStatus:{},isEditable:{type:Boolean},deadline:{},active:{type:Boolean},isSelected:{type:Boolean},assignee:{},important:{type:Boolean},readonly:{type:Boolean},timeTrackingData:{},estimationUnit:{}},emits:["updateMilestone","archiveMilestone","unarchiveMilestone"],setup(t,{emit:e}){const n=t,o=e,r=i.computed(()=>{var p;return((p=n.activities)==null?void 0:p.reduce((h,m)=>h+(m.estimation||0),0))||0}),s=i.computed(()=>!n.activities||!n.timeTrackingData?0:n.activities.reduce((p,h)=>{var g;const m=(g=n.timeTrackingData)==null?void 0:g[h.id];return p+((m==null?void 0:m.timeSpent)||0)},0)),a=i.computed(()=>n.estimationUnit==="days"?"d":"h"),l=i.computed(()=>Aa(s.value,n.estimationUnit));i.computed(()=>{const p=s.value/60;return p%1===0?p.toString():p.toFixed(2)});const c=i.computed(()=>{var p;return(p=n.activities)==null?void 0:p.length}),u=i.computed(()=>{var p;return(p=n.activities)==null?void 0:p.filter(h=>Kc(h,n.closedStatus)).length}),d=i.computed(()=>(u.value||0)/(c.value||1)),f=p=>{o("updateMilestone",{id:n.id,name:p})};return(p,h)=>(i.openBlock(),i.createBlock(cl,{class:i.normalizeClass(["ao-card-project-milestone"]),"is-clickable":!t.readonly,"tag-name":"li","is-selected":t.isSelected,color:t.phaseColor},{default:i.withCtx(()=>[i.createElementVNode("div",Vfe,[i.createElementVNode("div",Rfe,[i.createVNode(Ffe,{color:t.color||""},null,8,["color"]),i.createElementVNode("div",zfe,[i.createVNode(at,{id:t.id,title:t.name||"",level:5,"is-editable":!t.readonly&&t.isEditable,class:"ao-card-project-milestone__title","onUpdate:title":f},null,8,["id","title","is-editable"]),r.value||s.value?(i.openBlock(),i.createElementBlock("span",Ufe," ("+i.toDisplayString(l.value)+"/"+i.toDisplayString(r.value)+i.toDisplayString(a.value)+")",1)):i.createCommentVNode("",!0)])]),!t.readonly&&t.isEditable?(i.openBlock(),i.createElementBlock("div",qfe,[i.createVNode(me,{color:"primary",variant:"ghost","icon-name":"ArchiveOutlineRounded",size:"sm","icon-position":"start",corners:"round",label:t.active?p.$t("archive"):p.$t("unarchive"),onClick:h[0]||(h[0]=i.withModifiers(()=>t.active?p.$emit("archiveMilestone",{id:t.id}):p.$emit("unarchiveMilestone",{id:t.id}),["stop"]))},null,8,["label"])])):i.createCommentVNode("",!0)]),i.createElementVNode("div",Hfe,[i.createElementVNode("div",jfe,[c.value?(i.openBlock(),i.createElementBlock(i.Fragment,{key:0},[i.createElementVNode("div",Wfe,[i.createVNode(be,{name:"SelectCheckBox",size:"sm"}),i.createElementVNode("span",Zfe,i.toDisplayString(u.value)+" / "+i.toDisplayString(c.value),1)]),i.createVNode(ul,{percentages:d.value,color:t.phaseColor,class:"ao-card-project-milestone__progress"},null,8,["percentages","color"])],64)):i.createCommentVNode("",!0),p.$slots.secondary?(i.openBlock(),i.createElementBlock("div",Kfe,[i.renderSlot(p.$slots,"secondary")])):i.createCommentVNode("",!0)])])]),footer:i.withCtx(()=>[i.createElementVNode("div",Gfe,[t.important?(i.openBlock(),i.createBlock(be,{key:0,name:"FlagRounded",class:i.normalizeClass(t.isSelected?"ao-card-project-milestone__important--selected":"ao-card-project-milestone__important"),size:"sm"},null,8,["class"])):i.createCommentVNode("",!0),t.deadline?(i.openBlock(),i.createElementBlock("label",Yfe,[i.createElementVNode("span",Jfe,i.toDisplayString(i.unref(Na)(t.deadline)),1)])):i.createCommentVNode("",!0),t.assignee?(i.openBlock(),i.createElementBlock("div",Xfe,[i.createVNode(Un,{"user-name":i.unref(Mp)(t.assignee),"avatar-url":t.assignee.avatarUrl,color:t.isSelected?"black":"primary",size:"sm"},null,8,["user-name","avatar-url","color"])])):i.createCommentVNode("",!0)])]),_:3},8,["is-clickable","is-selected","color"]))}});const epe={class:"ao-mapping-card-project-phase__header"},tpe={class:"ao-card-project-item__title-line"},npe={key:0,class:"ao-card-project-item-phase__estimation"},ope={class:"ao-mapping-card-project-phase__footer"},rpe={key:0,class:"ao-mapping-card-project-phase__footer-row ao-mapping-card-project-phase__footer-row--progress"},ipe={class:"ao-mapping-card-project-phase__subitem"},spe={class:"ao-mapping-card-project-phase__subitem"},ape={key:0,class:"ao-mapping-card-project-phase__secondary"},lpe={class:"ao-mapping-card-project-phase__deadline ao-mapping-card-project-phase__deadline--readonly"},cpe=i.defineComponent({__name:"AoCondensedCardProjectItemPhase",props:{id:{},projectName:{},name:{},milestones:{},isEditable:{type:Boolean},deadline:{},active:{type:Boolean},color:{},timeTrackingData:{},estimationUnit:{}},emits:["update:title","update:deadline","archivePhase","updatePhase","unarchivePhase"],setup(t,{emit:e}){const n=t,o=e,r=g=>{o("update:title",g)},s=i.computed(()=>{var g;return((g=n.milestones)==null?void 0:g.reduce((C,_)=>{var y;return C+((y=_.activities)==null?void 0:y.reduce((v,w)=>v+(w.estimation||0),0))},0))||0}),a=i.computed(()=>!n.milestones||!n.timeTrackingData?0:n.milestones.reduce((g,C)=>{var _;return g+(((_=C.activities)==null?void 0:_.reduce((y,v)=>{var k;const w=(k=n.timeTrackingData)==null?void 0:k[v.id];return y+((w==null?void 0:w.timeSpent)||0)},0))||0)},0)),l=i.computed(()=>n.estimationUnit==="days"?"d":"h"),c=i.computed(()=>Aa(a.value,n.estimationUnit)),u=i.computed(()=>{var g;return(g=n.milestones)==null?void 0:g.length}),d=i.computed(()=>{var g;return(g=n.milestones)==null?void 0:g.filter(C=>C.status===$i.done).length}),f=i.computed(()=>(d.value||0)/(u.value||1)),p=i.computed({get:()=>n.deadline??"",set:g=>o("update:deadline",g!=null&&g.length?g:null)}),h=i.computed({get:()=>n.color,set:g=>{o("updatePhase",{id:n.id,color:g})}}),m=(g,C)=>{const _=g.target;_.closest("button")||_.closest("input")||_.closest(".ao-title")||C()};return(g,C)=>(i.openBlock(),i.createBlock(dl,{color:h.value,"onUpdate:color":C[2]||(C[2]=_=>h.value=_)},{clickable:i.withCtx(({openPicker:_,bgColor:y})=>[i.createVNode(cl,{class:"ao-mapping-card-project-phase","is-clickable":t.isEditable,color:y,"with-left-border":!0,onClick:v=>m(v,_)},i.createSlots({default:i.withCtx(()=>[i.createElementVNode("div",tpe,[i.createVNode(at,{id:t.id,class:"ao-mapping-card-project-phase__title",title:t.name||"",level:4,"is-editable":t.isEditable,"onUpdate:title":r},null,8,["id","title","is-editable"]),s.value||a.value?(i.openBlock(),i.createElementBlock("span",npe," ("+i.toDisplayString(c.value)+"/"+i.toDisplayString(s.value)+i.toDisplayString(l.value)+")",1)):i.createCommentVNode("",!0)])]),footer:i.withCtx(()=>[i.createElementVNode("div",ope,[u.value?(i.openBlock(),i.createElementBlock("div",rpe,[i.createElementVNode("div",ipe,[i.createVNode(be,{name:"MountainFlagOutlineRounded",size:"sm"}),i.createElementVNode("span",spe,i.toDisplayString(d.value)+" / "+i.toDisplayString(u.value),1)]),i.createVNode(ul,{percentages:f.value,class:"ao-mapping-card-project-phase__progress",color:h.value},null,8,["percentages","color"]),g.$slots.secondary?(i.openBlock(),i.createElementBlock("div",ape,[i.renderSlot(g.$slots,"secondary")])):i.createCommentVNode("",!0)])):i.createCommentVNode("",!0),i.createElementVNode("div",{class:i.normalizeClass(["ao-mapping-card-project-phase__footer-row",p.value?"":"ao-mapping-card-project-phase__no_deadline"])},[t.isEditable?i.withDirectives((i.openBlock(),i.createElementBlock("input",{key:0,"onUpdate:modelValue":C[1]||(C[1]=v=>p.value=v),class:"ao-mapping-card-project-phase__deadline ao-mapping-card-project-phase__deadline--input",type:"date"},null,512)),[[i.vModelText,p.value,void 0,{lazy:!0}]]):i.createCommentVNode("",!0),i.createElementVNode("span",lpe,i.toDisplayString(i.unref(Na)(t.deadline)),1)],2)])]),_:2},[t.isEditable?{name:"header",fn:i.withCtx(()=>[i.createElementVNode("div",epe,[i.createVNode(me,{class:"ao-mapping-card-project-phase__archive",color:"primary",variant:"ghost","icon-name":"ArchiveOutlineRounded",size:"sm","icon-position":"start",corners:"round",label:t.active?g.$t("archive"):g.$t("unarchive"),onClick:C[0]||(C[0]=i.withModifiers(()=>t.active?g.$emit("archivePhase",{id:t.id}):g.$emit("unarchivePhase",{id:t.id}),["stop"]))},null,8,["label"])])]),key:"0"}:void 0]),1032,["is-clickable","color","onClick"])]),_:3},8,["color"]))}});const upe={class:"ao-project-phase"},dpe={key:0,class:"ao-project-phase__drag ao-card__drag"},fpe={key:1,class:"ao-project-phase__col-phase"},ppe={key:2,class:"ao-mapping-project-phase__col-phase"},hpe={key:0,class:"ao-project-phase__col-milestones"},mpe={class:"ao-project-phase__milestones-list-footer"},gpe=i.defineComponent({__name:"AoProjectPhase",props:{phase:{},closedStatus:{},users:{},isEditable:{type:Boolean},readonly:{type:Boolean},timeTrackingData:{},estimationUnit:{}},emits:["addMilestone","updateMilestone","archiveMilestone","unarchiveMilestone","updatePhase","archivePhase","unarchivePhase"],setup(t,{emit:e}){const{t:n}=Hn(),o=t,r=e;i.watch(()=>o.phase.milestones,(v,w)=>{In(v,w)});const s=v=>{r("updatePhase",{id:o.phase.id,name:v})},a=v=>{r("updatePhase",{id:o.phase.id,deadline:v})},l=v=>{r("updatePhase",v)},c=i.computed(()=>o.phase.milestones.map(v=>m_(v,o.closedStatus))),u=v=>{const{name:w,rank:k}=Uo(c.value??[],"milestone",n);r("addMilestone",{name:w,rank:k,phaseId:v})},d=v=>{r("updateMilestone",v)},f=v=>{r("archiveMilestone",v)},p=v=>{r("unarchiveMilestone",v)},h=v=>{r("archivePhase",v)},m=v=>{r("unarchivePhase",v)},g=v=>{"added"in v?r("updateMilestone",{id:v.added.element.id,phaseId:o.phase.id,rank:Ar(c.value,v.added.newIndex)}):"removed"in v||"moved"in v&&r("updateMilestone",{id:v.moved.element.id,rank:Ar(c.value,v.moved.newIndex)})},C=Ki.useRoute(),_=i.computed(()=>C.path.includes("/mapping")),y=i.computed(()=>{var v;return o.phase.id!==((v=C.params)==null?void 0:v.phaseId)?{backgroundColor:"var(--ao-color-sheet)"}:o.phase.color?{backgroundColor:v_(o.phase.color)}:{backgroundColor:"var(--ao-color-primary-lightest)"}});return(v,w)=>(i.openBlock(),i.createElementBlock("li",upe,[i.createElementVNode("div",{class:"ao-project-phases__draggable-card",style:i.normalizeStyle(y.value)},[t.isEditable?(i.openBlock(),i.createElementBlock("div",dpe,[i.createVNode(be,{name:"DragIndicator",class:"ao-project-phase__drag-handle"})])):i.createCommentVNode("",!0),_.value?(i.openBlock(),i.createElementBlock("div",ppe,[i.createVNode(cpe,{id:t.phase.id,milestones:c.value,name:t.phase.name,deadline:t.phase.deadline,active:t.phase.active,"is-editable":t.isEditable,color:t.phase.color,"estimation-unit":t.estimationUnit,"onUpdate:deadline":a,"onUpdate:title":s,onArchivePhase:h,onUnarchivePhase:m,onUpdatePhase:l},null,8,["id","milestones","name","deadline","active","is-editable","color","estimation-unit"])])):(i.openBlock(),i.createElementBlock("div",fpe,[i.createVNode(Pfe,{id:t.phase.id,milestones:c.value,name:t.phase.name,deadline:t.phase.deadline,active:t.phase.active,"is-editable":t.isEditable,color:t.phase.color,"time-tracking-data":t.timeTrackingData,"estimation-unit":t.estimationUnit,"onUpdate:deadline":a,"onUpdate:title":s,onArchivePhase:h,onUnarchivePhase:m,onUpdatePhase:l},null,8,["id","milestones","name","deadline","active","is-editable","color","time-tracking-data","estimation-unit"])]))],4),_.value?i.createCommentVNode("",!0):(i.openBlock(),i.createElementBlock("div",hpe,[i.createElementVNode("div",{class:"ao-project-phase__milestones",style:i.normalizeStyle(y.value)},[i.createVNode(i.unref(mo),i.mergeProps({class:"ao-project-phase__milestones-list",list:c.value,disabled:t.readonly||!t.isEditable,"item-key":"id",group:"kanban"},v.$attrs,{onChange:g}),{item:i.withCtx(({element:k})=>{var b;return[i.createVNode(Qfe,{id:k.id,name:k.name,color:k.color,"phase-color":t.phase.color,activities:k.activities,deadline:k.deadline,active:k.active,"is-editable":!t.readonly&&t.isEditable,"is-draggable":!t.readonly&&t.isEditable,"closed-status":t.closedStatus,"is-selected":k.id===((b=v.$route.params)==null?void 0:b.milestoneId),assignee:k.assignee,important:k.important,readonly:t.readonly,"time-tracking-data":t.timeTrackingData,"estimation-unit":t.estimationUnit,class:i.normalizeClass(["ao-project-phase__milestone"]),onClick:S=>!t.readonly&&v.$router.push({name:i.unref(je).milestone,params:{phaseId:t.phase.id,milestoneId:k.id}}),onUpdateMilestone:d,onArchiveMilestone:f,onUnarchiveMilestone:p},null,8,["id","name","color","phase-color","activities","deadline","active","is-editable","is-draggable","closed-status","is-selected","assignee","important","readonly","time-tracking-data","estimation-unit","onClick"])]}),_:1},16,["list","disabled"]),i.createElementVNode("div",mpe,[t.isEditable?(i.openBlock(),i.createBlock(go,{key:0,label:v.$t("project.milestone.add"),class:"ao-project-phase__milestone-add","icon-name":"Add",onClick:w[0]||(w[0]=()=>u(t.phase.id))},null,8,["label"])):i.createCommentVNode("",!0)])],4)]))]))}});const vpe={class:"ao-project__phases"},ype={key:0,class:"ao-project-phase__phases-list-footer"},_pe={class:"ao-project-phase__col-phase"},sd=i.defineComponent({__name:"AoProjectPhases",props:{phases:{},closedStatus:{},isEditable:{type:Boolean},users:{},readonly:{type:Boolean},timeTrackingData:{},estimationUnit:{}},emits:["addMilestone","updateMilestone","archiveMilestone","unarchiveMilestone","addPhase","updatePhase","archivePhase","unarchivePhase"],setup(t,{emit:e}){const n=t,o=e;i.watch(()=>n.phases,(h,m)=>{In(h,m)});const r=h=>{o("addMilestone",h)},s=h=>{o("updateMilestone",h)},a=h=>{o("archiveMilestone",h)},l=h=>{o("unarchiveMilestone",h)},c=h=>{o("archivePhase",h)},u=h=>{o("unarchivePhase",h)},d=h=>{if(h.moved){const m=Xi(h,n.phases??[]);o("updatePhase",{id:h.moved.element.id,rank:m})}},f=h=>{o("updatePhase",h)},p=h=>{o("addPhase",h)};return(h,m)=>(i.openBlock(),i.createElementBlock("div",vpe,[i.createVNode(i.unref(mo),{class:"ao-project-phase__phases-list","model-value":t.phases,"item-key":"id",handle:".ao-card__drag",onChange:d},{item:i.withCtx(({element:g})=>[i.createVNode(gpe,{phase:g,"is-editable":!t.readonly&&t.isEditable,"closed-status":t.closedStatus,users:t.users,readonly:t.readonly,"time-tracking-data":t.timeTrackingData,"estimation-unit":t.estimationUnit,onAddMilestone:r,onUpdateMilestone:s,onArchiveMilestone:a,onUnarchiveMilestone:l,onUpdatePhase:f,onArchivePhase:c,onUnarchivePhase:u},null,8,["phase","is-editable","closed-status","users","readonly","time-tracking-data","estimation-unit"])]),_:1},8,["model-value"]),t.isEditable?(i.openBlock(),i.createElementBlock("div",ype,[m[0]||(m[0]=i.createElementVNode("div",{class:"ao-project-phase__empty_drag"},null,-1)),i.createElementVNode("div",_pe,[i.createVNode(go,{label:h.$t("project.phases.add"),"icon-name":"Add",class:"ao-project-phase__add-phase",onClick:p},null,8,["label"])]),m[1]||(m[1]=i.createElementVNode("div",{class:"ao-project-phase__col-milestones"},null,-1))])):i.createCommentVNode("",!0)]))}});const Cpe={class:"ao-add-template-modal__form-body"},bpe={class:"field__row"},kpe={class:"ao-add-template-modal__form-footer"},Ig=i.defineComponent({__name:"AoAddTemplateModal",props:{projectId:{},templates:{}},emits:["apply"],setup(t,{emit:e}){const n=t,o=e,r=i.computed(()=>n.templates.map(c=>({value:c.id,label:c.name}))),s=i.ref(null),a=c=>{s.value=c},l=()=>{s.value&&o("apply",s.value,n.projectId)};return(c,u)=>(i.openBlock(),i.createBlock(Da,{size:"sm"},{header:i.withCtx(()=>[i.createVNode(at,{title:c.$t("project.template.apply.title"),level:3},null,8,["title"])]),default:i.withCtx(()=>[i.createElementVNode("form",{class:"ao-add-template-modal__form",onSubmit:i.withModifiers(l,["prevent"])},[i.createElementVNode("p",null,i.toDisplayString(c.$t("project.template.apply.notice")),1),i.createElementVNode("div",Cpe,[i.createElementVNode("div",bpe,[i.createVNode(Dt,{value:s.value,options:r.value,detached:!0,onChange:a},null,8,["value","options"])])]),i.createElementVNode("footer",kpe,[i.createVNode(me,{label:c.$t("project.template.apply.label"),type:"submit",color:"primary",variant:"solid",onClick:l},null,8,["label"])])],32)]),_:1}))}});const wpe={class:"ao-save-template-modal__form-body"},Epe={class:"field__row"},xpe={class:"ao-field ao-field--inline"},Spe={class:"ao-field__label"},Tpe={class:"ao-save-template-modal__phases"},Ape={class:"ao-field__label"},Npe={class:"ao-save-template-modal__phases-list"},Dpe=["value"],Mpe={class:"ao-save-template-modal__form-footer"},Pg=i.defineComponent({__name:"AoSaveTemplateModal",props:{phases:{}},emits:["save"],setup(t,{emit:e}){const n=t,o=e,r=i.ref(""),s=i.ref([]);i.onMounted(()=>{s.value=n.phases.map(l=>l.id)});const a=()=>{r.value&&o("save",r.value,s.value)};return(l,c)=>(i.openBlock(),i.createBlock(Da,{size:"sm"},{header:i.withCtx(()=>[i.createVNode(at,{title:l.$t("project.template.save.title"),level:3},null,8,["title"])]),default:i.withCtx(()=>[i.createElementVNode("form",{class:"ao-save-template-modal__form",onSubmit:i.withModifiers(a,["prevent"])},[i.createElementVNode("div",wpe,[i.createElementVNode("div",Epe,[i.createElementVNode("label",xpe,[i.createElementVNode("span",Spe,i.toDisplayString(l.$t("project.template.name.label"))+": ",1),i.withDirectives(i.createElementVNode("input",{"onUpdate:modelValue":c[0]||(c[0]=u=>r.value=u),type:"text"},null,512),[[i.vModelText,r.value]])])]),i.createElementVNode("div",Tpe,[i.createElementVNode("div",Ape,i.toDisplayString(l.$t("project.template.phases.label")),1),i.createElementVNode("div",Npe,[(i.openBlock(!0),i.createElementBlock(i.Fragment,null,i.renderList(n.phases,u=>(i.openBlock(),i.createElementBlock("label",{key:u.id,class:"ao-field ao-field--checkbox"},[i.withDirectives(i.createElementVNode("input",{"onUpdate:modelValue":c[1]||(c[1]=d=>s.value=d),type:"checkbox",value:u.id},null,8,Dpe),[[i.vModelCheckbox,s.value]]),i.createElementVNode("span",null,i.toDisplayString(u.name),1)]))),128))])])]),i.createElementVNode("footer",Mpe,[i.createVNode(me,{label:l.$t("project.template.save.label"),type:"submit",color:"primary",variant:"solid",onClick:a},null,8,["label"])])],32)]),_:1}))}});const Bpe={class:"ao-project"},$pe={class:"ao-project__body"},Ope=i.defineComponent({__name:"AoProjectOverviewProject",props:{project:{},phases:{},closedStatus:{},users:{},userId:{},templates:{},isTaskCheckable:{type:Function},statuses:{},activityTypes:{},isEditable:{type:[Boolean,String]},showsArchived:{type:Boolean},attachmentEnabled:{type:Boolean},timeTrackingData:{},loadAttachmentPreview:{type:Function}},emits:["addPhase","updatePhase","archivePhase","unarchivePhase","addMilestone","updateMilestone","archiveMilestone","unarchiveMilestone","addActivity","update:activity","archiveActivity","copyPhaseToTemplate","unarchiveActivity","addSubtask","updateSubtask","deleteSubtask","addFiles","removeFile","addComment","updateComment","removeComment","applyTemplate","saveTemplate","update:showsArchived"],setup(t,{emit:e}){const{t:n}=Hn(),o=t,r=e,s=i.computed(()=>o.phases.flatMap(N=>N.milestones)),a=()=>{const{name:N,rank:G}=Uo(o.phases,"phase",n);r("addPhase",{name:N,rank:G,projectId:o.project.id})},l=N=>{r("updatePhase",N)},c=N=>{r("archivePhase",N)},u=N=>{r("unarchivePhase",N)},d=N=>{r("copyPhaseToTemplate",N)},f=N=>{r("addMilestone",N)},p=N=>{r("updateMilestone",N)},h=N=>{r("archiveMilestone",N)},m=N=>{r("unarchiveMilestone",N)},g=N=>{r("addActivity",N)},C=N=>{r("update:activity",N)},_=N=>{r("archiveActivity",N)},y=N=>{r("unarchiveActivity",N)},v=N=>{r("addSubtask",N)},w=N=>{r("updateSubtask",N)},k=N=>{r("deleteSubtask",N)},b=i.computed(()=>s.value.flatMap(N=>N.activities)),S=N=>{r("addFiles",N)},T=N=>{r("removeFile",N)},A=N=>{r("addComment",N)},x=N=>{r("updateComment",N)},M=N=>{r("removeComment",N)},B=i.ref(!1),$=i.ref(!1),O=(N,G)=>{r("applyTemplate",{templateId:N,projectId:G}),B.value=!1},P=(N,G)=>{var ue;const z=(ue=o.templates)==null?void 0:ue.at(-1),H=z?it.LexoRank.parse(z.rank).genNext():it.LexoRank.middle();r("saveTemplate",{templateName:N,rank:H.format(),phaseIds:G}),$.value=!1},F=Ki.useRouter(),K=i.ref("overview"),V=[{label:"Overview",value:"overview"},{label:"Feed",value:"feed"},{label:"Mapping",value:"mapping"}];return i.watch(K,N=>{N==="feed"?(F.push({name:je.feed}),console.log("Navigating to feed...")):N==="overview"?(F.push({name:je.project}),console.log("Navigating to feed...")):N==="mapping"&&(F.push({name:je.mapping}),console.log("Navigating to feed..."))}),(N,G)=>{var H;const z=i.resolveComponent("RouterView");return i.openBlock(),i.createElementBlock(i.Fragment,null,[i.createElementVNode("div",i.mergeProps({class:"ao-project-overview"},N.$attrs),[i.createElementVNode("div",Bpe,[i.createVNode(Qi,null,{primary:i.withCtx(()=>[i.createVNode(fs,{modelValue:K.value,"onUpdate:modelValue":G[0]||(G[0]=ue=>K.value=ue),tabs:V},null,8,["modelValue"]),i.createVNode(me,{class:"ao-feed__show-archived",size:"sm","icon-name":t.showsArchived?"CheckBoxOutlineRounded":"CheckBoxOutlineBlank","icon-position":"start",color:"primary",variant:"ghost",label:N.$t("feed.filters.showsArchived.label"),role:"checkbox","aria-checked":t.showsArchived,onClick:G[1]||(G[1]=ue=>N.$emit("update:showsArchived",!t.showsArchived))},null,8,["icon-name","label","aria-checked"])]),secondary:i.withCtx(()=>[t.isEditable===!0?(i.openBlock(),i.createBlock(me,{key:0,class:"ao-project-overview__save-as-template",color:"primary",label:N.$t("project.template.save.label"),onClick:G[2]||(G[2]=ue=>$.value=!0)},null,8,["label"])):i.createCommentVNode("",!0),t.isEditable===!0?(i.openBlock(),i.createBlock(me,{key:1,class:"ao-project-overview__add-template",color:"primary",label:N.$t("project.template.apply.label"),onClick:G[3]||(G[3]=ue=>B.value=!0)},null,8,["label"])):i.createCommentVNode("",!0)]),_:1}),i.createElementVNode("div",$pe,[i.createVNode(sd,{phases:t.phases,"closed-status":t.closedStatus,"is-editable":t.isEditable===!0,users:t.users,"time-tracking-data":t.timeTrackingData,"estimation-unit":(H=t.project)==null?void 0:H.estimationUnit,onAddMilestone:f,onUpdateMilestone:p,onArchiveMilestone:h,onUnarchiveMilestone:m,onAddPhase:a,onUpdatePhase:l,onArchivePhase:c,onUnarchivePhase:u,onCopyPhaseToTemplate:d},null,8,["phases","closed-status","is-editable","users","time-tracking-data","estimation-unit"])])]),i.createVNode(z,{class:"ao-project__sidebar",phases:t.phases,"project-id":t.project.id,"project-name":t.project.name,users:t.users,"is-editable":t.isEditable===!0,"closed-status":t.closedStatus,"time-tracking-data":t.timeTrackingData,onClose:G[4]||(G[4]=ue=>N.$router.push({name:i.unref(je).project})),onUpdateMilestone:p,onAddActivity:g,onUpdateActivity:C,onArchiveActivity:_,onUnarchiveActivity:y},null,8,["phases","project-id","project-name","users","is-editable","closed-status","time-tracking-data"]),(i.openBlock(),i.createBlock(i.Teleport,{to:"body"},[i.createVNode(z,{name:"modal",activities:b.value,"is-task-checkable":t.isTaskCheckable,statuses:t.statuses,"activity-types":t.activityTypes,phases:t.phases,project:t.project,users:t.users,"user-id":t.userId,"is-editable":t.isEditable,"attachment-enabled":t.attachmentEnabled,"time-tracking-data":t.timeTrackingData,"load-attachment-preview":t.loadAttachmentPreview,"onUpdate:activity":C,onAddSubtask:v,onUpdateSubtask:w,onDeleteSubtask:k,onAddFiles:S,onRemoveFile:T,onAddComment:A,onUpdateComment:x,onRemoveComment:M},{default:i.withCtx(({Component:ue})=>[(i.openBlock(),i.createBlock(i.resolveDynamicComponent(ue),null,{default:i.withCtx(Q=>[i.renderSlot(N.$slots,"activityDetailsBody",i.normalizeProps(i.guardReactiveProps(Q)))]),_:3}))]),_:3},8,["activities","is-task-checkable","statuses","activity-types","phases","project","users","user-id","is-editable","attachment-enabled","time-tracking-data","load-attachment-preview"])]))],16),(i.openBlock(),i.createBlock(i.Teleport,{to:"body"},[$.value?(i.openBlock(),i.createBlock(Pg,{key:0,phases:t.phases,onClose:G[5]||(G[5]=ue=>$.value=!1),onSave:P},null,8,["phases"])):i.createCommentVNode("",!0),B.value?(i.openBlock(),i.createBlock(Ig,{key:1,"project-id":t.project.id,templates:t.templates,onClose:G[6]||(G[6]=ue=>B.value=!1),onApply:O},null,8,["project-id","templates"])):i.createCommentVNode("",!0)]))],64)}}});const Lpe={class:"ao-card-feed__header"},Ipe={key:1,class:"ao-card-feed__header-secondary ao-card-feed__header-icons"},Ppe={key:2,class:"ao-card-feed__header-secondary ao-card-feed__secondary"},Fpe={class:"ao-card-feed__body"},Vpe={key:0,class:"ao-card-feed__breadcrumbs"},Rpe={class:i.normalizeClass(["ao-card-feed__title-group"])},zpe={class:"ao-card-feed__title-line"},Upe={key:0,class:"ao-card-feed__slug"},qpe={key:1,class:"ao-card-feed__deadline"},Hpe={class:"ao-card-feed__footer"},jpe={class:"ao-card-feed__footer-row"},Wpe={class:"ao-assignees"},Zpe={key:0,class:"ao-assignee"},Kpe={key:0,class:"ao-card-feed__subitems"},Gpe={key:0,class:"ao-card-feed__subitem"},Ype={class:"ao-card-feed__subitem"},Jpe={key:1,class:"ao-card-feed__subitem"},Xpe={class:"ao-card-feed__subitem"},Qpe={class:"ao-card-feed__timer-wrapper"},ehe={class:"ao-card-feed__footer-row"},the={key:0,class:"ao-card-feed__progress-wrapper"},nhe={class:"ao-card-feed__subitem"},ohe={class:"ao-card-feed__subitem"},ad=i.defineComponent({__name:"AoCardFeed",props:{id:{},name:{},projectName:{},projectId:{},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","startTimer"],setup(t,{emit:e}){const n=t,o=e,r=i.computed(()=>n.tagType==="milestone"?n.milestoneName:n.projectName),s=i.computed(()=>n.tagType==="milestone"?n.milestoneColor:n.projectColor),a=g=>{o("updateActivity",{id:n.id,name:g})},l=i.computed(()=>n.tagType==="milestone"&&n.phaseName?`${n.phaseName}`:n.phaseName&&n.milestoneName?`${n.phaseName} / ${n.milestoneName}`:""),c=i.computed(()=>n.assignee?[n.assignee]:[]),u=i.computed(()=>Na(n.deadline)),d=g=>{o("removeAssignee",g)},f=()=>{o("startTimer",{activityId:n.id,name:n.name,project:n.projectName,projectId:n.projectId,slug:n.slug})},p=i.computed(()=>{var g;return(g=n.tasks)==null?void 0:g.length}),h=i.computed(()=>{var g;return(g=n.tasks)==null?void 0:g.filter(C=>C.isDone).length}),m=i.computed(()=>(h.value||0)/(p.value||1));return(g,C)=>(i.openBlock(),i.createBlock(cl,{class:i.normalizeClass(["ao-card-feed",{"ao-card-feed--closed":t.isClosed}]),"is-clickable":!0},{header:i.withCtx(()=>[i.createElementVNode("div",Lpe,[r.value?(i.openBlock(),i.createBlock(Bi,{key:0,label:r.value,class:"ao-card-feed__project",variant:"solid",color:t.projectColor?void 0:"primary","raw-color":s.value},null,8,["label","color","raw-color"])):i.createCommentVNode("",!0),t.isPrivate||t.important||t.isClosed?(i.openBlock(),i.createElementBlock("div",Ipe,[t.isPrivate?(i.openBlock(),i.createBlock(be,{key:0,name:"Lock",class:"ao-card-feed__warning",size:"sm"})):i.createCommentVNode("",!0),t.important?(i.openBlock(),i.createBlock(be,{key:1,name:"FlagRounded",class:"ao-card-feed__important",size:"sm"})):i.createCommentVNode("",!0),t.isClosed?(i.openBlock(),i.createBlock(be,{key:2,name:"CheckSmallRounded",class:"ao-card-feed__closed"})):i.createCommentVNode("",!0)])):i.createCommentVNode("",!0),g.$slots.secondary?(i.openBlock(),i.createElementBlock("div",Ppe,[i.renderSlot(g.$slots,"secondary")])):i.createCommentVNode("",!0)])]),default:i.withCtx(()=>[i.createElementVNode("div",Fpe,[l.value?(i.openBlock(),i.createElementBlock("span",Vpe,i.toDisplayString(l.value),1)):i.createCommentVNode("",!0),i.createElementVNode("div",Rpe,[i.createElementVNode("div",zpe,[t.slug?(i.openBlock(),i.createElementBlock("span",Upe,i.toDisplayString(t.slug)+": ",1)):i.createCommentVNode("",!0),i.createVNode(at,{id:t.id,title:t.name,level:5,"is-editable":t.isEditable,class:"ao-card-feed__title-inline","onUpdate:title":a},null,8,["id","title","is-editable"])])]),t.deadline?(i.openBlock(),i.createElementBlock("span",qpe,i.toDisplayString(u.value),1)):i.createCommentVNode("",!0)])]),footer:i.withCtx(()=>[i.createElementVNode("div",Hpe,[i.createElementVNode("div",jpe,[i.createElementVNode("ul",Wpe,[(i.openBlock(!0),i.createElementBlock(i.Fragment,null,i.renderList(c.value,_=>(i.openBlock(),i.createElementBlock(i.Fragment,{key:_.id},[_?(i.openBlock(),i.createElementBlock("li",Zpe,[i.createVNode(Un,{"user-name":i.unref(Mp)(_),"avatar-url":_.avatarUrl,"is-closable":!0,onClose:()=>d(_.id)},null,8,["user-name","avatar-url","onClose"])])):i.createCommentVNode("",!0)],64))),128))]),t.comments||t.attachments?(i.openBlock(),i.createElementBlock("ul",Kpe,[t.comments?(i.openBlock(),i.createElementBlock("li",Gpe,[i.createVNode(be,{name:"ChatOutline",size:"sm"}),i.createElementVNode("span",Ype,i.toDisplayString(t.comments),1)])):i.createCommentVNode("",!0),t.attachments?(i.openBlock(),i.createElementBlock("li",Jpe,[i.createVNode(be,{name:"AttachFileRounded",size:"sm"}),i.createElementVNode("span",Xpe,i.toDisplayString(t.attachments),1)])):i.createCommentVNode("",!0)])):i.createCommentVNode("",!0),i.createElementVNode("div",Qpe,[i.createVNode(be,{name:"TimerOutline",class:"ao-card-feed__timer",size:"md",onClick:i.withModifiers(f,["stop"])})])]),i.createElementVNode("div",ehe,[t.tasks&&t.tasks.length?(i.openBlock(),i.createElementBlock("div",the,[i.createElementVNode("div",nhe,[i.createVNode(be,{name:"SelectCheckBox",size:"sm"}),i.createElementVNode("span",ohe,i.toDisplayString(h.value)+" / "+i.toDisplayString(p.value),1)]),i.createVNode(ul,{percentages:m.value,class:"ao-card-feed__progress"},null,8,["percentages"])])):i.createCommentVNode("",!0)])])]),_:3},8,["class"]))}});const rhe={class:"ao-project-milestone"},ihe={class:"ao-project-milestone__header"},she={class:"ao-project-milestone__header_line"},ahe={class:"ao-project-milestone__header_line"},lhe={class:"ao-project-milestone__title"},che={key:0,class:"ao-fieldset ao-milestone__fieldset"},uhe={class:"ao-field__row ao-milestone__field-row"},dhe={class:"ao-field ao-field--inline"},fhe={class:"ao-field__row ao-milestone__field-row"},phe={class:"ao-field ao-milestone__field-multiselect"},hhe=["onClick"],mhe={class:"ao-project-milestone__body"},ghe={key:0,class:"ao-project-milestone__footer"},cp=i.defineComponent({__name:"AoProjectOverviewMilestoneDetails",props:{milestoneId:{},users:{},projectId:{},phases:{},phaseId:{},isEditable:{type:Boolean},closedStatus:{},timeTrackingData:{}},emits:["close","addActivity","updateMilestone","updateActivity","archiveActivity","unarchiveActivity","startTimer"],setup(t,{emit:e}){const{t:n}=Hn(),o=t,r=e,s=k=>{var b;r("startTimer",k),(b=window.parent)==null||b.postMessage({type:"startTimer",data:k},"*")},a=i.computed(()=>{var k;return(k=o.phases)==null?void 0:k.find(b=>b.id===o.phaseId)}),l=i.computed(()=>{var k;return(k=o.phases)==null?void 0:k.flatMap(b=>b.milestones)}),c=i.computed(()=>{var k;return(k=l.value)==null?void 0:k.find(b=>b.id===o.milestoneId)}),u=i.computed(()=>{var k;return(k=c.value)==null?void 0:k.activities});i.watch(u,(k,b)=>{In(k,b)});const d=k=>{r("close",k)},f=()=>{const{name:k,rank:b}=Uo(u.value??[],"activity",n);r("addActivity",{milestoneId:o.milestoneId,name:k,rank:b,projectId:o.projectId})},p=k=>{r("updateActivity",k)},h=k=>{u.value&&"moved"in k&&r("updateActivity",{id:k.moved.element.id,rank:Ar(u.value,k.moved.newIndex)})},m=i.computed({get:()=>{var k;return(k=c.value)==null?void 0:k.color},set:k=>{c.value&&r("updateMilestone",{id:c.value.id,color:k})}}),g=i.computed({get:()=>{var k;return((k=c==null?void 0:c.value)==null?void 0:k.deadline)??""},set:k=>{c.value&&r("updateMilestone",{id:c.value.id,deadline:k!=null&&k.length?k:null})}}),C=k=>o.closedStatus?Kc(k,o.closedStatus):!1,_=i.computed(()=>{var k;return((k=o.users)==null?void 0:k.map(b=>({label:`${b.firstName} ${b.lastName}`,value:b.id,avatar:b.avatarUrl})))||[]}),y=i.computed({get(){var k,b;return(b=(k=c.value)==null?void 0:k.assignee)!=null&&b.id?[c.value.assignee.id]:[]},set(k){r("updateMilestone",{id:o.milestoneId,assigneeId:k[0]??null})}}),v=i.computed({get(){var k;return((k=c.value)==null?void 0:k.important)??!1},set(k){r("updateMilestone",{id:o.milestoneId,important:k})}}),w=(k,b)=>{const S=k.currentTarget;S instanceof HTMLElement&&b(S)};return(k,b)=>{var S;return i.openBlock(),i.createElementBlock("div",rhe,[i.createElementVNode("header",ihe,[i.createElementVNode("div",she,[i.createVNode(me,{"icon-name":"CloseRounded",variant:"ghost",size:"sm",class:"ao-milestone__close",onClick:d})]),i.createElementVNode("div",ahe,[i.createElementVNode("div",lhe,[i.createVNode(at,{title:((S=c.value)==null?void 0:S.name)||t.milestoneId,level:5},null,8,["title"]),i.createVNode(Og,{modelValue:v.value,"onUpdate:modelValue":b[0]||(b[0]=T=>v.value=T),modelModifiers:{lazy:!0},disabled:!t.isEditable,class:"ao-milestone__important",color:"danger",label:k.$t("activity.important.label"),"icon-name":"FlagRounded",variant:"ghost",size:"sm"},null,8,["modelValue","disabled","label"])])]),c.value?(i.openBlock(),i.createElementBlock("div",che,[i.createElementVNode("div",uhe,[i.createElementVNode("label",dhe,[i.withDirectives(i.createElementVNode("input",{"onUpdate:modelValue":b[1]||(b[1]=T=>g.value=T),class:"ao-milestone__field ao-milestone__date-field",type:"date"},null,512),[[i.vModelText,g.value,void 0,{lazy:!0}]])])]),i.createElementVNode("div",fhe,[i.createElementVNode("label",phe,[i.createVNode(Dt,{modelValue:y.value,"onUpdate:modelValue":b[2]||(b[2]=T=>y.value=T),options:_.value,"close-on-select":!0,searchable:!0,max:1,class:"ao-milestone__field ao-milestone__multiselect",placeholder:k.$t("activity.filters.assignee.placeholder"),mode:"tags",disabled:!t.isEditable,caret:t.isEditable},{tag:i.withCtx(({option:T,handleTagRemove:A})=>[i.createVNode(Un,{"user-name":T.label,"avatar-url":T.avatar,"is-closable":!0,onClose:x=>A(T,x)},null,8,["user-name","avatar-url","onClose"])]),_:1},8,["modelValue","options","placeholder","disabled","caret"])])]),i.createVNode(dl,{color:m.value,"onUpdate:color":b[3]||(b[3]=T=>m.value=T)},{clickable:i.withCtx(({openPicker:T,bgColor:A})=>[i.createElementVNode("button",{style:i.normalizeStyle({background:A}),class:"color-button",onClick:x=>w(x,T)},null,12,hhe)]),_:1},8,["color"])])):i.createCommentVNode("",!0)]),i.createElementVNode("div",mhe,[i.createVNode(i.unref(mo),i.mergeProps({class:"ao-project-milestone__activities",list:u.value,disabled:!t.isEditable,"item-key":"id",group:"kanban"},k.$attrs,{onChange:h}),{item:i.withCtx(({element:T})=>{var A,x,M,B,$;return[i.createVNode(ad,{id:T.id,name:T.name||T.id,"project-id":t.projectId,"phase-name":(A=a.value)==null?void 0:A.name,"milestone-name":(x=c.value)==null?void 0:x.name,"milestone-color":(M=c.value)==null?void 0:M.color,deadline:T.deadline,important:T.important,users:t.users,assignee:T.assignee,slug:T.slug,comments:(B=T.comments)==null?void 0:B.length,attachments:($=T.attachments)==null?void 0:$.length,tasks:T.tasks,"is-editable":t.isEditable,"is-private":T.private,"is-closed":C(T),onClick:O=>k.$router.push({name:i.unref(je).activity,params:{milestoneId:t.milestoneId,activityId:T.id}}),onUpdateActivity:p,onRemoveAssignee:()=>p({id:T.id,assigneeId:null}),onStartTimer:s},i.createSlots({_:2},[t.isEditable?{name:"secondary",fn:i.withCtx(()=>[t.isEditable&&T.active?(i.openBlock(),i.createBlock(me,{key:0,color:"primary",variant:"ghost","icon-name":"ArchiveOutlineRounded",size:"sm","icon-position":"start",corners:"round",label:k.$t("archive"),onClick:i.withModifiers(()=>k.$emit("archiveActivity",{id:T.id}),["stop"])},null,8,["label","onClick"])):i.createCommentVNode("",!0),t.isEditable&&!T.active?(i.openBlock(),i.createBlock(me,{key:1,color:"primary",variant:"ghost","icon-name":"ArchiveOutlineRounded",size:"sm","icon-position":"start",corners:"round",label:k.$t("feed.activity.unarchive"),onClick:i.withModifiers(()=>k.$emit("unarchiveActivity",{id:T.id}),["stop"])},null,8,["label","onClick"])):i.createCommentVNode("",!0)]),key:"0"}:void 0]),1032,["id","name","project-id","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"]),t.isEditable?(i.openBlock(),i.createElementBlock("div",ghe,[i.createVNode(go,{"icon-name":"Add",label:k.$t("project.activity.add"),onClick:f},null,8,["label"])])):i.createCommentVNode("",!0)])])}}});const vhe=i.defineComponent({__name:"AoProjectOverviewActivityDetails",props:{phaseId:{},milestoneId:{},activityId:{},activityTypes:{},activities:{},isTaskCheckable:{type:Function},statuses:{},phases:{},users:{},project:{},userId:{},isEditable:{type:Boolean},attachmentEnabled:{type:Boolean},timeTrackingData:{},loadAttachmentPreview:{type:Function}},emits:["update:activity","addSubtask","updateSubtask","deleteSubtask","addFiles","removeFile","addComment","updateComment","removeComment"],setup(t,{emit:e}){const n=t,o=e,r=i.computed(()=>{var _;return(_=n.phases)==null?void 0:_.find(y=>y.id===n.phaseId)}),s=i.computed(()=>{var _;return(_=n.phases)==null?void 0:_.flatMap(y=>y.milestones)}),a=i.computed(()=>{var _;return(_=s.value)==null?void 0:_.find(y=>y.id===n.milestoneId)}),l=i.computed(()=>{var _;return(_=n.activities)==null?void 0:_.find(y=>y.id===n.activityId)}),c=_=>{o("update:activity",_)},u=_=>{o("addSubtask",_)},d=_=>{o("updateSubtask",_)},f=_=>{o("deleteSubtask",_)},p=_=>{o("addFiles",_)},h=_=>{o("removeFile",_)},m=_=>{o("addComment",_)},g=_=>{o("updateComment",_)},C=_=>{o("removeComment",_)};return(_,y)=>{var v,w;return l.value?(i.openBlock(),i.createBlock(Ju,{key:0,activity:l.value,"activity-types":t.activityTypes,"milestone-id":t.milestoneId,"template-activities":t.activities,"is-template":!1,users:t.users,"user-id":t.userId,"is-task-checkable":t.isTaskCheckable,statuses:t.statuses,breadcrumbs:`${(v=r.value)==null?void 0:v.name} / ${(w=a.value)==null?void 0:w.name}`,"is-editable":t.isEditable,"attachment-enabled":t.attachmentEnabled,projects:[t.project],"time-tracking-data":t.timeTrackingData,"load-attachment-preview":n.loadAttachmentPreview,onClose:_.$router.back,"onUpdate:activity":c,onAddSubtask:u,onUpdateSubtask:d,onDeleteSubtask:f,onAddFiles:p,onRemoveFile:h,onAddComment:m,onUpdateComment:g,onRemoveComment:C},{default:i.withCtx(k=>[i.renderSlot(_.$slots,"default",i.normalizeProps(i.guardReactiveProps(k)))]),_:3},8,["activity","activity-types","milestone-id","template-activities","users","user-id","is-task-checkable","statuses","breadcrumbs","is-editable","attachment-enabled","projects","time-tracking-data","load-attachment-preview","onClose"])):i.createCommentVNode("",!0)}}}),yhe={class:"ao-col-header"},_he=i.defineComponent({__name:"AoColHeader",props:{title:{},items:{}},setup(t){return(e,n)=>(i.openBlock(),i.createElementBlock("header",yhe,[i.createVNode(at,{title:t.title,class:"ao-col-header__title",level:4},null,8,["title"]),t.items?(i.openBlock(),i.createBlock(Bi,{key:0,label:t.items,class:"ao-col-header__items",variant:"solid",color:"primary"},null,8,["label"])):i.createCommentVNode("",!0)]))}});function Che(t){return i.getCurrentScope()?(i.onScopeDispose(t),!0):!1}function ka(t){return typeof t=="function"?t():i.unref(t)}const bhe=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const khe=t=>t!=null,Mi=()=>{};function whe(t,e){function n(...o){return new Promise((r,s)=>{Promise.resolve(t(()=>e.apply(this,o),{fn:e,thisArg:this,args:o})).then(r).catch(s)})}return n}function Ehe(t,e={}){let n,o,r=Mi;const s=l=>{clearTimeout(l),r(),r=Mi};return l=>{const c=ka(t),u=ka(e.maxWait);return n&&s(n),c<=0||u!==void 0&&u<=0?(o&&(s(o),o=null),Promise.resolve(l())):new Promise((d,f)=>{r=e.rejectOnCancel?f:d,u&&!o&&(o=setTimeout(()=>{n&&s(n),o=null,d(l())},u)),n=setTimeout(()=>{o&&s(o),o=null,d(l())},c)})}}function xhe(t,e=200,n={}){return whe(Ehe(e,n),t)}function ic(t){var e;const n=ka(t);return(e=n==null?void 0:n.$el)!=null?e:n}const She=bhe?window:void 0;function The(){const t=i.ref(!1),e=i.getCurrentInstance();return e&&i.onMounted(()=>{t.value=!0},e),t}function Ahe(t){const e=The();return i.computed(()=>(e.value,!!t()))}function Nhe(t,e,n={}){const{root:o,rootMargin:r="0px",threshold:s=.1,window:a=She,immediate:l=!0}=n,c=Ahe(()=>a&&"IntersectionObserver"in a),u=i.computed(()=>{const m=ka(t);return(Array.isArray(m)?m:[m]).map(ic).filter(khe)});let d=Mi;const f=i.ref(l),p=c.value?i.watch(()=>[u.value,ic(o),f.value],([m,g])=>{if(d(),!f.value||!m.length)return;const C=new IntersectionObserver(e,{root:ic(g),rootMargin:r,threshold:s});m.forEach(_=>_&&C.observe(_)),d=()=>{C.disconnect(),d=Mi}},{immediate:l,flush:"post"}):Mi,h=()=>{d(),p(),f.value=!1};return Che(h),{isSupported:c,isActive:f,pause(){d(),f.value=!1},resume(){f.value=!0},stop:h}}const Dhe={class:i.normalizeClass(["ao-list-kanban"])},Mhe={class:"ao-list-kanban__header"},Bhe={key:0,class:"ao-list-kanban__end ao-list-kanban__end--loading"},$he={key:1,class:"ao-list-kanban__end"},Ohe={key:0,class:"ao-list-kanban__no-more"},Lhe={key:1,class:"ao-list-kanban__divider"},Ihe={key:1,class:"ao-list-kanban__footer"},Phe=i.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","startTimer"],setup(t,{emit:e}){const n=t,o=e,r=i.ref(!1),s=i.ref(null);Nhe(s,([{isIntersecting:f}])=>{r.value=f}),i.watch(r,f=>{f&&n.hasMore&&!n.isLoading&&o("loadMore")});const a=f=>{var p;return n.isEditable===!0?!0:n.userId&&n.isEditable==="only-own"?n.userId===((p=f.assignee)==null?void 0:p.id):!1},l=f=>{o("selectActivity",f)},c=f=>{o("updateActivity",f)},u=f=>{"added"in f?o("updateActivity",{id:f.added.element.id,statusId:n.status.id,rank:Ar(n.list,f.added.newIndex)}):"removed"in f||"moved"in f&&o("updateActivity",{id:f.moved.element.id,rank:Ar(n.list,f.moved.newIndex)})},d=i.ref(!1);return(f,p)=>(i.openBlock(),i.createElementBlock("div",Dhe,[t.title||f.$slots.header?i.renderSlot(f.$slots,"header",{},()=>{var h;return[i.createElementVNode("div",Mhe,[t.title?(i.openBlock(),i.createBlock(_he,{key:0,title:t.title,level:3,items:(h=t.list)==null?void 0:h.length},null,8,["title","items"])):i.createCommentVNode("",!0)])]},void 0,0):i.createCommentVNode("",!0),i.createVNode(i.unref(mo),i.mergeProps({class:["ao-list-kanban__list",d.value?"ao-list-kanban__transition":void 0],list:t.list,"item-key":"id",group:"kanban","ghost-class":"ao-list-kanban__ghost",animation:"200"},f.$attrs,{draggable:".ao-list-draggable",disabled:!t.isEditable,"component-data":{tag:"transition-group",name:"ao-list-kanban__transition"},onChange:u,onStart:p[1]||(p[1]=h=>d.value=!0),onEnd:p[2]||(p[2]=h=>d.value=!1)}),{item:i.withCtx(({element:h})=>{var m,g,C,_,y,v,w,k,b,S;return[i.createVNode(ad,{id:h.id,class:i.normalizeClass(a(h)?"ao-list-draggable":""),name:h.name,"project-name":(m=h.project)==null?void 0:m.name,"project-id":(g=h.project)==null?void 0:g.id,"project-color":(C=h.project)==null?void 0:C.color,"phase-name":(y=(_=h.milestone)==null?void 0:_.phase)==null?void 0:y.name,"milestone-name":(v=h.milestone)==null?void 0:v.name,"milestone-color":(w=h.milestone)==null?void 0:w.color,deadline:h.deadline,rules:((k=h.rules)==null?void 0:k.length)||0,tasks:h.tasks,description:h.description,important:h.important,type:h.type,comments:(b=h.comments)==null?void 0:b.length,attachments:(S=h.attachments)==null?void 0:S.length,users:t.users,assignee:h.assignee,slug:h.slug,"is-editable":a(h),"is-private":h.private,"tag-type":t.tagType,onUpdateActivity:[T=>a(h)&&c(T),()=>a(h)&&c],onClick:()=>l(h.id),onRemoveAssignee:()=>a(h)&&c({id:h.id,assigneeId:null}),onStartTimer:p[0]||(p[0]=T=>f.$emit("startTimer",T))},{secondary:i.withCtx(()=>[a(h)&&h.active?(i.openBlock(),i.createBlock(me,{key:0,color:"primary",variant:"ghost","icon-name":"ArchiveOutlineRounded",size:"sm","icon-position":"start",corners:"round",label:f.$t("feed.activity.archive"),onClick:i.withModifiers(()=>f.$emit("archiveActivity",{id:h.id}),["stop"])},null,8,["label","onClick"])):i.createCommentVNode("",!0),a(h)&&!h.active?(i.openBlock(),i.createBlock(me,{key:1,color:"primary",variant:"ghost","icon-name":"ArchiveOutlineRounded",size:"sm","icon-position":"start",corners:"round",label:f.$t("feed.activity.unarchive"),onClick:i.withModifiers(()=>f.$emit("unarchiveActivity",{id:h.id}),["stop"])},null,8,["label","onClick"])):i.createCommentVNode("",!0)]),_:2},1032,["id","class","name","project-name","project-id","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:i.withCtx(()=>[t.isLoading?(i.openBlock(),i.createElementBlock("div",Bhe,[i.createVNode(be,{name:"Loading"})])):t.hasMore?(i.openBlock(),i.createElementBlock("div",{key:2,ref_key:"scrollEnd",ref:s,class:"ao-list-kanban__end"},null,512)):(i.openBlock(),i.createElementBlock("div",$he,[t.noMoreLabel?(i.openBlock(),i.createElementBlock("span",Ohe,i.toDisplayString(t.noMoreLabel),1)):t.isEditable?(i.openBlock(),i.createElementBlock("span",Lhe)):i.createCommentVNode("",!0)]))]),_:1},16,["class","list","disabled"]),f.$slots.footer||t.footerLabel?(i.openBlock(),i.createElementBlock("div",Ihe,[i.renderSlot(f.$slots,"footer",{},()=>[t.isEditable?(i.openBlock(),i.createBlock(go,{key:0,"icon-name":"AddBoxOutlineRounded",label:t.footerLabel,onClick:p[3]||(p[3]=h=>f.$emit("add"))},null,8,["label"])):i.createCommentVNode("",!0)])])):i.createCommentVNode("",!0)]))}});const Fhe={class:"ao-field ao-search-field"},Vhe=["value","placeholder"],Rhe=i.defineComponent({__name:"AoSearchField",props:{modelValue:{},delay:{default:250},placeholder:{default:"Search"}},emits:["update:modelValue","clear"],setup(t,{emit:e}){const n=t,o=e,r=async l=>{const u=l.target.value;o("update:modelValue",u,l)},s=xhe(r,n.delay),a=l=>{o("clear",l)};return(l,c)=>(i.openBlock(),i.createElementBlock("div",Fhe,[i.createElementVNode("input",{value:t.modelValue,type:"text",class:"ao-field__input ao-search-field__input",placeholder:t.placeholder,onInput:c[0]||(c[0]=(...u)=>i.unref(s)&&i.unref(s)(...u)),onKeypress:i.withKeys(r,["enter"])},null,40,Vhe),i.createVNode(be,{name:"SearchRounded",class:i.normalizeClass(`ao-search-field__icon ao-search-field__action ${t.modelValue?"":"ao-search-field__action--visible"}`)},null,8,["class"]),i.createVNode(me,{"icon-name":"CloseRounded",size:"sm",color:"primary",corners:"round",class:i.normalizeClass(`ao-search-field__button ao-search-field__action ${t.modelValue?"ao-search-field__action--visible":""}`),onClick:a},null,8,["class"])]))}});const zhe={class:"ao-feed"},Uhe={class:"ao-feed__filters"},qhe={class:"ao-feed__body"},Fg=i.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},timeTrackingData:{},loadAttachmentPreview:{}},emits:["change:activities","addActivity","update:filters","selectActivity","update:activity","archiveActivity","unarchiveActivity","update:searchText","clear:searchText","update:showsArchivedActivities","update:showsOnlyImportant","update:showsOnlyNonAssigned","addSubtask","updateSubtask","deleteSubtask","addFiles","removeFile","addComment","updateComment","removeComment","toast","startTimer"],setup(t,{emit:e}){const{t:n}=Hn(),o=t,r=e;function s(z,H){r("toast",z,H)}const a=i.toRef(o,"activities"),l=async(z,H)=>{await r("selectActivity",z,H)},c=i.ref({}),u=i.ref(!1),d=i.ref(!1),f=i.computed(()=>o.project?"milestone":"project");i.watch([()=>o.statuses,()=>o.activities,()=>o.initialActivityId,()=>o.initialActivitySlug],async([z,H,ue,Q],[ie,U])=>{c.value=Object.fromEntries(z.map(ne=>[ne.id,H.filter(ge=>{var I;return((I=ge.status)==null?void 0:I.id)===ne.id})])),ue&&!u.value?(l(ue,null),u.value=!0):Q&&!u.value&&(l(null,Q),u.value=!0),d.value&&In(H,U)},{immediate:!0});const p=i.computed(()=>{var z;return!o.selectedActivity||!o.selectedActivity.milestone?"":`${((z=o.selectedActivity.milestone.phase)==null?void 0:z.name)??""} / ${o.selectedActivity.milestone.name??""}`}),h=z=>{var U,ne;const H=(U=o.activities)==null?void 0:U.at(-1),ue=H?it.LexoRank.parse(H.rank).genNext():it.LexoRank.middle(),Q=((ne=o.activities)==null?void 0:ne.length)??0,ie={name:n("activity.defaultName",{idx:Q+1}),rank:ue.format(),statusId:z.id};o.filters.assigneeId.length>0&&(ie.assigneeId=o.filters.assigneeId[0]),o.filters.projectId.length>0&&(ie.projectId=o.filters.projectId[0]),o.filters.typeId.length>0&&(ie.typeId=o.filters.typeId[0]),d.value=!0,r("addActivity",ie)},m=(z,H)=>{d.value=!1,r("update:filters",{...o.filters,[z]:H})},g=i.computed(()=>o.project?[o.project]:o.projects??[]),C=i.computed(()=>g.value.map(z=>({value:z.id,label:z.name}))),_=i.computed(()=>{var z;return(z=o.activityTypes)==null?void 0:z.map(H=>({value:H.id,label:H.name}))}),y=i.computed(()=>o.users.map(z=>({value:z.id,label:`${z.firstName} ${z.lastName}`,avatar:z.avatarUrl}))),v=z=>{o.selectedActivity&&r("update:activity",z)},w=z=>{r("update:activity",z)},k=z=>{r("archiveActivity",z)},b=z=>{r("unarchiveActivity",z)},S=z=>{var H;r("startTimer",z),(H=window.parent)==null||H.postMessage({type:"startTimer",data:z},"*")},T=z=>{d.value=!1,r("update:searchText",z)},A=z=>{d.value=!1,r("clear:searchText",z)},x=z=>{o.selectedActivity&&r("addSubtask",z)},M=z=>{o.selectedActivity&&r("updateSubtask",z)},B=z=>{o.selectedActivity&&r("deleteSubtask",z)},$=z=>{r("addFiles",z)},O=z=>{r("removeFile",z)},P=z=>{o.selectedActivity&&r("addComment",{...z,activityId:o.selectedActivity.id})},F=z=>{const{id:H}=o.selectedActivity||{};H&&r("updateComment",z)},K=z=>{const{id:H}=o.selectedActivity||{};H&&r("removeComment",z)},V=Ki.useRouter(),N=i.ref("feed"),G=[{label:"Overview",value:"overview"},{label:"Feed",value:"feed"},{label:"Mapping",value:"mapping"}];return i.watch(N,z=>{z==="feed"?(V.push({name:je.feed}),console.log("Navigating to feed...")):z==="overview"?(V.push({name:je.project}),console.log("Navigating to feed...")):z==="mapping"&&(V.push({name:je.mapping}),console.log("Navigating to feed..."))}),(z,H)=>{var ue;return i.openBlock(),i.createElementBlock("div",zhe,[i.createVNode(Qi,null,{primary:i.withCtx(()=>[i.createElementVNode("div",Uhe,[i.createVNode(fs,{modelValue:N.value,"onUpdate:modelValue":H[0]||(H[0]=Q=>N.value=Q),tabs:G},null,8,["modelValue"]),i.createVNode(Rhe,{"model-value":t.searchText,placeholder:z.$t("feed.search.placeholder"),class:"ao-feed__search","onUpdate:modelValue":T,onClear:A},null,8,["model-value","placeholder"]),o.project?i.createCommentVNode("",!0):(i.openBlock(),i.createBlock(Dt,{key:0,"model-value":t.filters[i.unref(No).project],mode:"tags",options:C.value,"close-on-select":!1,searchable:!0,class:"ao-feed__filter ao-feed__filter__projects",placeholder:z.$t("feed.filters.project.placeholder"),"onUpdate:modelValue":H[1]||(H[1]=Q=>m(i.unref(No).project,Q))},null,8,["model-value","options","placeholder"])),_.value?(i.openBlock(),i.createBlock(Dt,{key:1,"model-value":t.filters[i.unref(No).type],mode:"tags",options:_.value,"close-on-select":!1,searchable:!0,class:"ao-feed__filter ao-feed__filter__types",placeholder:z.$t("feed.filters.activityType.placeholder"),"onUpdate:modelValue":H[2]||(H[2]=Q=>m(i.unref(No).type,Q))},null,8,["model-value","options","placeholder"])):i.createCommentVNode("",!0),y.value.length?(i.openBlock(),i.createBlock(Dt,{key:2,"model-value":t.filters[i.unref(No).assignee],mode:"tags",options:y.value,"close-on-select":!1,searchable:!0,class:"ao-feed__filter ao-feed__filter__assignees",placeholder:z.$t("feed.filters.assignee.placeholder"),"onUpdate:modelValue":H[3]||(H[3]=Q=>m(i.unref(No).assignee,Q))},{tag:i.withCtx(({option:Q,handleTagRemove:ie})=>[i.createVNode(Un,{"user-name":Q.label,"avatar-url":Q.avatar,"is-closable":!0,onClose:U=>ie(Q,U)},null,8,["user-name","avatar-url","onClose"])]),_:1},8,["model-value","options","placeholder"])):i.createCommentVNode("",!0)]),i.createVNode(me,{class:"ao-feed__only-non-assigned",size:"sm","icon-name":t.showsOnlyNonAssigned?"CheckBoxOutlineRounded":"CheckBoxOutlineBlank","icon-position":"start",color:"primary",variant:"ghost",label:z.$t("feed.filters.showsOnlyNonAssigned.label"),role:"checkbox","aria-checked":t.showsOnlyNonAssigned,onClick:H[4]||(H[4]=Q=>z.$emit("update:showsOnlyNonAssigned",!t.showsOnlyNonAssigned))},null,8,["icon-name","label","aria-checked"]),i.createVNode(me,{class:"ao-feed__only-important",size:"sm","icon-name":t.showsOnlyImportant?"CheckBoxOutlineRounded":"CheckBoxOutlineBlank","icon-position":"start",color:"primary",variant:"ghost",label:z.$t("feed.filters.showsOnlyImportant.label"),role:"checkbox","aria-checked":t.showsOnlyImportant,onClick:H[5]||(H[5]=Q=>z.$emit("update:showsOnlyImportant",!t.showsOnlyImportant))},null,8,["icon-name","label","aria-checked"]),i.createVNode(me,{class:"ao-feed__show-archived",size:"sm","icon-name":t.showsArchivedActivities?"CheckBoxOutlineRounded":"CheckBoxOutlineBlank","icon-position":"start",color:"primary",variant:"ghost",label:z.$t("feed.filters.showsArchivedActivities.label"),role:"checkbox","aria-checked":t.showsArchivedActivities,onClick:H[6]||(H[6]=Q=>z.$emit("update:showsArchivedActivities",!t.showsArchivedActivities))},null,8,["icon-name","label","aria-checked"])]),_:1}),i.createElementVNode("div",qhe,[(i.openBlock(!0),i.createElementBlock(i.Fragment,null,i.renderList(t.statuses,Q=>(i.openBlock(),i.createBlock(Phe,{key:Q.id,status:Q,list:c.value[Q.id],title:Q.name,"footer-label":z.$t("feed.activity.add"),users:t.users,"user-id":t.userId,"is-editable":t.isEditable,"tag-type":f.value,onAdd:()=>h(Q),onSelectActivity:l,onArchiveActivity:k,onUnarchiveActivity:b,onUpdateActivity:w,onStartTimer:S},null,8,["status","list","title","footer-label","users","user-id","is-editable","tag-type","onAdd"]))),128))]),(i.openBlock(),i.createBlock(i.Teleport,{to:"body"},[t.selectedActivity?(i.openBlock(),i.createBlock(Ju,{key:0,activity:t.selectedActivity,"activity-types":t.activityTypes,"milestone-id":(ue=t.selectedActivity.milestone)==null?void 0:ue.id,"template-activities":a.value,users:t.users,"user-id":t.userId,"is-task-checkable":t.isTaskCheckable,statuses:t.statuses,breadcrumbs:p.value,"is-editable":t.isEditable,"attachment-enabled":t.attachmentEnabled,projects:g.value,"time-tracking-data":t.timeTrackingData,"load-attachment-preview":o.loadAttachmentPreview,onClose:H[7]||(H[7]=()=>l(null,null)),"onUpdate:activity":v,onAddSubtask:x,onUpdateSubtask:M,onDeleteSubtask:B,onAddFiles:$,onRemoveFile:O,onAddComment:P,onUpdateComment:F,onRemoveComment:K,onToast:s},{default:i.withCtx(Q=>[i.renderSlot(z.$slots,"activityDetailsBody",i.normalizeProps(i.guardReactiveProps(Q)))]),_:3},8,["activity","activity-types","milestone-id","template-activities","users","user-id","is-task-checkable","statuses","breadcrumbs","is-editable","attachment-enabled","projects","time-tracking-data","load-attachment-preview"])):i.createCommentVNode("",!0)]))])}}});const Hhe={class:"ao-project-mapping"},jhe={class:"ao-project-mapping-mapping__body"},Whe={class:"ao-project-mapping-mapping__phases"},Zhe={key:0,class:"ao-project-mapping-mapping__image-wrapper"},Khe=["src","alt"],Ghe=i.defineComponent({__name:"AoMapping",props:{project:{},phases:{},closedStatus:{},users:{},userId:{},templates:{},isTaskCheckable:{type:Function},statuses:{},activityTypes:{},isEditable:{type:[Boolean,String]},showsArchived:{type:Boolean},attachmentEnabled:{type:Boolean}},emits:["addPhase","updatePhase","archivePhase","unarchivePhase","copyPhaseToTemplate","applyTemplate","saveTemplate","update:showsArchived"],setup(t,{emit:e}){const{t:n}=Hn(),o=t,r=e,s=()=>{const{name:_,rank:y}=Uo(o.phases,"phase",n);r("addPhase",{name:_,rank:y,projectId:o.project.id})},a=_=>{r("updatePhase",_)},l=_=>{r("archivePhase",_)},c=_=>{r("unarchivePhase",_)},u=_=>{r("copyPhaseToTemplate",_)},d=i.ref(!1),f=i.ref(!1),p=(_,y)=>{r("applyTemplate",{templateId:_,projectId:y}),d.value=!1},h=(_,y)=>{var k;const v=(k=o.templates)==null?void 0:k.at(-1),w=v?it.LexoRank.parse(v.rank).genNext():it.LexoRank.middle();r("saveTemplate",{templateName:_,rank:w.format(),phaseIds:y}),f.value=!1},m=Ki.useRouter(),g=i.ref("mapping"),C=[{label:"Overview",value:"overview"},{label:"Feed",value:"feed"},{label:"Mapping",value:"mapping"}];return i.watch(g,_=>{_==="feed"?(m.push({name:je.feed}),console.log("Navigating to feed...")):_==="overview"?(m.push({name:je.project}),console.log("Navigating to feed...")):_==="mapping"&&(m.push({name:je.mapping}),console.log("Navigating to feed..."))}),(_,y)=>{var v;return i.openBlock(),i.createElementBlock(i.Fragment,null,[i.createElementVNode("div",i.mergeProps({class:"ao-project-mapping-overview"},_.$attrs),[i.createElementVNode("div",Hhe,[i.createVNode(Qi,null,{primary:i.withCtx(()=>[i.createVNode(fs,{modelValue:g.value,"onUpdate:modelValue":y[0]||(y[0]=w=>g.value=w),tabs:C},null,8,["modelValue"]),i.createVNode(me,{class:"ao-feed__show-archived",size:"sm","icon-name":t.showsArchived?"CheckBoxOutlineRounded":"CheckBoxOutlineBlank","icon-position":"start",color:"primary",variant:"ghost",label:_.$t("feed.filters.showsArchived.label"),role:"checkbox","aria-checked":t.showsArchived,onClick:y[1]||(y[1]=w=>_.$emit("update:showsArchived",!t.showsArchived))},null,8,["icon-name","label","aria-checked"])]),secondary:i.withCtx(()=>[t.isEditable===!0?(i.openBlock(),i.createBlock(me,{key:0,class:"ao-project-mapping-overview__save-as-template",color:"primary",label:_.$t("project.template.save.label"),onClick:y[2]||(y[2]=w=>f.value=!0)},null,8,["label"])):i.createCommentVNode("",!0),t.isEditable===!0?(i.openBlock(),i.createBlock(me,{key:1,class:"ao-project-mapping-overview__add-template",color:"primary",label:_.$t("project.template.apply.label"),onClick:y[3]||(y[3]=w=>d.value=!0)},null,8,["label"])):i.createCommentVNode("",!0)]),_:1}),i.createElementVNode("div",jhe,[i.createElementVNode("div",Whe,[i.createVNode(sd,{phases:t.phases,"closed-status":t.closedStatus,"is-editable":t.isEditable===!0,users:t.users,"estimation-unit":(v=t.project)==null?void 0:v.estimationUnit,onAddPhase:s,onUpdatePhase:a,onArchivePhase:l,onUnarchivePhase:c,onCopyPhaseToTemplate:u},null,8,["phases","closed-status","is-editable","users","estimation-unit"])]),t.project.architectureImage?(i.openBlock(),i.createElementBlock("div",Zhe,[i.createElementVNode("img",{class:"architecture-image",src:t.project.architectureImage.url,alt:i.unref(n)("architectureImage.alt")},null,8,Khe)])):i.createCommentVNode("",!0)])])],16),(i.openBlock(),i.createBlock(i.Teleport,{to:"body"},[f.value?(i.openBlock(),i.createBlock(Pg,{key:0,phases:t.phases,onClose:y[4]||(y[4]=w=>f.value=!1),onSave:h},null,8,["phases"])):i.createCommentVNode("",!0),d.value?(i.openBlock(),i.createBlock(Ig,{key:1,"project-id":t.project.id,templates:t.templates,onClose:y[5]||(y[5]=w=>d.value=!1),onApply:p},null,8,["project-id","templates"])):i.createCommentVNode("",!0)]))],64)}}});const Po={TEMPLATES:"templates",TEMPLATE_DETAILS:"template_details",TEMPLATES_LIST:"templates_list"},Yhe=(t,e={})=>[{path:t,name:Po.TEMPLATES,redirect:{name:Po.TEMPLATES_LIST},...e,children:[{path:"",name:Po.TEMPLATES_LIST,component:Vg},{path:":templateId/:phaseId?/:milestoneId?/:activityId?",name:Po.TEMPLATE_DETAILS,component:Lg,props:!0}]}],je={project:"AoProject",feed:"AoProjectFeed",mapping:"AoProjectMapping",milestone:"AoMilestone",activity:"AoActivity"},Jhe=(t,e={})=>[{path:t,...e,redirect:{name:je.project},children:[{path:"",name:je.project,component:Ope,props:!0,children:[{path:":phaseId/:milestoneId",name:je.milestone,component:cp,props:!0},{path:":phaseId/:milestoneId/:activityId",name:je.activity,props:{default:!0,modal:!0},components:{default:cp,modal:vhe}}]},{path:"feed",name:je.feed,component:Fg,props:!0},{path:"mapping",name:je.mapping,component:Ghe,props:!0}]}],Xhe={class:"ao-templates"},Vg=i.defineComponent({__name:"AoTemplatesList",props:{templates:{}},emits:["addTemplate","updateTemplates","updateItem","removeItem"],setup(t,{emit:e}){const{t:n}=Hn(),o=t,r=e;i.watch(()=>o.templates,(u,d)=>{In(u,d)});const s=()=>{var h,m;const u=(h=o.templates)==null?void 0:h.at(-1),d=u?it.LexoRank.parse(u.rank).genNext():it.LexoRank.middle(),f=((m=o.templates)==null?void 0:m.length)??0,p={name:n("template.defaultName.template",{idx:f+1}),rank:d.format()};r("addTemplate",p)},a=(u,d)=>{r("updateItem",{itemType:$e.TEMPLATES,id:u,templateId:u,data:{name:d}})},l=(u,d)=>{r("removeItem",{itemType:$e.TEMPLATES,templateId:u,data:{id:u,...d?{name:d}:{}}})},c=u=>{if(u.moved){const d=Xi(u,o.templates??[]);r("updateItem",{itemType:$e.TEMPLATES,id:u.moved.element.id,templateId:u.moved.element.id,data:{rank:d}})}};return(u,d)=>(i.openBlock(),i.createElementBlock("div",Xhe,[i.createVNode(Qi,null,{secondary:i.withCtx(()=>[i.createVNode(me,{label:u.$t("templates.new"),color:"primary","icon-name":"Add","icon-position":"start",onClick:s},null,8,["label"])]),_:1}),i.createVNode(i.unref(mo),{"model-value":t.templates,class:"ao-templates__list","item-key":"id",handle:".ao-card__drag",onChange:c},{item:i.withCtx(({element:f})=>{var p;return[i.createVNode(z_,{id:f.id,title:f.name,phases:f.phases,milestones:(p=f.phases)!=null&&p.length?i.unref(d_)(f.phases):0,activities:f.phases?i.unref(f_)(f.phases):0,"updated-at":f.updatedAt,"updated-by":f.updatedBy,onUpdateTitle:h=>a(f.id,h),onClick:h=>u.$router.push({name:i.unref(Po).TEMPLATE_DETAILS,params:{templateId:f.id}}),onDeleteItem:d[0]||(d[0]=(h,m)=>l(h,m))},null,8,["id","title","phases","milestones","activities","updated-at","updated-by","onUpdateTitle","onClick"])]}),_:1},8,["model-value"])]))}});const Qhe={class:"ao-field__label"},Rg=i.defineComponent({__name:"AoField",props:{label:{},isMultiselect:{type:Boolean,default:!1}},setup(t){return(e,n)=>(i.openBlock(),i.createElementBlock("label",{class:i.normalizeClass(["ao-field",{"ao-field--multiselect":t.isMultiselect}])},[i.createElementVNode("span",Qhe,i.toDisplayString(t.label),1),i.renderSlot(e.$slots,"default")],2))}}),eme=["type","value","disabled","readonly"],tme=i.defineComponent({__name:"AoInputField",props:{label:{default:""},type:{default:"text"},modelValue:{default:""},modelModifiers:{default:()=>({})},isDisabled:{type:Boolean,default:!1},isReadonly:{type:Boolean,default:!1}},emits:["update:modelValue"],setup(t,{emit:e}){const n=t,o=e,r=i.computed(()=>n.modelModifiers.lazy?"change":"input"),s=a=>{n.modelModifiers.number&&(a=Number(a)),o("update:modelValue",a)};return(a,l)=>(i.openBlock(),i.createBlock(Rg,{label:t.label},{default:i.withCtx(()=>[i.createElementVNode("input",i.mergeProps({class:"ao-field__input",type:t.type,value:t.modelValue,disabled:t.isDisabled,readonly:t.isReadonly},{[i.toHandlerKey(r.value)]:l[0]||(l[0]=c=>s(c.target.value))}),null,16,eme)]),_:1},8,["label"]))}}),nme={class:"ao-field"},ome={class:"ao-field__label"},rme=["checked","disabled"],ime=i.defineComponent({__name:"AoCheckboxField",props:{label:{default:""},modelValue:{type:Boolean,default:!1},isReadonly:{type:Boolean,default:!1},isDisabled:{type:Boolean,default:!1}},emits:["update:modelValue"],setup(t){return(e,n)=>(i.openBlock(),i.createElementBlock("label",nme,[i.createElementVNode("span",ome,i.toDisplayString(t.label),1),i.createElementVNode("input",{class:"ao-field__input",type:"checkbox",checked:t.modelValue,disabled:t.isDisabled,onChange:n[0]||(n[0]=o=>{var r;return e.$emit("update:modelValue",((r=o.target)==null?void 0:r.checked)??!1)})},null,40,rme)]))}});exports.AoAvatar=Un;exports.AoCardFeed=ad;exports.AoCheckboxField=ime;exports.AoColorPicker=dl;exports.AoFeed=Fg;exports.AoField=Rg;exports.AoInputField=tme;exports.AoMultiselect=Dt;exports.AoProjectPhases=sd;exports.AoTabBar=fs;exports.AoTemplateDetails=Lg;exports.AoTemplates=Gg;exports.AoTemplatesList=Vg;exports.EstimationUnit=gp;exports.TemplateItemTypeEnum=mp;exports.activityFeedStatus=wy;exports.durationTypes=ky;exports.feedFilterTypes=No;exports.getProjectOverviewRoutes=Jhe;exports.getTemplateRoutes=Yhe;exports.listUpdateTypes=Ey;exports.milestoneStatus=$i;exports.projectOverviewRoutes=je;exports.ruleComparators=fp;exports.ruleDurationUnits=hp;exports.ruleTriggerTypes=pp;exports.templateItemType=$e;exports.templateRouteNames=Po;
|
package/dist/orcha.es.js
CHANGED
|
@@ -29149,7 +29149,8 @@ const xhe = { class: "ao-project" }, She = { class: "ao-project__body" }, The =
|
|
|
29149
29149
|
isEditable: { type: [Boolean, String] },
|
|
29150
29150
|
showsArchived: { type: Boolean },
|
|
29151
29151
|
attachmentEnabled: { type: Boolean },
|
|
29152
|
-
timeTrackingData: {}
|
|
29152
|
+
timeTrackingData: {},
|
|
29153
|
+
loadAttachmentPreview: { type: Function }
|
|
29153
29154
|
},
|
|
29154
29155
|
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"],
|
|
29155
29156
|
setup(t, { emit: e }) {
|
|
@@ -29307,6 +29308,7 @@ const xhe = { class: "ao-project" }, She = { class: "ao-project__body" }, The =
|
|
|
29307
29308
|
"is-editable": t.isEditable,
|
|
29308
29309
|
"attachment-enabled": t.attachmentEnabled,
|
|
29309
29310
|
"time-tracking-data": t.timeTrackingData,
|
|
29311
|
+
"load-attachment-preview": t.loadAttachmentPreview,
|
|
29310
29312
|
"onUpdate:activity": y,
|
|
29311
29313
|
onAddSubtask: g,
|
|
29312
29314
|
onUpdateSubtask: w,
|
|
@@ -29326,7 +29328,7 @@ const xhe = { class: "ao-project" }, She = { class: "ao-project__body" }, The =
|
|
|
29326
29328
|
}))
|
|
29327
29329
|
]),
|
|
29328
29330
|
_: 3
|
|
29329
|
-
}, 8, ["activities", "is-task-checkable", "statuses", "activity-types", "phases", "project", "users", "user-id", "is-editable", "attachment-enabled", "time-tracking-data"])
|
|
29331
|
+
}, 8, ["activities", "is-task-checkable", "statuses", "activity-types", "phases", "project", "users", "user-id", "is-editable", "attachment-enabled", "time-tracking-data", "load-attachment-preview"])
|
|
29330
29332
|
]))
|
|
29331
29333
|
], 16),
|
|
29332
29334
|
(k(), Y(ar, { to: "body" }, [
|