PluginProbe
FluentBoards – Project Management, Task Management, Goal Tracking, Kanban Board, and, Team Collaboration / 2.0.10
FluentBoards – Project Management, Task Management, Goal Tracking, Kanban Board, and, Team Collaboration v2.0.10
2.1.0 2.0.15 2.0.12 2.0.10 2.0.4 2.0.1 2.0.0 1.95.3 1.95.2 1.95 1.91.6 trunk 1.11 1.12 1.13 1.20 1.21 1.22 1.23 1.30 1.31 1.32 1.35 1.40 1.41 All 42 releases
fluent-boards / assets / UpgradeUrl.js

UpgradeUrl.js in FluentBoards – Project Management, Task Management, Goal Tracking, Kanban Board, and, Team Collaboration 2.0.10, at assets/UpgradeUrl.js

6 lines 1.3 MB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 var e=Object.defineProperty,t=(t,s,a)=>((t,s,a)=>s in t?e(t,s,{enumerable:!0,configurable:!0,writable:!0,value:a}):t[s]=a)(t,"symbol"!=typeof s?s+"":s,a);import{S as s,Z as a,a0 as i,a9 as o,_ as l,$ as n,H as r,ax as d,T as c,av as h,bH as u,bI as p,bJ as m,aO as b,aP as g,a5 as f,R as _,a2 as k,a$ as v,a7 as y,a8 as w,bK as C,bB as T,a1 as S,a_ as $,bL as V,aC as A,bM as I,bN as D,bO as B,bP as L,bQ as M,at as x,bR as P,a3 as F,l as E,aa as U,r as O,e as R,p as N,k as H,v as j,t as z,bS as G,d as q,aw as W,a6 as K,bT as Z,bU as Y,bV as J,bW as Q,bX as X,bY as ee,bZ as te,b_ as se,b$ as ae,c0 as ie,c1 as oe,c2 as le,c3 as ne,c4 as re,c5 as de,c6 as ce,c7 as he,c8 as ue,c9 as pe,ca as me,cb as be,cc as ge,cd as fe,ce as _e,cf as ke,cg as ve,ch as ye,U as we,aH as Ce,ab as Te,ci as Se,cj as $e,ck as Ve,aI as Ae,cl as Ie,cm as De}from"./vendor.js?ver=2.0.10";import{o as Be,p as Le,d as Me,e as xe,c as Pe,u as Fe,s as Ee,q as Ue,r as Oe,t as Re,E as Ne,h as He,v as je,a as ze,i as Ge,w as qe,b as We,x as Ke,y as Ze,z as Ye,A as Je,B as Qe,C as Xe,D as et,l as tt,F as st,G as at,H as it,I as ot,J as lt,K as nt,L as rt,M as dt,N as ct,O as ht,P as ut,Q as pt,R as mt,S as bt,T as gt,U as ft,V as _t,W as kt,X as vt,Y as yt,Z as wt,_ as Ct,$ as Tt,a0 as St,a1 as $t,f as Vt,a2 as At,a3 as It,a4 as Dt,a5 as Bt,a6 as Lt,a7 as Mt,a8 as xt,a9 as Pt,aa as Ft,ab as Et,ac as Ut,ad as Ot,ae as Rt,af as Nt,ag as Ht,ah as jt,ai as zt,aj as Gt,ak as qt,al as Wt,g as Kt,am as Zt,an as Yt,ao as Jt,ap as Qt,aq as Xt,ar as es,as as ts,at as ss,au as as,av as is,aw as os,ax as ls,ay as ns,m as rs,az as ds,aA as cs,aB as hs,aC as us,aD as ps,aE as ms,aF as bs,aG as gs,aH as fs,aI as _s,aJ as ks,aK as vs,aL as ys,aM as ws,aN as Cs,j as Ts}from"./vendor-element-plus.js?ver=2.0.10";import{_ as Ss,I as $s,E as Vs,g as As,T as Is,a as Ds,b as Bs,A as Ls,c as Ms,s as xs,r as Ps,l as Fs,h as Es,B as Us,d as Os}from"./descriptionToPlainText.js?ver=2.0.10";const Rs={class:"fbs_status_change"};const Ns=Ss({name:"TaskUpdate",props:["task"],data(){var e;return{selectedType:null==(e=this.task.settings)?void 0:e.integration_type,integrationTypes:[{label:"Feature",value:"feature"},{label:"Integration",value:"integration"}]}},methods:{handleIntegrationUpdate(){this.$post("projects/"+this.$route.params.id+"/tasks/status-update/"+this.task.id,{integrationType:this.selectedType}).then(e=>{this.$notify.success({title:"Success",message:"Task status updated successfully"}),this.$emit("task-status-update")}).catch(e=>{this.handleError(e)}).finally(()=>{})}}},[["render",function(e,t,u,p,m,b){const g=Be,f=Le;return s(),a("div",Rs,[i("h4",null,o(e.$t("Idea Type")),1),l(f,{modelValue:m.selectedType,"onUpdate:modelValue":t[0]||(t[0]=e=>m.selectedType=e),onChange:b.handleIntegrationUpdate,class:"fbs-m-2",placeholder:"Status update",onPaste:t[1]||(t[1]=h(()=>{},["stop"]))},{default:n(()=>[(s(!0),a(r,null,d(m.integrationTypes,e=>(s(),c(g,{key:e.value,label:e.label,value:e.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","onChange"])])}],["__scopeId","data-v-aeb684d7"]]),Hs={id:"",is_image:!1,image_url:null,color:null},js=u("board",{state:()=>({boardBackground:{...Hs},labelsColor:[],stages:[],board:{labels:[]},tasks:[],stageTaskPagination:{},boardDependencies:[],tempTask:{},filterByStageActive:!1,includeArchived:!1,currentSettings:{email_after_comment:!1,email_after_task_assign:!1,email_after_task_stage_change:!1,email_after_task_due_date_change:!1,email_after_remove_from_task:!1,email_after_task_archive:!1,dashboard_notification:!1,watch_on_creating_task:!1,watch_on_commenting:!1,watch_on_assigning:!1},notificationCheckAll:!0}),getters:{alreadyLabels:e=>e.labelsColor,currentNotificationSettings:e=>e.currentSettings},actions:{setBoardBackground(e){if(!e)return void(this.boardBackground={...Hs});const t={};for(const s in this.boardBackground)t[s]=e.hasOwnProperty(s)?e[s]:this.boardBackground[s];this.boardBackground=t},setStages(e){const t=Array.isArray(e)?e:(null==e?void 0:e.stages)||[];this.includeArchived=!Array.isArray(e)&&!!(null==e?void 0:e.includeArchived);const s=this.includeArchived?t:t.filter(e=>null==e.archived_at);this.stages=s.sort((e,t)=>e.position-t.position)},removeStage(e){const t=this.stages.filter(t=>t.id!=e);this.stages=t.sort((e,t)=>e.position-t.position)},updateStage(e){const t=Array.isArray(e)?e:[e],s=this.stages.map(e=>{const s=t.find(t=>t.id===e.id);return s?{...e,...s}:e});t.forEach(e=>{s.find(t=>t.id===e.id)||s.push(e)});const a=this.includeArchived?s:s.filter(e=>null==e.archived_at);this.stages=a.sort((e,t)=>e.position-t.position)},setBoard(e){this.board={...this.board,...e}},setBoardTasks(e){const t=Array.isArray(e)?e:(null==e?void 0:e.tasks)||[];this.includeArchived=!Array.isArray(e)&&!!(null==e?void 0:e.includeArchived),this.tasks=this.includeArchived?t:t.filter(e=>null==e.archived_at)},mergeBoardTasks(e){const t=Array.isArray(e)?e:(null==e?void 0:e.tasks)||[],s=this.includeArchived?t:t.filter(e=>null==e.archived_at),a=[...this.tasks];s.forEach(e=>{const t=a.findIndex(t=>t.id===e.id);-1!==t?a[t]={...a[t],...e}:e.parent_id||a.push(e)}),this.tasks=a},removeTask(e){this.tasks=this.tasks.filter(t=>t.id!=e)},setBoardDependencies(e=[]){this.boardDependencies=Array.isArray(e)?e:[]},setStageTaskPaginationMap(e={}){this.stageTaskPagination={...e}},setStageTaskPagination(e,t={}){this.stageTaskPagination={...this.stageTaskPagination,[e]:{...this.stageTaskPagination[e]||{},...t}}},updateTask(e){const t=Array.isArray(e)?e:[e],s=this.tasks.map(e=>{const s=t.find(t=>t.id===e.id);return s?{...e,...s}:e});t.forEach(e=>{s.find(t=>t.id===e.id)||e.parent_id||s.push(e)}),this.tasks=this.includeArchived?s:s.filter(e=>null==e.archived_at)},resetBoardData(){this.boardBackground={...Hs},this.stages=[],this.board={},this.tasks=[],this.stageTaskPagination={},this.boardDependencies=[],this.labelsColor=[],this.filterByStageActive=!1,this.includeArchived=!1},setBoardLabels(e){this.board.labels=e,this.labelsColor=e.map(e=>e.color)},updateBoardLabel(e){const t=Array.isArray(e)?e:[e],s=this.board.labels.map(e=>{const s=t.find(t=>t.id===e.id);return s?{...e,...s}:e});t.forEach(e=>{s.find(t=>t.id===e.id)||s.push(e)}),this.setBoardLabels(s)},removeBoardLabel(e){const t=this.board.labels.filter(t=>t.id!=e);this.board={...this.board,labels:t}},setTempTask(e){this.tempTask=e},resetTempTask(){this.tempTask={}},setfilterByStageActive(e){this.filterByStageActive=e},loadNotificationSettings(e){this.currentSettings=Object.assign({},e),this._recalcNotificationCheckAll()},updateNotificationSettings(e){if("all"===e.key){this.notificationCheckAll=!this.notificationCheckAll;const e=this.notificationCheckAll;Object.keys(this.currentSettings).forEach(t=>{"dashboard_notification"!==t&&(this.currentSettings[t]=e)})}else Object.prototype.hasOwnProperty.call(this.currentSettings,e.key)&&(this.currentSettings[e.key]=e.value),this._recalcNotificationCheckAll()},_recalcNotificationCheckAll(){this.notificationCheckAll=Object.entries(this.currentSettings).filter(([e])=>"dashboard_notification"!==e).every(([,e])=>e)}},persist:{storage:{getItem:e=>p.getItem(e),setItem:(e,t)=>p.setItem(e,t)}}}),zs={name:"PriorityBadge",components:{Icons:$s},inject:["eventBus"],emits:["componentToggle"],props:["task","disable_save","hideLabel","button_class"],data:()=>({priorities:window.fluentAddonVars.priorities,prioritySearch:"",saving:!1}),computed:{...m(js,["board"]),labelName(){return this.task.priority?this.priorities[this.task.priority]||this.task.priority:this.$t("Set priority")},isBoardArchived(){return!!this.board.archived_at},taskPriorityForClass(){const e=this.task.priority?this.task.priority.toLowerCase():"";return["","urgent","high","medium","low"].includes(e)?e||"none":"custom"},priorityOptions(){const e=this.priorities||{},t=["urgent","high","medium","low",""],s=Object.keys(e);return[...t.filter(e=>s.includes(e)),...s.filter(e=>!t.includes(e))].map(t=>({key:t,label:e[t]||t||this.$t("No priority"),styleKey:this.priorityStyleKey(t),iconName:this.priorityIconName(t)}))},filteredPriorityOptions(){const e=this.prioritySearch.trim().toLowerCase();return e?this.priorityOptions.filter(t=>t.label.toLowerCase().includes(e)||String(t.key).toLowerCase().includes(e)):this.priorityOptions}},methods:{handleCommand(e){if(this.task.priority==e)return!1;this.disable_save?this.task.priority=e:this.eventBus.emit("change-task-property",{task:this.task,property:"priority",value:e,onSuccess:e=>{},onError:e=>{this.$notify.error({title:"Error",message:"Task priority couldn't be updated. Please try again."})}})},priorityStyleKey(e){const t=String(e||"").toLowerCase();return["","urgent","high","medium","low"].includes(t)?t||"none":"custom"},priorityIconName(e){const t=String(e||"").toLowerCase();return["","none","urgent","high","medium","low"].includes(t)?`priority-${t||"none"}`:"priority-none"},isPrioritySelected(e){return String(this.task.priority||"")===String(e||"")},handlePriorityKeydown(e){var t,s;if("Enter"===e.key&&this.filteredPriorityOptions.length)return e.preventDefault(),this.handleCommand(this.filteredPriorityOptions[0].key),void(null==(s=null==(t=this.$refs.priorityDropdown)?void 0:t.handleClose)||s.call(t))},componentToggle(e){e&&(this.prioritySearch="",this.$nextTick(()=>{var e;null==(e=this.$refs.prioritySearchInput)||e.focus()})),this.$emit("componentToggle",e)}}},Gs={class:"icon"},qs={class:"label"},Ws=["aria-label"],Ks={class:"icon"},Zs={class:"label"},Ys={class:"fbs-priority-picker__search"},Js=["placeholder"],Qs={class:"icon"},Xs={class:"label"},ea={class:"fbs-priority-picker__check"},ta={key:0,class:"fbs-priority-picker__empty"};const sa=Ss(zs,[["render",function(e,t,u,p,m,w){const C=b("Icons"),T=xe,S=Me,$=Pe,V=g("loading");return f((s(),c($,{ref:"priorityDropdown",disabled:w.isBoardArchived||e.board.isUserOnlyViewer,"popper-class":"fbs-task-add-popover-box fbs-priority-picker-popper",trigger:"click",placement:"bottom",onCommand:w.handleCommand,onVisibleChange:w.componentToggle},{dropdown:n(()=>[i("div",{class:"fbs-task-sidebar-popover-box fbs-priority-picker",onKeydown:t[2]||(t[2]=h((...e)=>w.handlePriorityKeydown&&w.handlePriorityKeydown(...e),["stop"]))},[i("div",Ys,[f(i("input",{ref:"prioritySearchInput","onUpdate:modelValue":t[0]||(t[0]=e=>m.prioritySearch=e),type:"search",placeholder:e.$t("Change priority to..."),onClick:t[1]||(t[1]=h(()=>{},["stop"]))},null,8,Js),[[v,m.prioritySearch]])]),l(S,{class:"fbs-priority-dropdown-menu"},{default:n(()=>[(s(!0),a(r,null,d(w.filteredPriorityOptions,e=>(s(),c(T,{key:e.key,command:e.key,class:k({"is-selected":w.isPrioritySelected(e.key)})},{default:n(()=>[i("span",{class:k(["fbs-priority-picker__option fbs_priority_badge fbs-w-full","fbs_priority_badge_"+e.styleKey])},[i("span",Qs,[l(C,{"icon-name":e.iconName},null,8,["icon-name"])]),i("span",Xs,o(e.label),1),i("span",ea,[w.isPrioritySelected(e.key)?(s(),c(C,{key:0,"icon-name":"check"})):y("",!0)])],2)]),_:2},1032,["command","class"]))),128)),w.filteredPriorityOptions.length?y("",!0):(s(),a("li",ta,o(e.$t("No matching priorities")),1))]),_:1})],32)]),default:n(()=>[_(e.$slots,"trigger",{labelName:w.labelName,taskPriorityForClass:w.taskPriorityForClass,priorityIconName:w.priorityIconName},()=>[u.hideLabel?(s(),a("button",{key:0,type:"button",class:k(["fbs_priority_badge cursor_pointer",u.button_class])},[i("span",Gs,[l(C,{"icon-name":"task-priority"})]),i("span",qs,o(e.$t("Add Priority")),1)],2)):(s(),a("button",{key:1,class:k(["fbs_priority_badge cursor_pointer",["fbs_priority_badge_selected","fbs_priority_badge_"+w.taskPriorityForClass,u.button_class]]),"aria-label":w.labelName},[i("span",Ks,[l(C,{"icon-name":w.priorityIconName(w.taskPriorityForClass)},null,8,["icon-name"])]),i("span",Zs,o(w.labelName),1)],10,Ws))],!0)]),_:3},8,["disabled","onCommand","onVisibleChange"])),[[V,m.saving]])}],["__scopeId","data-v-2af067e8"]]),aa={class:"fbs_assignee_tooltip"},ia=["src"],oa={class:"fbs_assignee_tooltip_content"},la={key:0},na={key:1},ra={key:2};const da=Ss({name:"AssigneeTooltip",props:["img","name","email","profileLink","role"]},[["render",function(e,t,l,r,d,h){const u=b("router-link");return s(),a("div",aa,[l.img?(s(),a("img",{key:0,src:l.img},null,8,ia)):y("",!0),i("div",oa,[l.name?(s(),a("span",la,o(l.name),1)):y("",!0),l.email?(s(),a("p",na,o(l.email),1)):y("",!0),l.role?(s(),a("p",ra,o(l.role),1)):y("",!0),l.profileLink?(s(),c(u,{key:3,to:l.profileLink},{default:n(()=>[w(o(e.$t("View Profile")),1)]),_:1},8,["to"])):y("",!0)])])}]]),ca={name:"TaskAssignees",inject:["eventBus","boardMemberUpdated"],emits:["fetch","updateCreateAssignees"],props:{task:{type:Object,required:!0},isDisabled:{type:Boolean,default:!1},placement:{type:String,default:"left"},numberOfAvatars:{type:Number,default:3},alwaysShowAddButton:{type:Boolean,default:!1},is_multiple:{type:Boolean,default:!0},disable_save:{type:Boolean,default:!1}},components:{Icons:$s,AssigneeTooltip:da,EmptyState:Vs,Loading:Re,Plus:Oe,Promotion:Ue,Search:Ee,UserFilled:Fe},data:()=>({assigneeIdToAddOrRemove:null,isPopoverOpen:!1,willMountOptions:!1,saving:!1,showAssignee:!1,showAssigneeSelector:!1,boardMembers:{data:[],has_more:!1},admins:{data:[],has_more:!1},fetchingMembers:!1,assigneeIds:[],fuse:null,searchInput:"",searchResults:[],searching:!1,isAssigneeDisabled:!1,savingAssigneeId:null}),computed:{...m(js,["board"]),remainingUsers(){const e=this.searching?this.searchResults.filter(e=>this.boardMembers.data.some(t=>this.sameUserId(t,e))):this.boardMembers.data;return this.deduplicateUsers(e).filter(e=>!this.hasAssigneeId(e))},remainingAdmins(){const e=this.searching?this.searchResults.filter(e=>this.admins.data.some(t=>this.sameUserId(t,e))):this.admins.data;return this.deduplicateUsers(e).filter(e=>!this.hasAssigneeId(e))},visibleRemainingUsers(){return this.withSavingAssignee(this.remainingUsers,this.boardMembers.data)},visibleRemainingAdmins(){return this.withSavingAssignee(this.remainingAdmins,this.admins.data)},currentAssignees(){return Array.isArray(this.task.assignees)?this.task.assignees.filter(e=>this.hasAssigneeId(e)):[]},visibleCurrentAssignees(){return this.searching?this.currentAssignees.filter(e=>this.searchResults.some(t=>this.sameUserId(t,e))):this.currentAssignees},hasCurrentAssignees(){return this.currentAssignees.length},hasAssigneeOverflow(){return Array.isArray(this.task.assignees)&&this.task.assignees.length>this.numberOfAvatars},noAssignableMembersText(){return this.is_multiple?"No board members are available to assign to this task.":"No board members are available to assign to this subtask."},popoverPlacement(){return"bottom"===this.placement?"bottom-start":this.placement}},mounted(){this.board.archived_at&&(this.isAssigneeDisabled=!0)},methods:{onShowPopover(){this.assigneeIdToAddOrRemove=null,this.assigneeIds=Array.isArray(this.task.assignees)?this.task.assignees.map(e=>this.userId(e)):[],this.getBoardMembers(),this.$nextTick(()=>{this.$refs.searchInput.focus()})},update(e){this.disable_save?this.syncCreateAssignees():(this.saving=!0,this.eventBus.emit("change-task-property",{task:this.task,property:"assignees",value:this.assigneeIdToAddOrRemove,onSuccess:e=>{this.task.assignees=e.task.assignees,this.$emit("fetch")},onError:t=>{if("removed"==e){const e=Array.isArray(this.assigneeIdToAddOrRemove)?this.assigneeIdToAddOrRemove:[this.assigneeIdToAddOrRemove];this.assigneeIds=this.deduplicateIds([...this.assigneeIds,...e])}else{const e=this.savingAssigneeId||this.assigneeIdToAddOrRemove;this.assigneeIds=this.assigneeIds.filter(t=>!this.sameUserId(t,e))}this.$notify.error({title:"Error",message:"Task assignees couldn't be updated. Please try again."})},onFinally:()=>{this.saving=!1,this.savingAssigneeId=null}}),this.showAssigneeSelector&&(this.isPopoverOpen=!1))},removeAssignee(e){if(!this.saving){if(this.assigneeIds=this.assigneeIds.filter(t=>!this.sameUserId(t,e)),this.disable_save)return this.task.assignees=this.task.assignees.filter(t=>!this.sameUserId(t,e)),this.syncCreateAssignees(),this.searchInput="",this.searchResults=[],this.searching=!1,void this.$nextTick(()=>{this.$refs.searchInput.focus()});this.assigneeIdToAddOrRemove=e,this.searchInput="",this.searchResults=[],this.searching=!1,this.$nextTick(()=>{this.$refs.searchInput.focus()}),this.update("removed")}},clearAssignees(){if(this.saving||!this.hasCurrentAssignees)return;const e=this.currentAssignees.map(e=>this.userId(e));if(this.assigneeIds=[],this.searchInput="",this.searchResults=[],this.searching=!1,this.disable_save)return this.task.assignees=[],this.syncCreateAssignees(),void this.$nextTick(()=>{this.$refs.searchInput.focus()});this.assigneeIdToAddOrRemove=e,this.update("removed"),this.$nextTick(()=>{this.$refs.searchInput.focus()})},getBoardMembers(){const e="fbs_board_members_"+this.task.board_id,t="fbs_board_admins_"+this.task.board_id;if(window[e]&&window[t])return this.boardMembers.data=this.deduplicateUsers(window[e]),this.admins.data=this.deduplicateUsers(window[t]),void this.setFuseForSearch();this.fetchingMembers=!0,this.$get("projects/"+this.task.board_id+"/users").then(s=>{this.boardMembers.data=this.deduplicateUsers(s.users),this.admins.data=this.deduplicateUsers(s.global_admins),window[e]=this.boardMembers.data,window[t]=this.admins.data}).catch(e=>{this.$handleError(e)}).finally(()=>{this.fetchingMembers=!1,this.setFuseForSearch()})},deduplicateUsers(e){return Array.isArray(e)?e.filter((e,t,s)=>t===s.findIndex(t=>this.sameUserId(t,e))):[]},deduplicateIds(e){return Array.isArray(e)?e.filter((e,t,s)=>e&&t===s.findIndex(t=>this.sameUserId(t,e))):[]},addAssignee(e,t="board_members"){if(!this.saving){if(this.savingAssigneeId=e,this.is_multiple?(this.assigneeIdToAddOrRemove=e,this.hasAssigneeId(e)||this.assigneeIds.push(e)):(this.assigneeIdToAddOrRemove=[...this.assigneeIds,e],this.assigneeIds=[e]),this.disable_save){const s=this.findMemberById(e);return s&&(this.is_multiple?this.task.assignees.push(s):this.task.assignees=[s]),this.syncCreateAssignees(),this.searchInput="",this.searchResults=[],this.searching=!1,this.$nextTick(()=>{this.$refs.searchInput.focus()}),void("other"==t&&this.addMemberToBoard(e))}"other"==t&&this.addMemberToBoard(e),this.update("added"),this.searchInput="",this.searchResults=[],this.searching=!1,this.$nextTick(()=>{this.$refs.searchInput.focus()})}},searchBoardMembers(){if(this.searching=!0,""===this.searchInput.trim())this.searchResults=this.deduplicateUsers([...this.currentAssignees,...this.boardMembers.data,...this.admins.data]);else{const e=this.fuse.search(this.searchInput);this.searchResults=this.deduplicateUsers(e.map(e=>e.item))}},setFuseForSearch(){this.searching=!1,this.searchInput="";const e=[...this.currentAssignees,...this.boardMembers.data,...this.admins.data];this.fuse=new T(this.deduplicateUsers(e),{keys:["display_name"],threshold:.6,includeScore:!0,findAllMatches:!0})},findMemberById(e){return[...this.boardMembers.data,...this.admins.data,...this.searchResults].find(t=>this.sameUserId(t,e))},withSavingAssignee(e,t){const s=this.deduplicateUsers(e);if(!this.saving||!this.savingAssigneeId)return s;const a=t.find(e=>this.sameUserId(e,this.savingAssigneeId));return a?this.deduplicateUsers([a,...s]):s},isSavingAssignee(e){return this.saving&&this.sameUserId(e,this.savingAssigneeId)},syncCreateAssignees(){this.task.assignees=this.deduplicateUsers(this.task.assignees),this.$emit("updateCreateAssignees",this.task.assignees.map(e=>parseInt(this.userId(e))))},addMemberToBoard(e){this.$post("projects/"+this.task.board_id+"/add-members/",{memberId:e}).then(e=>{}).catch(e=>{this.$handleError(e)}).finally(()=>{const t=this.admins.data.find(t=>this.sameUserId(t,e)),s="fbs_board_members_"+this.task.board_id;if(t&&window[s]){window[s].some(t=>this.sameUserId(t,e))||window[s].push(t)}})},userId:e=>e&&"object"==typeof e?e.ID??e.id:e,userInitial:e=>((null==e?void 0:e.display_name)||(null==e?void 0:e.user_email)||"").trim().charAt(0).toUpperCase()||"?",comparableUserId(e){const t=this.userId(e);return null==t?"":String(t)},sameUserId(e,t){const s=this.comparableUserId(e),a=this.comparableUserId(t);return!!s&&s===a},hasAssigneeId(e){return this.assigneeIds.some(t=>this.sameUserId(t,e))}},created(){this.debouncedSearch=C.debounce(this.searchBoardMembers,300)}},ha={class:"fbs_assignees"},ua={class:"fbs_task_assignees_wrap fbs_task_members_picker"},pa={class:"fbs-task-members-search"},ma={class:"fbs_task_members fbs_members"},ba={key:0,class:"fbs_task_assignees_container"},ga=["onClick"],fa=["src","alt"],_a={key:1,class:"fbs-task-member-avatar fbs-task-member-avatar--initial"},ka={class:"fbs-task-member-row__name"},va={class:"fbs_board_members fbs_members"},ya={class:"fbs_primary_text font-medium fbs_mb_8 fbs_mt_12 small fbs_pl_10 fbs_pr_10"},wa={key:0,class:"fbs_task_assignees_container"},Ca=["onClick"],Ta={key:0,class:"fbs-task-member-avatar fbs-task-member-avatar--loading"},Sa=["src","alt"],$a={key:1,class:"fbs-task-member-avatar fbs-task-member-avatar--initial"},Va={class:"fbs-task-member-row__name"},Aa={key:1,class:"fbs_empty"},Ia={key:0,class:"fbs_board_members fbs_members"},Da={class:"fbs_primary_text font-medium fbs_mb_8 fbs_mt_12 small fbs_pl_10 fbs_pr_10"},Ba={class:"fbs_task_assignees_container"},La=["onClick"],Ma={key:0,class:"fbs-task-member-avatar fbs-task-member-avatar--loading"},xa=["src","alt"],Pa={key:1,class:"fbs-task-member-avatar fbs-task-member-avatar--initial"},Fa={class:"fbs-task-member-row__name"},Ea=["src","alt"],Ua={key:0,class:"fbs_no_pip"},Oa={class:"fbs-assignees-add-btn fbs-assignees-more-count"},Ra=["title"],Na={class:"fbs-assignees-add-btn"};const Ha=Ss(ca,[["render",function(e,t,u,p,m,_){const v=b("Search"),w=Ne,C=He,T=b("assignee-tooltip"),S=je,$=b("Loading"),V=b("empty-state"),A=b("Icons"),I=g("loading");return s(),a("div",null,[i("div",ha,[l(S,{"popper-class":"fbs-task-add-popover-box fbs-task-add-members-popover",width:270,placement:_.popoverPlacement,"show-arrow":!0,disabled:m.isAssigneeDisabled||e.board.isUserOnlyViewer,teleported:!0,onShow:_.onShowPopover,trigger:"click",ref:"assigneePopover"},{reference:n(()=>{var c;return[i("ul",{class:"fbs_task_assignees",onClick:t[2]||(t[2]=h(()=>{},["stop"]))},[(s(!0),a(r,null,d(null==(c=u.task.assignees)?void 0:c.slice(0,u.numberOfAvatars),e=>(s(),a("li",{key:e.ID},[l(S,{placement:"top-start",trigger:"hover","show-after":300,"popper-class":"fbs-task-details-assignee-hover-popover"},{reference:n(()=>[i("img",{src:e.photo,alt:e.display_name},null,8,Ea)]),default:n(()=>[l(T,{img:e.photo,name:e.display_name,email:e.user_email,role:e.role,profileLink:"/member/"+e.ID},null,8,["img","name","email","role","profileLink"])]),_:2},1024)]))),128)),u.task.assignees.length>u.numberOfAvatars?(s(),a("li",Ua,[i("span",Oa,[i("span",null,"+"+o(u.task.assignees.length-u.numberOfAvatars),1)])])):_.hasAssigneeOverflow||!u.alwaysShowAddButton&&!u.is_multiple&&0!==u.task.assignees.length?y("",!0):(s(),a("li",{key:1,class:"fbs_no_pip",title:m.isAssigneeDisabled?e.$t("Can't change, board is archived"):""},[i("span",Na,[l(A,{"icon-name":"user-plus"})])],8,Ra))])]}),default:n(()=>[i("div",ua,[i("div",pa,[l(w,{class:"fbs-task-members-search__icon"},{default:n(()=>[l(v)]),_:1}),l(C,{modelValue:m.searchInput,"onUpdate:modelValue":t[0]||(t[0]=e=>m.searchInput=e),placeholder:e.$t("Assign to"),onInput:_.searchBoardMembers,onPaste:t[1]||(t[1]=h(()=>{},["stop"])),ref:"searchInput",class:"fbs-task-members-search__input"},null,8,["modelValue","placeholder","onInput"])]),i("div",ma,[_.visibleCurrentAssignees.length?(s(),a("ul",ba,[(s(!0),a(r,null,d(_.visibleCurrentAssignees,e=>(s(),a("li",{class:"fbs_show_assignee fbs-task-member-row is-selected",key:_.userId(e),onClick:h(t=>_.removeAssignee(_.userId(e)),["stop"])},[l(S,{placement:"top-start",trigger:"hover","show-after":300,teleported:!0,"popper-class":"fbs-task-details-assignee-hover-popover fbs-task-assignee-member-hover-popover"},{reference:n(()=>[e.photo?(s(),a("img",{key:0,src:e.photo,alt:e.display_name},null,8,fa)):(s(),a("span",_a,o(_.userInitial(e)),1))]),default:n(()=>[l(T,{img:e.photo,name:e.display_name,email:e.user_email,role:e.role,profileLink:"/member/"+_.userId(e)},null,8,["img","name","email","role","profileLink"])]),_:2},1024),i("span",ka,o(e.display_name),1)],8,ga))),128))])):y("",!0)]),f((s(),a("div",va,[i("div",ya,o(e.$t("Board members")),1),_.visibleRemainingUsers.length?(s(),a("ul",wa,[(s(!0),a(r,null,d(_.visibleRemainingUsers,e=>(s(),a("li",{class:k(["fbs_show_assignee fbs-task-member-row",{"is-saving":_.isSavingAssignee(e)}]),key:_.userId(e),onClick:h(t=>_.addAssignee(_.userId(e)),["stop"])},[_.isSavingAssignee(e)?(s(),a("span",Ta,[l(w,{class:"is-loading"},{default:n(()=>[l($)]),_:1})])):(s(),c(S,{key:1,placement:"top-start",trigger:"hover","show-after":300,teleported:!0,"popper-class":"fbs-task-details-assignee-hover-popover fbs-task-assignee-member-hover-popover"},{reference:n(()=>[e.photo?(s(),a("img",{key:0,src:e.photo,alt:e.display_name},null,8,Sa)):(s(),a("span",$a,o(_.userInitial(e)),1))]),default:n(()=>[l(T,{img:e.photo,name:e.display_name,email:e.user_email,role:e.role,profileLink:"/member/"+_.userId(e)},null,8,["img","name","email","role","profileLink"])]),_:2},1024)),i("span",Va,o(e.display_name),1)],10,Ca))),128))])):(s(),a("div",Aa,[l(V,{message:_.noAssignableMembersText,"icon-width":52,"icon-height":40},null,8,["message"])]))])),[[I,m.fetchingMembers]]),_.visibleRemainingAdmins.length?f((s(),a("div",Ia,[i("div",Da,o(e.$t("Other users who have access to this board")),1),i("ul",Ba,[(s(!0),a(r,null,d(_.visibleRemainingAdmins,e=>(s(),a("li",{class:k(["fbs_show_assignee fbs-task-member-row",{"is-saving":_.isSavingAssignee(e)}]),key:_.userId(e),onClick:h(t=>_.addAssignee(_.userId(e),"other"),["stop"])},[_.isSavingAssignee(e)?(s(),a("span",Ma,[l(w,{class:"is-loading"},{default:n(()=>[l($)]),_:1})])):(s(),c(S,{key:1,placement:"top-start",trigger:"hover","show-after":300,teleported:!0,"popper-class":"fbs-task-details-assignee-hover-popover fbs-task-assignee-member-hover-popover"},{reference:n(()=>[e.photo?(s(),a("img",{key:0,src:e.photo,alt:e.display_name},null,8,xa)):(s(),a("span",Pa,o(_.userInitial(e)),1))]),default:n(()=>[l(T,{img:e.photo,name:e.display_name,email:e.user_email,role:e.role,profileLink:"/member/"+_.userId(e)},null,8,["img","name","email","role","profileLink"])]),_:2},1024)),i("span",Fa,o(e.display_name),1)],10,La))),128))])])),[[I,m.fetchingMembers]]):y("",!0)])]),_:1},8,["placement","disabled","onShow"])])])}]]);const ja=Ss({name:"CustomPopover",props:{modelValue:{type:Boolean,default:!1},placement:{type:String,default:"bottom"},width:{type:Number,default:200},popoverClass:{type:String,default:"fbs-custom-popover"},disabled:{type:Boolean,default:!1}},emits:["update:modelValue","opened","closed","item-click","hide","before-close"],data(){return{visible:this.modelValue,isChildComponentOpen:!1,currentPopoverElement:null,clickListenerAttached:!1,currentListenerContainer:null}},watch:{modelValue(e){this.visible=e,this.$nextTick(()=>{e&&!this.disabled?setTimeout(()=>{this.storePopoverElement(),this.attachClickListener()},100):(this.removeClickListener(),this.currentPopoverElement=null)})},visible(e){this.$emit("update:modelValue",e)},disabled(e){e&&this.visible&&(this.visible=!1)}},methods:{toggle(){this.disabled||this.visible&&this.isChildComponentOpen||(this.visible=!this.visible)},handleClickOutside(e){if(this.disabled||!this.currentPopoverElement)return;const t=this.$refs.triggerRef,s=this.currentPopoverElement,a=!(null==t?void 0:t.contains(e.target)),i=!(null==s?void 0:s.contains(e.target));a&&i&&(this.visible=!1)},childComponentToggle(e){this.isChildComponentOpen=e||!this.isChildComponentOpen},onItemClick(e){this.$emit("item-click",e),this.visible=!1},emitOpened(){this.$emit("opened")},emitClosed(){this.$emit("closed")},emitHide(){this.$emit("hide")},emitBeforeClose(){this.$emit("before-close")},closePopover(){this.visible=!1},attachClickListener(){if(!this.disabled&&!this.clickListenerAttached)try{const e=this.findModalContainer();e?(e.addEventListener("click",this.handleClickOutside,!0),this.currentListenerContainer=e):(document.addEventListener("click",this.handleClickOutside,!0),this.currentListenerContainer=document),this.clickListenerAttached=!0}catch(e){document.addEventListener("click",this.handleClickOutside,!0),this.currentListenerContainer=document,this.clickListenerAttached=!0}},removeClickListener(){if(this.clickListenerAttached&&this.currentListenerContainer)try{this.currentListenerContainer.removeEventListener("click",this.handleClickOutside,!0)}catch(e){}finally{this.currentListenerContainer=null,this.clickListenerAttached=!1}},findModalContainer(){try{const e=[".el-drawer__container",".el-dialog__wrapper",".fbs-task-details-modal",".fbs-task-details-drawer",".task-details-modal",".task-details-drawer"];for(const a of e){const e=document.querySelectorAll(a);for(const t of e){const e=window.getComputedStyle(t);if("none"!==e.display&&"hidden"!==e.visibility&&null!==t.offsetParent)return t}}const t=['[class*="modal"]','[class*="drawer"]','[class*="popup"]'];for(const a of t){const e=document.querySelectorAll(a);for(const t of e){const e=window.getComputedStyle(t);if("none"!==e.display&&"hidden"!==e.visibility&&null!==t.offsetParent)return t}}const s=this.$refs.triggerRef;if(s){let e=s.parentElement,t=0;for(;e&&e!==document.body&&t<10;){const s=window.getComputedStyle(e);if("auto"===s.overflow||"scroll"===s.overflow||"auto"===s.overflowY||"scroll"===s.overflowY)return e;e=e.parentElement,t++}}}catch(e){}return null},storePopoverElement(){var e,t;try{(null==(t=null==(e=this.$refs.popoverRef)?void 0:e.popperRef)?void 0:t.contentRef)&&(this.currentPopoverElement=this.$refs.popoverRef.popperRef.contentRef)}catch(s){this.currentPopoverElement=null}}},beforeUnmount(){this.removeClickListener()}},[["render",function(e,t,a,o,l,r){const d=je;return s(),c(d,{visible:l.visible,placement:a.placement,trigger:"manual",width:a.width,style:{"margin-top":"-10px"},"popper-class":a.popoverClass,onAfterEnter:r.emitOpened,onAfterLeave:r.emitClosed,onBeforeLeave:r.emitBeforeClose,onHide:r.emitHide,ref:"popoverRef"},{reference:n(()=>[i("div",{ref:"triggerRef",onClick:t[0]||(t[0]=h((...e)=>r.toggle&&r.toggle(...e),["stop"])),class:k(["fbs-custom-popover-trigger",{"fbs-disabled":a.disabled}])},[_(e.$slots,"trigger",{toggle:r.toggle},void 0,!0)],2)]),default:n(()=>[i("div",{class:"fbs-custom-popover-content",onClick:t[1]||(t[1]=h(()=>{},["stop"]))},[_(e.$slots,"default",{},void 0,!0)])]),_:3},8,["visible","placement","width","popper-class","onAfterEnter","onAfterLeave","onBeforeLeave","onHide"])}],["__scopeId","data-v-d53e2bb1"]]),za={name:"ConfirmationDialog",emits:["cancel","closed","confirm"],props:{dialogVisible:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},title:{type:String,required:!0},message:{type:String,required:!0},confirmText:{type:String,required:!0},confirmType:{type:String,default:"primary"},width:{type:String,default:"440px"}},methods:{onDialogVisibleChange(e){e||this.loading||this.$emit("cancel")}}},Ga={class:"fbs_confirmation_dialog__content"},qa={class:"fbs_confirmation_dialog__icon","aria-hidden":"true"},Wa={class:"fbs_confirmation_dialog__text"},Ka={class:"fbs_confirmation_dialog__footer"};const Za=Ss(za,[["render",function(e,t,a,r,d,h){const u=b("WarningFilled"),p=Ne,m=ze,g=Ge;return s(),c(g,{"model-value":a.dialogVisible,width:a.width,class:"fbs_confirmation_dialog","modal-class":"fbs_confirmation_dialog_modal","append-to-body":"","show-close":!1,"close-on-click-modal":!a.loading,"close-on-press-escape":!a.loading,"onUpdate:modelValue":h.onDialogVisibleChange,onClosed:t[2]||(t[2]=t=>e.$emit("closed"))},{footer:n(()=>[i("div",Ka,[l(m,{class:"fbs_confirmation_dialog__cancel",disabled:a.loading,onClick:t[0]||(t[0]=t=>e.$emit("cancel"))},{default:n(()=>[w(o(e.$t("Cancel")),1)]),_:1},8,["disabled"]),l(m,{type:a.confirmType,loading:a.loading,onClick:t[1]||(t[1]=t=>e.$emit("confirm"))},{default:n(()=>[w(o(a.confirmText),1)]),_:1},8,["type","loading"])])]),default:n(()=>[i("div",Ga,[i("div",qa,[l(p,null,{default:n(()=>[l(u)]),_:1})]),i("div",Wa,[i("h3",null,o(a.title),1),i("p",null,o(a.message),1)])])]),_:1},8,["model-value","width","close-on-click-modal","close-on-press-escape","onUpdate:modelValue"])}]]);const Ya=Ss({name:"LabelDeleteDialog",components:{ConfirmationDialog:Za},emits:["cancel","closed","confirm"],props:{dialogVisible:{type:Boolean,default:!1},loading:{type:Boolean,default:!1}}},[["render",function(e,t,a,i,o,l){const n=b("confirmation-dialog");return s(),c(n,{"dialog-visible":a.dialogVisible,loading:a.loading,title:e.$t("Confirmation Required"),message:e.$t("Deleting this label will remove it from all associated tasks. Are you sure you want to delete this label?"),"confirm-text":e.$t("Delete Label"),onConfirm:t[0]||(t[0]=t=>e.$emit("confirm")),onCancel:t[1]||(t[1]=t=>e.$emit("cancel")),onClosed:t[2]||(t[2]=t=>e.$emit("closed"))},null,8,["dialog-visible","loading","title","message","confirm-text"])}]]),Ja=["#6B7280","#335CFF","#F97316","#FF3B4A","#25C16F","#F2B51D","#7C4DFF","#47B6E8"],Qa={name:"ColorPicker",emits:["update:modelValue","update:visible","input","change"],props:{modelValue:{type:String,default:""},visible:{type:[Boolean,null],default:null},disabled:{type:Boolean,default:!1},showAlpha:{type:Boolean,default:!0},recommendedColors:{type:Array,default:()=>Ja},fallbackColor:{type:String,default:"#335CFF"},placement:{type:String,default:"left"},width:{type:Number,default:272},popperClass:{type:String,default:"fbs-board-background-picker-popover"},teleported:{type:Boolean,default:!0}},data(){const e=Math.random().toString(36).slice(2,10);return{colorPickerHue:228,colorPickerSaturation:100,colorPickerValue:100,colorPickerAlpha:100,colorPickerHex:this.normalizedFallbackColor(),colorPickerHexInput:"",colorPickerDragging:!1,colorFieldElement:null,internalVisible:!1,shouldRestoreDraftOnClose:!0,eyeDropperMaskId:`fbs-color-picker-icon-mask-${e}`}},computed:{localVisible(){return null===this.visible?this.internalVisible:this.visible},pickerColorValue(){const e=this.normalizeHex(this.colorPickerHex)||this.normalizedFallbackColor();if(!this.showAlpha||this.colorPickerAlpha>=100)return e;return`${e}${Math.round(2.55*this.clampPercent(this.colorPickerAlpha)).toString(16).padStart(2,"0").toUpperCase()}`},swatchColor(){return!this.showAlpha||this.colorPickerAlpha>=100?this.normalizeHex(this.colorPickerHex)||this.normalizedFallbackColor():this.colorToRgba(this.colorPickerHex,this.colorPickerAlpha)},colorPickerDisplayHex(){return(this.normalizeHex(this.colorPickerHex)||this.normalizedFallbackColor()).replace("#","")},pickerFieldStyle(){return{background:`\n linear-gradient(to top, #000000 0%, rgba(0, 0, 0, 0) 100%),\n linear-gradient(to right, #ffffff 0%, hsl(${this.colorPickerHue}, 100%, 50%) 100%)\n `}},pickerFieldHandleStyle(){return{left:`${this.colorPickerSaturation}%`,top:100-this.colorPickerValue+"%"}},pickerHueSliderStyle(){return{"--fbs-picker-value":""+(Number(this.colorPickerHue)||0)/360*100}},pickerAlphaSliderStyle(){const e=this.normalizeHex(this.colorPickerHex)||this.normalizedFallbackColor(),t=this.hexToRgb(e),s=`rgba(${t.r}, ${t.g}, ${t.b}, 1)`,a=`rgba(${t.r}, ${t.g}, ${t.b}, 0)`;return{"--fbs-picker-value":`${this.clampPercent(this.colorPickerAlpha)}`,"--fbs-picker-alpha-start":a,"--fbs-picker-alpha-end":s}},normalizedRecommendedColors(){const e=(Array.isArray(this.recommendedColors)?this.recommendedColors:[]).map(e=>this.normalizeHex(e)).filter(Boolean);return[...new Set(e)]},supportsEyeDropper:()=>"undefined"!=typeof window&&Boolean(window.EyeDropper)},watch:{visible(e){e?(this.shouldRestoreDraftOnClose=!0,this.syncPickerFromValue()):this.handlePickerClosed()},modelValue(){this.colorPickerDragging||this.syncPickerFromValue()}},mounted(){this.syncPickerFromValue()},beforeUnmount(){this.stopColorFieldDrag()},methods:{setVisible(e){this.disabled&&e||(null===this.visible&&(this.internalVisible=e),e?(this.shouldRestoreDraftOnClose=!0,this.syncPickerFromValue()):this.handlePickerClosed(),this.$emit("update:visible",e))},openPicker(){this.disabled||this.setVisible(!0)},syncPickerFromValue(){const e=this.parseColor(this.modelValue)||{hex:this.normalizedFallbackColor(),alpha:100};this.setPickerDraftFromHex(e.hex,e.alpha)},setPickerDraftFromHex(e,t=100){const s=this.normalizeHex(e)||this.normalizedFallbackColor(),a=this.hexToHsv(s);this.colorPickerHex=s,this.colorPickerHexInput=s.replace("#",""),this.colorPickerHue=a.h,this.colorPickerSaturation=a.s,this.colorPickerValue=a.v,this.colorPickerAlpha=this.showAlpha?this.clampPercent(t):100},updatePickerFromHsv(){this.disabled||(this.colorPickerSaturation=this.clampPercent(this.colorPickerSaturation),this.colorPickerValue=this.clampPercent(this.colorPickerValue),this.colorPickerHue=Math.max(0,Math.min(360,Number(this.colorPickerHue)||0)),this.colorPickerHex=this.hsvToHex(this.colorPickerHue,this.colorPickerSaturation,this.colorPickerValue),this.colorPickerHexInput=this.colorPickerDisplayHex)},updatePickerFromHexInput(e){if(this.disabled)return;const t=e.target.value.replace("#","").replace(/[^0-9a-f]/gi,"").slice(0,6).toUpperCase();this.colorPickerHexInput=t,e.target.value=t,6===t.length&&this.setPickerDraftFromHex(`#${t}`,this.colorPickerAlpha)},commitPickerHexInput(){if(this.disabled)return;const e=this.normalizeHex(this.colorPickerHexInput);e?this.setPickerDraftFromHex(e,this.colorPickerAlpha):this.colorPickerHexInput=this.colorPickerDisplayHex},startColorFieldDrag(e){this.disabled||(this.colorPickerDragging=!0,this.colorFieldElement=e.currentTarget,this.updateColorFieldFromPointer(e),window.addEventListener("pointermove",this.handleColorFieldDrag),window.addEventListener("pointerup",this.stopColorFieldDrag,{once:!0}),window.addEventListener("pointercancel",this.stopColorFieldDrag,{once:!0}))},handleColorFieldDrag(e){this.colorPickerDragging&&this.updateColorFieldFromPointer(e)},stopColorFieldDrag(){this.colorPickerDragging=!1,this.colorFieldElement=null,window.removeEventListener("pointermove",this.handleColorFieldDrag),window.removeEventListener("pointerup",this.stopColorFieldDrag),window.removeEventListener("pointercancel",this.stopColorFieldDrag)},updateColorFieldFromPointer(e){const t=this.colorFieldElement||this.$refs.colorField;if(!t)return;const s=t.getBoundingClientRect(),a=Math.max(0,Math.min(s.width,e.clientX-s.left)),i=Math.max(0,Math.min(s.height,e.clientY-s.top));this.colorPickerSaturation=Math.round(a/s.width*100),this.colorPickerValue=Math.round(100-i/s.height*100),this.updatePickerFromHsv()},normalizePickerAlpha(){this.colorPickerAlpha=this.clampPercent(this.colorPickerAlpha)},confirmPickerSelection(){if(this.disabled)return;this.stopColorFieldDrag(),this.normalizePickerAlpha();const e=this.pickerColorValue;this.$emit("update:modelValue",e),this.$emit("input",e),this.$emit("change",e),this.shouldRestoreDraftOnClose=!1,this.setVisible(!1)},cancelPickerSelection(){this.stopColorFieldDrag(),this.syncPickerFromValue(),this.setVisible(!1)},handlePickerClosed(){this.stopColorFieldDrag(),this.shouldRestoreDraftOnClose&&this.syncPickerFromValue(),this.shouldRestoreDraftOnClose=!0},selectRecommendedColor(e){this.disabled||this.setPickerDraftFromHex(e,100)},pickWithEyeDropper(){if(!this.supportsEyeDropper||this.disabled)return;(new window.EyeDropper).open().then(e=>{this.setPickerDraftFromHex(e.sRGBHex,100)}).catch(()=>{})},parseColor(e){if(!e||"string"!=typeof e)return null;const t=this.normalizeHex(e);if(t)return{hex:t,alpha:this.getHexAlpha(e)};const s=e.trim().match(/^rgba?\(([^)]+)\)$/i);if(!s)return null;const a=s[1].split(",").map(e=>e.trim());if(a.length<3)return null;const i=a.slice(0,3).map(e=>Math.max(0,Math.min(255,Number(e)||0))),o=void 0===a[3]?100:this.clampPercent(100*Number(a[3]));return{hex:`#${i.map(e=>Math.round(e).toString(16).padStart(2,"0").toUpperCase()).join("")}`,alpha:o}},getHexAlpha(e){const t=e.trim().match(/^#?([0-9a-f]{8})$/i);return t?Math.round(parseInt(t[1].slice(6,8),16)/255*100):100},colorToRgba(e,t){const s=this.hexToRgb(e);return`rgba(${s.r}, ${s.g}, ${s.b}, ${this.clampPercent(t)/100})`},normalizedFallbackColor(){return this.normalizeHex(this.fallbackColor)||"#335CFF"},clampPercent:e=>Math.max(0,Math.min(100,Number(e)||0)),normalizeHex(e){if(!e||"string"!=typeof e)return"";const t=e.trim().match(/^#?([0-9a-f]{3}|[0-9a-f]{6}|[0-9a-f]{8})$/i);if(!t)return"";let s=t[1].slice(0,6);return 3===s.length&&(s=s.split("").map(e=>e+e).join("")),`#${s.toUpperCase()}`},hexToRgb(e){const t=this.normalizeHex(e)||this.normalizedFallbackColor(),s=parseInt(t.slice(1),16);return{r:s>>16&255,g:s>>8&255,b:255&s}},hexToHsv(e){const{r:t,g:s,b:a}=this.hexToRgb(e),i=t/255,o=s/255,l=a/255,n=Math.max(i,o,l),r=n-Math.min(i,o,l);let d=0;if(0!==r){switch(n){case i:d=(o-l)/r+(o<l?6:0);break;case o:d=(l-i)/r+2;break;default:d=(i-o)/r+4}d/=6}const c=0===n?0:r/n;return{h:Math.round(360*d),s:Math.round(100*c),v:Math.round(100*n)}},hsvToHex(e,t,s){const a=((Number(e)||0)%360+360)%360,i=this.clampPercent(t)/100,o=this.clampPercent(s)/100,l=o*i,n=l*(1-Math.abs(a/60%2-1)),r=o-l;let d;return d=a<60?[l,n,0]:a<120?[n,l,0]:a<180?[0,l,n]:a<240?[0,n,l]:a<300?[n,0,l]:[l,0,n],`#${d.map(e=>Math.round(255*(e+r)).toString(16).padStart(2,"0").toUpperCase()).join("")}`}}},Xa=["disabled","aria-label"],ei=["aria-label","disabled"],ti={class:"screen-reader-text"},si=["disabled"],ai={class:"screen-reader-text"},ii=["disabled"],oi={class:"fbs-board-background-picker-inputs"},li={class:"fbs-board-background-picker-input-row"},ni=["aria-label","disabled"],ri={class:"icon"},di={width:"32",height:"32",viewBox:"0 0 32 32",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false"},ci=["id"],hi=["mask"],ui=["aria-label","value","disabled"],pi={key:0,class:"fbs-board-background-picker-percent"},mi=["disabled"],bi={key:1,class:"fbs-board-background-picker-recommended"},gi={class:"fbs-board-background-picker-recommended-list"},fi=["aria-label","disabled","onClick"],_i={class:"fbs-board-background-picker-footer"},ki=["disabled"],vi=["disabled"];const yi=Ss(Qa,[["render",function(e,t,l,u,p,m){const b=je;return s(),c(b,{visible:m.localVisible,placement:l.placement,trigger:"click",width:l.width,"popper-class":l.popperClass,teleported:l.teleported,"onUpdate:visible":m.setVisible},{reference:n(()=>[_(e.$slots,"reference",{color:m.pickerColorValue,visible:m.localVisible,open:m.openPicker},()=>[i("button",{type:"button",class:k(["fbs-color-picker-reference",{"is-disabled":l.disabled}]),disabled:l.disabled,"aria-label":e.$t("Pick Color")},[i("span",{class:"fbs-color-picker-reference__swatch",style:S({background:m.swatchColor})},null,4)],10,Xa)])]),default:n(()=>[i("div",{class:"fbs-board-background-picker-panel",onClick:t[16]||(t[16]=h(()=>{},["stop"]))},[i("button",{ref:"colorField",type:"button",class:"fbs-board-background-picker-field",style:S(m.pickerFieldStyle),"aria-label":e.$t("Select Color Shade"),disabled:l.disabled,onPointerdown:t[0]||(t[0]=h((...e)=>m.startColorFieldDrag&&m.startColorFieldDrag(...e),["prevent"]))},[i("span",{class:"fbs-board-background-picker-field-handle",style:S(m.pickerFieldHandleStyle)},null,4)],44,ei),i("label",{class:"fbs-board-background-picker-slider fbs-board-background-picker-hue",style:S(m.pickerHueSliderStyle)},[i("span",ti,o(e.$t("Hue")),1),f(i("input",{"onUpdate:modelValue":t[1]||(t[1]=e=>p.colorPickerHue=e),type:"range",min:"0",max:"360",disabled:l.disabled,onInput:t[2]||(t[2]=(...e)=>m.updatePickerFromHsv&&m.updatePickerFromHsv(...e)),onChange:t[3]||(t[3]=(...e)=>m.updatePickerFromHsv&&m.updatePickerFromHsv(...e))},null,40,si),[[v,p.colorPickerHue,void 0,{number:!0}]])],4),l.showAlpha?(s(),a("label",{key:0,class:"fbs-board-background-picker-slider fbs-board-background-picker-alpha",style:S(m.pickerAlphaSliderStyle)},[i("span",ai,o(e.$t("Opacity")),1),f(i("input",{"onUpdate:modelValue":t[4]||(t[4]=e=>p.colorPickerAlpha=e),type:"range",min:"0",max:"100",disabled:l.disabled,onInput:t[5]||(t[5]=(...e)=>m.normalizePickerAlpha&&m.normalizePickerAlpha(...e)),onChange:t[6]||(t[6]=(...e)=>m.normalizePickerAlpha&&m.normalizePickerAlpha(...e))},null,40,ii),[[v,p.colorPickerAlpha,void 0,{number:!0}]])],4)):y("",!0),i("div",oi,[i("div",li,[i("button",{type:"button",class:"fbs-board-background-eyedropper","aria-label":e.$t("Pick Color"),disabled:l.disabled||!m.supportsEyeDropper,onClick:t[7]||(t[7]=(...e)=>m.pickWithEyeDropper&&m.pickWithEyeDropper(...e))},[i("span",ri,[(s(),a("svg",di,[i("mask",{id:p.eyeDropperMaskId,fill:"white"},[...t[17]||(t[17]=[i("path",{d:"M0 0H32V32H0V0Z"},null,-1)])],8,ci),t[18]||(t[18]=i("path",{d:"M0 0H32V32H0V0Z",fill:"white"},null,-1)),i("path",{d:"M32 0H31V32H32H33V0H32Z",fill:"#E1E4EA",mask:`url(#${p.eyeDropperMaskId})`},null,8,hi),t[19]||(t[19]=i("path",{d:"M11.8427 21.2179L18.2657 14.7949L17.2053 13.7344L10.7823 20.1574L11.8427 21.2179ZM16.144 12.6739L15.0835 11.6134L16.144 10.5529L17.47 11.8782L19.5917 9.75719C19.7324 9.61658 19.9231 9.5376 20.122 9.5376C20.3209 9.5376 20.5116 9.61658 20.6522 9.75719L22.243 11.3479C22.3836 11.4886 22.4626 11.6793 22.4626 11.8782C22.4626 12.0771 22.3836 12.2678 22.243 12.4084L20.122 14.5302L21.4473 15.8562L20.3868 16.9167L19.3263 15.8562L12.4323 22.7502H9.25V19.5679L16.144 12.6739Z",fill:"#525866"},null,-1))]))])],8,ni),i("span",{class:"fbs-board-background-picker-swatch",style:S({background:m.swatchColor})},null,4),i("input",{class:"fbs-board-background-picker-hex",type:"text",inputmode:"text",maxlength:"7",autocomplete:"off",autocapitalize:"characters",spellcheck:"false","aria-label":e.$t("Hex Color"),value:p.colorPickerHexInput,disabled:l.disabled,onInput:t[8]||(t[8]=(...e)=>m.updatePickerFromHexInput&&m.updatePickerFromHexInput(...e)),onChange:t[9]||(t[9]=(...e)=>m.commitPickerHexInput&&m.commitPickerHexInput(...e)),onBlur:t[10]||(t[10]=(...e)=>m.commitPickerHexInput&&m.commitPickerHexInput(...e)),onKeydown:t[11]||(t[11]=$(h((...e)=>m.commitPickerHexInput&&m.commitPickerHexInput(...e),["prevent"]),["enter"]))},null,40,ui),l.showAlpha?(s(),a("label",pi,[f(i("input",{"onUpdate:modelValue":t[12]||(t[12]=e=>p.colorPickerAlpha=e),type:"number",min:"0",max:"100",disabled:l.disabled,onChange:t[13]||(t[13]=(...e)=>m.normalizePickerAlpha&&m.normalizePickerAlpha(...e))},null,40,mi),[[v,p.colorPickerAlpha,void 0,{number:!0}]]),t[20]||(t[20]=i("span",null,"%",-1))])):y("",!0)])]),m.normalizedRecommendedColors.length?(s(),a("div",bi,[i("p",null,o(e.$t("Recommended Colors")),1),i("div",gi,[(s(!0),a(r,null,d(m.normalizedRecommendedColors,t=>(s(),a("button",{type:"button",key:t,class:k(["fbs-board-background-picker-recommended-color",{"is-selected":m.normalizeHex(p.colorPickerHex)===t}]),style:S({background:t}),"aria-label":e.$t("Select Color"),disabled:l.disabled,onClick:e=>m.selectRecommendedColor(t)},null,14,fi))),128))])])):y("",!0),i("div",_i,[i("button",{type:"button",class:"fbs-board-background-picker-action fbs-board-background-picker-cancel",disabled:l.disabled,onClick:t[14]||(t[14]=(...e)=>m.cancelPickerSelection&&m.cancelPickerSelection(...e))},o(e.$t("Cancel")),9,ki),i("button",{type:"button",class:"fbs-board-background-picker-action fbs-board-background-picker-confirm",disabled:l.disabled,onClick:t[15]||(t[15]=(...e)=>m.confirmPickerSelection&&m.confirmPickerSelection(...e))},o(e.$t("ok")),9,vi)])])]),_:3},8,["visible","placement","width","popper-class","teleported","onUpdate:visible"])}]]),wi={name:"LabelManager",components:{Icons:$s,EmptyState:Vs,ColorPicker:yi},emits:["create-label","update-label","request-delete-label","select-label","deselect-label"],props:{labels:{type:Array,default:()=>[]},labelColor:{type:Object,default:()=>({})},labelColorText:{type:Object,default:()=>({})},canManageLabels:{type:Boolean,default:!1},showAddButton:{type:Boolean,default:!1},selectable:{type:Boolean,default:!1},maxLength:{type:Number,default:null},selectedLabelIds:{type:Array,default:()=>[]},variantClass:{type:String,default:"fbs_board_menu_labels"},teleportedColorPicker:{type:Boolean,default:!1}},data:()=>({addingLabelToBoard:!1,selectedLabel:{bg_color:"",color:""},label:"",labelDrafts:{},activeColorPickerLabelId:null,showInlineColorPicker:!1,labelSearchQuery:"",createSource:"button"}),computed:{rootClasses(){return["fbs_label_manager",this.variantClass,`${this.variantClass}__panel`]},filteredLabels(){const e=this.labelSearchQuery?this.labelSearchQuery.toLowerCase():"";return(Array.isArray(this.labels)?this.labels:[]).filter(t=>(t.title?t.title.toLowerCase():"").includes(e)).map((e,t)=>({label:e,index:t})).sort((e,t)=>{const s=this.isSelected(e.label);return s!==this.isSelected(t.label)?s?-1:1:e.index-t.index}).map(({label:e})=>e)},normalizedSelectedLabelIds(){return this.selectedLabelIds.map(e=>parseInt(e)).filter(Boolean)},emptyLabelsMessage(){return this.labelSearchQuery&&this.labelSearchQuery.trim()?"No matching labels":"No labels yet"},canSaveLabel(){return Boolean(this.label&&this.label.trim())}},methods:{partClass(...e){const t=[];return e.forEach(e=>{t.push(`fbs_label_manager__${e}`),t.push(`${this.variantClass}__${e}`)}),t},limitLabelTitle(e){const t=null==e?"":String(e);return null===this.maxLength?t:Array.from(t).slice(0,this.maxLength).join("")},onAddLabelToBoard(e="button"){this.closeLabelColorPicker(),this.addingLabelToBoard=!0,this.createSource=e,this.selectedLabel.bg_color=this.defaultLabelColor(),this.selectedLabel.color=this.defaultLabelTextColor("orange"),this.label="empty_state"===e?this.limitLabelTitle(this.labelSearchQuery):"",this.$nextTick(()=>{this.$refs.inlineLabelInput&&this.$refs.inlineLabelInput.focus()})},cancelAddingLabelToBoard(){this.addingLabelToBoard=!1,this.showInlineColorPicker=!1,this.label="",this.createSource="button"},onSelectLabelColor(e){this.selectedLabel.bg_color=e,this.selectedLabel.color=this.defaultLabelTextColor(e),this.showInlineColorPicker=!1},defaultLabelColor(){if(this.labelColor&&this.labelColor.orange)return this.labelColor.orange;return(this.labelColor?Object.values(this.labelColor):[])[0]||"#fea362"},defaultLabelTextColor(e){var t,s;if(null==(t=this.labelColorText)?void 0:t[e])return this.labelColorText[e];const a=Object.keys(this.labelColor||{}).find(t=>this.normalizeHex(this.labelColor[t])===this.normalizeHex(e));return a&&(null==(s=this.labelColorText)?void 0:s[a])?this.labelColorText[a]:this.isDarkColor(e)?"#FFFFFF":"#1B2533"},normalizeHex(e){if(!e||"string"!=typeof e)return"";const t=e.trim().match(/^#?([0-9a-f]{3}|[0-9a-f]{6}|[0-9a-f]{8})$/i);if(!t)return"";let s=t[1].slice(0,6);return 3===s.length&&(s=s.split("").map(e=>e+e).join("")),`#${s.toUpperCase()}`},isDarkColor(e){const t=this.normalizeHex(e);if(!t)return!1;const s=parseInt(t.slice(1),16);return(.299*(s>>16&255)+.587*(s>>8&255)+.114*(255&s))/255<.55},labelDraft(e){return Object.prototype.hasOwnProperty.call(this.labelDrafts,e.id)?this.labelDrafts[e.id]:e.title||""},setLabelDraft(e,t){this.labelDrafts={...this.labelDrafts,[e.id]:t}},resetInlineLabelTitle(e,t){this.setLabelDraft(e,e.title||""),t&&t.blur()},saveInlineLabelTitle(e){if(!this.canManageLabels)return;const t=this.labelDraft(e).trim(),s=e.title||"";t?t!==s&&this.$emit("update-label",{label:e,changes:{title:t}}):this.setLabelDraft(e,s)},setLabelColorPopover(e,t){this.showInlineColorPicker=!1,this.activeColorPickerLabelId=t?e.id:null},closeLabelColorPicker(){this.activeColorPickerLabelId=null},saveInlineLabelColor(e,t){this.canManageLabels&&t&&(this.$emit("update-label",{label:e,changes:{bg_color:t,color:this.defaultLabelTextColor(t)}}),this.closeLabelColorPicker())},isSelected(e){return this.normalizedSelectedLabelIds.includes(parseInt(e.id))},onLabelSelectionChange(e,t){t?this.$emit("select-label",e):this.$emit("deselect-label",e)},toggleLabelSelection(e){this.isSelected(e)?this.$emit("deselect-label",e):this.$emit("select-label",e)},labelSelectionAriaLabel(e){return`${this.isSelected(e)?this.$t("Remove label"):this.$t("Add label")}: ${e.title||""}`},showDeleteDialog(e){this.closeLabelColorPicker(),this.$emit("request-delete-label",e)},saveLabelToBoard(){const e=this.limitLabelTitle(this.label?this.label.trim():"");e?(this.$emit("create-label",{bg_color:this.selectedLabel.bg_color,color:this.selectedLabel.color,label:e,source:this.createSource}),this.selectedLabel.bg_color=this.defaultLabelColor(),this.selectedLabel.color="#1B2533",this.label="",this.addingLabelToBoard=!1,this.showInlineColorPicker=!1,this.labelSearchQuery="",this.createSource="button"):this.$nextTick(()=>{this.$refs.inlineLabelInput&&this.$refs.inlineLabelInput.focus()})}}},Ci=["aria-label"],Ti=["maxlength","aria-label"],Si=["disabled","aria-label","title"],$i=["aria-label","title"],Vi=["aria-label"],Ai=["maxlength","value","aria-label","onFocus","onInput","onBlur","onKeydown"],Ii=["aria-pressed","aria-label","onClick"],Di=["aria-label","title","onClick"],Bi={key:2,class:"fbs-empty-labels-state"},Li={class:"fbs-empty-state-content"},Mi={class:"icon"},xi={class:"fbs_add_label_button__text"};const Pi=Ss(wi,[["render",function(e,t,u,p,m,g){const _=He,w=b("Plus"),C=Ne,T=ze,V=b("color-picker"),A=b("Check"),I=b("Close"),D=qe,B=b("Delete"),L=b("empty-state"),M=b("Icons");return s(),a("div",{class:k(g.rootClasses)},[i("div",{class:k(g.partClass("list_view"))},[i("div",{class:k(g.partClass("toolbar"))},[l(_,{modelValue:m.labelSearchQuery,"onUpdate:modelValue":t[0]||(t[0]=e=>m.labelSearchQuery=e),maxlength:u.maxLength,class:k(g.partClass("search")),placeholder:e.$t("Change or add labels"),"prefix-icon":"Search",clearable:"",onPaste:t[1]||(t[1]=h(()=>{},["stop"])),size:"small"},null,8,["modelValue","maxlength","class","placeholder"]),u.canManageLabels&&u.showAddButton?(s(),c(T,{key:0,class:k(g.partClass("add_button")),onClick:h(g.onAddLabelToBoard,["stop"])},{default:n(()=>[l(C,null,{default:n(()=>[l(w)]),_:1}),i("span",null,o(e.$t("Add Label")),1)]),_:1},8,["class","onClick"])):y("",!0)],2),m.addingLabelToBoard&&u.canManageLabels?(s(),a("form",{key:0,class:k(g.partClass("inline_form")),onSubmit:t[7]||(t[7]=h((...e)=>g.saveLabelToBoard&&g.saveLabelToBoard(...e),["prevent","stop"]))},[l(V,{modelValue:m.selectedLabel.bg_color,"onUpdate:modelValue":t[2]||(t[2]=e=>m.selectedLabel.bg_color=e),visible:m.showInlineColorPicker,"onUpdate:visible":t[3]||(t[3]=e=>m.showInlineColorPicker=e),placement:e.appVars.is_rtl?"right":"left",teleported:u.teleportedColorPicker,onChange:g.onSelectLabelColor},{reference:n(()=>[i("button",{type:"button",class:k(g.partClass("color_dot","color_dot_button")),style:S({backgroundColor:m.selectedLabel.bg_color}),"aria-label":e.$t("Pick label color")},null,14,Ci)]),_:1},8,["modelValue","visible","placement","teleported","onChange"]),f(i("input",{ref:"inlineLabelInput","onUpdate:modelValue":t[4]||(t[4]=e=>m.label=e),type:"text",maxlength:u.maxLength,class:k(g.partClass("inline_input")),"aria-label":e.$t("Label name"),onKeydown:t[5]||(t[5]=$(h((...e)=>g.cancelAddingLabelToBoard&&g.cancelAddingLabelToBoard(...e),["prevent"]),["esc"]))},null,42,Ti),[[v,m.label]]),i("div",{class:k(g.partClass("inline_actions"))},[i("button",{type:"submit",class:k(g.partClass("inline_icon_button","inline_save_button")),disabled:!g.canSaveLabel,"aria-label":e.$t("Save Label"),title:e.$t("Save Label")},[l(C,null,{default:n(()=>[l(A)]),_:1})],10,Si),i("button",{type:"button",class:k(g.partClass("inline_icon_button","inline_cancel_button")),"aria-label":e.$t("Cancel"),title:e.$t("Cancel"),onClick:t[6]||(t[6]=h((...e)=>g.cancelAddingLabelToBoard&&g.cancelAddingLabelToBoard(...e),["stop"]))},[l(C,null,{default:n(()=>[l(I)]),_:1})],10,$i)],2)],34)):y("",!0),g.filteredLabels.length?(s(),a("div",{key:1,class:k(["fbs-task-board-labels-wrap",g.partClass("items")])},[(s(!0),a(r,null,d(g.filteredLabels,(r,d)=>(s(),a("div",{class:k(["fbs-task-board-label-item",[g.partClass("item"),{"is-selected":g.isSelected(r)}]]),key:d},[u.selectable?(s(),c(D,{key:0,class:k(g.partClass("checkbox")),"model-value":g.isSelected(r),onClick:t[8]||(t[8]=h(()=>{},["stop"])),onChange:e=>g.onLabelSelectionChange(r,e)},null,8,["class","model-value","onChange"])):y("",!0),u.canManageLabels?(s(),c(V,{key:1,"model-value":r.bg_color,placement:e.appVars.is_rtl?"right":"left",teleported:u.teleportedColorPicker,visible:m.activeColorPickerLabelId===r.id,"onUpdate:visible":e=>g.setLabelColorPopover(r,e),onChange:e=>g.saveInlineLabelColor(r,e)},{reference:n(()=>[i("button",{type:"button",class:k(g.partClass("color_dot","color_dot_button")),style:S({backgroundColor:r.bg_color}),"aria-label":e.$t("Pick label color"),onKeydown:t[9]||(t[9]=$(h((...e)=>g.closeLabelColorPicker&&g.closeLabelColorPicker(...e),["prevent"]),["esc"]))},null,46,Vi)]),_:2},1032,["model-value","placement","teleported","visible","onUpdate:visible","onChange"])):(s(),a("span",{key:2,class:k(g.partClass("color_dot")),style:S({backgroundColor:r.bg_color})},null,6)),u.canManageLabels?(s(),a("input",{key:3,ref_for:!0,ref:"labelTitleInput"+r.id,maxlength:u.maxLength,class:k(g.partClass("title_input")),value:g.labelDraft(r),"aria-label":e.$t("Label name"),onClick:t[10]||(t[10]=h(()=>{},["stop"])),onFocus:e=>g.setLabelDraft(r,r.title||""),onInput:e=>g.setLabelDraft(r,e.target.value),onBlur:e=>g.saveInlineLabelTitle(r),onKeydown:[t[11]||(t[11]=$(h(e=>e.target.blur(),["prevent"]),["enter"])),$(h(e=>g.resetInlineLabelTitle(r,e.target),["prevent"]),["esc"])]},null,42,Ai)):u.selectable?(s(),a("button",{key:4,type:"button",class:k(g.partClass("title")),"aria-pressed":g.isSelected(r),"aria-label":g.labelSelectionAriaLabel(r),onClick:h(e=>g.toggleLabelSelection(r),["stop"])},o(r.title),11,Ii)):(s(),a("span",{key:5,class:k(g.partClass("title"))},o(r.title),3)),u.canManageLabels?(s(),a("div",{key:6,class:k(g.partClass("actions"))},[i("button",{type:"button",class:k(g.partClass("icon_button")),"aria-label":e.$t("Delete Label"),title:e.$t("Delete Label"),onClick:h(e=>g.showDeleteDialog(r),["stop"])},[l(C,null,{default:n(()=>[l(B)]),_:1})],10,Di)],2)):y("",!0)],2))),128))],2)):y("",!0),0!==g.filteredLabels.length||m.addingLabelToBoard?y("",!0):(s(),a("div",Bi,[i("div",Li,[m.labelSearchQuery?y("",!0):(s(),c(L,{key:0,message:g.emptyLabelsMessage},null,8,["message"])),u.canManageLabels&&m.labelSearchQuery?(s(),c(T,{key:1,text:"",type:"primary",onClick:t[12]||(t[12]=h(e=>g.onAddLabelToBoard("empty_state"),["stop"])),class:"fbs-w-full fbs_add_label_button",title:e.$t("Create New")+": "+m.labelSearchQuery},{default:n(()=>[i("span",Mi,[l(M,{"icon-name":"plus"})]),i("span",xi,o(e.$t("Create New")+": "+m.labelSearchQuery),1)]),_:1},8,["title"])):y("",!0)])]))],2)],2)}]]),Fi={data:()=>({taskLabelIds:[],labelToDelete:null,deleteDialogVisible:!1,deleteLoading:!1,isChildComponentOpen:!1}),watch:{"task.labels"(){this.setTaskLabelIds()}},computed:{canManageLabels(){return!this.board.archived_at&&!this.board.isUserOnlyViewer},taskLabels(){return this.task.labels&&this.board.labels?this.task.labels.filter(e=>this.board.labels.some(t=>parseInt(t.id)===parseInt(e.id||e))):[]}},methods:{setTaskLabelIds(){this.taskLabelIds=(this.task.labels||[]).map(e=>parseInt(e.id||e)).filter(Boolean)},selectLabelForTask(e){this.addTaskLabel(e),this.disable_save||this.$post("projects/"+this.board.id+"/labels/task",{taskId:this.task.id,labelId:e.id}).then(()=>{this.eventBus.emit("update-tasks",[this.task])}).catch(t=>{this.removeTaskLabel(e.id),this.handleError(t)})},deleteLabelForTask(e){this.removeTaskLabel(e.id),this.disable_save||this.$del("projects/"+this.board.id+"/tasks/"+this.task.id+"/labels/"+e.id).then(()=>{this.eventBus.emit("update-tasks",[this.task])}).catch(t=>{this.addTaskLabel(e),this.handleError(t)})},saveLabelToBoard(e){this.$post("projects/"+this.board.id+"/labels",{bg_color:e.bg_color,color:e.color,label:e.label}).then(t=>{this.eventBus.emit("add-board-labels",t.label),"empty_state"===e.source&&this.selectLabelForTask(t.label),this.$notify({message:t.message,type:"success"})}).catch(e=>{this.handleError(e)})},updateBoardLabel({label:e,changes:t}){null!=e.id&&this.$put("projects/"+this.board.id+"/labels/"+e.id,{label:t.title??e.title,bg_color:t.bg_color??e.bg_color,color:t.color??e.color}).then(e=>{this.eventBus.emit("updated-board-label",e.label)}).catch(e=>{this.handleError(e)})},deleteLabel(){var e;if(!(null==(e=this.labelToDelete)?void 0:e.id))return void this.closeDeleteDialog();const t=this.labelToDelete.id;this.deleteLoading=!0,this.$del("projects/"+this.board.id+"/labels/"+t).then(e=>{this.$notify({message:e.message,type:e.type}),this.eventBus.emit("delete-board-labels",t)}).catch(e=>{this.handleError(e),this.deleteLoading=!1}).finally(()=>{this.deleteLoading&&this.closeDeleteDialog()})},removeTaskLabel(e){this.task.labels=(this.task.labels||[]).filter(t=>t.id!=e)},addTaskLabel(e){const t=this.task.labels||[];t.some(t=>parseInt(t.id)===parseInt(e.id))||(this.task.labels=[...t,e])},showDeleteDialog(e){this.labelToDelete=e,this.deleteDialogVisible=!0,this.isChildComponentOpen=!0},closeDeleteDialog(){this.deleteDialogVisible=!1,setTimeout(()=>{this.isChildComponentOpen=!1},10)},onDeleteDialogClosed(){this.deleteLoading=!1,this.labelToDelete=null}}},Ei={name:"BoardLabels",inject:["eventBus"],mixins:[Fi],emits:["componentToggle"],components:{Icons:$s,LabelDeleteDialog:Ya,CustomPopover:ja,LabelManager:Pi},props:["task","theLabel","showButtonAddText","hideLabels","currentTaskActiveLabels","sidebarLabelsLayout","disable_save","visibleLabelLimit","placement","createModalChip"],data:()=>({popoverVisible:!1}),mounted(){this.setTaskLabelIds(),this.eventBus.on("close-board-labels-popover",this.closePopover)},beforeUnmount(){this.eventBus.off("close-board-labels-popover",this.closePopover)},computed:{...m(js,["board"]),taskLabelChipLabel(){const e=this.taskLabels.length;return 1===e?`1 ${this.$t("Label")}`:`${e} ${this.$t("Labels")}`},normalizedVisibleLabelLimit(){const e=parseInt(this.visibleLabelLimit,10);return Number.isFinite(e)&&e>0?e:0},visibleTaskLabels(){return this.normalizedVisibleLabelLimit?this.taskLabels.slice(0,this.normalizedVisibleLabelLimit):this.taskLabels},remainingTaskLabels(){return this.normalizedVisibleLabelLimit?this.taskLabels.slice(this.normalizedVisibleLabelLimit):[]},remainingTaskLabelDotColors(){return this.remainingTaskLabels.slice(0,5).map(e=>this.setCurrentLabels(e))},remainingTaskLabelsCount(){return this.remainingTaskLabels.length}},methods:{onAddingLabels(){this.$emit("componentToggle",!0)},beforeHide(){this.$emit("componentToggle",!1),this.closePopover()},setCurrentLabels(e){return this.board.labels.find(t=>t.id==e.id)||{}},labelChipStyle(e){const t=this.setCurrentLabels(e);return this.sidebarLabelsLayout?{"--fbs-label-dot-color":t.bg_color||"var(--fbs-folder-accent)"}:t.bg_color?`background:${t.bg_color}`:""},labelTextStyle(e){if(this.sidebarLabelsLayout)return"";const t=this.setCurrentLabels(e);return t.color?`color:${t.color}!important`:""},closePopover(){this.isChildComponentOpen=!1,this.popoverVisible=!1}}},Ui={class:"fbs_board_labels"},Oi={class:"fbs-cbp-dot-stack"},Ri={class:"icon"},Ni={class:"label"},Hi=["title"],ji={class:"fbs-cbp-dot-stack","aria-hidden":"true"},zi={class:"fbs-task-label-more-count"},Gi={class:"screen-reader-text"},qi={key:1},Wi={key:0,class:"icon"},Ki={class:"icon"},Zi={key:0,class:"label"},Yi={key:2,class:"label"};const Ji=Ss(Ei,[["render",function(e,t,h,u,p,m){const g=b("label-manager"),f=b("Icons"),v=ze,C=b("CustomPopover"),T=b("label-delete-dialog");return s(),a("div",Ui,[l(C,{disabled:!!e.board.archived_at||e.board.isUserOnlyViewer,"popper-class":"fbs-task-add-popover-box fbs-task-label-popover",placement:h.placement??"bottom",width:300,modelValue:p.popoverVisible,"onUpdate:modelValue":t[1]||(t[1]=e=>p.popoverVisible=e),onClosed:m.beforeHide,onBeforeClose:m.beforeHide},{trigger:n(()=>[_(e.$slots,"trigger",{open:m.onAddingLabels,taskLabels:e.taskLabels,taskLabelChipLabel:m.taskLabelChipLabel},()=>[h.createModalChip?(s(),a("button",{key:0,type:"button",class:"fbs_priority_badge cursor_pointer",onClick:t[0]||(t[0]=(...e)=>m.onAddingLabels&&m.onAddingLabels(...e))},[e.taskLabels.length?(s(),a(r,{key:0},[i("span",Oi,[(s(!0),a(r,null,d(e.taskLabels.slice(0,5),e=>(s(),a("span",{key:e.id||e,class:"fbs-cbp-dot",style:S({background:m.setCurrentLabels(e).bg_color||"#4bce97"})},null,4))),128))]),i("span",null,o(m.taskLabelChipLabel),1)],64)):(s(),a(r,{key:1},[i("span",Ri,[l(f,{"icon-name":"task-label"})]),i("span",Ni,o(e.$t("Labels")),1)],64))])):(s(),a("div",{key:1,class:k(["fbs-task-labels",{"fbs-task-labels-sidebar":h.sidebarLabelsLayout}])},[h.hideLabels?y("",!0):(s(),a(r,{key:0},[(s(!0),a(r,null,d(m.visibleTaskLabels,e=>(s(),a("div",{class:k(["fbs-task-label",{"fbs-task-label-empty":!m.setCurrentLabels(e).title}]),key:e.id,style:S(m.labelChipStyle(e))},[i("span",{style:S(m.labelTextStyle(e))},o(m.setCurrentLabels(e).title),5)],6))),128)),m.remainingTaskLabelsCount?(s(),a("div",{key:0,class:k(["fbs-task-label fbs-task-label-more",{"fbs-task-label-more--stacked":h.sidebarLabelsLayout}]),title:e.$t("More labels")},[h.sidebarLabelsLayout?(s(),a(r,{key:0},[i("span",ji,[(s(!0),a(r,null,d(m.remainingTaskLabelDotColors,(e,t)=>(s(),a("span",{key:e.id||t,class:"fbs-cbp-dot",style:S({background:e.bg_color||"var(--fbs-folder-accent)"})},null,4))),128))]),i("span",zi,[w("+"+o(m.remainingTaskLabelsCount)+" ",1),i("span",Gi,o(e.$t("labels")),1)])],64)):(s(),a("span",qi,"+"+o(m.remainingTaskLabelsCount)+" "+o(e.$t("labels")),1))],10,Hi)):y("",!0)],64)),l(v,{title:e.board.archived_at?e.$t("Can't change, board is archived"):"",class:k(["mini cursor_pointer",[{"label-items":h.theLabel},{"only-icon-btn":e.taskLabels.length&&h.sidebarLabelsLayout}]]),onClick:m.onAddingLabels,style:S(h.theLabel?"background-color: "+h.theLabel.bg_color:"")},{default:n(()=>[h.showButtonAddText?(s(),a("span",Wi,[l(f,{"icon-name":"task-label"})])):y("",!0),null!=h.theLabel?(s(),a("span",{key:1,class:"label",style:S([{"font-size":"12px"},"color:"+h.theLabel.color])},o(null!=h.theLabel.title&&h.theLabel.title.length>7?h.theLabel.title.slice(0,5)+"...":h.theLabel.title),5)):(s(),a(r,{key:2},[h.sidebarLabelsLayout?(s(),a(r,{key:0},[i("span",Ki,[l(f,{"icon-name":"plus"})]),e.taskLabels.length?y("",!0):(s(),a("span",Zi,o(e.$t("Add Label")),1))],64)):h.showButtonAddText?(s(),a("span",Yi,o(e.$t("Add label")),1)):(s(),c(f,{key:1,"icon-name":"plus"}))],64))]),_:1},8,["title","onClick","style","class"])],2))])]),default:n(()=>[l(g,{class:"fbs-task-sidebar-popover-box",labels:e.board.labels||[],"label-color":e.board.labelColor||{},"label-color-text":e.board.labelColorText||{},"can-manage-labels":e.canManageLabels,"selected-label-ids":e.taskLabelIds,selectable:!0,"teleported-color-picker":!0,"variant-class":"fbs_task_label_menu",onCreateLabel:e.saveLabelToBoard,onUpdateLabel:e.updateBoardLabel,onRequestDeleteLabel:e.showDeleteDialog,onSelectLabel:e.selectLabelForTask,onDeselectLabel:e.deleteLabelForTask},null,8,["labels","label-color","label-color-text","can-manage-labels","selected-label-ids","onCreateLabel","onUpdateLabel","onRequestDeleteLabel","onSelectLabel","onDeselectLabel"])]),_:3},8,["disabled","placement","modelValue","onClosed","onBeforeClose"]),l(T,{"dialog-visible":e.deleteDialogVisible,loading:e.deleteLoading,onCancel:e.closeDeleteDialog,onClosed:e.onDeleteDialogClosed,onConfirm:e.deleteLabel},null,8,["dialog-visible","loading","onCancel","onClosed","onConfirm"])])}]]),Qi=u("taskPropertiesEditing",{state:()=>({isEditingTaskAttachment:!1,isSubtaskEditing:!1,isMovingTask:!1}),getters:{isAttachmentEditing:e=>e.isEditingTaskAttachment},actions:{attachmentEditing(e){this.isEditingTaskAttachment=e},subtaskEditing(e){this.isSubtaskEditing=e},movingTask(e){this.isMovingTask=e}}}),Xi=u("task",{state:()=>({task:{assignees:[],labels:[],meta:{}},labels:[],selectedStage:{title:""},taskToBeShow:{},dashboardViewSettings:{dashboard_view_label:!0,dashboard_view_priority:!0,dashboard_view_assignee:!0,dashboard_view_subtask:!0,dashboard_view_attachment:!0,dashboard_view_due_date:!0,dashboard_view_comment:!0,dashboard_view_notification:!0},listviewSettings:{dashboard_view_label:!0,dashboard_view_priority:!0,dashboard_view_assignee:!0,dashboard_view_subtask:!0,dashboard_view_attachment:!0,dashboard_view_due_date:!0,dashboard_view_comment:!0,dashboard_view_notification:!0},dashboardViewCheckAll:!0,listviewCheckAll:!0,tableviewSettings:{table_view_priority:!0,table_view_status:!0,table_view_dates:!0,table_view_assignees:!0,table_view_labels:!0,table_view_created_at:!0,table_view_subtasks:!1,table_view_activity:!1},tableviewSettingsLoaded:!1,tableviewCheckAll:!0,ganttviewSettings:{gantt_view_time_scale:"week",gantt_view_show_assignee:!0,gantt_view_show_stage:!0,gantt_view_show_progress:!0}}),actions:{setTask(e){this.task={...this.task,...e}},setSelectedStage(e){this.selectedStage=e},resetTaskAndDependency(){this.task={assignees:[],labels:[],meta:{}},this.selectedStage={title:""},this.taskToBeShow={}},setTaskToBeShow(e={}){this.taskToBeShow=e},loadDashboardViewSettings(e){this.dashboardViewSettings=Object.assign({},e),this._recalcDashboardCheckAll()},updateDashboardViewSettings(e){"all"===e.key?(this.dashboardViewCheckAll=!this.dashboardViewCheckAll,Object.keys(this.dashboardViewSettings).forEach(e=>{this.dashboardViewSettings[e]=this.dashboardViewCheckAll})):(Object.prototype.hasOwnProperty.call(this.dashboardViewSettings,e.key)&&(this.dashboardViewSettings[e.key]=e.value),this._recalcDashboardCheckAll())},loadlistviewSettings(e){this.listviewSettings=Object.assign({},e),this._recalcListviewCheckAll()},updateListviewSettings(e){"all"===e.key?(this.listviewCheckAll=!this.listviewCheckAll,Object.keys(this.listviewSettings).forEach(e=>{this.listviewSettings[e]=this.listviewCheckAll})):(Object.prototype.hasOwnProperty.call(this.listviewSettings,e.key)&&(this.listviewSettings[e.key]=e.value),this._recalcListviewCheckAll())},loadTableviewSettings(e){this.tableviewSettings=Object.assign({},this.tableviewSettings,e),this.tableviewSettingsLoaded=!0,this._recalcTableviewCheckAll()},setTableviewSettingsLoaded(e){this.tableviewSettingsLoaded=e},updateTableviewSettings(e){"all"===e.key?(this.tableviewCheckAll=!this.tableviewCheckAll,Object.keys(this.tableviewSettings).forEach(e=>{this.tableviewSettings[e]=this.tableviewCheckAll})):(Object.prototype.hasOwnProperty.call(this.tableviewSettings,e.key)&&(this.tableviewSettings[e.key]=e.value),this._recalcTableviewCheckAll())},loadGanttviewSettings(e){this.ganttviewSettings=Object.assign({},this.ganttviewSettings,e)},updateGanttviewSettings(e){Object.prototype.hasOwnProperty.call(this.ganttviewSettings,e.key)&&(this.ganttviewSettings[e.key]=e.value)},_recalcDashboardCheckAll(){this.dashboardViewCheckAll=Object.values(this.dashboardViewSettings).every(e=>e)},_recalcListviewCheckAll(){this.listviewCheckAll=Object.values(this.listviewSettings).every(e=>e)},_recalcTableviewCheckAll(){this.tableviewCheckAll=Object.values(this.tableviewSettings).every(e=>e)}},persist:{storage:{getItem:e=>p.getItem(e),setItem:(e,t)=>p.setItem(e,t)}}}),eo={name:"CustomIcon",props:{iconName:{type:String,required:!0},circleCheckIconSize:{default:24},circleCheckCompleteIconSize:{default:26},fillColor:{default:"#FFF"},strokeColor:{default:"#c6c3b7"},filled:{type:Boolean,default:!1},iconSize:{default:18}},data:()=>({size:{small:16,medium:18,large:20}}),computed:{isPinIcon(){return["pin","pin-filled","pin-no-filled","pinned","pinned-fill"].includes(this.iconName)},pinFilled(){return this.filled||["pin-filled","pinned-fill"].includes(this.iconName)},pinColor(){return this.pinFilled?this.pinFilledColor:this.strokeColor},pinFilledColor(){return"#FFF"===this.fillColor?"#525866":this.fillColor}}},to=["width","height"],so={key:1,width:"64",height:"64",viewBox:"0 0 64 64",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false"},ao={key:2,width:"64",height:"64",viewBox:"0 0 64 64",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false"},io={key:3,xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 20 20",fill:"none"},oo={key:4,class:"fbs-stage-icon",width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true"},lo=["width","height"],no=["width","height"],ro=["width","height"],co=["width","height"],ho=["width","height"],uo=["width","height"],po={key:11,xmlns:"http://www.w3.org/2000/svg",width:"15",height:"10",viewBox:"0 0 15 10",fill:"none"},mo={key:12,xmlns:"http://www.w3.org/2000/svg",width:"15",height:"10",viewBox:"0 0 15 10",fill:"none"},bo={key:13,xmlns:"http://www.w3.org/2000/svg",width:"18",height:"18",viewBox:"0 0 18 14",fill:"none"},go={key:14,xmlns:"http://www.w3.org/2000/svg",width:"18",height:"18",viewBox:"0 0 18 18",fill:"none"},fo={key:15,xmlns:"http://www.w3.org/2000/svg",width:"18",height:"18",viewBox:"0 0 18 18",fill:"none"},_o={key:16,xmlns:"http://www.w3.org/2000/svg",width:"18",height:"18",viewBox:"0 0 18 18",fill:"none"},ko={key:17,width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg"},vo={key:18,xmlns:"http://www.w3.org/2000/svg",width:"10",height:"10",viewBox:"0 0 10 12",fill:"none"},yo={key:19,xmlns:"http://www.w3.org/2000/svg",width:"14",height:"16",viewBox:"0 0 14 16",fill:"none"},wo={key:20,width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},Co={key:21,width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg"},To={key:22,xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none"},So={key:23,xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none"},$o={key:24,width:"24",height:"24",viewBox:"0 0 24 24",version:"1.1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink"},Vo={key:25,xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 14 16",fill:"none"},Ao={key:26,xmlns:"http://www.w3.org/2000/svg",width:"12",height:"12",viewBox:"0 0 1024 1024"},Io={key:27,xmlns:"http://www.w3.org/2000/svg",width:"12",height:"12",viewBox:"0 0 1024 1024"},Do={key:28,width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true"},Bo={key:29,width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true"},Lo={key:30,xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 20 20",fill:"none"},Mo={key:31,width:"16",height:"16",viewBox:"0 0 24 24",fill:"#1C274C",xmlns:"http://www.w3.org/2000/svg"},xo={key:32,fill:"#000000",width:"16",height:"16",viewBox:"0 0 56 56",xmlns:"http://www.w3.org/2000/svg"},Po={key:33,fill:"#000000",width:"16",height:"16",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},Fo={key:34,fill:"#000000",width:"16",height:"16",viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Eo={key:35,width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},Uo={key:36,xmlns:"http://www.w3.org/2000/svg",width:"21",height:"20",viewBox:"0 0 21 20",fill:"none"},Oo={key:37,width:"21",height:"20",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},Ro={key:38,width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},No={key:39,xmlns:"http://www.w3.org/2000/svg",width:"18",height:"18",viewBox:"0 0 18 18",fill:"none"},Ho={key:40,width:"800px",height:"800px",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},jo={key:41,fill:"#000000",version:"1.1",id:"Capa_1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",width:"800px",height:"800px",viewBox:"0 0 548.29 548.291","xml:space":"preserve"},zo=["width","height"],Go={key:0,d:"M6.25 2.5H13.75V4C13.75 4.542 13.459 5.016 13.025 5.275V9.365L15.25 12.25V13.75H10.75V17.5H9.25V13.75H4.75V12.25L6.975 9.365V5.275C6.541 5.016 6.25 4.542 6.25 4V2.5Z",fill:"currentColor"},qo={key:1,d:"M11.371 2.26465L17.7355 8.62915L16.6743 9.68965L16.144 9.1594L12.9625 12.3409L12.4323 14.9929L11.371 16.0534L8.1895 12.8711L4.477 16.5836L3.4165 15.5231L7.129 11.8106L3.94675 8.62915L5.00725 7.5679L7.66 7.03765L10.8415 3.85615L10.3113 3.3259L11.3718 2.26465H11.371ZM11.902 4.91665L8.39875 8.41915L6.28225 8.8429L11.1573 13.7179L11.5803 11.6014L15.0835 8.0989L11.902 4.91665Z",fill:"currentColor"},Wo={key:43,xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 20 20",fill:"none"},Ko={key:44,xmlns:"http://www.w3.org/2000/svg",width:"11",height:"12",viewBox:"0 0 11 12",fill:"none"},Zo={key:45,xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 20 20",fill:"none"},Yo={key:46,xmlns:"http://www.w3.org/2000/svg",width:"12",height:"12",viewBox:"0 0 12 12",fill:"none"},Jo={key:47,xmlns:"http://www.w3.org/2000/svg",width:"12",height:"12",viewBox:"0 0 12 12",fill:"none"},Qo={key:48,xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 20 20",fill:"none"},Xo={key:49,xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 20 20",fill:"none"},el={key:50,xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 20 20",fill:"none"},tl={key:51,xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 20 20",fill:"none"},sl={key:52,xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 20 20",fill:"none"},al={key:53,xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 20 20",fill:"none"},il={key:54,xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 20 20",fill:"none"},ol={key:55,xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",focusable:"false"},ll={key:56,xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",focusable:"false"},nl={key:57,xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",focusable:"false"},rl={key:58,xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",focusable:"false"},dl={key:59,xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",focusable:"false"},cl={key:60,xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",focusable:"false"},hl={key:61,xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",focusable:"false"},ul={key:62,xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 20 20",fill:"none"},pl={key:63,xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",focusable:"false"};const ml=Ss(eo,[["render",function(e,t,o,l,r,d){const h=We;return s(),a("span",{class:k({"fbs-stage-icon-wrapper":"stage"==o.iconName})},["circle-check"==o.iconName?(s(),a("svg",{key:0,xmlns:"http://www.w3.org/2000/svg",width:o.circleCheckIconSize,height:o.circleCheckIconSize,viewBox:"0 0 24 24",fill:"none"},[...t[0]||(t[0]=[i("path",{d:"M8 12L10.5347 14.2812C10.9662 14.6696 11.6366 14.6101 11.993 14.1519L16 9M12 22C17.5228 22 22 17.5228 22 12C22 6.47715 17.5228 2 12 2C6.47715 2 2 6.47715 2 12C2 17.5228 6.47715 22 12 22Z",stroke:"#445164","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"},null,-1)])],8,to)):y("",!0),"license-activated-status"==o.iconName?(s(),a("svg",so,[...t[1]||(t[1]=[V('<g mask="url(#fbs-license-activated-status-mask)"><circle cx="32" cy="32" r="31.3333" fill="#E0FAEC" stroke="#C2F5DA" stroke-width="1.33333"></circle></g><circle cx="32" cy="32" r="21.3335" fill="#1FC16B"></circle><path d="M32 41C27.0293 41 23 36.9707 23 32C23 27.0293 27.0293 23 32 23C36.9707 23 41 27.0293 41 32C41 36.9707 36.9707 41 32 41ZM31.1027 35.6L37.4657 29.2361L36.1931 27.9635L31.1027 33.0548L28.5566 30.5087L27.284 31.7813L31.1027 35.6Z" fill="white"></path><defs><linearGradient id="fbs-license-activated-status-gradient" x1="32" y1="0" x2="32" y2="64" gradientUnits="userSpaceOnUse"><stop></stop><stop offset="1" stop-opacity="0"></stop></linearGradient><mask id="fbs-license-activated-status-mask" style="mask-type:alpha;" maskUnits="userSpaceOnUse" x="0" y="0" width="64" height="64"><rect width="64" height="64" fill="url(#fbs-license-activated-status-gradient)"></rect></mask></defs>',4)])])):y("",!0),"license-expired-status"==o.iconName?(s(),a("svg",ao,[...t[2]||(t[2]=[V('<g mask="url(#fbs-license-expired-status-mask)"><circle cx="32" cy="32" r="31.3333" fill="#FFEBEC" stroke="#FFC0C5" stroke-width="1.33333"></circle></g><circle cx="32" cy="32" r="21.3335" fill="#FB3748"></circle><path d="M32 41C27.0293 41 23 36.9707 23 32C23 27.0293 27.0293 23 32 23C36.9707 23 41 27.0293 41 32C41 36.9707 36.9707 41 32 41ZM31.1 34.7V36.5H32.9V34.7H31.1ZM31.1 27.5V32.9H32.9V27.5H31.1Z" fill="white"></path><defs><linearGradient id="fbs-license-expired-status-gradient" x1="32" y1="0" x2="32" y2="64" gradientUnits="userSpaceOnUse"><stop></stop><stop offset="1" stop-opacity="0"></stop></linearGradient><mask id="fbs-license-expired-status-mask" style="mask-type:alpha;" maskUnits="userSpaceOnUse" x="0" y="0" width="64" height="64"><rect width="64" height="64" fill="url(#fbs-license-expired-status-gradient)"></rect></mask></defs>',4)])])):y("",!0),"notification"==o.iconName||"notifications"==o.iconName?(s(),a("svg",io,[...t[3]||(t[3]=[i("path",{d:"M11.2803 17.25C11.2118 17.4253 11.1083 17.587 10.9727 17.7227C10.7148 17.9805 10.3647 18.125 10 18.125C9.63533 18.125 9.28521 17.9805 9.02734 17.7227C8.89168 17.587 8.7882 17.4253 8.71973 17.25H11.2803ZM10 3C13.4498 3 16.25 5.80699 16.25 9.27344V15H17V15.5H3V15H3.75V9.27344C3.75 5.80699 6.55023 3 10 3ZM10 3.5C6.82227 3.5 4.25 6.08714 4.25 9.27344V15H15.75V9.27344C15.75 6.08714 13.1777 3.5 10 3.5Z",stroke:"currentColor"},null,-1)])])):y("",!0),"stage"==o.iconName?(s(),a("svg",oo,[...t[4]||(t[4]=[i("path",{d:"M13.3999 12.2001H14.5999V13.4001H1.3999V12.2001H2.5999V3.2001C2.5999 3.04097 2.66312 2.88836 2.77564 2.77583C2.88816 2.66331 3.04077 2.6001 3.1999 2.6001H9.1999C9.35903 2.6001 9.51164 2.66331 9.62417 2.77583C9.73669 2.88836 9.7999 3.04097 9.7999 3.2001V12.2001H12.1999V7.4001H10.9999V6.2001H12.7999C12.959 6.2001 13.1116 6.26331 13.2242 6.37583C13.3367 6.48836 13.3999 6.64097 13.3999 6.8001V12.2001ZM3.7999 3.8001V12.2001H8.5999V3.8001H3.7999ZM4.9999 7.4001H7.3999V8.6001H4.9999V7.4001ZM4.9999 5.0001H7.3999V6.2001H4.9999V5.0001Z",fill:"currentColor"},null,-1)])])):y("",!0),"comment-reply"==o.iconName?(s(),a("svg",{key:5,xmlns:"http://www.w3.org/2000/svg",width:r.size.medium,height:r.size.medium,viewBox:"0 0 20 20",fill:"none"},[...t[5]||(t[5]=[i("path",{d:"M13.3337 13.3333C13.3337 9.99999 10.0003 8.33332 6.66699 8.33332M6.66699 8.33332L8.33366 10.8333M6.66699 8.33332L9.16699 6.66666M5.00033 18.3333H15.0003C16.8413 18.3333 18.3337 16.8409 18.3337 15V4.99999C18.3337 3.15904 16.8413 1.66666 15.0003 1.66666H5.00033C3.15938 1.66666 1.66699 3.15904 1.66699 4.99999V15C1.66699 16.8409 3.15938 18.3333 5.00033 18.3333Z",stroke:"#445164","stroke-width":"1.25","stroke-linecap":"round","stroke-linejoin":"round"},null,-1)])],8,lo)):y("",!0),"comment-edit"==o.iconName?(s(),a("svg",{key:6,xmlns:"http://www.w3.org/2000/svg",width:r.size.medium,height:r.size.medium,viewBox:"0 0 20 20",fill:"none"},[...t[6]||(t[6]=[i("path",{d:"M2.5 17.5H17.5M11.487 4.42643C11.487 4.42643 11.487 5.78861 12.8492 7.1508C14.2114 8.51299 15.5736 8.51299 15.5736 8.51299M6.09969 14.9901L8.96028 14.5814C9.37291 14.5225 9.7553 14.3313 10.05 14.0365L16.9358 7.1508C17.6881 6.39848 17.6881 5.17874 16.9358 4.42642L15.5736 3.06424C14.8213 2.31192 13.6015 2.31192 12.8492 3.06424L5.96347 9.94997C5.66873 10.2447 5.47754 10.6271 5.41859 11.0397L5.00994 13.9003C4.91913 14.536 5.464 15.0809 6.09969 14.9901Z",stroke:"#445164","stroke-width":"1.25","stroke-linecap":"round"},null,-1)])],8,no)):y("",!0),"comment-edit-small"==o.iconName?(s(),a("svg",{key:7,xmlns:"http://www.w3.org/2000/svg",width:r.size.small,height:r.size.small,viewBox:"0 0 20 20",fill:"none"},[...t[7]||(t[7]=[i("path",{d:"M2.5 17.5H17.5M11.487 4.42643C11.487 4.42643 11.487 5.78861 12.8492 7.1508C14.2114 8.51299 15.5736 8.51299 15.5736 8.51299M6.09969 14.9901L8.96028 14.5814C9.37291 14.5225 9.7553 14.3313 10.05 14.0365L16.9358 7.1508C17.6881 6.39848 17.6881 5.17874 16.9358 4.42642L15.5736 3.06424C14.8213 2.31192 13.6015 2.31192 12.8492 3.06424L5.96347 9.94997C5.66873 10.2447 5.47754 10.6271 5.41859 11.0397L5.00994 13.9003C4.91913 14.536 5.464 15.0809 6.09969 14.9901Z",stroke:"#445164","stroke-width":"1.25","stroke-linecap":"round"},null,-1)])],8,ro)):y("",!0),"comment-delete"==o.iconName?(s(),a("svg",{key:8,xmlns:"http://www.w3.org/2000/svg",width:r.size.medium,height:r.size.medium,viewBox:"0 0 20 20",fill:"none"},[...t[8]||(t[8]=[i("path",{d:"M4.16667 6.66666V15C4.16667 16.8409 5.65905 18.3333 7.5 18.3333H12.5C14.3409 18.3333 15.8333 16.8409 15.8333 15V6.66666M11.6667 9.16666V14.1667M8.33333 9.16666L8.33333 14.1667M13.3333 4.16666L12.1614 2.40882C11.8523 1.94516 11.3319 1.66666 10.7747 1.66666H9.22531C8.66805 1.66666 8.14767 1.94516 7.83856 2.40882L6.66667 4.16666M13.3333 4.16666H6.66667M13.3333 4.16666H17.5M6.66667 4.16666H2.5",stroke:"#DD3409","stroke-width":"1.25","stroke-linecap":"round","stroke-linejoin":"round"},null,-1)])],8,co)):y("",!0),"comment-delete-small"==o.iconName?(s(),a("svg",{key:9,xmlns:"http://www.w3.org/2000/svg",width:r.size.small,height:r.size.small,viewBox:"0 0 20 20",fill:"none"},[...t[9]||(t[9]=[i("path",{d:"M4.16667 6.66666V15C4.16667 16.8409 5.65905 18.3333 7.5 18.3333H12.5C14.3409 18.3333 15.8333 16.8409 15.8333 15V6.66666M11.6667 9.16666V14.1667M8.33333 9.16666L8.33333 14.1667M13.3333 4.16666L12.1614 2.40882C11.8523 1.94516 11.3319 1.66666 10.7747 1.66666H9.22531C8.66805 1.66666 8.14767 1.94516 7.83856 2.40882L6.66667 4.16666M13.3333 4.16666H6.66667M13.3333 4.16666H17.5M6.66667 4.16666H2.5",stroke:"#DD3409","stroke-width":"1.25","stroke-linecap":"round","stroke-linejoin":"round"},null,-1)])],8,ho)):y("",!0),"circle-check-completed"==o.iconName?(s(),a("svg",{key:10,xmlns:"http://www.w3.org/2000/svg",width:o.circleCheckCompleteIconSize,height:o.circleCheckCompleteIconSize,viewBox:"0 0 20 20",fill:"none"},[...t[10]||(t[10]=[i("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M9.99984 18.3334C14.6022 18.3334 18.3332 14.6024 18.3332 10C18.3332 5.39765 14.6022 1.66669 9.99984 1.66669C5.39746 1.66669 1.6665 5.39765 1.6665 10C1.6665 14.6024 5.39746 18.3334 9.99984 18.3334ZM13.8265 7.88376C14.0384 7.6113 13.9894 7.21862 13.7169 7.0067C13.4444 6.79479 13.0518 6.84387 12.8398 7.11634L9.50066 11.4096C9.42641 11.505 9.28674 11.5174 9.19685 11.4365L7.08461 9.53549C6.82804 9.30458 6.43286 9.32538 6.20195 9.58195C5.97104 9.83852 5.99184 10.2337 6.24841 10.4646L8.36064 12.3656C8.98992 12.932 9.96759 12.8452 10.4874 12.177L13.8265 7.88376Z",fill:"#189877"},null,-1)])],8,uo)):y("",!0),"right-checked"==o.iconName?(s(),a("svg",po,[...t[11]||(t[11]=[i("path",{d:"M14.1668 5L0.833496 5",stroke:"#6268F1","stroke-width":"1.25","stroke-linecap":"round","stroke-linejoin":"round"},null,-1),i("path",{d:"M10.0003 9.16683C10.0003 9.16683 14.1669 6.09813 14.1669 5.00013C14.1669 3.90213 10.0002 0.833496 10.0002 0.833496",stroke:"#6268F1","stroke-width":"1.25","stroke-linecap":"round","stroke-linejoin":"round"},null,-1)])])):y("",!0),"right-unchecked"==o.iconName?(s(),a("svg",mo,[...t[12]||(t[12]=[i("path",{d:"M14.1668 5L0.833496 5",stroke:"#565865","stroke-width":"1.25","stroke-linecap":"round","stroke-linejoin":"round"},null,-1),i("path",{d:"M10.0003 9.16683C10.0003 9.16683 14.1669 6.09813 14.1669 5.00013C14.1669 3.90213 10.0002 0.833496 10.0002 0.833496",stroke:"#565865","stroke-width":"1.25","stroke-linecap":"round","stroke-linejoin":"round"},null,-1)])])):y("",!0),"list-dash"==o.iconName?(s(),a("svg",bo,[...t[13]||(t[13]=[V('<path d="M6.5 1.1665L16.5 1.16651" stroke="#565865" stroke-width="1.25" stroke-linecap="round"></path><path d="M1.5 1.1665L3.16667 1.1665" stroke="#565865" stroke-width="1.25" stroke-linecap="round"></path><path d="M6.5 7L16.5 7" stroke="#565865" stroke-width="1.25" stroke-linecap="round"></path><path d="M1.5 7L3.16667 7" stroke="#565865" stroke-width="1.5" stroke-linecap="round"></path><path d="M6.5 12.833L16.5 12.833" stroke="#565865" stroke-width="1.5" stroke-linecap="round"></path><path d="M1.5 12.833L3.16667 12.833" stroke="#565865" stroke-width="1.5" stroke-linecap="round"></path>',6)])])):y("",!0),"grid-view"==o.iconName?(s(),a("svg",go,[...t[14]||(t[14]=[i("path",{d:"M2.5 2.5H7.5V7.5H2.5V2.5Z",stroke:"#565865","stroke-width":"1.25","stroke-linecap":"round","stroke-linejoin":"round"},null,-1),i("path",{d:"M10.5 2.5H15.5V7.5H10.5V2.5Z",stroke:"#565865","stroke-width":"1.25","stroke-linecap":"round","stroke-linejoin":"round"},null,-1),i("path",{d:"M2.5 10.5H7.5V15.5H2.5V10.5Z",stroke:"#565865","stroke-width":"1.25","stroke-linecap":"round","stroke-linejoin":"round"},null,-1),i("path",{d:"M10.5 10.5H15.5V15.5H10.5V10.5Z",stroke:"#565865","stroke-width":"1.25","stroke-linecap":"round","stroke-linejoin":"round"},null,-1)])])):y("",!0),"clip-board"==o.iconName?(s(),a("svg",fo,[...t[15]||(t[15]=[i("path",{d:"M13.1863 1.52782L12.3908 1.31587C10.1408 0.716391 9.01581 0.416652 8.12954 0.925453C7.24328 1.43425 6.94184 2.5529 6.33896 4.79018L5.48636 7.95418C4.88348 10.1915 4.58204 11.3101 5.09373 12.1914C5.60542 13.0726 6.7304 13.3724 8.98037 13.9719L9.77586 14.1838C12.0258 14.7833 13.1508 15.083 14.0371 14.5742C14.9233 14.0654 15.2248 12.9468 15.8277 10.7095L16.6803 7.5455C17.2831 5.30821 17.5846 4.18957 17.0729 3.3083C16.5612 2.42703 15.4362 2.1273 13.1863 1.52782Z",stroke:"#565865","stroke-width":"1.25"},null,-1),i("path",{d:"M13.0448 5.19405C13.0448 5.87246 12.4917 6.42241 11.8095 6.42241C11.1272 6.42241 10.5742 5.87246 10.5742 5.19405C10.5742 4.51565 11.1272 3.9657 11.8095 3.9657C12.4917 3.9657 13.0448 4.51565 13.0448 5.19405Z",stroke:"#565865","stroke-width":"1.25"},null,-1),i("path",{d:"M8.99999 16.4549L8.20637 16.671C5.96168 17.2823 4.83934 17.5879 3.95515 17.0691C3.07096 16.5503 2.77023 15.4097 2.16877 13.1286L1.31817 9.90251C0.716709 7.62135 0.415977 6.48076 0.926463 5.58221C1.36805 4.80493 2.33332 4.83323 3.58332 4.83314",stroke:"#565865","stroke-width":"1.25","stroke-linecap":"round"},null,-1)])])):y("",!0),"file-add"==o.iconName?(s(),a("svg",_o,[...t[16]||(t[16]=[i("path",{d:"M9.83337 0.666504H10.0606C12.7783 0.666504 14.1372 0.666504 15.0808 1.33137C15.3512 1.52186 15.5912 1.74777 15.7936 2.00224C16.5 2.8904 16.5 4.1693 16.5 6.72711V8.84832C16.5 11.3176 16.5 12.5523 16.1093 13.5384C15.481 15.1237 14.1524 16.3741 12.4681 16.9654C11.4204 17.3332 10.1085 17.3332 7.48489 17.3332C5.98567 17.3332 5.23605 17.3332 4.63735 17.123C3.67487 16.7851 2.91567 16.0706 2.55668 15.1647C2.33337 14.6012 2.33337 13.8957 2.33337 12.4847L2.33337 8.99984",stroke:"#565865","stroke-width":"1.25","stroke-linecap":"round","stroke-linejoin":"round"},null,-1),i("path",{d:"M16.5 9C16.5 10.5341 15.2563 11.7778 13.7222 11.7778C13.1674 11.7778 12.5133 11.6806 11.9738 11.8251C11.4945 11.9535 11.1202 12.3279 10.9917 12.8072C10.8472 13.3466 10.9444 14.0007 10.9444 14.5556C10.9444 16.0897 9.70075 17.3333 8.16663 17.3333",stroke:"#565865","stroke-width":"1.25","stroke-linecap":"round","stroke-linejoin":"round"},null,-1),i("path",{d:"M8.16667 3.99984L1.5 3.99984M4.83333 0.666504L4.83333 7.33317",stroke:"#565865","stroke-width":"1.25","stroke-linecap":"round"},null,-1)])])):y("",!0),"drag"==o.iconName?(s(),a("svg",ko,[...t[17]||(t[17]=[i("path",{d:"M7.8125 6.875C8.33027 6.875 8.75 6.45527 8.75 5.9375C8.75 5.41973 8.33027 5 7.8125 5C7.29473 5 6.875 5.41973 6.875 5.9375C6.875 6.45527 7.29473 6.875 7.8125 6.875ZM7.8125 10.9375C8.33027 10.9375 8.75 10.5177 8.75 10C8.75 9.48225 8.33027 9.0625 7.8125 9.0625C7.29473 9.0625 6.875 9.48225 6.875 10C6.875 10.5177 7.29473 10.9375 7.8125 10.9375ZM8.75 14.0625C8.75 14.5802 8.33027 15 7.8125 15C7.29473 15 6.875 14.5802 6.875 14.0625C6.875 13.5448 7.29473 13.125 7.8125 13.125C8.33027 13.125 8.75 13.5448 8.75 14.0625ZM12.1875 6.875C12.7052 6.875 13.125 6.45527 13.125 5.9375C13.125 5.41973 12.7052 5 12.1875 5C11.6698 5 11.25 5.41973 11.25 5.9375C11.25 6.45527 11.6698 6.875 12.1875 6.875ZM13.125 10C13.125 10.5177 12.7052 10.9375 12.1875 10.9375C11.6698 10.9375 11.25 10.5177 11.25 10C11.25 9.48225 11.6698 9.0625 12.1875 9.0625C12.7052 9.0625 13.125 9.48225 13.125 10ZM12.1875 15C12.7052 15 13.125 14.5802 13.125 14.0625C13.125 13.5448 12.7052 13.125 12.1875 13.125C11.6698 13.125 11.25 13.5448 11.25 14.0625C11.25 14.5802 11.6698 15 12.1875 15Z",fill:"#99A0AE"},null,-1)])])):y("",!0),"stage-template"==o.iconName?(s(),a("svg",vo,[...t[18]||(t[18]=[i("path",{d:"M7 8.5L3.5 8.5",stroke:"#6268F1","stroke-linecap":"round","stroke-linejoin":"round"},null,-1),i("path",{d:"M7 6.5L5.5 6.5",stroke:"#6268F1","stroke-linecap":"round","stroke-linejoin":"round"},null,-1),i("path",{d:"M9.25 7C9.25 8.88562 9.25 9.82843 8.6276 10.4142C8.0052 11 7.00347 11 5 11H4.61364C2.98303 11 2.16773 11 1.60153 10.6011C1.43931 10.4868 1.29529 10.3512 1.17385 10.1986C0.75 9.66566 0.75 8.89832 0.75 7.36364V6.09091C0.75 4.60932 0.75 3.86853 0.984468 3.27688C1.36141 2.32571 2.15857 1.57544 3.16918 1.22068C3.79781 1 4.58491 1 6.15909 1C7.05863 1 7.50839 1 7.86761 1.1261C8.4451 1.32882 8.90062 1.75755 9.11602 2.30107C9.25 2.63916 9.25 3.06247 9.25 3.90909V7Z",stroke:"#6268F1","stroke-linejoin":"round"},null,-1),i("path",{d:"M0.75 6C0.75 5.07953 1.49619 4.33333 2.41667 4.33333C2.74956 4.33333 3.14202 4.39166 3.46568 4.30494C3.75326 4.22788 3.97788 4.00326 4.05494 3.71568C4.14166 3.39202 4.08333 2.99956 4.08333 2.66667C4.08333 1.74619 4.82953 1 5.75 1",stroke:"#6268F1","stroke-linecap":"round","stroke-linejoin":"round"},null,-1)])])):y("",!0),"task-icon"==o.iconName?(s(),a("svg",yo,[...t[19]||(t[19]=[i("path",{d:"M9.66699 11.3333L5.00033 11.3333",stroke:"#565865","stroke-linecap":"round","stroke-linejoin":"round"},null,-1),i("path",{d:"M9.66699 8.66663L7.66699 8.66663",stroke:"#565865","stroke-linecap":"round","stroke-linejoin":"round"},null,-1),i("path",{d:"M12.667 9.33329C12.667 11.8475 12.667 13.1045 11.8371 13.8856C11.0073 14.6666 9.67162 14.6666 7.00033 14.6666H6.48517C4.31104 14.6666 3.22397 14.6666 2.46904 14.1347C2.25274 13.9823 2.06071 13.8016 1.89879 13.598C1.33366 12.8875 1.33366 11.8644 1.33366 9.81814V8.12117C1.33366 6.14572 1.33366 5.158 1.64628 4.36913C2.14887 3.10091 3.21175 2.10055 4.55923 1.62753C5.39741 1.33329 6.44687 1.33329 8.54578 1.33329C9.74516 1.33329 10.3448 1.33329 10.8238 1.50143C11.5938 1.77172 12.2012 2.34336 12.4883 3.06805C12.667 3.51884 12.667 4.08325 12.667 5.21208V9.33329Z",stroke:"#565865","stroke-linejoin":"round"},null,-1),i("path",{d:"M1.33333 8C1.33333 6.7727 2.32826 5.77778 3.55556 5.77778C3.99941 5.77778 4.52269 5.85555 4.95424 5.73992C5.33768 5.63718 5.63718 5.33768 5.73992 4.95424C5.85555 4.52269 5.77778 3.99941 5.77778 3.55556C5.77778 2.32826 6.7727 1.33333 8 1.33333",stroke:"#565865","stroke-linecap":"round","stroke-linejoin":"round"},null,-1)])])):y("",!0),"report"==o.iconName?(s(),a("svg",wo,[...t[20]||(t[20]=[i("path",{d:"M2 12C2 7.28595 2 4.92893 3.46447 3.46447C4.92893 2 7.28595 2 12 2C16.714 2 19.0711 2 20.5355 3.46447C22 4.92893 22 7.28595 22 12C22 16.714 22 19.0711 20.5355 20.5355C19.0711 22 16.714 22 12 22C7.28595 22 4.92893 22 3.46447 20.5355C2 19.0711 2 16.714 2 12Z",stroke:"#1C274C","stroke-width":"1.5"},null,-1),i("path",{d:"M7 18V9",stroke:"#1C274C","stroke-width":"1.5","stroke-linecap":"round"},null,-1),i("path",{d:"M12 18V6",stroke:"#1C274C","stroke-width":"1.5","stroke-linecap":"round"},null,-1),i("path",{d:"M17 18V13",stroke:"#1C274C","stroke-width":"1.5","stroke-linecap":"round"},null,-1)])])):y("",!0),"file-chart-line"==o.iconName?(s(),a("svg",Co,[...t[21]||(t[21]=[i("path",{d:"M6 3.75H7.5V11.25H6V3.75ZM9 6.75H10.5V11.25H9V6.75ZM3 8.25H4.5V11.25H3V8.25ZM9 1.5H1.5V13.5H12V4.5H9V1.5ZM0 0.744C0 0.333 0.33525 0 0.74925 0H9.75L13.5 3.75V14.2448C13.5007 14.3432 13.482 14.4409 13.4449 14.5322C13.4079 14.6234 13.3532 14.7065 13.284 14.7766C13.2149 14.8468 13.1326 14.9026 13.0419 14.9409C12.9511 14.9792 12.8537 14.9993 12.7553 15H0.74475C0.547784 14.9986 0.359263 14.9198 0.219913 14.7806C0.0805635 14.6414 0.00157099 14.453 0 14.256V0.744Z",transform:"translate(3.25 2.5)",fill:"currentColor"},null,-1)])])):y("",!0),"incomplete-tasks"==o.iconName?(s(),a("svg",To,[...t[22]||(t[22]=[i("path",{d:"M16 2V5M8 2V5M15 13H9M7 22H17C19.2091 22 21 20.2091 21 18V7.5C21 5.29086 19.2091 3.5 17 3.5H7C4.79086 3.5 3 5.29086 3 7.5V18C3 20.2091 4.79086 22 7 22Z",stroke:"#28303F","stroke-width":"1.5","stroke-linecap":"round"},null,-1)])])):y("",!0),"complete-tasks"==o.iconName?(s(),a("svg",So,[...t[23]||(t[23]=[i("path",{d:"M14 1V4M6 1V4M7 12L8.75282 13.4023C9.1707 13.7366 9.7777 13.6826 10.1301 13.2799L13 10M5 21H15C17.2091 21 19 19.2091 19 17V6.5C19 4.29086 17.2091 2.5 15 2.5H5C2.79086 2.5 1 4.29086 1 6.5V17C1 19.2091 2.79086 21 5 21Z",stroke:"#189877","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"},null,-1)])])):y("",!0),"overdue-tasks"==o.iconName?(s(),a("svg",$o,[...t[24]||(t[24]=[i("g",{id:"🔍-System-Icons",stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},[i("g",{id:"ic_fluent_calendar_overdue_24_regular",fill:"#DD3409","fill-rule":"nonzero"},[i("path",{d:"M17.5,12 C20.5376,12 23,14.4624 23,17.5 C23,20.5376 20.5376,23 17.5,23 C14.4624,23 12,20.5376 12,17.5 C12,14.4624 14.4624,12 17.5,12 Z M17.5,19.875 C17.1548,19.875 16.875,20.1548 16.875,20.5 C16.875,20.8452 17.1548,21.125 17.5,21.125 C17.8452,21.125 18.125,20.8452 18.125,20.5 C18.125,20.1548 17.8452,19.875 17.5,19.875 Z M17.75,3 C19.5449,3 21,4.45507 21,6.25 L21,12.0218 C20.5368,11.7253 20.0335,11.4858 19.5,11.3135 L19.5,8.5 L4.5,8.5 L4.5,17.75 C4.5,18.7165 5.2835,19.5 6.25,19.5 L11.3135,19.5 C11.4858,20.0335 11.7253,20.5368 12.0218,21 L6.25,21 C4.45507,21 3,19.5449 3,17.75 L3,6.25 C3,4.45507 4.45507,3 6.25,3 L17.75,3 Z M17.5,14 C17.2239,14 17,14.2239 17,14.5 L17,18.5 C17,18.7761 17.2239,19 17.5,19 C17.7761,19 18,18.7761 18,18.5 L18,14.5 C18,14.2239 17.7761,14 17.5,14 Z M17.75,4.5 L6.25,4.5 C5.2835,4.5 4.5,5.2835 4.5,6.25 L4.5,7 L19.5,7 L19.5,6.25 C19.5,5.2835 18.7165,4.5 17.75,4.5 Z",id:"🎨-Color"})])],-1)])])):y("",!0),"total-tasks"==o.iconName?(s(),a("svg",Vo,[...t[25]||(t[25]=[i("path",{d:"M9.66699 11.3333L5.00033 11.3333",stroke:"#565865","stroke-linecap":"round","stroke-linejoin":"round"},null,-1),i("path",{d:"M9.66699 8.66663L7.66699 8.66663",stroke:"#565865","stroke-linecap":"round","stroke-linejoin":"round"},null,-1),i("path",{d:"M12.667 9.33329C12.667 11.8475 12.667 13.1045 11.8371 13.8856C11.0073 14.6666 9.67162 14.6666 7.00033 14.6666H6.48517C4.31104 14.6666 3.22397 14.6666 2.46904 14.1347C2.25274 13.9823 2.06071 13.8016 1.89879 13.598C1.33366 12.8875 1.33366 11.8644 1.33366 9.81814V8.12117C1.33366 6.14572 1.33366 5.158 1.64628 4.36913C2.14887 3.10091 3.21175 2.10055 4.55923 1.62753C5.39741 1.33329 6.44687 1.33329 8.54578 1.33329C9.74516 1.33329 10.3448 1.33329 10.8238 1.50143C11.5938 1.77172 12.2012 2.34336 12.4883 3.06805C12.667 3.51884 12.667 4.08325 12.667 5.21208V9.33329Z",stroke:"#565865","stroke-linejoin":"round"},null,-1),i("path",{d:"M1.33333 8C1.33333 6.7727 2.32826 5.77778 3.55556 5.77778C3.99941 5.77778 4.52269 5.85555 4.95424 5.73992C5.33768 5.63718 5.63718 5.33768 5.73992 4.95424C5.85555 4.52269 5.77778 3.99941 5.77778 3.55556C5.77778 2.32826 6.7727 1.33333 8 1.33333",stroke:"#565865","stroke-linecap":"round","stroke-linejoin":"round"},null,-1)])])):y("",!0),"roadmap-stage-privet"==o.iconName?(s(),a("svg",Ao,[...t[26]||(t[26]=[i("path",{fill:"currentColor",d:"M224 448a32 32 0 0 0-32 32v384a32 32 0 0 0 32 32h576a32 32 0 0 0 32-32V480a32 32 0 0 0-32-32zm0-64h576a96 96 0 0 1 96 96v384a96 96 0 0 1-96 96H224a96 96 0 0 1-96-96V480a96 96 0 0 1 96-96"},null,-1),i("path",{fill:"currentColor",d:"M512 544a32 32 0 0 1 32 32v192a32 32 0 1 1-64 0V576a32 32 0 0 1 32-32m192-160v-64a192 192 0 1 0-384 0v64zM512 64a256 256 0 0 1 256 256v128H256V320A256 256 0 0 1 512 64"},null,-1)])])):y("",!0),"roadmap-stage-public"==o.iconName?(s(),a("svg",Io,[...t[27]||(t[27]=[i("path",{fill:"currentColor",d:"M224 448a32 32 0 0 0-32 32v384a32 32 0 0 0 32 32h576a32 32 0 0 0 32-32V480a32 32 0 0 0-32-32zm0-64h576a96 96 0 0 1 96 96v384a96 96 0 0 1-96 96H224a96 96 0 0 1-96-96V480a96 96 0 0 1 96-96"},null,-1),i("path",{fill:"currentColor",d:"M512 544a32 32 0 0 1 32 32v192a32 32 0 1 1-64 0V576a32 32 0 0 1 32-32m178.304-295.296A192.064 192.064 0 0 0 320 320v64h352l96 38.4V448H256V320a256 256 0 0 1 493.76-95.104z"},null,-1)])])):y("",!0),"import"==o.iconName?(s(),a("svg",Do,[...t[28]||(t[28]=[i("path",{d:"M10.75 8.5H14.5L10 13L5.5 8.5H9.25V3.25H10.75V8.5ZM4 15.25H16V10H17.5V16C17.5 16.1989 17.421 16.3897 17.2803 16.5303C17.1397 16.671 16.9489 16.75 16.75 16.75H3.25C3.05109 16.75 2.86032 16.671 2.71967 16.5303C2.57902 16.3897 2.5 16.1989 2.5 16V10H4V15.25Z",fill:"currentColor"},null,-1)])])):y("",!0),"export"==o.iconName?(s(),a("svg",Bo,[...t[29]||(t[29]=[i("path",{d:"M7.75 3.25V4.75H4V15.25H16V8.5H17.5V16C17.5 16.1989 17.421 16.3897 17.2803 16.5303C17.1397 16.671 16.9489 16.75 16.75 16.75H3.25C3.05109 16.75 2.86032 16.671 2.71967 16.5303C2.57902 16.3897 2.5 16.1989 2.5 16V4C2.5 3.80109 2.57902 3.61032 2.71967 3.46967C2.86032 3.32902 3.05109 3.25 3.25 3.25H7.75ZM13 4.75V1.75L18.25 6.25H11.5C11.1022 6.25 10.7206 6.40804 10.4393 6.68934C10.158 6.97064 10 7.35218 10 7.75V12.25H8.5V7.75C8.5 6.95435 8.81607 6.19129 9.37868 5.62868C9.94129 5.06607 10.7044 4.75 11.5 4.75H13Z",fill:"currentColor"},null,-1)])])):y("",!0),"file-copy-line"==o.iconName?(s(),a("svg",Lo,[...t[30]||(t[30]=[i("path",{d:"M6.25 5.5V3.25C6.25 3.05109 6.32902 2.86032 6.46967 2.71967C6.61032 2.57902 6.80109 2.5 7 2.5H16C16.1989 2.5 16.3897 2.57902 16.5303 2.71967C16.671 2.86032 16.75 3.05109 16.75 3.25V13.75C16.75 13.9489 16.671 14.1397 16.5303 14.2803C16.3897 14.421 16.1989 14.5 16 14.5H13.75V16.75C13.75 17.164 13.4125 17.5 12.9948 17.5H4.00525C3.90635 17.5006 3.8083 17.4816 3.71674 17.4442C3.62519 17.4068 3.54192 17.3517 3.47174 17.282C3.40156 17.2123 3.34584 17.1294 3.30779 17.0381C3.26974 16.9468 3.2501 16.8489 3.25 16.75L3.25225 6.25C3.25225 5.836 3.58975 5.5 4.0075 5.5H6.25ZM4.75225 7L4.75 16H12.25V7H4.75225ZM7.75 5.5H13.75V13H15.25V4H7.75V5.5Z",fill:"#525866"},null,-1)])])):y("",!0),"custom-field-text"==o.iconName?(s(),a("svg",Mo,[...t[31]||(t[31]=[i("path",{d:"M9.95197 6.25C9.52211 6.24993 9.12024 6.24986 8.79192 6.29891C8.42102 6.35432 8.04 6.4853 7.73542 6.82371C7.44103 7.15082 7.3371 7.54061 7.29204 7.91294C7.24993 8.26096 7.24996 8.69238 7.25 9.17954L7.25 9.75C7.25 10.1642 7.58579 10.5 8 10.5C8.41421 10.5 8.75 10.1642 8.75 9.75V9.22222C8.75 8.67931 8.75129 8.34011 8.78118 8.09313C8.7952 7.97725 8.81273 7.91048 8.8269 7.87221C8.83885 7.83993 8.84739 7.83046 8.85023 7.82731L8.85104 7.82637C8.8524 7.82473 8.8534 7.82353 8.86242 7.8194C8.87904 7.8118 8.92168 7.79617 9.01354 7.78245C9.21765 7.75196 9.50511 7.75 10 7.75H11.25V16.25H9.5C9.08579 16.25 8.75 16.5858 8.75 17C8.75 17.4142 9.08579 17.75 9.5 17.75H15C15.4142 17.75 15.75 17.4142 15.75 17C15.75 16.5858 15.4142 16.25 15 16.25H12.75V7.75H14C14.4949 7.75 14.7824 7.75196 14.9865 7.78245C15.0783 7.79617 15.121 7.8118 15.1376 7.8194C15.1466 7.82353 15.1476 7.82473 15.149 7.82637L15.1496 7.82716C15.1525 7.83031 15.1611 7.83993 15.1731 7.87221C15.1873 7.91048 15.2048 7.97725 15.2188 8.09313C15.2487 8.34011 15.25 8.67931 15.25 9.22222V9.75C15.25 10.1642 15.5858 10.5 16 10.5C16.4142 10.5 16.75 10.1642 16.75 9.75L16.75 9.17953C16.75 8.69238 16.7501 8.26096 16.708 7.91294C16.6629 7.54061 16.559 7.15082 16.2646 6.82371C15.96 6.4853 15.579 6.35432 15.2081 6.29891C14.8798 6.24986 14.4779 6.24993 14.048 6.25H9.95197Z",fill:"#1C274C"},null,-1),i("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M11.9426 1.25C9.63423 1.24999 7.82519 1.24998 6.41371 1.43975C4.96897 1.63399 3.82895 2.03933 2.93414 2.93414C2.03933 3.82895 1.63399 4.96897 1.43975 6.41371C1.24998 7.82519 1.24999 9.63423 1.25 11.9426V12.0574C1.24999 14.3658 1.24998 16.1748 1.43975 17.5863C1.63399 19.031 2.03933 20.1711 2.93414 21.0659C3.82895 21.9607 4.96897 22.366 6.41371 22.5603C7.82519 22.75 9.63423 22.75 11.9426 22.75H12.0574C14.3658 22.75 16.1748 22.75 17.5863 22.5603C19.031 22.366 20.1711 21.9607 21.0659 21.0659C21.9607 20.1711 22.366 19.031 22.5603 17.5863C22.75 16.1748 22.75 14.3658 22.75 12.0574V11.9426C22.75 9.63423 22.75 7.82519 22.5603 6.41371C22.366 4.96897 21.9607 3.82895 21.0659 2.93414C20.1711 2.03933 19.031 1.63399 17.5863 1.43975C16.1748 1.24998 14.3658 1.24999 12.0574 1.25H11.9426ZM3.9948 3.9948C4.56445 3.42514 5.33517 3.09825 6.61358 2.92637C7.91356 2.75159 9.62178 2.75 12 2.75C14.3782 2.75 16.0864 2.75159 17.3864 2.92637C18.6648 3.09825 19.4355 3.42514 20.0052 3.9948C20.5749 4.56445 20.9018 5.33517 21.0736 6.61358C21.2484 7.91356 21.25 9.62178 21.25 12C21.25 14.3782 21.2484 16.0864 21.0736 17.3864C20.9018 18.6648 20.5749 19.4355 20.0052 20.0052C19.4355 20.5749 18.6648 20.9018 17.3864 21.0736C16.0864 21.2484 14.3782 21.25 12 21.25C9.62178 21.25 7.91356 21.2484 6.61358 21.0736C5.33517 20.9018 4.56445 20.5749 3.9948 20.0052C3.42514 19.4355 3.09825 18.6648 2.92637 17.3864C2.75159 16.0864 2.75 14.3782 2.75 12C2.75 9.62178 2.75159 7.91356 2.92637 6.61358C3.09825 5.33517 3.42514 4.56445 3.9948 3.9948Z",fill:"#1C274C"},null,-1)])])):y("",!0),"custom-field-number"==o.iconName?(s(),a("svg",xo,[...t[32]||(t[32]=[i("path",{d:"M 13.7851 49.5742 L 42.2382 49.5742 C 47.1366 49.5742 49.5743 47.1367 49.5743 42.3086 L 49.5743 13.6914 C 49.5743 8.8633 47.1366 6.4258 42.2382 6.4258 L 13.7851 6.4258 C 8.9101 6.4258 6.4257 8.8398 6.4257 13.6914 L 6.4257 42.3086 C 6.4257 47.1602 8.9101 49.5742 13.7851 49.5742 Z M 13.8554 45.8008 C 11.5117 45.8008 10.1992 44.5586 10.1992 42.1211 L 10.1992 13.8789 C 10.1992 11.4414 11.5117 10.1992 13.8554 10.1992 L 42.1679 10.1992 C 44.4882 10.1992 45.8007 11.4414 45.8007 13.8789 L 45.8007 42.1211 C 45.8007 44.5586 44.4882 45.8008 42.1679 45.8008 Z M 21.9882 39.4023 C 22.9023 39.4023 23.4648 38.9336 23.6523 38.0664 L 24.7070 33.0274 L 29.0663 33.0274 L 28.1054 37.6211 C 27.8944 38.5820 28.5742 39.4023 29.5351 39.4023 C 30.4960 39.4023 31.1054 38.9336 31.2695 38.0664 L 32.3241 33.0039 L 34.7617 33.0039 C 35.6757 33.0039 36.3320 32.3242 36.3320 31.4336 C 36.3320 30.6367 35.7695 30.0508 34.9960 30.0508 L 32.9570 30.0508 L 33.9648 25.2930 L 36.4492 25.2930 C 37.3398 25.2930 37.9960 24.6133 37.9960 23.7227 C 37.9960 22.9258 37.4335 22.3398 36.6601 22.3398 L 34.5742 22.3398 L 35.4882 17.9571 C 35.6757 16.9961 34.9726 16.1758 34.0117 16.1758 C 33.0976 16.1758 32.5117 16.6445 32.3241 17.5352 L 31.3163 22.3398 L 26.9570 22.3398 L 27.8710 17.9571 C 28.0585 17.0196 27.4023 16.1758 26.4179 16.1758 C 25.4804 16.1758 24.8944 16.6445 24.7070 17.5352 L 23.7226 22.3398 L 21.2382 22.3398 C 20.3476 22.3398 19.6913 23.0196 19.6913 23.9102 C 19.6913 24.7071 20.2539 25.2930 21.0273 25.2930 L 23.0898 25.2930 L 22.0820 30.0508 L 19.5742 30.0508 C 18.6835 30.0508 18.0039 30.7305 18.0039 31.6211 C 18.0039 32.4180 18.5663 33.0039 19.3632 33.0039 L 21.4726 33.0039 L 20.5117 37.6211 C 20.3241 38.5820 21.0273 39.4023 21.9882 39.4023 Z M 25.1523 30.3320 L 26.2304 25.0586 L 30.9413 25.0586 L 29.8398 30.3320 Z"},null,-1)])])):y("",!0),["custom-field-select","custom-field-multi-select"].includes(o.iconName)?(s(),a("svg",Po,[...t[33]||(t[33]=[i("path",{d:"M7.854 10.854l3.792 3.792a.5.5 0 00.708 0l3.793-3.792a.5.5 0 00-.354-.854H8.207a.5.5 0 00-.353.854z"},null,-1),i("path",{"fill-rule":"evenodd",d:"M2 3.75C2 2.784 2.784 2 3.75 2h16.5c.966 0 1.75.784 1.75 1.75v16.5A1.75 1.75 0 0120.25 22H3.75A1.75 1.75 0 012 20.25V3.75zm1.75-.25a.25.25 0 00-.25.25v16.5c0 .138.112.25.25.25h16.5a.25.25 0 00.25-.25V3.75a.25.25 0 00-.25-.25H3.75z"},null,-1)])])):y("",!0),"custom-field-date"==o.iconName?(s(),a("svg",Fo,[...t[34]||(t[34]=[i("path",{d:"M960 95.888l-256.224.001V32.113c0-17.68-14.32-32-32-32s-32 14.32-32 32v63.76h-256v-63.76c0-17.68-14.32-32-32-32s-32 14.32-32 32v63.76H64c-35.344 0-64 28.656-64 64v800c0 35.343 28.656 64 64 64h896c35.344 0 64-28.657 64-64v-800c0-35.329-28.656-63.985-64-63.985zm0 863.985H64v-800h255.776v32.24c0 17.679 14.32 32 32 32s32-14.321 32-32v-32.224h256v32.24c0 17.68 14.32 32 32 32s32-14.32 32-32v-32.24H960v799.984zM736 511.888h64c17.664 0 32-14.336 32-32v-64c0-17.664-14.336-32-32-32h-64c-17.664 0-32 14.336-32 32v64c0 17.664 14.336 32 32 32zm0 255.984h64c17.664 0 32-14.32 32-32v-64c0-17.664-14.336-32-32-32h-64c-17.664 0-32 14.336-32 32v64c0 17.696 14.336 32 32 32zm-192-128h-64c-17.664 0-32 14.336-32 32v64c0 17.68 14.336 32 32 32h64c17.664 0 32-14.32 32-32v-64c0-17.648-14.336-32-32-32zm0-255.984h-64c-17.664 0-32 14.336-32 32v64c0 17.664 14.336 32 32 32h64c17.664 0 32-14.336 32-32v-64c0-17.68-14.336-32-32-32zm-256 0h-64c-17.664 0-32 14.336-32 32v64c0 17.664 14.336 32 32 32h64c17.664 0 32-14.336 32-32v-64c0-17.68-14.336-32-32-32zm0 255.984h-64c-17.664 0-32 14.336-32 32v64c0 17.68 14.336 32 32 32h64c17.664 0 32-14.32 32-32v-64c0-17.648-14.336-32-32-32z"},null,-1)])])):y("",!0),"custom-field-checkbox"==o.iconName?(s(),a("svg",Eo,[...t[35]||(t[35]=[i("g",{id:"Interface / Checkbox_Check"},[i("path",{id:"Vector",d:"M8 12L11 15L16 9M4 16.8002V7.2002C4 6.08009 4 5.51962 4.21799 5.0918C4.40973 4.71547 4.71547 4.40973 5.0918 4.21799C5.51962 4 6.08009 4 7.2002 4H16.8002C17.9203 4 18.4796 4 18.9074 4.21799C19.2837 4.40973 19.5905 4.71547 19.7822 5.0918C20 5.5192 20 6.07899 20 7.19691V16.8036C20 17.9215 20 18.4805 19.7822 18.9079C19.5905 19.2842 19.2837 19.5905 18.9074 19.7822C18.48 20 17.921 20 16.8031 20H7.19691C6.07899 20 5.5192 20 5.0918 19.7822C4.71547 19.5905 4.40973 19.2842 4.21799 18.9079C4 18.4801 4 17.9203 4 16.8002Z",stroke:"#000000","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"})],-1)])])):y("",!0),"activity-icon"==o.iconName?(s(),a("svg",Uo,[...t[36]||(t[36]=[i("path",{d:"M14.9801 8.73347C15.2011 8.4683 15.1653 8.07419 14.9001 7.85322C14.6349 7.63224 14.2408 7.66807 14.0199 7.93324L12.5225 9.73013C12.2135 10.1009 12.0237 10.3263 11.8674 10.4674C11.7949 10.5329 11.7519 10.559 11.7313 10.569C11.7271 10.571 11.7241 10.5722 11.7222 10.5729C11.7203 10.5722 11.7174 10.571 11.7132 10.569C11.6926 10.559 11.6496 10.5329 11.5771 10.4674C11.4207 10.3263 11.231 10.1009 10.922 9.73013L10.6783 9.43773C10.4046 9.10919 10.1578 8.81302 9.92736 8.60488C9.67657 8.37842 9.36069 8.17673 8.94445 8.17673C8.5282 8.17673 8.21232 8.37842 7.96153 8.60488C7.73104 8.81302 7.48428 9.10919 7.21056 9.43773L5.68653 11.2666C5.46555 11.5317 5.50138 11.9258 5.76655 12.1468C6.03172 12.3678 6.42583 12.332 6.64681 12.0668L8.14421 10.2699C8.45321 9.89912 8.64296 9.67377 8.79928 9.53261C8.87177 9.46715 8.91478 9.44106 8.93539 9.43108C8.93958 9.42906 8.94256 9.42784 8.94445 9.42714C8.94633 9.42784 8.94931 9.42906 8.9535 9.43108C8.97411 9.44106 9.01712 9.46715 9.08961 9.53261C9.24593 9.67377 9.43568 9.89912 9.74467 10.2699L9.98834 10.5623C10.2621 10.8908 10.5088 11.187 10.7393 11.3952C10.9901 11.6216 11.306 11.8233 11.7222 11.8233C12.1385 11.8233 12.4543 11.6216 12.7051 11.3952C12.9356 11.187 13.1824 10.8909 13.4561 10.5623L14.9801 8.73347Z",fill:"#1B2533"},null,-1),i("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M10.2855 1.04169C8.36186 1.04168 6.85433 1.04167 5.67809 1.19981C4.47414 1.36168 3.52412 1.69946 2.77845 2.44513C2.03277 3.19081 1.69499 4.14083 1.53312 5.34478C1.37498 6.52101 1.37499 8.02854 1.375 9.9522V10.0478C1.37499 11.9715 1.37498 13.479 1.53312 14.6553C1.69499 15.8592 2.03277 16.8092 2.77845 17.5549C3.52412 18.3006 4.47414 18.6384 5.67809 18.8002C6.85433 18.9584 8.36186 18.9584 10.2855 18.9584H10.3811C12.3048 18.9584 13.8123 18.9584 14.9886 18.8002C16.1925 18.6384 17.1425 18.3006 17.8882 17.5549C18.6339 16.8092 18.9717 15.8592 19.1335 14.6553C19.2917 13.479 19.2917 11.9715 19.2917 10.0478V9.95221C19.2917 8.02855 19.2917 6.52102 19.1335 5.34478C18.9717 4.14083 18.6339 3.19081 17.8882 2.44513C17.1425 1.69946 16.1925 1.36168 14.9886 1.19981C13.8123 1.04167 12.3048 1.04168 10.3811 1.04169H10.2855ZM3.66233 3.32902C4.13704 2.8543 4.77931 2.58189 5.84465 2.43866C6.92796 2.29301 8.35148 2.29169 10.3333 2.29169C12.3152 2.29169 13.7387 2.29301 14.822 2.43866C15.8874 2.58189 16.5296 2.8543 17.0043 3.32902C17.479 3.80373 17.7515 4.446 17.8947 5.51133C18.0403 6.59465 18.0417 8.01817 18.0417 10C18.0417 11.9819 18.0403 13.4054 17.8947 14.4887C17.7515 15.554 17.479 16.1963 17.0043 16.671C16.5296 17.1457 15.8874 17.4181 14.822 17.5614C13.7387 17.707 12.3152 17.7084 10.3333 17.7084C8.35148 17.7084 6.92796 17.707 5.84465 17.5614C4.77931 17.4181 4.13704 17.1457 3.66233 16.671C3.18762 16.1963 2.91521 15.554 2.77198 14.4887C2.62633 13.4054 2.625 11.9819 2.625 10C2.625 8.01817 2.62633 6.59465 2.77198 5.51133C2.91521 4.446 3.18762 3.80373 3.66233 3.32902Z",fill:"#1B2533"},null,-1)])])):y("",!0),"preferences"==o.iconName?(s(),a("svg",Oo,[...t[37]||(t[37]=[i("path",{d:"M15.0505 9H5.5C4.11929 9 3 7.88071 3 6.5C3 5.11929 4.11929 4 5.5 4H15.0505M8.94949 20H18.5C19.8807 20 21 18.8807 21 17.5C21 16.1193 19.8807 15 18.5 15H8.94949M3 17.5C3 19.433 4.567 21 6.5 21C8.433 21 10 19.433 10 17.5C10 15.567 8.433 14 6.5 14C4.567 14 3 15.567 3 17.5ZM21 6.5C21 8.433 19.433 10 17.5 10C15.567 10 14 8.433 14 6.5C14 4.567 15.567 3 17.5 3C19.433 3 21 4.567 21 6.5Z",stroke:"#000000","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"},null,-1)])])):y("",!0),"pending-idea"==o.iconName?(s(),a("svg",Ro,[...t[38]||(t[38]=[V('<g id="style=doutone"><g id="warning-box"><path id="vector (Stroke)" fill-rule="evenodd" clip-rule="evenodd" d="M1.25 8C1.25 4.27208 4.27208 1.25 8 1.25H16C19.7279 1.25 22.75 4.27208 22.75 8V16C22.75 19.7279 19.7279 22.75 16 22.75H8C4.27208 22.75 1.25 19.7279 1.25 16V8ZM8 2.75C5.10051 2.75 2.75 5.10051 2.75 8V16C2.75 18.8995 5.10051 21.25 8 21.25H16C18.8995 21.25 21.25 18.8995 21.25 16V8C21.25 5.10051 18.8995 2.75 16 2.75H8Z" fill="#000000"></path><path id="vector (Stroke)_2" fill-rule="evenodd" clip-rule="evenodd" d="M12 6.25C12.4142 6.25 12.75 6.58579 12.75 7V14.1047C12.75 14.5189 12.4142 14.8547 12 14.8547C11.5858 14.8547 11.25 14.5189 11.25 14.1047V7C11.25 6.58579 11.5858 6.25 12 6.25Z" fill="#000000"></path><path id="ellipse (Stroke)" fill-rule="evenodd" clip-rule="evenodd" d="M11 17C11 16.4477 11.4477 16 12 16H12.01C12.5623 16 13.01 16.4477 13.01 17C13.01 17.5523 12.5623 18 12.01 18H12C11.4477 18 11 17.5523 11 17Z" fill="#000000"></path></g></g>',1)])])):y("",!0),"filter-icon"==o.iconName?(s(),a("svg",No,[...t[39]||(t[39]=[i("path",{d:"M15.6824 1.66669H4.31764C2.86834 1.66669 2.00388 3.26298 2.80781 4.45472L7.57589 10.6896C7.97333 11.2787 8.18541 11.971 8.18541 12.679V17.4349C8.18541 18.2337 9.16269 18.6338 9.73426 18.0689L11.5489 16.2756C11.719 16.1075 11.8146 15.8794 11.8146 15.6416V12.679C11.8146 11.971 12.0267 11.2787 12.4241 10.6896L17.1922 4.45472C17.9961 3.26298 17.1317 1.66669 15.6824 1.66669Z",stroke:"#445164","stroke-width":"1","stroke-linecap":"round","stroke-linejoin":"round"},null,-1)])])):y("",!0),"export-json"==o.iconName?(s(),a("svg",Ho,[...t[40]||(t[40]=[i("title",null,"language_json",-1),i("rect",{width:"24",height:"24",fill:"none"},null,-1),i("path",{d:"M5,3H7V5H5v5a2,2,0,0,1-2,2,2,2,0,0,1,2,2v5H7v2H5c-1.07-.27-2-.9-2-2V15a2,2,0,0,0-2-2H0V11H1A2,2,0,0,0,3,9V5A2,2,0,0,1,5,3M19,3a2,2,0,0,1,2,2V9a2,2,0,0,0,2,2h1v2H23a2,2,0,0,0-2,2v4a2,2,0,0,1-2,2H17V19h2V14a2,2,0,0,1,2-2,2,2,0,0,1-2-2V5H17V3h2M12,15a1,1,0,1,1-1,1,1,1,0,0,1,1-1M8,15a1,1,0,1,1-1,1,1,1,0,0,1,1-1m8,0a1,1,0,1,1-1,1A1,1,0,0,1,16,15Z"},null,-1)])])):y("",!0),"export-csv"==o.iconName?(s(),a("svg",jo,[...t[41]||(t[41]=[i("g",null,[i("path",{d:"M486.2,196.121h-13.164V132.59c0-0.399-0.064-0.795-0.116-1.2c-0.021-2.52-0.824-5-2.551-6.96L364.656,3.677\n c-0.031-0.034-0.064-0.044-0.085-0.075c-0.629-0.707-1.364-1.292-2.141-1.796c-0.231-0.157-0.462-0.286-0.704-0.419\n c-0.672-0.365-1.386-0.672-2.121-0.893c-0.199-0.052-0.377-0.134-0.576-0.188C358.229,0.118,357.4,0,356.562,0H96.757\n C84.893,0,75.256,9.649,75.256,21.502v174.613H62.093c-16.972,0-30.733,13.756-30.733,30.73v159.81\n c0,16.966,13.761,30.736,30.733,30.736h13.163V526.79c0,11.854,9.637,21.501,21.501,21.501h354.777\n c11.853,0,21.502-9.647,21.502-21.501V417.392H486.2c16.966,0,30.729-13.764,30.729-30.731v-159.81\n C516.93,209.872,503.166,196.121,486.2,196.121z M96.757,21.502h249.053v110.006c0,5.94,4.818,10.751,10.751,10.751h94.973v53.861\n H96.757V21.502z M258.618,313.18c-26.68-9.291-44.063-24.053-44.063-47.389c0-27.404,22.861-48.368,60.733-48.368\n c18.107,0,31.447,3.811,40.968,8.107l-8.09,29.3c-6.43-3.107-17.862-7.632-33.59-7.632c-15.717,0-23.339,7.149-23.339,15.485\n c0,10.247,9.047,14.769,29.78,22.632c28.341,10.479,41.681,25.239,41.681,47.874c0,26.909-20.721,49.786-64.792,49.786\n c-18.338,0-36.449-4.776-45.497-9.77l7.38-30.016c9.772,5.014,24.775,10.006,40.264,10.006c16.671,0,25.488-6.908,25.488-17.396\n C285.536,325.789,277.909,320.078,258.618,313.18z M69.474,302.692c0-54.781,39.074-85.269,87.654-85.269\n c18.822,0,33.113,3.811,39.549,7.149l-7.392,28.816c-7.38-3.084-17.632-5.939-30.491-5.939c-28.822,0-51.206,17.375-51.206,53.099\n c0,32.158,19.051,52.4,51.456,52.4c10.947,0,23.097-2.378,30.241-5.238l5.483,28.346c-6.672,3.34-21.674,6.919-41.208,6.919\n C98.06,382.976,69.474,348.424,69.474,302.692z M451.534,520.962H96.757v-103.57h354.777V520.962z M427.518,380.583h-42.399\n l-51.45-160.536h39.787l19.526,67.894c5.479,19.046,10.479,37.386,14.299,57.397h0.709c4.048-19.298,9.045-38.352,14.526-56.693\n l20.487-68.598h38.599L427.518,380.583z"})],-1)])])):y("",!0),d.isPinIcon?(s(),a("svg",{key:42,width:o.iconSize,height:o.iconSize,viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",style:S({color:d.pinColor})},[d.pinFilled?(s(),a("path",Go)):(s(),a("path",qo))],12,zo)):y("",!0),"edit"==o.iconName?(s(),a("svg",Wo,[...t[42]||(t[42]=[i("path",{d:"M12.796 8.26407L11.7355 7.20357L4.75 14.1891V15.2496H5.8105L12.796 8.26407ZM13.8565 7.20357L14.917 6.14307L13.8565 5.08257L12.796 6.14307L13.8565 7.20357ZM6.4315 16.7496H3.25V13.5673L13.3262 3.49107C13.4669 3.35047 13.6576 3.27148 13.8565 3.27148C14.0554 3.27148 14.2461 3.35047 14.3868 3.49107L16.5085 5.61282C16.6491 5.75347 16.7281 5.9442 16.7281 6.14307C16.7281 6.34195 16.6491 6.53268 16.5085 6.67332L6.43225 16.7496H6.4315Z",fill:"currentColor"},null,-1)])])):y("",!0),"edit-underline"==o.iconName?(s(),a("svg",Ko,[...t[43]||(t[43]=[i("path",{d:"M2.0484 8.38247L8.1336 2.29727L7.2852 1.44887L1.2 7.53407V8.38247H2.0484ZM2.5458 9.58247H0V7.03667L6.861 0.175672C6.97352 0.0631893 7.1261 0 7.2852 0C7.4443 0 7.59688 0.0631893 7.7094 0.175672L9.4068 1.87307C9.51928 1.98559 9.58247 2.13817 9.58247 2.29727C9.58247 2.45637 9.51928 2.60896 9.4068 2.72147L2.5458 9.58247V9.58247ZM0 10.7825H10.8V11.9825H0V10.7825Z",fill:"currentColor"},null,-1)])])):y("",!0),"external-link"==o.iconName?(s(),a("svg",Zo,[...t[44]||(t[44]=[i("path",{d:"M8.5 5.5V7H4.75V15.25H13V11.5H14.5V16C14.5 16.1989 14.421 16.3897 14.2803 16.5303C14.1397 16.671 13.9489 16.75 13.75 16.75H4C3.80109 16.75 3.61032 16.671 3.46967 16.5303C3.32902 16.3897 3.25 16.1989 3.25 16V6.25C3.25 6.05109 3.32902 5.86032 3.46967 5.71967C3.61032 5.57902 3.80109 5.5 4 5.5H8.5ZM16.75 3.25V9.25H15.25V5.80975L9.40525 11.6553L8.34475 10.5948L14.1888 4.75H10.75V3.25H16.75Z",fill:"currentColor"},null,-1)])])):y("",!0),"webhook-copy"==o.iconName?(s(),a("svg",Yo,[...t[45]||(t[45]=[V('<g clip-path="url(#clip0_webhook_copy)"><path d="M10 4H5C4.44772 4 4 4.44772 4 5V10C4 10.5523 4.44772 11 5 11H10C10.5523 11 11 10.5523 11 10V5C11 4.44772 10.5523 4 10 4Z" stroke="#9CA3AF" stroke-linecap="round" stroke-linejoin="round"></path><path d="M2 8C1.45 8 1 7.55 1 7V2C1 1.45 1.45 1 2 1H7C7.55 1 8 1.45 8 2" stroke="#9CA3AF" stroke-linecap="round" stroke-linejoin="round"></path></g><defs><clipPath id="clip0_webhook_copy"><rect width="12" height="12" fill="white"></rect></clipPath></defs>',2)])])):y("",!0),"webhook-open-link"==o.iconName?(s(),a("svg",Jo,[...t[46]||(t[46]=[i("path",{d:"M7.5 1.5H10.5V4.5",stroke:"#9CA3AF","stroke-linecap":"round","stroke-linejoin":"round"},null,-1),i("path",{d:"M5 7L10.5 1.5",stroke:"#9CA3AF","stroke-linecap":"round","stroke-linejoin":"round"},null,-1),i("path",{d:"M9 6.5V9.5C9 9.76522 8.89464 10.0196 8.70711 10.2071C8.51957 10.3946 8.26522 10.5 8 10.5H2.5C2.23478 10.5 1.98043 10.3946 1.79289 10.2071C1.60536 10.0196 1.5 9.76522 1.5 9.5V4C1.5 3.73478 1.60536 3.48043 1.79289 3.29289C1.98043 3.10536 2.23478 3 2.5 3H5.5",stroke:"#9CA3AF","stroke-linecap":"round","stroke-linejoin":"round"},null,-1)])])):y("",!0),"download-2-line"==o.iconName?(s(),a("svg",Qo,[...t[47]||(t[47]=[i("path",{d:"M10.75 8.5H14.5L10 13L5.5 8.5H9.25V3.25H10.75V8.5ZM4 15.25H16V10H17.5V16C17.5 16.1989 17.421 16.3897 17.2803 16.5303C17.1397 16.671 16.9489 16.75 16.75 16.75H3.25C3.05109 16.75 2.86032 16.671 2.71967 16.5303C2.57902 16.3897 2.5 16.1989 2.5 16V10H4V15.25Z",fill:"currentColor"},null,-1)])])):y("",!0),"check-line"==o.iconName?(s(),a("svg",Xo,[...t[48]||(t[48]=[i("path",{d:"M8.49956 12.3791L15.3936 5.48438L16.4548 6.54488L8.49956 14.5001L3.72656 9.72712L4.78706 8.66663L8.49956 12.3791Z",fill:"currentColor"},null,-1)])])):y("",!0),"webhook-delete"==o.iconName?(s(),a("svg",el,[...t[49]||(t[49]=[i("path",{d:"M13.75 5.5H17.5V7H16V16.75C16 16.9489 15.921 17.1397 15.7803 17.2803C15.6397 17.421 15.4489 17.5 15.25 17.5H4.75C4.55109 17.5 4.36032 17.421 4.21967 17.2803C4.07902 17.1397 4 16.9489 4 16.75V7H2.5V5.5H6.25V3.25C6.25 3.05109 6.32902 2.86032 6.46967 2.71967C6.61032 2.57902 6.80109 2.5 7 2.5H13C13.1989 2.5 13.3897 2.57902 13.5303 2.71967C13.671 2.86032 13.75 3.05109 13.75 3.25V5.5ZM14.5 7H5.5V16H14.5V7ZM7.75 9.25H9.25V13.75H7.75V9.25ZM10.75 9.25H12.25V13.75H10.75V9.25ZM7.75 4V5.5H12.25V4H7.75Z",fill:"currentColor"},null,-1)])])):y("",!0),"webhook-search"==o.iconName?(s(),a("svg",tl,[...t[50]||(t[50]=[i("path",{d:"M12.0232 10.9627L15.2355 14.1742L14.1742 15.2355L10.9627 12.0232C9.7678 12.9812 8.2815 13.5022 6.75 13.5C3.024 13.5 0 10.476 0 6.75C0 3.024 3.024 0 6.75 0C10.476 0 13.5 3.024 13.5 6.75C13.5022 8.2815 12.9812 9.7678 12.0232 10.9627ZM10.5187 10.4062C11.4706 9.42741 12.0021 8.11532 12 6.75C12 3.849 9.65025 1.5 6.75 1.5C3.849 1.5 1.5 3.849 1.5 6.75C1.5 9.65025 3.849 12 6.75 12C8.11532 12.0021 9.42741 11.4706 10.4062 10.5187L10.5187 10.4062V10.4062Z",fill:"currentColor",transform:"translate(2.5 2.5)"},null,-1)])])):y("",!0),"webhook-link"==o.iconName?(s(),a("svg",sl,[...t[51]||(t[51]=[i("path",{d:"M12.145 10.0233L11.0845 8.96127L12.145 7.90077C12.4957 7.5531 12.7743 7.13959 12.9648 6.68396C13.1553 6.22834 13.2539 5.73958 13.255 5.24574C13.2561 4.7519 13.1596 4.26272 12.9711 3.80626C12.7826 3.34981 12.5059 2.93508 12.1567 2.58588C11.8075 2.23668 11.3927 1.9599 10.9363 1.77141C10.4798 1.58293 9.99063 1.48646 9.49679 1.48754C9.00296 1.48862 8.5142 1.58723 8.05857 1.77771C7.60295 1.9682 7.18943 2.2468 6.84177 2.59752L5.78127 3.65877L4.72002 2.59827L5.78202 1.53777C6.76663 0.553152 8.10206 0 9.49452 0C10.887 0 12.2224 0.553152 13.207 1.53777C14.1916 2.52238 14.7448 3.85781 14.7448 5.25027C14.7448 6.64273 14.1916 7.97815 13.207 8.96277L12.1458 10.0233H12.145ZM10.024 12.1443L8.96277 13.2048C7.97815 14.1894 6.64273 14.7425 5.25027 14.7425C3.85781 14.7425 2.52238 14.1894 1.53777 13.2048C0.553152 12.2202 0 10.8847 0 9.49227C0 8.09981 0.553152 6.76438 1.53777 5.77977L2.59902 4.71927L3.65952 5.78127L2.59902 6.84177C2.2483 7.18943 1.9697 7.60295 1.77921 8.05857C1.58873 8.51419 1.49012 9.00296 1.48904 9.49679C1.48796 9.99063 1.58443 10.4798 1.77291 10.9363C1.9614 11.3927 2.23818 11.8075 2.58738 12.1567C2.93658 12.5059 3.35131 12.7826 3.80776 12.9711C4.26422 13.1596 4.7534 13.2561 5.24724 13.255C5.74108 13.2539 6.22984 13.1553 6.68546 12.9648C7.14109 12.7743 7.5546 12.4957 7.90227 12.145L8.96277 11.0845L10.024 12.145V12.1443ZM9.49302 4.18902L10.5543 5.25027L5.25102 10.5528L4.18977 9.49227L9.49302 4.18977V4.18902Z",fill:"currentColor",transform:"translate(2.6276 2.6287)"},null,-1)])])):y("",!0),"plus"==o.iconName?(s(),a("svg",al,[...t[52]||(t[52]=[i("path",{d:"M4.5 4.5V0H6V4.5H10.5V6H6V10.5H4.5V6H0V4.5H4.5Z",fill:"currentColor",transform:"translate(4.75 4.75)"},null,-1)])])):y("",!0),"webhook-expand"==o.iconName?(s(),a("svg",il,[...t[53]||(t[53]=[i("path",{d:"M8 5L14 10L8 15V5Z",fill:"currentColor"},null,-1)])])):y("",!0),"settings-sidebar"==o.iconName?(s(),a("svg",ol,[...t[54]||(t[54]=[i("path",{d:"M16.6789 5.19727C16.6789 4.73702 16.3172 4.36364 15.8713 4.36364H8.82557V16.6364H15.8713C16.3172 16.6364 16.6789 16.263 16.6789 15.8027V5.19727ZM5.59598 8.30273C5.96069 8.30273 6.25636 8.60813 6.25652 8.98455C6.25652 9.36111 5.96078 9.66637 5.59598 9.66637H4.86233C4.49753 9.66637 4.2018 9.36111 4.2018 8.98455C4.20195 8.60813 4.49762 8.30273 4.86233 8.30273H5.59598ZM5.59598 6.03001C5.96069 6.03001 6.25636 6.3354 6.25652 6.71183C6.25652 7.08838 5.96078 7.39364 5.59598 7.39364H4.86233C4.49753 7.39364 4.2018 7.08838 4.2018 6.71183C4.20195 6.3354 4.49762 6.03001 4.86233 6.03001H5.59598ZM3.32108 15.8027C3.32108 16.263 3.68281 16.6364 4.12869 16.6364H7.50449V4.36364H4.12869C3.68282 4.36364 3.32108 4.73703 3.32108 5.19727V15.8027ZM18 15.8027C18 17.0161 17.0468 18 15.8713 18H4.12869C2.95321 18 2 17.0161 2 15.8027V5.19727C2 3.98391 2.9532 3 4.12869 3H15.8713C17.0468 3 18 3.98392 18 5.19727V15.8027Z",fill:"#525866"},null,-1)])])):y("",!0),"settings-general"==o.iconName?(s(),a("svg",ll,[...t[55]||(t[55]=[i("path",{d:"M12.2246 3.36328C13.1122 3.66103 13.9305 4.13377 14.6318 4.75391C14.4846 5.08342 14.4031 5.44014 14.3936 5.80371C14.3803 6.3109 14.5079 6.81264 14.7617 7.25195C15.0155 7.69113 15.3861 8.05115 15.832 8.29297C16.1511 8.46602 16.5001 8.57209 16.8584 8.60938C16.949 9.05862 16.999 9.52302 16.999 10C16.999 10.4768 16.9489 10.9411 16.8584 11.3906C16.5002 11.428 16.1511 11.534 15.832 11.707C15.3862 11.9488 15.0165 12.3099 14.7627 12.749C14.5089 13.1882 14.3814 13.6892 14.3945 14.1963C14.404 14.5593 14.4861 14.915 14.6328 15.2441C13.9312 15.8649 13.1128 16.3378 12.2246 16.6357C12.0131 16.3438 11.7462 16.0942 11.4365 15.9043C11.004 15.6391 10.5064 15.498 9.99902 15.498C9.4916 15.4981 8.99408 15.639 8.56152 15.9043C8.25159 16.0944 7.98409 16.3435 7.77246 16.6357C6.88471 16.3377 6.06659 15.8647 5.36523 15.2441C5.51216 14.9149 5.59495 14.5595 5.60449 14.1963C5.61773 13.6891 5.49014 13.1874 5.23633 12.748C4.98261 12.3091 4.61264 11.9488 4.16699 11.707C3.84772 11.5339 3.49812 11.4269 3.13965 11.3896C3.04961 10.9411 3 10.477 3 10C3 9.52294 3.04902 9.05817 3.13965 8.6084C3.49819 8.57107 3.84771 8.46527 4.16699 8.29199C4.61255 8.05015 4.9827 7.68993 5.23633 7.25098C5.48999 6.81185 5.61763 6.31067 5.60449 5.80371C5.59506 5.44029 5.51225 5.08433 5.36523 4.75488C6.06656 4.13449 6.88479 3.66124 7.77246 3.36328C7.98416 3.65575 8.25137 3.90548 8.56152 4.0957C8.99408 4.36099 9.4916 4.50093 9.99902 4.50098C10.5064 4.50098 11.004 4.3609 11.4365 4.0957C11.7464 3.90563 12.013 3.65546 12.2246 3.36328ZM12.167 4.17188C11.5715 4.70537 10.7995 5.0004 10 5L9.70117 4.98633C9.00958 4.92294 8.35323 4.63877 7.83203 4.17188L7.58789 3.95312L7.29004 4.08984C6.9205 4.25949 6.56771 4.46358 6.23633 4.69922L5.96973 4.88965L6.03711 5.20996C6.18058 5.89437 6.09824 6.60411 5.80762 7.23438L5.66992 7.5C5.27058 8.19237 4.6296 8.71286 3.87012 8.96191L3.55762 9.06445L3.52734 9.3916C3.48985 9.79632 3.48985 10.2037 3.52734 10.6084L3.55762 10.9355L3.87012 11.0381C4.62398 11.2851 5.26002 11.7999 5.66016 12.4844L5.66992 12.5C6.07935 13.209 6.19615 14.0247 6.03613 14.791L5.96973 15.1113L6.23633 15.3008C6.56774 15.5363 6.92042 15.7404 7.29004 15.9102L7.58789 16.0469L7.83203 15.8281C8.42774 15.2945 9.20023 14.9994 10 15C10.8192 15 11.5848 15.3061 12.168 15.8281L12.4121 16.0469L12.71 15.9102C13.0796 15.7404 13.4323 15.5363 13.7637 15.3008L14.0303 15.1104L13.9629 14.79C13.8194 14.1056 13.9018 13.3959 14.1924 12.7656L14.3301 12.5C14.7294 11.8076 15.3704 11.2871 16.1299 11.0381L16.4424 10.9355L16.4727 10.6084C16.5102 10.2037 16.5102 9.79632 16.4727 9.3916L16.4424 9.06445L16.1299 8.96191C15.4652 8.74416 14.891 8.31883 14.4902 7.75195L14.3291 7.5C13.929 6.80793 13.7988 5.99234 13.9629 5.20996L14.0303 4.88965L13.7627 4.69922C13.4314 4.46362 13.0785 4.25947 12.709 4.08984L12.4111 3.95312L12.167 4.17188ZM10 8.25C10.4641 8.25 10.9091 8.43451 11.2373 8.7627C11.5655 9.09088 11.75 9.53587 11.75 10C11.75 10.4641 11.5655 10.9091 11.2373 11.2373C10.9091 11.5655 10.4641 11.75 10 11.75C9.53587 11.75 9.09088 11.5655 8.7627 11.2373C8.43451 10.9091 8.25 10.4641 8.25 10C8.25 9.53587 8.43451 9.09088 8.7627 8.7627C9.09088 8.43451 9.53587 8.25 10 8.25ZM10 8.75C9.66848 8.75 9.35063 8.88179 9.11621 9.11621C8.8818 9.35063 8.75 9.66848 8.75 10C8.75 10.3315 8.88179 10.6494 9.11621 10.8838C9.35063 11.1182 9.66848 11.25 10 11.25C10.3315 11.25 10.6494 11.1182 10.8838 10.8838C11.1182 10.6494 11.25 10.3315 11.25 10C11.25 9.66848 11.1182 9.35063 10.8838 9.11621C10.6494 8.88179 10.3315 8.75 10 8.75Z",stroke:"currentColor"},null,-1)])])):y("",!0),"settings-mcp"==o.iconName?(s(),a("svg",nl,[...t[56]||(t[56]=[i("path",{d:"M11.503 8.49707C11.944 8.93803 12.2936 9.46195 12.5323 10.0381C12.771 10.6144 12.8946 11.2326 12.8946 11.8564C12.8946 12.4801 12.7709 13.0976 12.5323 13.6738C12.2936 14.25 11.9439 14.7738 11.503 15.2148L11.2374 15.4795V15.4805C10.3465 16.3713 9.1378 16.8711 7.87799 16.8711C6.61839 16.871 5.41035 16.3711 4.51959 15.4805C3.62874 14.5896 3.12799 13.3809 3.12799 12.1211C3.12801 11.0291 3.50432 9.97613 4.18463 9.13477L4.5401 9.49023C4.29759 9.79551 4.09735 10.133 3.94635 10.4941C3.73049 11.0105 3.61847 11.5644 3.61725 12.124C3.61605 12.6835 3.72505 13.2377 3.93854 13.7549C4.15214 14.2722 4.46566 14.7429 4.86139 15.1387C5.25715 15.5344 5.72786 15.8479 6.24518 16.0615C6.76233 16.275 7.31655 16.384 7.87604 16.3828C8.43555 16.3816 8.98968 16.2704 9.50592 16.0547C10.0216 15.8391 10.4902 15.5237 10.8839 15.127L11.1495 14.8613C11.9462 14.0643 12.3936 12.9834 12.3936 11.8564C12.3936 10.7295 11.9462 9.64856 11.1495 8.85156L10.4415 8.14355L10.796 7.79004L11.503 8.49707ZM12.1221 3.12891C13.3818 3.129 14.5898 3.62975 15.4805 4.52051C16.3713 5.41129 16.8721 6.61918 16.8721 7.87891C16.8721 8.97102 16.495 10.0238 15.8145 10.8652L15.459 10.5098C15.7015 10.2046 15.9028 9.86794 16.0538 9.50684C16.2696 8.9906 16.3816 8.43648 16.3829 7.87695C16.3841 7.31732 16.2752 6.76239 16.0616 6.24512C15.848 5.7278 15.5335 5.25806 15.1378 4.8623C14.742 4.46658 14.2722 4.15208 13.7549 3.93848C13.2378 3.72499 12.6835 3.61601 12.1241 3.61719C11.5644 3.61841 11.0096 3.73041 10.4932 3.94629C9.97704 4.16216 9.50821 4.47764 9.11432 4.875L8.85065 5.13867V5.13965C8.05413 5.93653 7.6066 7.01685 7.60651 8.14355C7.60651 9.27045 8.05397 10.3515 8.85065 11.1484L9.55768 11.8555L9.20416 12.21L8.49713 11.5029C8.05608 11.0619 7.70656 10.5381 7.46783 9.96191C7.22909 9.38559 7.10553 8.76737 7.10553 8.14355C7.10558 7.51986 7.22914 6.90239 7.46783 6.32617C7.67673 5.82191 7.97025 5.35769 8.336 4.9541L8.49713 4.78516L8.76276 4.52051C9.6536 3.62966 10.8623 3.12891 12.1221 3.12891Z",stroke:"currentColor"},null,-1)])])):y("",!0),"settings-webhooks"==o.iconName?(s(),a("svg",rl,[...t[57]||(t[57]=[i("path",{d:"M8.08664 12.0254L4.46359 15.6494V15.6504C4.41852 15.6956 4.35746 15.7217 4.29367 15.7236C4.22994 15.7255 4.16749 15.7025 4.11984 15.6602C4.07236 15.6178 4.04334 15.5585 4.03781 15.4951C4.03254 15.4341 4.04919 15.3732 4.08566 15.3242L4.12961 15.2764L7.73312 11.6719L8.08664 12.0254ZM6.0593 3.80957C6.18234 3.82001 6.30503 3.84006 6.42551 3.87207C6.84102 3.9825 7.21308 4.21654 7.49289 4.54297C7.77265 4.86935 7.94726 5.27276 7.99289 5.7002C8.03844 6.12766 7.95339 6.55945 7.74875 6.9375L7.57101 7.26562L15.5124 15.207L15.1589 15.5615L7.48019 7.88281L7.2175 7.61914L6.88937 7.7959C6.51123 7.99981 6.08021 8.08493 5.65305 8.03906C5.22584 7.99311 4.82202 7.81872 4.49582 7.53906C4.16959 7.25932 3.93551 6.88695 3.82492 6.47168C3.79317 6.35246 3.77306 6.23114 3.76242 6.10938L4.72922 7.07617C4.87792 7.22853 5.05504 7.35052 5.2507 7.43457C5.44883 7.51967 5.66204 7.56448 5.87766 7.56641C6.09341 7.56828 6.30784 7.52701 6.50754 7.44531C6.70724 7.36361 6.88914 7.24242 7.04172 7.08984C7.19406 6.93739 7.31458 6.75612 7.39621 6.55664C7.47792 6.35693 7.51918 6.14252 7.5173 5.92676C7.51539 5.71112 7.47057 5.49795 7.38547 5.2998C7.32155 5.15102 7.23594 5.01267 7.13156 4.88965L7.02121 4.77246L6.0593 3.80957ZM15.5993 4.6875L14.5681 6.54199L13.4695 6.7627L13.321 6.79199L13.2146 6.89941L11.9773 8.13672L11.6237 7.7832L12.9675 6.43945L12.9978 6.29102L13.2175 5.19043L15.072 4.16016L15.5993 4.6875Z",stroke:"currentColor"},null,-1)])])):y("",!0),"settings-modules"==o.iconName?(s(),a("svg",dl,[...t[58]||(t[58]=[i("path",{d:"M3.25 3.75H8.60352L10.1035 5.25H16.75C16.8163 5.25 16.8799 5.27636 16.9268 5.32324C16.9736 5.37013 17 5.4337 17 5.5V16C17 16.0663 16.9736 16.1299 16.9268 16.1768C16.8799 16.2236 16.8163 16.25 16.75 16.25H3.25C3.18369 16.25 3.12013 16.2236 3.07324 16.1768C3.02636 16.1299 3 16.0663 3 16V4C3 3.9337 3.02636 3.87013 3.07324 3.82324C3.12013 3.77636 3.1837 3.75 3.25 3.75ZM3.5 15.75H16.5V5.75H9.89648L8.39648 4.25H3.5V15.75ZM9.97754 9.125C9.55729 9.14048 9.15908 9.31834 8.86719 9.62109C8.57553 9.92381 8.41223 10.3277 8.41211 10.748C8.41211 11.1686 8.5754 11.5732 8.86719 11.876C9.15908 12.1787 9.55729 12.3566 9.97754 12.3721C10.1958 12.38 10.4142 12.3446 10.6182 12.2666C10.8221 12.1886 11.0079 12.0695 11.165 11.918C11.3222 11.7664 11.4478 11.5847 11.5332 11.3838C11.6185 11.1829 11.6621 10.9663 11.6621 10.748C11.662 10.5299 11.6185 10.314 11.5332 10.1133C11.4478 9.91234 11.3222 9.73066 11.165 9.5791C11.0079 9.42757 10.8221 9.30849 10.6182 9.23047C10.4142 9.15245 10.1958 9.11703 9.97754 9.125ZM9.74609 12.8896L9.38867 12.7832C9.07015 12.6882 8.77853 12.5195 8.53711 12.291L8.2666 12.0352L7.94336 12.2217L7.63281 12.4004L7.38281 11.9678L7.69336 11.7891L7.47461 11.4111L7.94336 11.3564V10.4893L7.88477 10.5225C7.89431 10.433 7.90877 10.3439 7.92969 10.2559L8.01562 9.89355L7.69336 9.70703L7.38281 9.52734L7.63281 9.09473L7.94336 9.27441L8.2666 9.46191L8.53711 9.20508C8.77858 8.97625 9.07089 8.8071 9.38965 8.71191L9.74609 8.60547V7.875H10.2461V8.60547L10.6035 8.71191C10.9259 8.80834 11.2162 8.97893 11.4551 9.20508L11.7256 9.46191L12.0488 9.27539L12.3594 9.09473L12.6084 9.52734L12.2988 9.70703L11.9766 9.89355L12.0625 10.2559C12.1395 10.5798 12.1395 10.9173 12.0625 11.2412L11.9766 11.6035L12.2988 11.79L12.6084 11.9678L12.3584 12.4004L12.0488 12.2217L11.7266 12.0352L11.4551 12.292C11.2136 12.5204 10.9221 12.6892 10.6035 12.7842L10.2461 12.8906V13.6221H9.74609V12.8896Z",stroke:"currentColor"},null,-1)])])):y("",!0),"settings-integrations"==o.iconName?(s(),a("svg",cl,[...t[59]||(t[59]=[i("path",{d:"M7.75 13.498C8.11223 13.498 8.46602 13.6101 8.76172 13.8193C9.0573 14.0285 9.28085 14.3245 9.40137 14.666L9.51855 15H17V15.5H9.51855L9.40137 15.834C9.28088 16.1752 9.05707 16.4705 8.76172 16.6797C8.46602 16.8889 8.11223 17.002 7.75 17.002L7.61426 16.9961C7.30008 16.9717 6.99689 16.8627 6.73828 16.6797C6.44293 16.4705 6.21912 16.1752 6.09863 15.834L5.98145 15.5H3V15H5.98145L6.09863 14.666C6.21915 14.3245 6.4427 14.0285 6.73828 13.8193C6.99691 13.6363 7.30006 13.5274 7.61426 13.5029L7.75 13.498ZM7.75 14C7.41848 14 7.10063 14.1318 6.86621 14.3662C6.63183 14.6006 6.5 14.9185 6.5 15.25C6.50003 15.5815 6.63182 15.8994 6.86621 16.1338C7.10063 16.3682 7.41851 16.5 7.75 16.5C8.08149 16.5 8.39937 16.3682 8.63379 16.1338C8.86818 15.8994 8.99997 15.5815 9 15.25C9 14.9185 8.86817 14.6006 8.63379 14.3662C8.39937 14.1318 8.08152 14 7.75 14ZM12.25 8.24805C12.6122 8.24805 12.966 8.36011 13.2617 8.56934C13.5573 8.77854 13.7809 9.07453 13.9014 9.41602L14.0186 9.75H17V10.25H14.0186L13.9014 10.584C13.7809 10.9252 13.5571 11.2205 13.2617 11.4297C12.966 11.6389 12.6122 11.752 12.25 11.752C11.8878 11.752 11.534 11.6389 11.2383 11.4297C10.9429 11.2205 10.7191 10.9252 10.5986 10.584L10.4814 10.25H3V9.75H10.4814L10.5986 9.41602C10.7191 9.07453 10.9427 8.77854 11.2383 8.56934C11.534 8.36011 11.8878 8.24805 12.25 8.24805ZM12.25 8.75C11.9185 8.75 11.6006 8.88179 11.3662 9.11621C11.1318 9.35063 11 9.66851 11 10C11 10.3315 11.1318 10.6494 11.3662 10.8838C11.6006 11.1182 11.9185 11.25 12.25 11.25C12.5815 11.25 12.8994 11.1182 13.1338 10.8838C13.3682 10.6494 13.5 10.3315 13.5 10C13.5 9.66851 13.3682 9.35063 13.1338 9.11621C12.8994 8.88179 12.5815 8.75 12.25 8.75ZM7.75 2.99805C8.11223 2.99805 8.46602 3.11011 8.76172 3.31934C9.0573 3.52854 9.28085 3.82453 9.40137 4.16602L9.51855 4.5H17V5H9.51855L9.40137 5.33398C9.28088 5.67525 9.05707 5.97054 8.76172 6.17969C8.46602 6.38892 8.11223 6.50195 7.75 6.50195C7.38777 6.50195 7.03398 6.38892 6.73828 6.17969C6.44293 5.97054 6.21912 5.67525 6.09863 5.33398L5.98145 5H3V4.5H5.98145L6.09863 4.16602C6.21915 3.82453 6.4427 3.52854 6.73828 3.31934C7.03398 3.11011 7.38777 2.99805 7.75 2.99805ZM7.75 3.5C7.41848 3.5 7.10063 3.63179 6.86621 3.86621C6.63183 4.10063 6.5 4.41851 6.5 4.75C6.50003 5.08148 6.63182 5.3994 6.86621 5.63379C7.10063 5.86817 7.41851 6 7.75 6C8.08149 6 8.39937 5.86817 8.63379 5.63379C8.86818 5.3994 8.99997 5.08148 9 4.75C9 4.41851 8.86817 4.10063 8.63379 3.86621C8.42878 3.6612 8.16001 3.53436 7.87402 3.50586L7.75 3.5Z",stroke:"currentColor"},null,-1)])])):y("",!0),"settings-members-role"==o.iconName?(s(),a("svg",hl,[...t[60]||(t[60]=[i("path",{d:"M14.9521 12.7109C15.725 13.1473 16.3847 13.7632 16.8691 14.5127C17.3534 15.262 17.644 16.1164 17.7246 17H17.2217C17.1427 16.2131 16.881 15.4534 16.4492 14.7852C16.0171 14.1166 15.4316 13.5653 14.7461 13.1699L14.9521 12.7109ZM8.5 12C9.95869 12 11.3572 12.5799 12.3887 13.6113C13.3016 14.5242 13.8592 15.7247 13.9756 17H13.4746C13.3598 15.8576 12.8542 14.7839 12.0352 13.9648C11.0975 13.0272 9.82608 12.5 8.5 12.5C7.17392 12.5 5.90253 13.0272 4.96484 13.9648C4.14577 14.7839 3.64018 15.8576 3.52539 17H3.02441C3.14082 15.7247 3.69843 14.5242 4.61133 13.6113C5.57838 12.6443 6.86805 12.0742 8.22754 12.0068L8.5 12ZM14.5107 4.2793C14.9581 4.55194 15.3438 4.9183 15.6377 5.35742C16.0371 5.95436 16.2503 6.65675 16.25 7.375L16.2461 7.54395C16.207 8.38749 15.8744 9.19298 15.3027 9.81934C14.8183 10.3501 14.1895 10.7201 13.5 10.8916V10.374C13.9958 10.2298 14.4513 9.96637 14.8223 9.60059C15.2981 9.13134 15.6109 8.5215 15.7148 7.86133C15.8188 7.20122 15.708 6.52537 15.3994 5.93262C15.1565 5.46602 14.8003 5.07169 14.3672 4.78125L14.5107 4.2793ZM8.5 2.25C10.7101 2.25 12.5 4.03989 12.5 6.25C12.5 8.46011 10.7101 10.25 8.5 10.25C6.28989 10.25 4.5 8.46011 4.5 6.25C4.5 4.03989 6.28989 2.25 8.5 2.25ZM8.5 2.75C6.56636 2.75 5 4.31636 5 6.25C5 8.18364 6.56636 9.75 8.5 9.75C10.4336 9.75 12 8.18364 12 6.25C12 4.31636 10.4336 2.75 8.5 2.75Z",stroke:"currentColor"},null,-1)])])):y("",!0),"settings-roadmap"==o.iconName?(s(),a("svg",ul,[...t[61]||(t[61]=[i("path",{d:"M7.75 13.498C8.11223 13.498 8.46602 13.6101 8.76172 13.8193C9.0573 14.0285 9.28085 14.3245 9.40137 14.666L9.51855 15H17V15.5H9.51855L9.40137 15.834C9.28088 16.1752 9.05707 16.4705 8.76172 16.6797C8.46602 16.8889 8.11223 17.002 7.75 17.002L7.61426 16.9961C7.30008 16.9717 6.99689 16.8627 6.73828 16.6797C6.44293 16.4705 6.21912 16.1752 6.09863 15.834L5.98145 15.5H3V15H5.98145L6.09863 14.666C6.21915 14.3245 6.4427 14.0285 6.73828 13.8193C6.99691 13.6363 7.30006 13.5274 7.61426 13.5029L7.75 13.498ZM7.75 14C7.41848 14 7.10063 14.1318 6.86621 14.3662C6.63183 14.6006 6.5 14.9185 6.5 15.25C6.50003 15.5815 6.63182 15.8994 6.86621 16.1338C7.10063 16.3682 7.41851 16.5 7.75 16.5C8.08149 16.5 8.39937 16.3682 8.63379 16.1338C8.86818 15.8994 8.99997 15.5815 9 15.25C9 14.9185 8.86817 14.6006 8.63379 14.3662C8.39937 14.1318 8.08152 14 7.75 14ZM12.25 8.24805C12.6122 8.24805 12.966 8.36011 13.2617 8.56934C13.5573 8.77854 13.7809 9.07453 13.9014 9.41602L14.0186 9.75H17V10.25H14.0186L13.9014 10.584C13.7809 10.9252 13.5571 11.2205 13.2617 11.4297C12.966 11.6389 12.6122 11.752 12.25 11.752C11.8878 11.752 11.534 11.6389 11.2383 11.4297C10.9429 11.2205 10.7191 10.9252 10.5986 10.584L10.4814 10.25H3V9.75H10.4814L10.5986 9.41602C10.7191 9.07453 10.9427 8.77854 11.2383 8.56934C11.534 8.36011 11.8878 8.24805 12.25 8.24805ZM12.25 8.75C11.9185 8.75 11.6006 8.88179 11.3662 9.11621C11.1318 9.35063 11 9.66851 11 10C11 10.3315 11.1318 10.6494 11.3662 10.8838C11.6006 11.1182 11.9185 11.25 12.25 11.25C12.5815 11.25 12.8994 11.1182 13.1338 10.8838C13.3682 10.6494 13.5 10.3315 13.5 10C13.5 9.66851 13.3682 9.35063 13.1338 9.11621C12.8994 8.88179 12.5815 8.75 12.25 8.75ZM7.75 2.99805C8.11223 2.99805 8.46602 3.11011 8.76172 3.31934C9.0573 3.52854 9.28085 3.82453 9.40137 4.16602L9.51855 4.5H17V5H9.51855L9.40137 5.33398C9.28088 5.67525 9.05707 5.97054 8.76172 6.17969C8.46602 6.38892 8.11223 6.50195 7.75 6.50195C7.38777 6.50195 7.03398 6.38892 6.73828 6.17969C6.44293 5.97054 6.21912 5.67525 6.09863 5.33398L5.98145 5H3V4.5H5.98145L6.09863 4.16602C6.21915 3.82453 6.4427 3.52854 6.73828 3.31934C7.03398 3.11011 7.38777 2.99805 7.75 2.99805ZM7.75 3.5C7.41848 3.5 7.10063 3.63179 6.86621 3.86621C6.63183 4.10063 6.5 4.41851 6.5 4.75C6.50003 5.08148 6.63182 5.3994 6.86621 5.63379C7.10063 5.86817 7.41851 6 7.75 6C8.08149 6 8.39937 5.86817 8.63379 5.63379C8.86818 5.3994 8.99997 5.08148 9 4.75C9 4.41851 8.86817 4.10063 8.63379 3.86621C8.42878 3.6612 8.16001 3.53436 7.87402 3.50586L7.75 3.5Z",stroke:"#0E121B"},null,-1)])])):y("",!0),"settings-license"==o.iconName?(s(),a("svg",pl,[...t[62]||(t[62]=[i("path",{d:"M3.25 3H13.75C13.8163 3 13.8799 3.02636 13.9268 3.07324C13.9736 3.12013 14 3.18369 14 3.25V12.75H17V15.25L16.9912 15.4229C16.9515 15.8235 16.7745 16.2001 16.4873 16.4873C16.1591 16.8155 15.7141 17 15.25 17H4.75C4.28587 17 3.84088 16.8155 3.5127 16.4873C3.18451 16.1591 3 15.7141 3 15.25V3.25C3 3.1837 3.02636 3.12013 3.07324 3.07324C3.12013 3.02636 3.1837 3 3.25 3ZM3.5 15.25C3.5 15.5815 3.63179 15.8994 3.86621 16.1338C4.10063 16.3682 4.41848 16.5 4.75 16.5H13.5V3.5H3.5V15.25ZM14 15.25C14 15.5815 14.1318 15.8994 14.3662 16.1338C14.6006 16.3682 14.9185 16.5 15.25 16.5C15.5815 16.5 15.8994 16.3682 16.1338 16.1338C16.3682 15.8994 16.5 15.5815 16.5 15.25V13.25H14V15.25ZM8.75 12.75V13.25H6V12.75H8.75ZM11 9.75V10.25H6V9.75H11ZM11 6.75V7.25H6V6.75H11Z",stroke:"currentColor"},null,-1)])])):y("",!0),"drag-and-drop"==o.iconName?(s(),c(h,{key:64,class:"fbs-box-item",effect:"dark",content:"Drag and Drop Task",placement:"top-start"},{default:n(()=>[...t[63]||(t[63]=[i("svg",{xmlns:"http://www.w3.org/2000/svg",width:"11",height:"16",viewBox:"0 0 11 16",fill:"none"},[i("rect",{y:"0.5",width:"4",height:"4",rx:"1",fill:"#98A2B3"}),i("rect",{y:"6",width:"4",height:"4",rx:"1",fill:"#98A2B3"}),i("rect",{y:"11.5",width:"4",height:"4",rx:"1",fill:"#98A2B3"}),i("rect",{x:"7",y:"0.5",width:"4",height:"4",rx:"1",fill:"#98A2B3"}),i("rect",{x:"7",y:"6",width:"4",height:"4",rx:"1",fill:"#98A2B3"}),i("rect",{x:"7",y:"11.5",width:"4",height:"4",rx:"1",fill:"#98A2B3"})],-1)])]),_:1})):y("",!0)],2)}]]);A.extend(I),A.extend(D),A.extend(B);const bl=function(e){if(!e)return"";const t=A(e),s=parseInt(window.fluentAddonVars.server_time_zone,10)||0;return t.utcOffset(s).fromNow()},gl=function(e){let t="";t="string"==typeof e?e:e&&e.message?e.message:fl(e),t||(t="Something is wrong!"),this.$notify({type:"error",title:"Error",message:t,dangerouslyUseHTMLString:!0})},fl=function(e){const t=[];if("object"==typeof e&&void 0===e.join)for(const s in e)t.push(fl(e[s]));else if("object"==typeof e&&void 0!==e.join)for(const s in e)t.push(fl(e[s]));else"function"==typeof e||"string"==typeof e&&t.push(e);return t.join("<br />")},_l=function(e,t="D MMM, YYYY"){if(!e)return"";const s=A(e);return s.isValid()?s.format(t):null},kl=function(e){if(null==e)return null;const t=e=>e instanceof Date&&!Number.isNaN(e.getTime())&&e.getFullYear()>=1900;if(e instanceof Date)return t(e)?e:null;if("string"==typeof e){const s=e.trim();if(!s)return null;if(["none","null","0000-00-00","0000-00-00 00:00:00"].includes(s.toLowerCase()))return null;const a=A(s),i=a.isValid()?a.toDate():null;return t(i)?i:null}const s=A(e),a=s.isValid()?s.toDate():null;return t(a)?a:null},vl=function(e,t="YYYY-MM-DD"){const s=kl(e);return s?A(s).format(t):null},yl=function(e,t=!1){const s=kl(e);if(!s)return"";let a="D MMM, YYYY";return A(s).isSame(A(),"year")&&(a="D MMM",t&&("G"===window.fluentAddonVars.time_format[0]||"H"===window.fluentAddonVars.time_format[0]?a+=" @ HH:mm":a+=" @ hh:mm a")),A(s).format(a)},wl=function(e,t=!1){const s=kl(e);if(!s)return"";let a="D MMM, YYYY";return t&&("G"===window.fluentAddonVars.time_format[0]||"H"===window.fluentAddonVars.time_format[0]?a+=" @ HH:mm":a+=" @ hh:mm a"),A(s).format(a)},Cl=function(e){const t=kl(e);return!!t&&A(t).isBefore(A())},Tl=function(e,t=!1){const s=kl(e);if(!s)return"";let a="D MMM, YYYY";const i=A(s),o="00:00"===i.format("HH:mm");return i.isSame(A(),"year")&&(a="D MMM"),t&&!o&&("G"===window.fluentAddonVars.time_format[0]||"H"===window.fluentAddonVars.time_format[0]?a+=" @ HH:mm":a+=" @ hh:mm a"),i.isValid()?i.format(a):null},Sl=function(e,t,s=!1){const a=kl(e),i=kl(t);let o="";a&&(o=i&&A(a).isSame(i,"month")?A(a).format("D")+" - ":(i&&A(a).isSame(i,"year"),yl(a,!1)+" - "));let l=" --";return i&&(l=Tl(i,s)),o+l},$l=(e,t,s={})=>t.map(t=>({...(()=>{const a=e.filter(e=>e.stage_id==t.id),i=(null==s?void 0:s[t.id])||{},o=Number.isFinite(Number(i.total_count)),l=!i.has_more_before&&!i.has_more_after;return{total_count:o?l?a.length:Math.max(Number(i.total_count),a.length):a.length,tasks:a}})(),id:t.id,board_id:t.board_id,stage_id:t.id,title:t.title,position:t.position,bg_color:t.bg_color,archived_at:t.archived_at,settings:t.settings})),Vl=e=>(e.forEach(t=>{t.tasks.sort((e,t)=>{const s=Number((null==e?void 0:e.is_pinned)||0),a=Number((null==t?void 0:t.is_pinned)||0);if(s!==a)return a-s;const i=Number((null==e?void 0:e.position)||0),o=Number((null==t?void 0:t.position)||0);return 0===i&&0!==o?1:0===o&&0!==i?-1:i-o}),t.tasksLoading=e.tasksLoading}),e),Al=function(e,t=null){if(!e)return"#";if(!e.id||isNaN(e.id))return"#";if(!e.board_id||isNaN(e.board_id))return"#";let s="";s="admin"==this.appVars.render_in?`${this.appVars.admin_url}?page=fluent-boards#/`:this.appVars.base_url;let a=s+"boards/"+e.board_id+"/tasks/"+e.id+"-"+Ll(e.title);return t&&"comment_id"in t&&(a=a+"?comment="+t.comment_id),a},Il=function(e){if(!e)return"#";let t="";return t="admin"==this.appVars.render_in?`${this.appVars.admin_url}?page=fluent-boards#/`:this.appVars.base_url,t+"boards/"+e.id},Dl=function(e){if(!/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(e))return!1;const t=e.split("@");t[0];const s=t[1].split("."),a=s[s.length-1],i=s.join(".");if(a.length<2)return!1;return!!new RegExp("^(?!-)[A-Za-z0-9-.]+(?<!-)$").test(i)},Bl=A,Ll=e=>{if(!e||"string"!=typeof e||""===e.trim())return"";const t=["\\w","\\s","-","؀-ۿ","ء-ي","٠-٩","ऀ-ॿ","一-鿿","Ѐ-ӿ","஀-௿","฀-๿","ঀ-৿"].join("");let s=e.replace(new RegExp(`[^${t}]`,"g"),"").replace(/\s+/g,"-").substring(0,20).trim("-");if(!s)return"";try{return encodeURIComponent(s)}catch(a){return""}};A.extend(L);const Ml={...Ke,el:{...Ke.el,datepicker:{...Ke.el.datepicker,weeks:{sun:"S",mon:"M",tue:"T",wed:"W",thu:"T",fri:"F",sat:"S"}}}},xl={name:"DateChanger",inject:["eventBus"],props:{task:{type:Object,required:!0},column:String,date_format:String,disable_save:Boolean,showStaticLabel:Boolean,placement:String,isUsedForCreateTask:Boolean,popoverClass:String,popoverWidth:[String,Number],emptyLabel:String,emptyDateLabel:String,hideReferenceIcon:Boolean,button_class:String,triggerDateDisplay:String,enableStartDate:{type:Boolean,default:!0}},emits:["updateTaskCreateDate"],components:{Icons:$s},data(){return{saving:!1,visible:!1,hasOpened:!1,calendar:"",intermediateDates:[],current_selects:[],show_start_date:this.enableStartDate&&this.task.started_at?"yes":"no",show_due_date:"yes",startDate:"",endDate:"",due_time:"",currentSelector:"endDate",calendarStartingDate:new Date,isChildComponentOpen:!1,tempEndDate:"",tempStartDate:"",dateSaved:!1,show_reminder:"no",reminder_option:"30_minutes_before",reminderOptions:window.fluentAddonVars.reminder_types||[],calendarLocale:Ml,isMobilePopover:!1}},computed:{...m(js,["board"]),dateStatusTask(){return this.canUseStartDate?this.task:{...this.task,started_at:null}},dateStatus(){return Ds(this.dateStatusTask)},dateStatusClass(){return[As(this.dateStatusTask),{fbs_priority_badge_high:this.dateStatus===Is.OVERDUE}]},canUseStartDate(){return this.enableStartDate},resolvedPlacement(){return this.isMobilePopover?"bottom":this.placement??"left"},readableDate(){return"start"===this.normalizedTriggerDateDisplay?this.formatReadableDate(this.task.started_at):"end"===this.normalizedTriggerDateDisplay?this.formatReadableDate(this.task.due_at,!0):this.canUseStartDate?this.formatReadableDateRange(this.task.started_at,this.task.due_at)||this.emptyDateText:this.formatReadableDate(this.task.due_at,!0)},emptyDateText(){return this.emptyLabel||this.$t(this.emptyDateLabel||"Set Dates")},normalizedTriggerDateDisplay(){return["start","end"].includes(this.triggerDateDisplay)?this.triggerDateDisplay:"range"},totalDays(){if(this.startDate&&this.endDate){const e=kl(this.startDate),t=kl(this.endDate);if(e&&t){const s=Math.abs(t-e);return Math.ceil(s/864e5)+1}}return 0}},mounted(){A.Ls.en.weekStart=parseInt(this.appVars.start_of_week),this.initializeReminderState(),this.updateMobilePopoverPlacement()},methods:{smartDateWithYear:Tl,updateMobilePopoverPlacement(){this.isMobilePopover=window.matchMedia("(max-width: 480px)").matches},getDateDisplayFormat(e,t=!1,s=!0){const a=kl(e);if(!a)return"";const i=A(a),o=t&&"00:00"!==i.format("HH:mm");if(this.date_format){const e=o?this.date_format:this.getDateOnlyDisplayFormat(this.date_format);return i.format(e)}let l=s?"MMM D YYYY":"MMM D";return o&&("G"===window.fluentAddonVars.time_format[0]||"H"===window.fluentAddonVars.time_format[0]?l+=" HH:mm":l+=" hh:mm a"),i.format(l)},getDateOnlyDisplayFormat:e=>String(e||"").replace(/\s*(?:,|@)?\s*(?:H{1,2}|h{1,2})(?::mm)?(?:\s*[aA])?\s*$/,"").trim()||e,formatReadableDate(e,t=!1){return kl(e)?this.getDateDisplayFormat(e,t):this.emptyDateText},formatReadableDateRange(e,t){const s=kl(e),a=kl(t);if(this.date_format)return s&&a?A(s).isSame(a,"day")?this.getDateDisplayFormat(a,!0):this.getDateDisplayFormat(s)+" - "+this.getDateDisplayFormat(a,!0):s?this.getDateDisplayFormat(s):a?this.getDateDisplayFormat(a,!0):"";if(s&&a){if(A(s).isSame(a,"day"))return this.getDateDisplayFormat(a,!0);if(A(s).isSame(a,"year")){if(A(s).isSame(a,"month")){let e=A(a).format("D");return"00:00"!==A(a).format("HH:mm")&&("G"===window.fluentAddonVars.time_format[0]||"H"===window.fluentAddonVars.time_format[0]?e+=" "+A(a).format("HH:mm"):e+=" "+A(a).format("hh:mm a")),A(s).format("MMM D")+"-"+e}return this.getDateDisplayFormat(s,!1,!1)+" - "+this.getDateDisplayFormat(a,!0,!1)}return this.getDateDisplayFormat(s)+" - "+this.getDateDisplayFormat(a,!0)}return s?this.getDateDisplayFormat(s):a?this.getDateDisplayFormat(a,!0):""},initializeReminderState(){this.task&&this.task.reminder_type&&this.task.remind_at?(this.show_reminder="yes",this.reminder_option=this.task.reminder_type):(this.show_reminder="no",this.reminder_option="30_minutes_before")},initializeReminderOption(){if(!this.task||!this.task.due_at||!this.task.remind_at)return;const e=kl(this.task.due_at),t=kl(this.task.remind_at);if(!e||!t)return void(this.reminder_option="30_minutes_before");const s=e.getTime()-t.getTime(),a=Math.floor(s/6e4);this.reminder_option=30===a?"30_minutes_before":60===a?"1_hour_before":120===a?"2_hours_before":1440===a?"1_day_before":2880===a?"2_days_before":10080===a?"1_week_before":"30_minutes_before"},handleReminderChange(){"no"===this.show_reminder&&(this.reminder_option="30_minutes_before")},calculateReminderTimestamp(){if(!this.endDate||"yes"!==this.show_reminder)return null;let e=this.endDate;this.due_time?e+=" "+this.due_time+":00":e+=" 00:00:00";const t=kl(e);if(!t)return null;let s=new Date(t);switch(this.reminder_option){case"30_minutes_before":s.setMinutes(s.getMinutes()-30);break;case"1_hour_before":s.setHours(s.getHours()-1);break;case"2_hours_before":s.setHours(s.getHours()-2);break;case"1_day_before":s.setDate(s.getDate()-1);break;case"2_days_before":s.setDate(s.getDate()-2);break;case"1_week_before":s.setDate(s.getDate()-7)}return vl(s,"YYYY-MM-DD HH:mm:ss")},initPicker(){if(this.board.isUserOnlyViewer)return;this.updateMobilePopoverPlacement();let e=!this.visible;if(e){const e=kl(this.task.due_at);if(e){this.endDate=this.$formatDate(this.task.due_at,"YYYY-MM-DD");const t=this.$formatDate(this.task.due_at,"HH:mm");this.due_time="00:00"===t?"":t,this.calendarStartingDate=e}else this.due_time="";const t=this.canUseStartDate?kl(this.task.started_at):null;if(t&&(this.startDate=this.$formatDate(this.task.started_at,"YYYY-MM-DD"),this.calendarStartingDate=t),!this.task.started_at&&!this.task.due_at){const e=this.$formatDate(new Date,"YYYY-MM-DD");this.startDate="",this.endDate=e}}this.$nextTick(()=>{this.hasOpened=!0,this.visible=e,this.visible&&(this.$nextTick(()=>{this.calendar=this.$refs.calendar}),this.handlePopoverOpen())})},handleChangeDueDate(e){"yes"===this.show_due_date?(this.endDate=this.tempEndDate,this.currentSelector="endDate"):(this.tempEndDate=this.endDate,this.endDate="")},handleStartDateChange(){"yes"===this.show_start_date&&this.endDate?(this.tempStartDate?this.startDate=this.tempStartDate:this.startDate=A(this.endDate).subtract(1,"days").format("YYYY-MM-DD"),this.currentSelector="startDate"):(this.tempStartDate=this.startDate,this.startDate="")},getDateCellClasses(e){const t=this.startDate&&A(e).isSame(A(this.startDate),"day"),s=this.endDate&&A(e).isSame(A(this.endDate),"day");if(this.startDate&&this.endDate){return{fbs_date_changer__day_selected:t||s,fbs_date_changer__day_range_start:t,fbs_date_changer__day_range_end:s,fbs_date_changer__day_in_range:A(e).isBetween(A(this.startDate),A(this.endDate),"day","[]")&&!t&&!s}}return{fbs_date_changer__day_selected:t||s}},toggleSelect(e){let t=e.day;if("yes"==this.show_start_date||"yes"==this.show_due_date){if("yes"!=this.show_start_date)return this.endDate=t,this.current_selects=[t],void(this.calendarStartingDate=new Date(t));if("yes"!=this.show_due_date)return this.startDate=t,this.current_selects=[t],void(this.calendarStartingDate=new Date(t));if(!this.startDate&&!this.endDate)return this.startDate=t,this.endDate=t,void(this.calendarStartingDate=new Date(t));"startDate"==this.currentSelector?(this.startDate=t,(!this.endDate||this.endDate<t)&&(this.endDate=A(t).add(1,"days").format("YYYY-MM-DD")),this.currentSelector="endDate"):(this.endDate=t,this.currentSelector="endDate"),"endDate"==this.currentSelector&&this.startDate>t&&(this.endDate=t,this.startDate=A(t).subtract(1,"days").format("YYYY-MM-DD"),this.currentSelector="endDate"),this.calendarStartingDate=new Date(t)}else this.$notify.error({title:"Error",message:"Please enable either start date or due date to select date."})},selectDate(e){this.calendar||(this.calendar=this.$refs.calendar),this.calendar?this.calendar&&this.calendar.selectDate&&this.calendar.selectDate(e):this.$nextTick(()=>{this.calendar=this.$refs.calendar,this.calendar&&this.calendar.selectDate&&this.calendar.selectDate(e)})},formatDueDateForPayload(){let e=this.$formatDate(this.endDate,"YYYY-MM-DD");return e&&(this.due_time?e+=" "+this.due_time+":00":e+=" 00:00:00"),e},changeDate(){let e=this.formatDueDateForPayload(),t="";this.canUseStartDate&&this.startDate&&(t=this.startDate+" 09:00:00");let s={};"yes"===this.show_reminder&&e?(s.reminder_type=this.reminder_option,s.remind_at=this.calculateReminderTimestamp()):(this.show_reminder="no",this.reminder_option="30_minutes_before",s.reminder_type=null,s.remind_at=null),this.saving=!0;let a={due_at:e,...s};this.canUseStartDate&&(a.started_at=t),this.$post("projects/"+this.task.board_id+"/tasks/"+this.task.id+"/dates",a).then(e=>{this.task.due_at=e.task.due_at,this.task.started_at=e.task.started_at,this.task.reminder_type=e.task.reminder_type,this.task.remind_at=e.task.remind_at,this.visible=!1,this.$notify.success({message:e.message}),this.eventBus.emit("update-tasks",e.updatedTasks)}).catch(e=>{this.$notify.error({title:"Error",message:"Task due date couldn't be updated. Please try again."})}).finally(()=>{this.saving=!1,this.dateSaved=!0})},removeDate(){this.startDate=null,this.endDate=null,this.due_time="",this.tempEndDate="",this.tempStartDate="",this.show_start_date="no",this.show_reminder="no",this.dateSaved=!1,this.changeDate()},updateCreateTaskDate(){let e={due_at:this.formatDueDateForPayload(),reminder_type:null,remind_at:null};this.canUseStartDate&&(e.started_at=this.startDate),"yes"===this.show_reminder&&(e.remind_at=this.calculateReminderTimestamp(),e.reminder_type=e.remind_at?this.reminder_option:null),this.$emit("updateTaskCreateDate",e),this.visible=!1},cancelCreateTaskDate(){this.visible=!1,this.startDate="",this.endDate="",this.due_time="",this.show_start_date="no",this.show_reminder="no"},handlePopoverOpen(){setTimeout(()=>{document.addEventListener("click",this.handleClickOutside)},0)},handlePopoverHide(){this.isUsedForCreateTask&&this.cancelCreateTaskDate(),document.removeEventListener("click",this.handleClickOutside)},handleClickOutside(e){var t;(null==(t=this.$refs.dateChanger)?void 0:t.contains(e.target))||this.isChildComponentOpen||(document.removeEventListener("click",this.handleClickOutside),this.handleCrossClick())},handleCrossClick(){this.visible=!1,this.show_due_date="yes",!this.canUseStartDate||!this.dateSaved&&null===this.task.started_at?this.show_start_date="no":this.task.started_at&&(this.show_start_date="yes")}}},Pl={key:0,class:"fbs_date_changer__trigger_icon"},Fl={class:"fbs_date_changer__trigger_label"},El={class:"fbs_date_changer__content"},Ul={class:"icon"},Ol={class:"fbs_date_changer__current_month_year"},Rl={class:"icon"},Nl=["onClick"],Hl={class:"fbs_date_changer__fields"},jl={class:"fbs_date_changer__field"},zl={class:"fbs_primary_text font-medium fbs_mb_4"},Gl={class:"fbs_date_changer__inputs"},ql={class:"fbs_date_changer__date_time"},Wl={class:"fbs_date_changer__date_icon"},Kl={key:0,class:"fbs_date_changer__field"},Zl={class:"fbs_date_changer__inputs fbs_date_changer__toggle fbs_mb_8"},Yl={key:0,class:"fbs_date_changer__inputs"},Jl={class:"fbs_date_changer__date_icon"},Ql={class:"fbs_date_changer__field"},Xl={class:"fbs_date_changer__inputs fbs_date_changer__toggle"},en={key:1,class:"d-flex items-center gap-4"},tn={class:"fbs_priority_badge"},sn={class:"label"},an={key:0,class:"fbs_date_changer__reminder"},on={key:0,class:"fbs_date_changer__footer"};const ln=Ss(xl,[["render",function(e,t,u,p,m,_){const v=b("Icons"),C=ze,T=Ye,S=Ze,$=Je,V=qe,A=Be,I=Le,D=je,B=g("loading");return s(),c(D,{placement:_.resolvedPlacement,width:u.popoverWidth||300,"popper-class":"fbs_date_changer_popover",onHide:_.handlePopoverHide,visible:m.visible},{reference:n(()=>[i("button",{type:"button",onClick:t[0]||(t[0]=h((...e)=>_.initPicker&&_.initPicker(...e),["stop"])),class:k(["fbs_priority_badge cursor_pointer fbs_date_changer__trigger",[_.dateStatusClass,u.button_class]])},[u.hideReferenceIcon?y("",!0):(s(),a("span",Pl,[l(v,{"icon-name":"calendar"})])),i("span",Fl,o(_.readableDate),1)],2)]),default:n(()=>[m.hasOpened?(s(),a("div",{key:0,class:k(["fbs_date_changer ",u.popoverClass]),ref:"dateChanger"},[i("div",El,[l(S,{locale:m.calendarLocale},{default:n(()=>[l(T,{class:"fbs_date_changer__calendar",modelValue:m.calendarStartingDate,"onUpdate:modelValue":t[3]||(t[3]=e=>m.calendarStartingDate=e),ref:"calendar"},{header:n(({date:s})=>[l(C,{onClick:t[1]||(t[1]=e=>_.selectDate("prev-month")),class:"extra-small only-icon-btn prev-month-btn","aria-label":e.$t("Previous Month")},{default:n(()=>[i("span",Ul,[l(v,{"icon-name":"arrow-left"})])]),_:1},8,["aria-label"]),i("span",Ol,o(s),1),l(C,{onClick:t[2]||(t[2]=e=>_.selectDate("next-month")),class:"extra-small only-icon-btn next-month-btn","aria-label":e.$t("Next Month")},{default:n(()=>[i("span",Rl,[l(v,{"icon-name":"arrow-right"})])]),_:1},8,["aria-label"])]),"date-cell":n(({data:e})=>[i("span",{onClick:t=>_.toggleSelect(e),class:k(_.getDateCellClasses(e.day))},o(e.date.getDate()),11,Nl)]),_:1},8,["modelValue"])]),_:1},8,["locale"]),t[15]||(t[15]=i("div",{class:"fbs_divider fbs_mt_16 fbs_mb_16"},null,-1)),i("div",Hl,[i("div",jl,[i("div",zl,o(e.$t("Due Date")),1),i("div",Gl,[i("div",ql,[i("div",{class:k(["fbs_date_changer__date_input",{fbs_date_changer__date_input_disabled:"no"==m.show_due_date,fbs_date_changer__date_input_selected:"endDate"==m.currentSelector&&"yes"==m.show_due_date}]),onClick:t[4]||(t[4]=e=>m.currentSelector="endDate"),ref:"dueDate"},[i("span",Wl,[l(v,{"icon-name":"calendar"})]),w(" "+o(m.endDate&&"yes"==m.show_due_date?_.smartDateWithYear(m.endDate):"DD-MM-YYYY"),1)],2),l($,{disabled:!m.endDate||"yes"!=m.show_due_date,start:"00:00",end:"23:59",step:"00:15",placeholder:e.$t("Select Time"),modelValue:m.due_time,"onUpdate:modelValue":t[5]||(t[5]=e=>m.due_time=e),onFocus:t[6]||(t[6]=e=>m.isChildComponentOpen=!0),size:"small",onBlur:t[7]||(t[7]=e=>m.isChildComponentOpen=!1)},null,8,["disabled","placeholder","modelValue"])])])]),_.canUseStartDate?(s(),a("div",Kl,[i("div",Zl,[l(V,{modelValue:m.show_start_date,"onUpdate:modelValue":t[8]||(t[8]=e=>m.show_start_date=e),"true-label":"yes","false-label":"no",onChange:_.handleStartDateChange,label:e.$t("Start Date")},null,8,["modelValue","onChange","label"])]),"yes"==m.show_start_date?(s(),a("div",Yl,[i("div",{class:k(["fbs_date_changer__date_input",{fbs_date_changer__date_input_disabled:"no"==m.show_start_date,fbs_date_changer__date_input_selected:"startDate"==m.currentSelector&&"yes"==m.show_start_date}]),onClick:t[9]||(t[9]=e=>m.currentSelector="startDate"),ref:"startDate"},[i("span",Jl,[l(v,{"icon-name":"calendar"})]),w(" "+o(m.startDate&&"yes"==m.show_start_date?_.smartDateWithYear(m.startDate):"DD-MM-YYYY"),1)],2)])):y("",!0)])):y("",!0),i("div",Ql,[i("div",Xl,[e.appVars.has_pro?(s(),c(V,{key:0,modelValue:m.show_reminder,"onUpdate:modelValue":t[10]||(t[10]=e=>m.show_reminder=e),"true-label":"yes","false-label":"no",onChange:_.handleReminderChange,label:e.$t("Set Reminder")},null,8,["modelValue","onChange","label"])):(s(),a("div",en,[l(V,{disabled:!0,label:e.$t("Set Reminder")},null,8,["label"]),i("div",tn,[i("span",sn,o(e.$t("Pro")),1)])]))]),"yes"===m.show_reminder&&e.appVars.has_pro?(s(),a("div",an,[l(I,{modelValue:m.reminder_option,"onUpdate:modelValue":t[11]||(t[11]=e=>m.reminder_option=e),placeholder:e.$t("Select reminder time"),size:"small",onFocus:t[12]||(t[12]=e=>m.isChildComponentOpen=!0),onBlur:t[13]||(t[13]=e=>m.isChildComponentOpen=!1),onPaste:t[14]||(t[14]=h(()=>{},["stop"]))},{default:n(()=>[(s(!0),a(r,null,d(m.reminderOptions,(e,t)=>(s(),c(A,{key:t,label:e,value:t},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])):y("",!0)])]),e.board.archived_at?y("",!0):(s(),a("div",on,[u.isUsedForCreateTask?y("",!0):(s(),a(r,{key:0},[l(C,{disabled:m.saving,size:"small",class:"fbs_date_changer__cancel_button",onClick:_.removeDate},{default:n(()=>[w(o(e.$t("Remove")),1)]),_:1},8,["disabled","onClick"]),f((s(),c(C,{disabled:m.saving,type:"primary",size:"small",onClick:_.changeDate},{default:n(()=>[w(o(e.$t("Save")),1)]),_:1},8,["disabled","onClick"])),[[B,m.saving]])],64)),u.isUsedForCreateTask?(s(),a(r,{key:1},[l(C,{disabled:m.saving,size:"small",class:"fbs_date_changer__cancel_button",onClick:_.cancelCreateTaskDate},{default:n(()=>[w(o(e.$t("Cancel")),1)]),_:1},8,["disabled","onClick"]),f((s(),c(C,{disabled:m.saving,type:"primary",size:"small",onClick:_.updateCreateTaskDate},{default:n(()=>[w(o(e.$t("Add")),1)]),_:1},8,["disabled","onClick"])),[[B,m.saving]])],64)):y("",!0)]))])],2)):y("",!0)]),_:1},8,["placement","width","onHide","visible"])}]]),nn={name:"SubtaskModal",components:{ArrowRight:Qe,DateChanger:ln,Icons:$s,Search:Ee,TaskAssignees:Ha},props:{modelValue:{type:Boolean,required:!0},subtask:{type:Object,required:!0},groups:{type:Array,default:()=>[]},propertiesTask:{type:Object,default:null},saving:{type:Boolean,default:!1},submitDisabled:{type:Boolean,default:!1},submitLabel:{type:String,required:!0},fallbackGroupTitle:{type:String,default:""},fallbackSubtaskTitle:{type:String,default:""},isCreateMode:{type:Boolean,default:!0},disableAssigneeSave:{type:Boolean,default:!0}},emits:["update:modelValue","save","closed","update-date"],data:()=>({groupDropdownVisible:!1,groupSearch:"",newGroupName:""}),watch:{modelValue(e){e||(this.newGroupName="")}},computed:{visible:{get(){return this.modelValue},set(e){this.$emit("update:modelValue",e)}},selectedGroupTitle(){const e=this.matchingSubtaskGroup(this.subtask.group_id);return e?e.value:this.isNewSubtaskGroupValue(this.subtask.group_id)?this.truncateBreadcrumbTitle(this.subtask.group_id.trim()):this.truncateBreadcrumbTitle(this.fallbackGroupTitle||this.$t("Subtask Group"))},selectedGroupValue(){const e=this.matchingSubtaskGroup(this.subtask.group_id);return e?String(e.id):"string"==typeof this.subtask.group_id?this.subtask.group_id.trim().slice(0,60):this.subtask.group_id},breadcrumbSubtaskTitle(){return this.truncateBreadcrumbTitle(this.subtask.title.trim()||this.fallbackSubtaskTitle||this.$t("New Subtask"))},modalPropertiesTask(){return this.propertiesTask||this.subtask},pendingGroupTitle(){return this.isNewSubtaskGroupValue(this.subtask.group_id)?this.subtask.group_id.trim().slice(0,60):""},subtaskGroupOptions(){const e=this.groups.map(e=>({key:String(e.id),label:e.value,value:String(e.id)}));return this.pendingGroupTitle&&e.push({key:"pending-group-"+this.pendingGroupTitle,label:this.pendingGroupTitle,value:this.pendingGroupTitle}),e},filteredSubtaskGroups(){const e=this.groupSearch.trim().toLowerCase();return e?this.subtaskGroupOptions.filter(t=>String(t.label||"").toLowerCase().includes(e)):this.subtaskGroupOptions},searchableGroupTitle(){return this.groupSearch.trim().slice(0,60)},showCreateGroupFromSearch(){return!!this.searchableGroupTitle&&!this.filteredSubtaskGroups.length}},methods:{closeModal(){this.visible=!1},focusTitle(){this.$nextTick(()=>{var e;this.resizeTitle(),null==(e=this.$refs.subtaskTitleInput)||e.focus()})},resizeTitle(){const e=this.$refs.subtaskTitleInput;e&&(e.style.height="auto",e.style.height=Math.min(e.scrollHeight,120)+"px")},updateSubtaskGroup(e){this.subtask.group_id="string"==typeof e?e.trim().slice(0,60):e},selectSubtaskGroup(e){this.updateSubtaskGroup(e),this.closeGroupDropdown()},selectFirstFilteredGroup(){this.filteredSubtaskGroups.length&&this.selectSubtaskGroup(this.filteredSubtaskGroups[0].value)},isSelectedGroup(e){return this.selectedGroupValue==e},handleGroupDropdownShow(){this.groupSearch="",this.$nextTick(()=>{var e;null==(e=this.$refs.groupSearchInput)||e.focus()})},closeGroupDropdown(){this.groupDropdownVisible=!1},createGroupFromSearch(){this.searchableGroupTitle&&(this.updateSubtaskGroup(this.searchableGroupTitle),this.closeGroupDropdown())},focusNewGroupInput(){this.$nextTick(()=>{var e;null==(e=this.$refs.newGroupInput)||e.focus()})},createGroupFromPopover(){var e;const t=this.newGroupName.trim().slice(0,60);if(!t)return;const s=this.matchingSubtaskGroup(t);this.subtask.group_id=s?String(s.id):t,this.newGroupName="",null==(e=this.$refs.groupPopover)||e.hide()},truncateBreadcrumbTitle(e){const t=String(e||"");return t.length<=30?t:t.slice(0,30)+"..."},isNewSubtaskGroupValue(e){if("string"!=typeof e)return!1;return!!e.trim().slice(0,60)&&!this.matchingSubtaskGroup(e)},matchingSubtaskGroup(e){const t="string"==typeof e?e.trim().slice(0,60):"";return this.groups.find(s=>s.id==e||t&&s.value===t)}}},rn={class:"el-dialog__title d-flex items-center gap-6"},dn={class:"icon d-block"},cn={class:"fbs_action_buttons"},hn={class:"icon"},un={class:"fbs_create_task_modal__shell"},pn={class:"fbs_create_subtask_modal__body"},mn=["placeholder"],bn=["placeholder"],gn={class:"fbs_create_subtask_modal__properties"},fn={class:"fbs_create_subtask_modal__group_row"},_n=["title","aria-label","aria-expanded"],kn={class:"icon"},vn={class:"label"},yn={class:"fbs_task_mover_search"},wn=["aria-label","placeholder"],Cn=["aria-label"],Tn=["aria-label"],Sn=["aria-selected","onClick"],$n={class:"d-flex items-center gap-8"},Vn={class:"icon"},An={key:1,class:"fbs_task_mover_empty"},In={class:"icon"},Dn={class:"fbs_create_subtask_modal__group_form"},Bn={class:"fbs_primary_text small font-medium fbs_mb_6"},Ln={class:"fbs_create_subtask_modal__group_form_fields"},Mn={class:"fbs_create_task_modal__assignees"},xn={class:"dialog-footer justify-end flex-wrap"};const Pn=Ss(nn,[["render",function(e,t,u,p,m,g){const _=b("Icons"),C=ze,T=b("Search"),S=Ne,V=je,A=He,I=b("date-changer"),D=b("task-assignees"),B=Ge;return s(),c(B,{modelValue:g.visible,"onUpdate:modelValue":t[18]||(t[18]=e=>g.visible=e),"append-to-body":"",width:"640px","show-close":!1,"close-on-click-modal":!1,class:"fbs_create_modal fbs_create_task_modal fbs_create_subtask_modal","modal-class":"fbs_create_task_modal__backdrop",onOpened:g.focusTitle,onClosed:t[19]||(t[19]=t=>e.$emit("closed"))},{header:n(()=>[i("div",rn,[w(o(g.selectedGroupTitle)+" ",1),i("span",dn,[l(_,{"icon-name":"arrow-right",class:"d-block"})]),w(" "+o(g.breadcrumbSubtaskTitle),1)]),i("div",cn,[l(C,{text:"","aria-label":e.$t("Close"),onClick:g.closeModal,class:"mini only-icon-btn"},{default:n(()=>[i("span",hn,[l(_,{"icon-name":"close"})])]),_:1},8,["aria-label","onClick"])])]),footer:n(()=>[i("div",xn,[l(C,{disabled:u.saving,onClick:g.closeModal},{default:n(()=>[w(o(e.$t("Cancel")),1)]),_:1},8,["disabled","onClick"]),l(C,{type:"primary",loading:u.saving,disabled:u.saving||u.submitDisabled,onClick:t[17]||(t[17]=t=>e.$emit("save"))},{default:n(()=>[w(o(u.submitLabel),1)]),_:1},8,["loading","disabled"])])]),default:n(()=>[i("div",un,[i("main",pn,[f(i("textarea",{ref:"subtaskTitleInput","onUpdate:modelValue":t[0]||(t[0]=e=>u.subtask.title=e),class:"fbs_create_modal__textarea fbs_create_task_modal__title",placeholder:e.$t("Subtask title"),maxlength:"250",rows:"1",onInput:t[1]||(t[1]=(...e)=>g.resizeTitle&&g.resizeTitle(...e)),onPaste:t[2]||(t[2]=h(()=>{},["stop"]))},null,40,mn),[[v,u.subtask.title]]),f(i("textarea",{"onUpdate:modelValue":t[3]||(t[3]=e=>u.subtask.description=e),class:"fbs_create_modal__textarea fbs_create_task_modal__description",placeholder:e.$t("Notes"),rows:"5",onPaste:t[4]||(t[4]=h(()=>{},["stop"]))},null,40,bn),[[v,u.subtask.description]])]),i("div",gn,[i("div",fn,[l(V,{ref:"groupDropdown",visible:m.groupDropdownVisible,"onUpdate:visible":t[12]||(t[12]=e=>m.groupDropdownVisible=e),trigger:"click",placement:"bottom-start",width:296,"popper-class":"fbs_task_move_popover fbs_create_subtask_modal__group_dropdown",onShow:g.handleGroupDropdownShow,onHide:t[13]||(t[13]=e=>m.groupSearch="")},{reference:n(()=>[i("button",{type:"button",class:"fbs_priority_badge cursor_pointer fbs_create_subtask_modal__group_trigger",title:g.selectedGroupTitle,"aria-label":e.$t("Change subtask group"),"aria-haspopup":"listbox","aria-expanded":m.groupDropdownVisible?"true":"false",onClick:t[5]||(t[5]=h(()=>{},["stop"]))},[i("span",kn,[l(_,{"icon-name":"subtask-group"})]),i("span",vn,o(g.selectedGroupTitle),1)],8,_n)]),default:n(()=>[i("div",{class:"fbs_task_mover fbs_create_subtask_modal__group_picker",onClick:t[11]||(t[11]=h(()=>{},["stop"]))},[i("div",yn,[l(S,null,{default:n(()=>[l(T)]),_:1}),f(i("input",{ref:"groupSearchInput","onUpdate:modelValue":t[6]||(t[6]=e=>m.groupSearch=e),type:"text","aria-label":e.$t("Search subtask groups"),placeholder:e.$t("Change group"),onKeydown:[t[7]||(t[7]=$(h((...e)=>g.selectFirstFilteredGroup&&g.selectFirstFilteredGroup(...e),["prevent"]),["enter"])),t[8]||(t[8]=$((...e)=>g.closeGroupDropdown&&g.closeGroupDropdown(...e),["esc"]))]},null,40,wn),[[v,m.groupSearch]]),m.groupSearch?(s(),a("button",{key:0,type:"button",class:"fbs_task_mover_icon_button","aria-label":e.$t("Close"),onClick:t[9]||(t[9]=e=>m.groupSearch="")},[l(_,{"icon-name":"close"})],8,Cn)):y("",!0)]),i("div",{class:"fbs_task_mover_list",role:"listbox","aria-label":e.$t("Subtask groups")},[(s(!0),a(r,null,d(g.filteredSubtaskGroups,e=>(s(),a("button",{key:e.key,type:"button",role:"option","aria-selected":g.isSelectedGroup(e.value)?"true":"false",class:k(["fbs_task_mover_row",{"is-selected":g.isSelectedGroup(e.value)}]),onClick:t=>g.selectSubtaskGroup(e.value)},[i("span",null,o(e.label),1)],10,Sn))),128)),g.showCreateGroupFromSearch?(s(),a("button",{key:0,type:"button",role:"option","aria-selected":"false",class:"fbs_task_mover_row fbs_create_subtask_modal__group_create",onClick:t[10]||(t[10]=(...e)=>g.createGroupFromSearch&&g.createGroupFromSearch(...e))},[i("span",$n,[i("span",Vn,[l(_,{"icon-name":"plus"})]),i("span",null,o(e.$t("Create New"))+": "+o(g.searchableGroupTitle),1)])])):g.filteredSubtaskGroups.length?y("",!0):(s(),a("div",An,o(e.$t("No groups found")),1))],8,Tn)])]),_:1},8,["visible","onShow"]),l(V,{ref:"groupPopover",trigger:"click",placement:"bottom-start",width:320,"popper-class":"fbs_create_subtask_modal__group_popover",onShow:g.focusNewGroupInput,onHide:t[15]||(t[15]=e=>m.newGroupName="")},{reference:n(()=>[l(C,{"aria-label":e.$t("Create New Group"),title:e.$t("Create New Group"),class:"mini only-icon-btn fbs_create_subtask_modal__group_add"},{default:n(()=>[i("span",In,[l(_,{"icon-name":"plus"})])]),_:1},8,["aria-label","title"])]),default:n(()=>[i("div",Dn,[i("div",Bn,o(e.$t("Create New Group")),1),i("div",Ln,[l(A,{ref:"newGroupInput",modelValue:m.newGroupName,"onUpdate:modelValue":t[14]||(t[14]=e=>m.newGroupName=e),maxlength:"60",placeholder:e.$t("Group Name"),onKeyup:$(g.createGroupFromPopover,["enter"]),size:"small"},null,8,["modelValue","placeholder","onKeyup"]),l(C,{type:"primary",size:"small",disabled:!m.newGroupName.trim(),onClick:g.createGroupFromPopover},{default:n(()=>[w(o(e.$t("Create")),1)]),_:1},8,["disabled","onClick"])])])]),_:1},8,["onShow"])]),l(I,{task:g.modalPropertiesTask,column:"due_at",date_format:"MMM DD, HH:mm",placement:e.appVars.is_rtl?"left":"right",isUsedForCreateTask:u.isCreateMode,emptyLabel:e.$t("Set Date"),hideReferenceIcon:!1,"enable-start-date":!1,onUpdateTaskCreateDate:t[16]||(t[16]=t=>e.$emit("update-date",t))},null,8,["task","placement","isUsedForCreateTask","emptyLabel"]),i("div",Mn,[l(D,{task:g.modalPropertiesTask,placement:e.appVars.is_rtl?"left":"right","number-of-avatars":1,is_multiple:!1,disable_save:u.disableAssigneeSave},null,8,["task","placement","disable_save"])])])])]),_:1},8,["modelValue","onOpened"])}]]),Fn={name:"SubtaskCard",inject:["eventBus"],components:{DateChanger:ln,TaskAssignees:Ha,Delete:et,CustomIcon:ml,CopyDocument:Xe,SubtaskModal:Pn},props:{groupId:{type:Number,required:!0},subtask:{type:Object,required:!0},allGroups:{type:Array,default:()=>[]}},emits:["getSubTasks","subTaskUpdated","updateOtherSubtaskPosition","deleteOrMovedSubtask","updateDragAndDropDisableStatus"],data(){return{editSubtaskDialogVisible:!1,editSubtask:this.freshEditSubtask(),isSaving:!1}},computed:{...m(js,["board"]),...m(Xi,["task"]),isSubtaskClosed(){return"open"!==this.subtask.status},statusToggleLabel(){return this.isSubtaskClosed?this.$t("Reopen subtask"):this.$t("Complete subtask")},hasEditSubtaskChanges(){return this.editSubtaskDialogVisible&&(this.editSubtask.title!==(this.subtask.title||"")||this.editSubtask.description!==(this.subtask.description||"")||this.hasSelectedGroupChanged(this.editSubtask.group_id))},groupOptions(){return this.allGroups.length?this.allGroups:[{id:this.currentGroupId,value:this.$t("Subtask Group")}]},currentGroupId(){var e,t;return this.groupId||(null==(t=null==(e=this.subtask)?void 0:e.meta)?void 0:t.subtask_group_id)}},methods:{...M(Qi,["subtaskEditing"]),freshEditSubtask(){var e,t;return{title:(null==(e=this.subtask)?void 0:e.title)||"",description:(null==(t=this.subtask)?void 0:t.description)||"",group_id:this.currentGroupId}},openEditSubtaskDialog(){this.board.archived_at||this.board.isUserOnlyViewer||(this.editSubtask=this.freshEditSubtask(),this.editSubtaskDialogVisible=!0)},closeEditSubtaskDialog(){this.editSubtaskDialogVisible=!1},resetEditSubtaskForm(){this.editSubtask=this.freshEditSubtask(),this.isSaving=!1,this.subtaskEditing(!1)},saveSubtaskDetails(){const e=this.editSubtask.title.trim(),t=this.editSubtask.description||"",s=[];if(!e)return void this.$notify({title:this.$t("Warning!"),message:this.$t("Title can't be empty"),type:"warning"});e!==(this.subtask.title||"")&&s.push({property:"title",value:e}),t!==(this.subtask.description||"")&&s.push({property:"description",value:t});const a=this.editSubtask.group_id,i=this.hasSelectedGroupChanged(a);s.length||i?(this.isSaving=!0,s.reduce((e,t)=>e.then(()=>this.updateTaskProperty(this.subtask,t)),Promise.resolve()).then(()=>i?this.ensureSubtaskGroup(a).then(({group:e,created:t})=>this.moveSubtaskToGroup(e.id).then(()=>{t&&this.emitter.emit("subtask-group-updated",{...e,openInline:!1})})):null).then(()=>{this.$notify.success({title:this.$t("Success"),message:this.$t("Subtask updated successfully.")}),this.closeEditSubtaskDialog()}).catch(()=>{}).finally(()=>{this.isSaving=!1})):this.closeEditSubtaskDialog()},isNewSubtaskGroupValue(e){if("string"!=typeof e)return!1;return!!e.trim().slice(0,60)&&!this.matchingSubtaskGroup(e)},matchingSubtaskGroup(e){const t="string"==typeof e?e.trim().slice(0,60):"";return this.groupOptions.find(s=>s.id==e||t&&s.value===t)},hasSelectedGroupChanged(e){const t=this.matchingSubtaskGroup(e);return t?t.id!=this.currentGroupId:this.isNewSubtaskGroupValue(e)},ensureSubtaskGroup(e){const t=String(e||"").trim().slice(0,60),s=this.matchingSubtaskGroup(e);return s?Promise.resolve({group:s,created:!1}):this.isNewSubtaskGroupValue(e)?this.$post("projects/"+this.subtaskBoardId()+"/tasks/"+this.subtaskParentId()+"/subtask-group",{title:t}).then(e=>({group:e.subtaskGroup,created:!0})):Promise.resolve({group:{id:this.currentGroupId,value:this.$t("Subtask Group")},created:!1})},subtaskBoardId(){return this.subtask.board_id||this.task.board_id||this.board.id},subtaskParentId(){return this.subtask.parent_id||this.task.id},moveSubtaskToGroup(e){return this.$post("projects/"+this.subtaskBoardId()+"/tasks/"+this.subtaskParentId()+"/move-subtask",{subtask_id:this.subtask.id,group_id:e}).then(t=>{this.emitter.emit("subtask-updated",{subtask:t.subtask,newGroupId:e,oldGroupId:this.currentGroupId})})},toggleSubtaskStatus(e){if(this.board.archived_at||this.board.isUserOnlyViewer)return;let t={property:"status",value:"open"===e.status?"closed":"open"};this.subtask.status=t.value,this.emitter.emit("subtask-updated",{taskId:this.task.id,operation:t.value,subtaskId:this.subtask.id}),this.updateTaskProperty(e,t).catch(()=>{})},updateTaskProperty(e,t){return e.board_id||(e.board_id=this.subtask.board_id||this.task.board_id||this.board.id),new Promise((s,a)=>{this.eventBus.emit("change-task-property",{task:e,property:t.property,value:t.value,onSuccess:e=>{this.$emit("subTaskUpdated",e.task),s(e)},onError:e=>{this.$notify.error({title:"Error",message:`Sub task ${t.property} couldn't be updated. Please try again.`}),a(e)}})})},openMessageBox(){tt.confirm("It will permanently delete the subtask. Continue?","Warning",{type:"warning",distinguishCancelAndClose:!0,icon:x(et),confirmButtonText:"Ok",cancelButtonText:"Cancel"}).then(()=>{this.deleteSubtask()}).catch(e=>{this.handleError(e)})},deleteSubtask(){this.subtask.board_id||(this.subtask.board_id=this.task.board_id),this.$del("projects/"+this.subtask.board_id+"/tasks/"+this.subtask.id+"/delete-subtask").then(e=>{this.$notify({message:e.message,type:"success"}),this.emitter.emit("subtask-updated",{taskId:this.subtask.parent_id,operation:"delete",subtaskId:this.subtask.id}),"closed"===this.subtask.status&&this.emitter.emit("subtask-updated",{taskId:this.subtask.parent_id,operation:"open",subtaskId:this.subtask.id}),this.$emit("deleteOrMovedSubtask",e.deletedSubtask,e.changedSubtasks)}).catch(e=>{this.handleError(e),this.getSubTasks()}).finally(()=>{})},moveToBoard(){this.$put("projects/"+this.subtask.board_id+"/tasks/"+this.subtask.id+"/move-to-board",{stage_id:this.task.stage_id}).then(e=>{this.$notify.success({title:"Success",message:"Subtask converted as task"}),this.eventBus.emit("fetch-board-tasks",this.subtask.board_id),this.emitter.emit("subtask-updated",{taskId:this.task.id,operation:"delete",subtaskId:this.subtask.id}),"closed"===this.subtask.status&&this.emitter.emit("subtask-updated",{taskId:this.task.id,operation:"open",subtaskId:this.subtask.id}),this.$emit("deleteOrMovedSubtask",e.moveSubtask,e.changedSubtasks)}).catch(e=>{this.handleError(e),this.getSubTasks()})},getSubTasks(){this.$emit("getSubTasks")},cloneSubtask(){this.board.archived_at||this.board.isUserOnlyViewer||this.$post("projects/"+this.subtask.board_id+"/tasks/"+this.subtask.id+"/clone-subtask").then(e=>{this.$notify.success({title:"Success",message:e.message}),this.emitter.emit("subtask-updated",{taskId:e.subtask.id,operation:"add"}),this.$emit("subTaskUpdated",e.subtask),this.$emit("getSubTasks")}).catch(e=>{this.handleError(e)})}},watch:{hasEditSubtaskChanges(e){this.$emit("updateDragAndDropDisableStatus",e),this.subtaskEditing(e)}}},En={class:"fbs-subtasks-title-and-icons"},Un={class:"fbs_subtask_title_wrap"},On=["aria-label"],Rn={class:"fbs-subtask-list"},Nn=["accesskey"],Hn={class:"fbs_subtask_actions"},jn={class:"fbs_value fbs-subtask-assignees"},zn={class:"el-dropdown-link"};const Gn={name:"Subtask",inject:["eventBus"],components:{Delete:et,Icons:$s,SubtaskCard:Ss(Fn,[["render",function(e,t,r,d,u,p){const m=b("custom-icon"),g=b("Check"),f=Ne,_=b("date-changer"),v=b("task-assignees"),C=b("BellFilled"),T=We,S=b("MoreFilled"),$=xe,V=Me,A=Pe,I=b("subtask-modal");return s(),a("div",{class:k(["fbs-subtasks-card",{"fbs-subtask-complete-box":p.isSubtaskClosed}])},[i("div",En,[i("div",{class:k(["fbs-subtasks-left",e.isTouchScreen?"fbs-subtasks-title-and-icons-small-screen":""])},[e.isTouchScreen?(s(),c(m,{key:0,onClick:t[0]||(t[0]=h(()=>{},["stop"])),class:"fbs_sub_task_drag_and_drop_touch_screen","icon-name":"drag-and-drop",style:{"margin-top":"3px"}})):y("",!0),i("div",Un,[i("button",{type:"button",class:"fbs-subtask-complete-icon","aria-label":p.statusToggleLabel,onClick:t[1]||(t[1]=e=>p.toggleSubtaskStatus(r.subtask))},[l(f,null,{default:n(()=>[l(g)]),_:1})],8,On),i("div",Rn,[i("button",{ref:"subtask_in_list",type:"button",class:"fbs-subtask-title-button",accesskey:r.subtask.id,onClick:t[2]||(t[2]=(...e)=>p.openEditSubtaskDialog&&p.openEditSubtaskDialog(...e))},o(r.subtask.title),9,Nn)])])],2),i("div",Hn,[e.isTouchScreen?y("",!0):(s(),c(_,{key:0,task:r.subtask,column:"due_at",date_format:"MMM DD, HH:mm",placement:e.appVars.is_rtl?"left":"right",emptyLabel:e.$t("Set Date"),"trigger-date-display":"end","enable-start-date":!1},null,8,["task","placement","emptyLabel"])),i("span",jn,[l(v,{is_multiple:!1,task:r.subtask,onPaste:t[3]||(t[3]=h(()=>{},["stop"]))},null,8,["task"])]),r.subtask.remind_at?(s(),c(T,{key:1,content:e.$t("Subtask reminder is active"),effect:"light",placement:"top"},{default:n(()=>[l(f,{class:"fbs-task-reminder-icon"},{default:n(()=>[l(C)]),_:1})]),_:1},8,["content"])):y("",!0),e.board.archived_at||e.board.isUserOnlyViewer?y("",!0):(s(),c(A,{key:2,trigger:"click"},{dropdown:n(()=>[l(V,null,{default:n(()=>[l($,{icon:"EditPen",onClick:p.openEditSubtaskDialog},{default:n(()=>[w(o(e.$t("Edit")),1)]),_:1},8,["onClick"]),l($,{icon:"CopyDocument",onClick:p.cloneSubtask},{default:n(()=>[w(o(e.$t("Clone")),1)]),_:1},8,["onClick"]),l($,{icon:"TopLeft",onClick:p.moveToBoard},{default:n(()=>[w(o(e.$t("Convert to Task")),1)]),_:1},8,["onClick"]),l($,{icon:"Delete",onClick:p.openMessageBox},{default:n(()=>[w(o(e.$t("Delete")),1)]),_:1},8,["onClick"])]),_:1})]),default:n(()=>[i("span",zn,[l(f,{class:"fbs-action-dropdown"},{default:n(()=>[l(S)]),_:1})])]),_:1}))])]),l(I,{modelValue:u.editSubtaskDialogVisible,"onUpdate:modelValue":t[4]||(t[4]=e=>u.editSubtaskDialogVisible=e),subtask:u.editSubtask,groups:p.groupOptions,"properties-task":r.subtask,saving:u.isSaving,"submit-label":e.$t("Save"),"fallback-subtask-title":r.subtask.title,"is-create-mode":!1,"disable-assignee-save":!1,onSave:p.saveSubtaskDetails,onClosed:p.resetEditSubtaskForm},null,8,["modelValue","subtask","groups","properties-task","saving","submit-label","fallback-subtask-title","onSave","onClosed"])],2)}]]),SubtaskModal:Pn,draggable:P},props:{subtaskGroup:{type:Object,required:!0},show_heading:{type:Boolean,default:!0},allGroups:{type:Array,default:()=>[]},newGroupId:{type:Number,default:null}},data(){return{subtasks:[],loading:!1,subtask:this.freshSubtask(),createSubtaskDialogVisible:!1,createSubtaskAddToTop:!1,drag:!1,isDragAndDropDisable:!1,isEditingSubtaskGroupTitle:!1,subTaskGroupTitle:"",isSaving:!1,isDeletingGroup:!1}},created(){this.isDragAndDropDisable=!!this.board.archived_at,this.newGroupId&&this.subtaskGroup.id==this.newGroupId&&this.handleAddSubtaskClick("regularSubtaskAdd")},watch:{task:{handler:function(e,t){e.id&&e.id!=t.id&&this.getSubTasks()},deep:!0}},computed:{dragOptions(){let e={animation:200,disabled:!!this.board.archived_at,ghostClass:"fbs-subtasks-draggable-ghost",scrollSensitivity:150,forceFallback:!0,scroll:!0,scrollSpeed:18,bubbleScroll:!0};return this.isTouchScreen&&(e.handle=".fbs_sub_task_drag_and_drop_touch_screen"),e},...m(js,["board"])},updated(){this.$nextTick(()=>{this.isEditingSubtaskGroupTitle&&this.$refs.subtaskgroup_title.focus()})},methods:{getSubTasks(){this.$emit("getSubtaskGroups")},validateSubTask(){return this.subtask.title=this.subtask.title.trim(),""!==this.subtask.title||(this.$notify({message:"Empty value",type:"error"}),!1)},createSubTask(){this.validateSubTask()&&(this.isSaving=!0,this.ensureSubtaskGroup(this.subtask.group_id).then(({group:e,created:t})=>{const s=e.id;return this.$post("projects/"+this.$route.params.id+"/tasks/"+this.subtaskGroup.task_id+"/subtasks",{title:this.subtask.title,description:this.subtask.description,due_at:this.subtask.due_at,reminder_type:this.subtask.reminder_type,remind_at:this.subtask.remind_at,assignees:this.selectedSubtaskAssigneeIds(),labels:[],add_to_top:this.createSubtaskAddToTop,group_id:s}).then(a=>({response:a,selectedGroupId:s,selectedGroup:e,createdGroup:t})).catch(s=>this.rollbackCreatedSubtaskGroup(e,t).then(()=>Promise.reject(s)))}).then(({response:e,selectedGroupId:t,selectedGroup:s,createdGroup:a})=>{t==this.subtaskGroup.id?this.createSubtaskAddToTop?this.subtasks.unshift(e.subtask):this.subtasks.push(e.subtask):a?this.emitter.emit("subtask-group-updated",{...s,openInline:!1}):this.emitter.emit("add-subtasks-to-a-group",{newGroupId:t,subtasks:e.subtask?[e.subtask]:[]}),this.closeCreateSubtaskDialog(),this.emitter.emit("subtask-updated",{taskId:this.subtaskGroup.task_id,operation:"add"})}).catch(e=>{this.handleError(e)}).finally(()=>{this.isSaving=!1}))},freshSubtask(){var e,t,s,a;return{title:"",description:"",parent_id:(null==(e=this.subtaskGroup)?void 0:e.task_id)||null,board_id:(null==(t=this.board)?void 0:t.id)||(null==(s=this.subtaskGroup)?void 0:s.board_id)||"",group_id:(null==(a=this.subtaskGroup)?void 0:a.id)||"",due_at:"",reminder_type:null,remind_at:null,assignees:[],id:""}},isNewSubtaskGroupValue(e){if("string"!=typeof e)return!1;return!!e.trim()&&!this.matchingSubtaskGroup(e)},matchingSubtaskGroup(e){const t="string"==typeof e?e.trim():"";return this.allGroups.find(s=>s.id==e||t&&s.value===t)},ensureSubtaskGroup(e){const t=this.matchingSubtaskGroup(e);return t?Promise.resolve({group:t,created:!1}):this.isNewSubtaskGroupValue(e)?this.$post("projects/"+this.board.id+"/tasks/"+this.subtaskGroup.task_id+"/subtask-group",{title:e.trim()}).then(e=>({group:e.subtaskGroup,created:!0})):Promise.resolve({group:this.subtaskGroup,created:!1})},rollbackCreatedSubtaskGroup(e,t){return t&&(null==e?void 0:e.id)?this.$del("projects/"+this.board.id+"/tasks/"+this.subtaskGroup.task_id+"/subtask-group",{group_id:e.id}).catch(()=>{}):Promise.resolve()},selectedSubtaskAssigneeIds(){return(this.subtask.assignees||[]).map(e=>parseInt(e.ID||e)).filter(Boolean).slice(0,1)},openCreateSubtaskDialog(e=!1){this.board.archived_at||this.board.isUserOnlyViewer||(this.createSubtaskAddToTop=e,this.subtask=this.freshSubtask(),this.createSubtaskDialogVisible=!0)},closeCreateSubtaskDialog(){this.createSubtaskDialogVisible=!1},resetSubtaskForm(){this.subtask=this.freshSubtask(),this.createSubtaskAddToTop=!1},updateSubtaskCreateDate({due_at:e,reminder_type:t=null,remind_at:s=null}){this.subtask.started_at="",this.subtask.due_at=e,this.subtask.reminder_type=t,this.subtask.remind_at=s},subTaskUpdated(e){this.subtasks=this.subtasks.map(t=>t.id===e.id?e:t),this.subtasks.find(t=>t.id===e.id)||(this.subtasks=[...this.subtasks,e]),this.sortSubtask()},dragStartHandler(e){this.drag=!0,e.item.classList.add("fbs-sortable-fallback"),document.body.classList.add("fbs-sortable-fallback")},dragEndHandler(e){e.item.classList.remove("fbs-sortable-fallback"),document.body.classList.remove("fbs-sortable-fallback"),this.drag=!1;const t=parseInt(e.item.dataset.subtaskid),s=parseInt(e.to.dataset.newsubtasksgroupid),a=parseInt(e.item.dataset.oldsubtasksgroupid),i=parseInt(e.newDraggableIndex)+1,o=parseInt(e.oldDraggableIndex)+1;s==a&&o==i||this.$put("projects/"+this.$route.params.id+"/tasks/update-subtask-position/"+t,{newPosition:i,newSubtasksGroupId:s}).then(e=>{this.updateOtherSubtaskPosition(e.changedSubtasks)}).catch(e=>{this.getSubTasks(),this.handleError(e)})},deleteOrMovedSubtask(e,t){this.subtasks=this.subtasks.filter(t=>{if(t.id!=e.id)return t}),this.updateOtherSubtaskPosition(t)},updateOtherSubtaskPosition(e){this.subtasks=this.subtasks.map(t=>{let s=e.find(e=>t.id==e.id);return s&&(t.position=s.position),t}),this.sortSubtask()},sortSubtask(){this.subtasks=this.subtasks.sort((e,t)=>0===e.position?1:0===t.position?-1:e.position-t.position)},updateDragAndDropDisableStatus(e){this.isDragAndDropDisable=e},editSubTaskGroupTitle(){this.subTaskGroupTitle=String(this.subtaskGroup.value||"").trim().slice(0,60),this.isEditingSubtaskGroupTitle=!0},hideInput(){this.isEditingSubtaskGroupTitle=!1},updateSubtaskGroup(){this.subTaskGroupTitle=String(this.subTaskGroupTitle||"").trim().slice(0,60),this.$put("projects/"+this.board.id+"/tasks/"+this.subtaskGroup.task_id+"/subtask-group",{title:this.subTaskGroupTitle,group_id:this.subtaskGroup.id}).then(e=>{this.subtaskGroup.value=e.subtaskGroup.value}).catch(e=>{this.$handleError(e)}).finally(()=>{this.isEditingTitle=!1})},updateTaskProperty(e,t){e.board_id||(e.board_id=this.task.board_id),this.eventBus.emit("change-task-property",{task:e,property:t.property,value:t.value,onSuccess:e=>{this.subtask.title=e.task.title},onError:e=>{this.$notify.error({title:"Error",message:`Sub task ${t.property} couldn't be updated. Please try again.`})}})},deleteSubtaskGroup(){this.isDeletingGroup=!0,this.loading=!0,this.$del("projects/"+this.board.id+"/tasks/"+this.subtaskGroup.task_id+"/subtask-group",{group_id:this.subtaskGroup.id}).then(e=>{this.$emit("getSubtaskGroups"),this.$notify.success({title:"Success",message:e.message})}).catch(e=>{this.$handleError(e)}).finally(()=>{this.isEditingTitle=!1,this.isDeletingGroup=!1,this.loading=!1})},handleAddSubtaskClick(e){if("regularSubtaskAdd"===e)this.openCreateSubtaskDialog(!1)}},mounted(){this.subtasks=this.subtaskGroup.subtasks,this.sortSubtask()}},qn={class:"fbs-subtask-box fbs_subtask"},Wn={key:0,class:"fbs-subtask-title"},Kn={key:1,class:"fbs-subtask-title-editing-input"},Zn={class:"fbs_subtask_group_actions"},Yn={class:"icon"},Jn={class:"icon"},Qn=["data-newSubtasksGroupId"],Xn=["id","data-subtaskId","data-position","data-oldSubtasksGroupId"];const er=Ss(Gn,[["render",function(e,t,r,d,h,u){const p=He,m=b("Icons"),_=ze,k=st,v=b("subtask-card"),w=b("draggable"),C=b("subtask-modal"),T=g("prevent-context-menu"),S=g("loading");return f((s(),a("div",qn,[r.show_heading?(s(),a("div",Wn,[h.isEditingSubtaskGroupTitle?(s(),a("div",Kn,[l(p,{ref:"subtaskgroup_title",modelValue:h.subTaskGroupTitle,"onUpdate:modelValue":t[1]||(t[1]=e=>h.subTaskGroupTitle=e),placeholder:e.$t("Subtask Group"),maxlength:60,onFocusout:u.hideInput,onChange:u.updateSubtaskGroup},null,8,["modelValue","placeholder","onFocusout","onChange"])])):(s(),a("button",{key:0,type:"button",class:"fbs-subtask-group-title-button",onClick:t[0]||(t[0]=(...e)=>u.editSubTaskGroupTitle&&u.editSubTaskGroupTitle(...e))},o(r.subtaskGroup.value),1)),i("div",Zn,[e.board.archived_at||e.board.isUserOnlyViewer?y("",!0):(s(),c(_,{key:0,text:"",class:"only-icon-btn extra-small fbs_subtask_group_actions__button fbs_subtask_group_actions__add","aria-label":e.$t("Add Subtask"),title:e.$t("Add Subtask"),onClick:t[2]||(t[2]=e=>u.handleAddSubtaskClick("regularSubtaskAdd"))},{default:n(()=>[i("span",Yn,[l(m,{"icon-name":"plus"})])]),_:1},8,["aria-label","title"])),e.board.archived_at||e.board.isUserOnlyViewer?y("",!0):(s(),c(k,{key:1,title:e.$t("It will permanently delete the subtask group with all it's subtasks. Continue?"),onConfirm:u.deleteSubtaskGroup,width:250},{reference:n(()=>[l(_,{text:"",class:"only-icon-btn extra-small fbs_subtask_group_actions__button fbs_subtask_group_actions__delete","aria-label":e.$t("Delete Group"),disabled:h.isDeletingGroup},{default:n(()=>[i("span",Jn,[l(m,{"icon-name":"delete"})])]),_:1},8,["aria-label","disabled"])]),_:1},8,["title","onConfirm"]))])])):y("",!0),f((s(),a("div",{class:"fbs-subtask-add-form-wrap fbs_add_subtask_form_wrap","data-newSubtasksGroupId":r.subtaskGroup.id},[l(w,F({group:"subtasks",modelValue:h.subtasks,"onUpdate:modelValue":t[3]||(t[3]=e=>h.subtasks=e),"item-key":"id",onStart:u.dragStartHandler,onEnd:u.dragEndHandler,class:"fbs-subtasks-group","component-data":{tag:"div",type:"transition-group",name:h.drag?null:"flip-list"}},u.dragOptions,{"drag-class":"fbs-subtask-dragging",disabled:h.isDragAndDropDisable,delay:10,"data-newSubtasksGroupId":r.subtaskGroup.id}),{item:n(({element:e})=>[(s(),a("div",{class:"fbs-subtasks-group-item",id:"fbs_task_"+e.id,"data-subtaskId":e.id,"data-position":e.position,key:e.id,"data-oldSubtasksGroupId":e.meta.subtask_group_id},[l(v,{subtask:e,groupId:r.subtaskGroup.id,onGetSubTasks:u.getSubTasks,allGroups:r.allGroups,onSubTaskUpdated:u.subTaskUpdated,onUpdateOtherSubtaskPosition:u.updateOtherSubtaskPosition,onDeleteOrMovedSubtask:u.deleteOrMovedSubtask,onUpdateDragAndDropDisableStatus:u.updateDragAndDropDisableStatus},null,8,["subtask","groupId","onGetSubTasks","allGroups","onSubTaskUpdated","onUpdateOtherSubtaskPosition","onDeleteOrMovedSubtask","onUpdateDragAndDropDisableStatus"])],8,Xn))]),_:1},16,["modelValue","onStart","onEnd","component-data","disabled","data-newSubtasksGroupId"])],8,Qn)),[[T]]),l(C,{modelValue:h.createSubtaskDialogVisible,"onUpdate:modelValue":t[4]||(t[4]=e=>h.createSubtaskDialogVisible=e),subtask:h.subtask,groups:r.allGroups,saving:h.isSaving,"submit-label":e.$t("Create Subtask"),"fallback-group-title":r.subtaskGroup.value,"is-create-mode":!0,"disable-assignee-save":!0,onSave:u.createSubTask,onClosed:u.resetSubtaskForm,onUpdateDate:u.updateSubtaskCreateDate},null,8,["modelValue","subtask","groups","saving","submit-label","fallback-group-title","onSave","onClosed","onUpdateDate"])])),[[S,h.loading]])}]]),tr={class:"fbs-el_pop_data_group"},sr={class:"fbs-el_pop_data_headings"},ar=["data-item_index","onClick"],ir={class:"fbs-el_pop_data_body"},or=["onClick"],lr=Object.assign({name:"inputPopoverDropdownExtended"},{__name:"input-popover-dropdown",props:{data:Array,close_on_insert:{type:Boolean,default:()=>!0},btnType:{type:String,default:()=>"success"},btnSize:{type:String,default:""},plain:{type:Boolean,default:()=>!1}},emits:["command"],setup(e,{emit:t}){const c=e,h=O(),u=O(!1),p=t,m=O(0),b=()=>{u.value=!1};return(t,g)=>{const v=Ne,y=ze,w=je;return f((s(),a("div",null,[l(w,{ref_key:"popoverRef",ref:h,placement:t.appVars.is_rtl?"left":"right",width:500,trigger:"click","popper-class":"fc-input-dropdown-popover-wrap","show-arrow":!0,visible:u.value,teleported:!1},{reference:n(()=>[l(y,{onClick:g[0]||(g[0]=e=>u.value=!u.value),class:"fbs-editor-add-shortcode",type:e.btnType,plain:e.plain,size:e.btnSize},{default:n(()=>[_(t.$slots,"default"),l(v,{class:"fbs-ml-2"},{default:n(()=>[l(E(it))]),_:1})]),_:3},8,["type","plain","size"])]),default:n(()=>[i("div",tr,[i("div",sr,[i("ul",null,[(s(!0),a(r,null,d(e.data,(e,t)=>(s(),a("li",{key:t,"data-item_index":t,class:k(m.value==t?"fbs-item_selected":""),onClick:e=>m.value=t},o(e.title),11,ar))),128))])]),i("div",ir,[(s(!0),a(r,null,d(e.data,(e,t)=>f((s(),a("ul",{key:t,class:k("fbs-el_pop_body_item_"+t)},[(s(!0),a(r,null,d(e.shortcodes,(e,t,l)=>(s(),a("li",{onClick:e=>(e=>{p("command",e),c.close_on_insert&&(u.value=!1)})(t),key:l},[i("span",null,o(e),1),i("span",null,o(t),1)],8,or))),128))],2)),[[U,m.value==t]])),128))])])]),_:3},8,["placement","visible"])])),[[E(at),b]])}}}),nr=u("fileUpload",{state:()=>({fileUploadCanceled:!1,progressPercentage:0,showTaskAttachmentFileUploadProgressBar:!1,fileUploading:!1}),actions:{cancelFileUpload(e){this.fileUploadCanceled=e},updateProgressPercentage(e){this.progressPercentage=e},setTaskAttachmentFileUploadProgressBar(e){this.showTaskAttachmentFileUploadProgressBar=e},setFileUploadingValue(e){this.fileUploading=e},reset(){this.fileUploadCanceled=!1,this.progressPercentage=0,this.showTaskAttachmentFileUploadProgressBar=!1,this.fileUploading=!1}}}),rr={name:"FileUploadProgressBar",data:()=>({colors:[{color:"#60a4f7",percentage:10},{color:"#589df7",percentage:20},{color:"#5096f7",percentage:30},{color:"#4790f7",percentage:40},{color:"#3f89f7",percentage:50},{color:"#3672f7",percentage:60},{color:"#2e6bf7",percentage:70},{color:"#2565f7",percentage:80},{color:"#1d5ef7",percentage:90},{color:"#1457f7",percentage:100}]}),computed:{...m(nr,["progressPercentage","fileUploading"])},methods:{...M(nr,["cancelFileUpload"])},mounted(){document.body.appendChild(this.$el)},beforeDestroy(){this.$el.parentNode&&this.$el.parentNode.removeChild(this.$el)}},dr={id:"fbs_file_upload_progress_bar",style:{"z-index":"9999999"}};const cr=Ss(rr,[["render",function(e,t,i,o,r,d){const c=ot,h=b("CircleClose"),u=Ne,p=We;return f((s(),a("div",dr,[l(c,{"text-inside":!0,"stroke-width":20,percentage:e.progressPercentage,status:"exception",color:r.colors},null,8,["percentage","color"]),l(p,{effect:"dark",content:"Cancel",placement:"top"},{default:n(()=>[l(u,{onClick:e.cancelFileUpload},{default:n(()=>[l(h)]),_:1},8,["onClick"])]),_:1})],512)),[[U,e.fileUploading]])}]]),hr={name:"FileUpload",props:{url:{required:!0,type:String},task:{required:!1,validator:function(e){return Array.isArray(e)||"object"==typeof e&&null!==e}},showProgressBar:{required:!1,type:Boolean,default:!1},isImage:{type:Boolean,default:!1},isCreatingTask:{type:Boolean,default:!1},isMultiple:{type:Boolean,default:!1},forBoardFile:{type:Boolean,default:!1},variant:{type:String,default:"button"},hint:{type:String,default:""}},emits:["afterFileChoose","onFileUploadProgress","onFileUploadSuccess","onFileUploadFail","onFileUploadCancel","fileSelected"],components:{Icons:$s,FileUploadProgressBar:cr},data:()=>({uploading:!1,progress:0,uploadXhr:null,uploadCancel:!1}),watch:{fileUploadCanceled(e){e&&this.cancelUpload()},progress(e){this.updateProgressPercentage(e)},uploading(e){this.setFileUploadingValue(e)}},computed:{...m(nr,["fileUploadCanceled","fileUploading"]),...m(js,["board"]),fileAccept(){return this.isImage?"image/*":"*/*"}},methods:{...M(nr,["updateProgressPercentage","setFileUploadingValue","reset"]),uploadClick(){this.$refs.fileInput.click()},handleElUploadChange(e){(null==e?void 0:e.raw)&&this.$emit("fileSelected",e.raw)},initializeUpload(){this.uploading=!0,this.progress=0},handleFileChange(e,t=null,s=null){var a;if(this.fileUploading)return this.showWarning("You are currently uploading a file. Please wait"),void(this.$refs.fileInput&&(this.$refs.fileInput.value=""));const i=t?[t]:Array.from((null==(a=null==e?void 0:e.target)?void 0:a.files)||[]);if(!i.length)return this.showError("Please include a file"),void this.resetVariable();for(const l of i){if(!l)return this.showError("Please include a file"),void this.resetVariable();if(this.isImage&&!this.isFileImage(l))return this.showWarning("Image only."),void this.resetVariable();if(!this.isFileTypeSupported(l))return this.showError("File type is not supported."),void this.resetVariable();if(l.size>this.appVars.file_upload_limit){const e=this.appVars.file_upload_limit/1048576;return this.showError(`File should not be greater than ${e} MB`),void this.resetVariable()}}this.initializeUpload(),this.afterFileChoose();const o=new FormData;i.forEach(e=>{this.isMultiple?o.append("file[]",e):o.append("file",e)}),this.isCreatingTask&&o.append("stage_id",s),this.$refs.fileInput&&(this.$refs.fileInput.value=""),this.uploadFile(o)},uploadFile(e){let t=`${this.appVars.rest.url}/projects/${this.board.id}/`;this.forBoardFile||(t+="tasks/"),t+=this.url;const s={"X-WP-Nonce":this.appVars.rest.nonce,"X-HTTP-Method-Override":"Post"};jQuery.ajax({type:"POST",url:t,headers:s,data:e,contentType:!1,processData:!1,xhr:this.setupUploadProgress,success:this.handleUploadSuccess,error:this.handleUploadError})},cancelUpload(){this.uploadXhr&&4!==this.uploadXhr.readyState&&this.uploadXhr.abort(),this.onFileUploadCancel(),this.resetVariable()},setupUploadProgress(){this.onFileUploadProgress();const e=new XMLHttpRequest;return e.upload.addEventListener("progress",this.updateUploadProgress),e},updateUploadProgress(e){e.lengthComputable&&(this.progress=Math.round(e.loaded/e.total*100))},handleUploadSuccess(e){this.onFileUploadSuccess(e),this.showSuccess(this.$t("File uploaded successfully.")),this.resetVariable()},handleUploadError(e,t,s){this.onFileUploadFail();const a=this.fileUploadCanceled?"File upload canceled !!":(null==e?void 0:e.responseJSON)?e.responseJSON:"Error occurred during the file upload. Please try again.";this.showError(a),this.resetVariable()},showError(e){this.notifyUser(e,"error")},showWarning(e){this.notifyUser(e,"warning")},showSuccess(e){this.notifyUser(e,"success")},notifyUser(e,t){this.$notify({message:e,type:t})},resetVariable(){this.uploadCancel=!1,this.uploading=!1,this.progress=0,this.$refs.fileInput&&(this.$refs.fileInput.value="")},isFileTypeSupported:e=>["image/jpeg","image/gif","image/png","image/bmp","image/tiff","image/webp","image/avif","image/x-icon","image/heic","video/x-ms-asf","video/x-ms-wmv","video/x-ms-wmx","video/x-ms-wm","video/avi","video/divx","video/x-flv","video/quicktime","video/mpeg","video/mp4","video/ogg","video/webm","video/x-matroska","video/3gpp","video/3gpp2","text/plain","text/csv","text/tab-separated-values","text/calendar","text/richtext","text/css","text/html","text/vtt","application/ttaf+xml","audio/mpeg","audio/aac","audio/x-realaudio","audio/wav","audio/ogg","audio/flac","audio/midi","audio/x-ms-wma","audio/x-ms-wax","audio/x-matroska","application/rtf","application/javascript","application/pdf","application/java","application/x-tar","application/zip","application/x-gzip","application/rar","application/x-7z-compressed","application/octet-stream","application/octet-stream","application/msword","application/vnd.ms-powerpoint","application/vnd.ms-write","application/vnd.ms-excel","application/vnd.ms-access","application/vnd.ms-project","application/vnd.openxmlformats-officedocument.wordprocessingml.document","application/vnd.ms-word.document.macroEnabled.12","application/vnd.openxmlformats-officedocument.wordprocessingml.template","application/vnd.ms-word.template.macroEnabled.12","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet","application/vnd.ms-excel.sheet.macroEnabled.12","application/vnd.ms-excel.sheet.binary.macroEnabled.12","application/vnd.openxmlformats-officedocument.spreadsheetml.template","application/vnd.ms-excel.template.macroEnabled.12","application/vnd.ms-excel.addin.macroEnabled.12","application/vnd.openxmlformats-officedocument.presentationml.presentation","application/vnd.ms-powerpoint.presentation.macroEnabled.12","application/vnd.openxmlformats-officedocument.presentationml.slideshow","application/vnd.ms-powerpoint.slideshow.macroEnabled.12","application/vnd.openxmlformats-officedocument.presentationml.template","application/vnd.ms-powerpoint.template.macroEnabled.12","application/vnd.ms-powerpoint.addin.macroEnabled.12","application/vnd.openxmlformats-officedocument.presentationml.slide","application/vnd.ms-powerpoint.slide.macroEnabled.12","application/onenote","application/onenote","application/onenote","application/onenote","application/oxps","application/vnd.ms-xpsdocument","application/vnd.oasis.opendocument.text","application/vnd.oasis.opendocument.presentation","application/vnd.oasis.opendocument.spreadsheet","application/vnd.oasis.opendocument.graphics","application/vnd.oasis.opendocument.chart","application/vnd.oasis.opendocument.database","application/vnd.oasis.opendocument.formula","application/wordperfect","application/wordperfect","application/vnd.apple.keynote","application/vnd.apple.numbers","application/vnd.apple.pages","application/json"].includes(e.type.toLowerCase()),isFileImage:e=>["image/jpeg","image/gif","image/png","image/bmp","image/tiff","image/webp","image/avif","image/x-icon"].includes(e.type.toLowerCase()),afterFileChoose(){this.$emit("afterFileChoose")},onFileUploadSuccess(e=null){this.$emit("onFileUploadSuccess",e)},onFileUploadFail(e=null){this.$emit("onFileUploadFail",e)},onFileUploadCancel(){this.$emit("onFileUploadCancel")},onFileUploadProgress(){this.$emit("onFileUploadProgress")}},mounted(){this.reset()}},ur={key:0,class:"fbs-file-upload"},pr={class:"fbs-file-dropzone__icon"},mr={class:"fbs-file-dropzone__content d-flex flex-column items-center justify-center gap-4"},br={class:"fbs-file-dropzone__title"},gr={key:0,class:"fbs-file-dropzone__hint"},fr=["accept","multiple"];const _r=Ss(hr,[["render",function(e,t,d,h,u,p){const m=b("file-upload-progress-bar"),g=b("Icons"),f=ze,_=lt;return u.uploading&&d.showProgressBar?(s(),a("div",ur,[l(m)])):(s(),a("div",{key:1,class:k(["fbs-file-upload",{"fbs-file-upload--dropzone":"dropzone"===d.variant}])},["dropzone"===d.variant?(s(),c(_,{key:0,class:"fbs-file-dropzone",drag:"",accept:p.fileAccept,multiple:d.isMultiple,"auto-upload":!1,"show-file-list":!1,"on-change":p.handleElUploadChange},{default:n(()=>[i("div",pr,[l(g,{"icon-name":"upload","icon-class":"d-block"})]),i("div",mr,[i("div",br,o(e.$t("Choose a file or drag & drop it here.")),1),d.hint?(s(),a("div",gr,o(d.hint),1)):y("",!0)]),l(f,null,{default:n(()=>[w(o(e.$t("Browse File")),1)]),_:1})]),_:1},8,["accept","multiple","on-change"])):(s(),a(r,{key:1},[l(f,{type:"primary",onClick:p.uploadClick},{default:n(()=>[t[1]||(t[1]=i("div",{class:"fbs-icon"},[i("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"25",viewBox:"0 0 24 25",fill:"none"},[i("path",{d:"M12.0002 5L12.0002 15M12.0002 5C11.3 5 9.99177 6.9943 9.50024 7.5M12.0002 5C12.7005 5 14.0087 6.9943 14.5002 7.5",stroke:"#6B3CEB","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"}),i("path",{d:"M20.0002 17C20.0002 19.482 19.4822 20 17.0002 20H7.00024C4.51824 20 4.00024 19.482 4.00024 17",stroke:"#6B3CEB","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"})])],-1)),w(" "+o(e.$t("Choose a file or drag & drop it here.")),1)]),_:1},8,["onClick"]),i("input",{ref:"fileInput",type:"file",accept:p.fileAccept,onChange:t[0]||(t[0]=(...e)=>p.handleFileChange&&p.handleFileChange(...e)),multiple:d.isMultiple},null,40,fr)],64))],2))}]]),kr={key:0},vr={__name:"MediaButton",props:{multiple:!1,iconMode:!1,attachments:{type:Array,default:()=>[]},title:{default:"Add Media"},action_title:{default:"Use This Media"}},emits:["onMediaSelected"],setup(e,{expose:t,emit:l}){const n=e;let r=[],d=null;const c=l,h=R().ctx,u=()=>{null!=d&&d.open()};t({openMediaFrame:u}),N(()=>{"function"!==(window.wp.media,!1)&&(wp.media.view.Modal=wp.media.view.Modal.extend({className:"wp-fluent-media-modal"}),p(),d=window.wp.media({title:h.$t("Select or Upload Media Of Your Chosen Persuasion"),button:{text:n.action_title},library:{type:"image"},multiple:!!n.multiple&&"add",is_button:n.is_button}),m(),b())});const p=()=>{r=[],Array.isArray(n.attachments)&&n.attachments.length>0&&Object.values(n.attachments).forEach((e,t)=>{var s;s=e.id,/^\d+$/.test(s)&&r.push(e.id)})},m=()=>{d.on("open",function(){let e=d.state().get("selection");r.forEach(function(t){let s=window.wp.media.attachment(t);s&&e.add(s)})})},b=()=>{d.on("select",function(){const e=d.state().get("selection").toJSON();c("onMediaSelected",e)})};return H(()=>n.attachments,(e,t)=>{p()}),(t,l)=>e.iconMode?(s(),a("div",{key:1,onClick:u},[...l[1]||(l[1]=[i("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 16 16",fill:"none"},[i("path",{d:"M9.38263 2.59046C9.87942 2.05222 10.1278 1.78309 10.3918 1.62611C11.0287 1.24734 11.8129 1.23556 12.4604 1.59504C12.7288 1.74403 12.9848 2.00558 13.4969 2.52867C14.0089 3.05176 14.265 3.31331 14.4108 3.58745C14.7627 4.24891 14.7512 5.05002 14.3804 5.70063C14.2267 5.97027 13.9633 6.22401 13.4364 6.7315L7.16725 12.7697C6.16875 13.7314 5.6695 14.2123 5.04554 14.456C4.42158 14.6997 3.73563 14.6818 2.36374 14.6459L2.17708 14.641C1.75943 14.6301 1.55061 14.6246 1.42922 14.4869C1.30783 14.3491 1.3244 14.1364 1.35755 13.7109L1.37555 13.4799C1.46883 12.2825 1.51548 11.6838 1.7493 11.1456C1.98312 10.6075 2.38645 10.1705 3.19311 9.2965L9.38263 2.59046Z",stroke:"currentColor","stroke-linejoin":"round"}),i("path",{d:"M8.66699 2.66699L13.3337 7.33366",stroke:"currentColor","stroke-linejoin":"round"}),i("path",{d:"M9.3335 14.667L14.6668 14.667",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round"})],-1)])])):(s(),a("div",{key:0,class:"fbs-media-button",onClick:u},[l[0]||(l[0]=V('<svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 22 22" fill="none"><path d="M7.5 13.5H14.5M11 17L11 10" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"></path><path d="M6 5C4.77936 5.00366 4.10383 5.03286 3.54873 5.26585C2.7712 5.5922 2.13801 6.19503 1.76811 6.9611C1.46618 7.58638 1.41677 8.3875 1.31796 9.98974L1.16312 12.5004C0.917385 16.4849 0.79452 18.4771 1.96369 19.7383C3.13285 20.9995 5.10252 20.9995 9.04187 20.9995H12.9581C16.8975 20.9995 18.8672 20.9995 20.0363 19.7383C21.2055 18.4771 21.0826 16.4849 20.8369 12.5004L20.682 9.98974C20.5832 8.3875 20.5338 7.58638 20.2319 6.9611C19.862 6.19503 19.2288 5.5922 18.4513 5.26585C17.8962 5.03286 17.2206 5.00366 16 5" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"></path><path d="M16 6L15.1142 3.78543C14.732 2.82996 14.3994 1.7461 13.4166 1.25955C12.8924 1 12.2616 1 11 1C9.7384 1 9.1076 1 8.58335 1.25955C7.6006 1.7461 7.26801 2.82996 6.88583 3.78543L6 6" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path><path d="M10.9998 5H11.0088" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path></svg>',1)),e.title?(s(),a("span",kr,o(e.title),1)):y("",!0)]))}},yr={class:"fbs-wp_vue_editor_wrapper"},wr=["id","value"],Cr={class:"fbs_wp_editor_custom_button"},Tr=Object.assign({name:"wp_editor"},{__name:"_wp_editor",props:{editor_id:{type:String,default:()=>"wp_editor_"+Date.now()+parseInt((1e3*Math.random()).toString())},modelValue:{type:String,default:()=>""},editorShortcodes:{type:Array,default:()=>[]},height:{type:Number,default:()=>250},toolbar:{type:String,default:()=>"formatselect,customInsertButton,bold,italic,bullist,numlist,link,blockquote,align,underline,strikethrough, hr,forecolor,removeformat,codeformat,outdent,indent,undo,redo"},extendedToolbar:{type:String,default:()=>""},plugins:{type:String,default:()=>"link, textcolor, lists, hr, paste,"},extendedPlugins:{type:String,default:()=>""},task:{type:Object,required:!1,default(){}},objectType:{type:String,required:!1}},emits:["input","update:modelValue","save","cancel"],setup(e,{expose:t,emit:r}){var d;j("eventBus");const h=e;let u=O(!1);const p=r,m=nr(),b=q(()=>m.fileUploading),_=window.wp.editor,C=O(!1),T=O(!1),S=O(h.modelValue),$=O(h.modelValue?null==(d=h.modelValue)?void 0:d.length:0),V=O(null),A=O(null);N(()=>{_&&(setTimeout(()=>{Z()},200),I())}),z(()=>{wp.editor.remove(h.editor_id)}),H(()=>S.value,(e,t)=>{p("input",e),p("update:modelValue",e)});const I=()=>{wp.editor.remove(h.editor_id),wp.editor.initialize(h.editor_id,{mediaButtons:!1,tinymce:{height:h.height,toolbar1:h.toolbar+h.extendedToolbar,plugins:h.plugins+h.extendedPlugins,paste_preprocess:(e,t)=>{D(t.content)?t.preventDefault():F(t.content)&&(t.preventDefault(),t.content=`&#160<a href="${t.content}" target="_blank">${t.content}</a>&#160`)},setup(e){V.value=e,e.on("load",function(e){u.value=!0}),e.on("paste",function(t){const s=t.clipboardData.files[0],a=(t.clipboardData||window.clipboardData).getData("text/plain").trim();if(F(a)){t.preventDefault();const s=`&#160<a href="${a}" target="_blank">${a}</a>&#160`;setTimeout(()=>{e.focus(),e.selection.setContent(s)},10)}else if(s){if("board"==h.objectType)return;A.value.handleFileChange(t,s)}else if(W(t)){t.preventDefault();const s=(t.clipboardData||window.clipboardData).getData("Text"),a=G(s);setTimeout(()=>{e.focus(),e.selection.setContent(a)},10)}}),e.on("change",function(e){B()}),T.value&&(T.value=!0,e.addButton("customInsertButton",{text:"Button",classes:"wpns_editor_btn",onclick(){x()}}))}},quicktags:!0}),jQuery("#"+h.editor_id).on("change",function(e){B()})},D=e=>/^\s*<meta[^>]*>\s*<img\b[^>]*src=["']([^"']+)["'][^>]*>\s*$/i.test(e),B=()=>{let e=wp.editor.getContent(h.editor_id);p("input",e),p("update:modelValue",e),Z()},L=e=>{var t;if(_)tinymce.activeEditor.insertContent(e);else{const s=S.value.slice(0,$.value),a=S.value.slice($.value,null==(t=S.value)?void 0:t.length);S.value=s+e+a,$.value+=null==e?void 0:e.length}},M=e=>{var t,s;let a="";e.forEach(e=>{a+=`\n <img class="alignnone size-medium wp-image-${e.id}" src="${e.url}" alt="" width="300" height="300" />`}),null==(s=null==(t=window.tinymce)?void 0:t.activeEditor)||s.insertContent(a)},x=e=>{C.value=!0},P=()=>{const e=jQuery(".fbs-wp_vue_editor_plain").prop("selectionStart");e.value=e},F=e=>/^(https?|ftp):\/\/[^\s/$.?#].[^\s]*$/i.test(e),U=(e=null)=>{var t,s;if(!e.hasOwnProperty("file"))return;const a=e.file;if(e){let e="";e=a.attachment_type.startsWith("image/")?`\n &#160;<a href="${a.public_url}" target="_blank">\n <img src="${a.public_url}" alt="${a.title}"\n class="alignnone size-medium wp-image-${a.id}"\n style="max-width: 100%; height: auto;"/>\n </a>&#160`:`&#160<a href="${a.public_url}" target="_blank">${a.title}</a>&#160`,null==(s=null==(t=window.tinymce)?void 0:t.activeEditor)||s.insertContent(e)}},R=()=>{V.value&&u.value?K():setTimeout(R,10)},W=e=>{const t=(e.clipboardData||window.clipboardData).getData("Text");return/(\*\*|__|~~|`{1,3}[^`]*`{1,3}|#{1,6}|\*{1,2}[^*]*\*{1,2}|-{3,}|>{1,}|!\[.*\]\(.*\)|\[.*\]\(.*\)|\d+\.\s)/.test(t)},K=()=>{setTimeout(()=>{V.value.selection.select(V.value.getBody(),!0),V.value.selection.collapse(!1),V.value.focus()},100)},Z=()=>{const e=document.getElementsByTagName("iframe")[0];if(!e)return;const t=e.contentWindow.document.body.offsetHeight+48;e.style.height=(t>h.height?t:h.height)+"px"};function Y(){p("save")}function J(){p("cancel")}return t({updateEditorValue:(e="")=>{var t,s,a,i;e?null==(i=null==(a=window.tinymce)?void 0:a.activeEditor)||i.insertContent(e):null==(s=null==(t=window.tinymce)?void 0:t.activeEditor)||s.setContent("")},showCursor:R,setEditorContent:e=>{var t,s;null==(s=null==(t=window.tinymce)?void 0:t.activeEditor)||s.setContent(e)}}),(t,r)=>{const d=ze,h=g("loading");return f((s(),a("div",yr,[e.editorShortcodes.length?(s(),c(lr,{key:0,class:k(["fbs-popover-wrapper",{"fbs-popover-wrapper-plaintext":!E(_)}]),data:e.editorShortcodes,onCommand:L,btnType:"default",btnSize:"large"},{default:n(()=>[w(o(t.$t("Add ShortCodes")),1)]),_:1},8,["class","data"])):y("",!0),E(_)?(s(),a("textarea",{key:1,class:"fbs-wp_vue_editor",id:e.editor_id,value:e.modelValue},null,8,wr)):f((s(),a("textarea",{key:2,class:"fbs-wp_vue_editor fbs-wp_vue_editor_plain","onUpdate:modelValue":r[0]||(r[0]=e=>S.value=e),onClick:P},null,512)),[[v,S.value]]),"board"!==e.objectType?(s(),c(_r,{key:3,style:{display:"none"},ref_key:"fbsCustomFileUpload",ref:A,url:e.task.id+"/wp-editor-media-file-upload",onOnFileUploadSuccess:U},null,8,["url"])):y("",!0),i("div",Cr,[l(vr,{multiple:!0,onOnMediaSelected:M}),i("div",null,[l(d,{type:"primary",onClick:Y},{default:n(()=>[w(o(t.$t("Save")),1)]),_:1}),l(d,{class:"fbs_cancel_button",onClick:J},{default:n(()=>[w(o(t.$t("Cancel")),1)]),_:1})])])])),[[h,b.value]])}}}),Sr=u("permission",{state:()=>({currentUserWpOrSuperAdmin:!1,currentUserBoardAdmin:!1}),actions:{setUserRoleInBoard(e){e.me.fluent_boards_capabilities.map(t=>{t.board_id==e.boardId&&(this.currentUserBoardAdmin="board_admin"===t.role)})},setWpOrSuperAdminPermission(e){"fluent_boards_admin"!==e.fluent_boards_role&&"wordpress_admin"!==e.fluent_boards_role||(this.currentUserWpOrSuperAdmin=!0)}},persist:{storage:{getItem:e=>p.getItem(e),setItem:(e,t)=>p.setItem(e,t)}}}),$r={class:"d-flex items-center gap-12"},Vr={class:"content d-flex flex-column gap-2"},Ar={key:0,class:"fbs_primary_text d-block"},Ir={key:1,class:"fbs_secondary_text d-block small"};const Dr=Ss({name:"AjaxSelector",props:["field","value"],components:{UserFilled:Fe,DataBoard:nt,Search:Ee},data(){return{model:this.value,loading:!1,options:[],noOptionFound:!1}},watch:{model(e){this.$emit("input",e)}},methods:{fetchOptions(e){let t=this.field.option_key;this.field.extended_key&&(t+="_"+this.field.extended_key);let s="";if(this.field.cacheable){if(s+="_fbs_ajax_cache_"+t,window[s])return void(this.options=window[s])}else if(this.field.experimental_cache&&(s+="_fbs_ajax_cache_"+t+"_"+e+" "+JSON.stringify(this.model),window[s]))return void(this.options=window[s]);if(this.doing_ajax)return!1;this.loading=!0;let a={search:e,values:this.model,option_key:t};this.field.hasOwnProperty("board_id")&&(a.board_id=this.field.board_id),this.$get("ajax-options",a).then(e=>{this.options=e.options,e.options.length<=0&&(this.noOptionFound=!0),s&&e.options&&(window[s]=e.options)}).catch(e=>{this.handleError(e)}).finally(()=>{this.loading=!1})}},mounted(){this.fetchOptions("")}},[["render",function(e,t,h,u,p,m){const _=rt,k=Be,v=b("UserFilled"),w=Ne,C=b("DataBoard"),T=b("Search"),S=Le,$=g("loading");return f((s(),c(S,{class:"fbs-ajax-selector",modelValue:p.model,"onUpdate:modelValue":t[0]||(t[0]=e=>p.model=e),multiple:h.field.is_multiple,filterable:"",remote:!h.field.cacheable,clearable:h.field.clearable,disabled:h.field.disabled,"reserve-keyword":"",size:h.field.size,placeholder:h.field.placeholder||e.$t("Please enter a keyword"),"remote-method":m.fetchOptions,"popper-class":"fbs_popover","collapse-tags":"","collapse-tags-tooltip":""},{prefix:n(()=>["user"===h.field.icon_type?(s(),c(w,{key:0},{default:n(()=>[l(v)]),_:1})):"board"===h.field.icon_type?(s(),c(w,{key:1},{default:n(()=>[l(C)]),_:1})):(s(),c(w,{key:2},{default:n(()=>[l(T)]),_:1}))]),default:n(()=>[(s(!0),a(r,null,d(p.options,e=>(s(),c(k,{key:e.id,label:e.title,value:e.id},{default:n(()=>[i("div",$r,[e.photo?(s(),c(_,{key:0,src:e.photo,size:36},null,8,["src"])):y("",!0),i("div",Vr,[e.name||e.title?(s(),a("span",Ar,o(e.name||e.title),1)):y("",!0),e.email?(s(),a("span",Ir,o(e.email),1)):y("",!0)])])]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","multiple","remote","clearable","disabled","size","placeholder","remote-method"])),[[$,p.loading]])}]]),Br={name:"TaskCrmContactAdd",inject:["eventBus"],props:{disable_save:{type:Boolean,default:!1},is_multiple:{type:Boolean,default:!0},showButton:{type:Boolean,default:!1}},components:{AjaxSelector:Dr},data:()=>({contact_id:"",isOpen:!1,willMountOptions:!1,saving:!1}),computed:{...m(Xi,["task"])},watch:{"task.crm_contact_id"(){this.contact_id=this.task.crm_contact_id>0?this.task.crm_contact_id:""}},mounted(){this.contact_id=this.task.crm_contact_id>0?this.task.crm_contact_id:""},methods:{fetchContact(){this.$get("projects/"+this.task.board_id+"/tasks/"+this.task.id).then(e=>{this.task.contact=e.task.contact,this.task.contact&&(this.contact_id=this.task.contact.id)}).catch(e=>{this.$handleError(e)}).finally(()=>{this.saving=!1})},toggleEditor(){this.task.contact&&(this.contact_id=this.task.contact.id),this.willMountOptions=!0,this.isOpen=!this.isOpen},update(){0!=this.task.crm_contact_id&&this.task.crm_contact_id||this.contact_id?(this.eventBus.emit("change-task-property",{task:this.task,property:"crm_contact_id",value:this.contact_id,onSuccess:()=>{this.fetchContact()},onError:e=>{this.$notify.error({title:"Error",message:"Task CRM contact couldn't be updated. Please try again."})}}),this.isOpen=!1):this.$notify({title:"Warning",type:"warning",message:this.$t("Task don't have any crm contact.")})}}},Lr={key:0,class:"fbs-task-sidebar-popover-box"},Mr={class:"fbs-task-popover-footer-action"};const xr=Ss(Br,[["render",function(e,t,r,d,u,p){const m=b("ajax-selector"),_=ze,k=je,v=g("loading");return s(),c(k,{"popper-class":"fbs-task-add-popover-box",placement:"bottom",title:e.$t("Select Contact"),width:320,visible:u.isOpen,trigger:"click"},{reference:n(()=>[r.showButton?(s(),c(_,{key:0,icon:"User",onClick:t[4]||(t[4]=e=>p.toggleEditor())},{default:n(()=>[w(o(e.$t("CRM Contact")),1)]),_:1})):y("",!0)]),default:n(()=>[u.willMountOptions?(s(),a("div",Lr,[l(m,{field:{option_key:"crm_contacts",cacheable:!1,clearable:!0,is_multiple:!1,placeholder:e.$t("Type name or email"),icon_type:"user",custom_left_right:!1},modelValue:u.contact_id,"onUpdate:modelValue":t[0]||(t[0]=e=>u.contact_id=e),onPaste:t[1]||(t[1]=h(()=>{},["stop"]))},null,8,["field","modelValue"]),i("div",Mr,[l(_,{onClick:t[2]||(t[2]=e=>u.isOpen=!1)},{default:n(()=>[w(o(e.$t("Cancel")),1)]),_:1}),f((s(),c(_,{disabled:u.saving,onClick:t[3]||(t[3]=e=>p.update()),type:"primary"},{default:n(()=>[w(o(e.$t("Save")),1)]),_:1},8,["disabled"])),[[v,u.saving]])])])):y("",!0)]),_:1},8,["title","visible"])}]]),Pr={name:"TaskMoverPanel",inject:["eventBus"],props:{task:{type:Object,required:!0},stage:{type:Object,required:!0},taskBoard:{type:Object,required:!0},allowChangeBoard:{type:Boolean,default:!0}},components:{ArrowDown:it,ArrowLeft:ct,ArrowRight:Qe,Close:dt,Icons:$s,Search:Ee},emits:["close"],data(){return{selectedBoard:this.taskBoard,selectedStage:{},selectedStageId:parseInt(this.task.stage_id),selectedPositionKey:"",boards:[],moveTargets:[],isBoardPickerOpen:!1,searchInput:"",boardsLoading:!1,positionsLoading:!1,positionsRequestId:0,openTaskInNewBoard:!1,placementBoardId:null,placementStageId:null,placementOptions:[{value:"top",label:"Move to top"},{value:"bottom",label:"Move to bottom"}]}},watch:{stage(e){this.selectedStage={...this.stage},this.selectedStageId=parseInt(this.selectedStage.id)}},computed:{...m(js,{storeBoard:"board",boardStages:"stages"}),currentBoardStages(){var e,t;return parseInt(null==(e=this.storeBoard)?void 0:e.id)===parseInt(this.task.board_id)&&Array.isArray(this.boardStages)?this.boardStages:Array.isArray(null==(t=this.taskBoard)?void 0:t.stages)&&this.taskBoard.stages.length?this.taskBoard.stages:[this.stage].filter(e=>null==e?void 0:e.id)},filteredCurrentBoardStages(){return this.filterBySearch(this.currentBoardStages,this.searchInput)},selectedBoardStages(){var e;return Array.isArray(null==(e=this.selectedBoard)?void 0:e.stages)?this.selectedBoard.stages:[]},filteredSelectedBoardStages(){return this.selectedBoardStages},filteredBoards(){const e=this.searchInput.trim().toLowerCase();return this.boards.filter(t=>{const s=parseInt(t.id)===parseInt(this.task.board_id),a=!e||(t.title||"").toLowerCase().includes(e);return!s&&a})},searchPlaceholder(){return this.isBoardPickerOpen?"Search boards...":"Change stage"}},mounted(){this.selectedStage={...this.stage},this.selectedStageId=parseInt(this.selectedStage.id),this.movingTask(!0),this.focusSearchInput()},beforeUnmount(){this.clearStageMoveOptions(),this.movingTask(!1)},methods:{...M(Qi,["movingTask"]),filterBySearch(e,t){const s=t.trim().toLowerCase();return s?e.filter(e=>(e.title||"").toLowerCase().includes(s)):e},focusSearchInput(){this.$nextTick(()=>{this.$refs.moveSearchInput&&this.$refs.moveSearchInput.focus()})},isCurrentStage(e){return parseInt(e.id)===parseInt(this.task.stage_id)&&parseInt(this.selectedBoard.id||this.task.board_id)===parseInt(this.task.board_id)},getStageColor:e=>e.bg_color||e.color||"#8EA0B8",isSelectedBoard(e){return parseInt(e.id)===parseInt(this.selectedBoard.id)&&parseInt(e.id)!==parseInt(this.task.board_id)},getBoards(){return this.openTaskInNewBoard=!1,this.boardsLoading=!0,this.$get("projects/list-of-boards").then(e=>{const t=Array.isArray(e.boards)?e.boards:[];this.boards=t.filter(e=>!(e.archived_at||e.isUserOnlyViewer))}).catch(e=>{this.handleError(e)}).finally(()=>{this.boardsLoading=!1})},getBoardStages(e){this.openTaskInNewBoard=this.Storage.get("fbs_move_card_open_task_in_new_board",!0),this.selectedBoard={...this.boards.find(t=>parseInt(t.id)===parseInt(e))};const t=Array.isArray(this.selectedBoard.stages)?this.selectedBoard.stages:[];if(parseInt(this.selectedBoard.id)!==parseInt(this.task.board_id)?this.selectedStage=t[0]:this.selectedStage={...this.stage},!this.selectedStage)return this.selectedStageId=null,void(this.positionsLoading=!1);this.selectedStageId=parseInt(this.selectedStage.id),this.positionsLoading=!1},showBoardPicker(){this.isBoardPickerOpen=!0,this.searchInput="",this.clearStageMoveOptions(),this.focusSearchInput(),this.boards.length||this.boardsLoading||this.getBoards()},showCurrentBoardStages(){this.isBoardPickerOpen=!1,this.searchInput="",this.selectedBoard=this.taskBoard,this.clearStageMoveOptions(),this.focusSearchInput()},clearSearchOrClose(){this.searchInput?this.searchInput="":this.cancel()},collapseSelectedBoard(){this.selectedBoard={},this.selectedStage={},this.selectedStageId=null,this.clearStageMoveOptions()},selectBoard(e){this.searchInput="",this.clearStageMoveOptions(),this.getBoardStages(e)},showStageMoveOptions(e,t){parseInt(this.placementBoardId)===parseInt(e)&&parseInt(this.placementStageId)===parseInt(t.id)?this.clearStageMoveOptions():(this.selectedBoard=e==this.task.board_id?{...this.boards.find(t=>parseInt(t.id)===parseInt(e))||this.taskBoard}:{...this.selectedBoard},this.selectedStage={...t},this.selectedStageId=parseInt(t.id),this.placementBoardId=e,this.placementStageId=t.id,this.moveTargets=[],this.selectedPositionKey="",this.positionsLoading=!0,this.getAvailablePositions(e,t.id))},clearStageMoveOptions(){this.positionsRequestId++,this.positionsLoading=!1,this.moveTargets=[],this.selectedPositionKey="",this.placementBoardId=null,this.placementStageId=null},isActivePositionRequest(e,t,s){return e===this.positionsRequestId&&parseInt(this.placementBoardId)===parseInt(t)&&parseInt(this.placementStageId)===parseInt(s)},isStagePlacementPickerOpen(e,t){return parseInt(this.placementBoardId)===parseInt(e)&&parseInt(this.placementStageId)===parseInt(t.id)},moveToPlacement(e){const t=Array.isArray(this.moveTargets)?this.moveTargets:[],s="top"===e?t[0]:t[t.length-1];this.move(s)},getAvailablePositions(e,t,s=!1){const a=parseInt(e),i=parseInt(t),o=++this.positionsRequestId;return this.positionsLoading=!0,this.$get("projects/"+a+"/stage-task-available-positions/"+i,{task_id:this.task.id}).then(e=>{this.isActivePositionRequest(o,a,i)&&(this.moveTargets=e.moveTargets||[],this.selectedPositionKey=e.currentMoveTargetKey||e.defaultMoveTargetKey||"",s&&this.move())}).catch(e=>{this.isActivePositionRequest(o,a,i)&&this.handleError(e)}).finally(()=>{this.isActivePositionRequest(o,a,i)&&(this.positionsLoading=!1)})},move(e=null){if(!this.selectedStage)return void this.$notify({message:this.$t("Selected Board has no stage !!"),type:"error"});if(!(e=e||this.moveTargets.find(e=>e.key===this.selectedPositionKey)))return void this.$notify({message:this.$t("Select a position"),type:"error"});let t={boardId:this.task.board_id,taskId:this.task.id,newStageId:this.selectedStage.id,newIndex:e.label,openTaskInNewBoard:this.openTaskInNewBoard};e.prevTaskId&&(t.prevTaskId=e.prevTaskId),e.nextTaskId&&(t.nextTaskId=e.nextTaskId),this.task.board_id!=this.selectedBoard.id&&(t.newBoardId=this.selectedBoard.id),this.eventBus.emit("fluent-boards-move-task",t),this.openTaskInNewBoard=!1,this.$emit("close")},cancel(){this.searchInput="",this.isBoardPickerOpen=!1,this.clearStageMoveOptions(),this.$emit("close")},setOpenTaskInNewBoard(){this.Storage.set("fbs_move_card_open_task_in_new_board",this.openTaskInNewBoard)}}},Fr={class:"fbs_task_mover_search"},Er=["aria-label"],Ur=["placeholder"],Or=["aria-label"],Rr={key:0,class:"fbs_task_mover_list"},Nr=["onClick"],Hr={key:0,class:"fbs_task_mover_position_options"},jr=["disabled","onClick"],zr={key:0,class:"fbs_task_mover_empty"},Gr={key:1,class:"fbs_task_mover_list"},qr=["onClick"],Wr={key:0,class:"fbs_task_mover_stage_tree"},Kr=["onClick"],Zr={key:0,class:"fbs_task_mover_position_options is-nested"},Yr=["disabled","onClick"],Jr={key:0,class:"fbs_task_mover_empty"},Qr={key:0,class:"fbs_task_mover_empty"};const Xr=Ss(Pr,[["render",function(e,t,u,p,m,_){const C=b("ArrowLeft"),T=Ne,V=b("Search"),A=b("Close"),I=b("ArrowDown"),D=b("ArrowRight"),B=b("Icons"),L=qe,M=g("loading");return f((s(),a("div",{class:"fbs_task_mover",onClick:t[6]||(t[6]=h(()=>{},["stop"]))},[i("div",Fr,[m.isBoardPickerOpen?(s(),a("button",{key:0,type:"button",class:"fbs_task_mover_icon_button","aria-label":e.$t("Back"),onClick:t[0]||(t[0]=(...e)=>_.showCurrentBoardStages&&_.showCurrentBoardStages(...e))},[l(T,null,{default:n(()=>[l(C)]),_:1})],8,Er)):y("",!0),l(T,null,{default:n(()=>[l(V)]),_:1}),f(i("input",{ref:"moveSearchInput","onUpdate:modelValue":t[1]||(t[1]=e=>m.searchInput=e),type:"text",placeholder:e.$t(_.searchPlaceholder),onKeydown:t[2]||(t[2]=$((...e)=>_.cancel&&_.cancel(...e),["esc"]))},null,40,Ur),[[v,m.searchInput]]),m.isBoardPickerOpen||m.searchInput?(s(),a("button",{key:1,type:"button",class:"fbs_task_mover_icon_button","aria-label":e.$t("Close"),onClick:t[3]||(t[3]=(...e)=>_.clearSearchOrClose&&_.clearSearchOrClose(...e))},[l(T,null,{default:n(()=>[l(A)]),_:1})],8,Or)):y("",!0)]),m.isBoardPickerOpen?(s(),a("div",Gr,[(s(!0),a(r,null,d(_.filteredBoards,t=>(s(),a("div",{key:t.id,class:"fbs_task_mover_board_item"},[i("button",{type:"button",class:k(["fbs_task_mover_row",{"is-selected":_.isSelectedBoard(t)}]),onClick:e=>_.isSelectedBoard(t)?_.collapseSelectedBoard():_.selectBoard(t.id)},[i("span",null,o(t.title),1),_.isSelectedBoard(t)?(s(),c(T,{key:0},{default:n(()=>[l(I)]),_:1})):(s(),c(T,{key:1},{default:n(()=>[l(D)]),_:1}))],10,qr),_.isSelectedBoard(t)&&!m.searchInput.trim()?(s(),a("div",Wr,[(s(!0),a(r,null,d(_.filteredSelectedBoardStages,t=>(s(),a("div",{key:t.id},[i("button",{type:"button",class:k(["fbs_task_mover_stage_option",{"is-selected":_.isStagePlacementPickerOpen(m.selectedBoard.id,t)}]),onClick:e=>_.showStageMoveOptions(m.selectedBoard.id,t)},[i("span",{class:"fbs_task_mover_stage_dot",style:S({backgroundColor:_.getStageColor(t)})},null,4),i("span",null,o(t.title),1),_.isStagePlacementPickerOpen(m.selectedBoard.id,t)?(s(),c(T,{key:0},{default:n(()=>[l(I)]),_:1})):(s(),c(T,{key:1},{default:n(()=>[l(D)]),_:1}))],10,Kr),_.isStagePlacementPickerOpen(m.selectedBoard.id,t)?(s(),a("div",Zr,[(s(!0),a(r,null,d(m.placementOptions,t=>(s(),a("button",{key:t.value,type:"button",class:"fbs_task_mover_position_option",disabled:m.positionsLoading,onClick:e=>_.moveToPlacement(t.value)},o(e.$t(t.label)),9,Yr))),128))])):y("",!0)]))),128)),_.filteredSelectedBoardStages.length?y("",!0):(s(),a("div",Jr,o(e.$t("No stages found")),1))])):y("",!0)]))),128)),_.filteredBoards.length?y("",!0):(s(),a("div",Qr,o(e.$t("No boards found")),1))])):(s(),a("div",Rr,[(s(!0),a(r,null,d(_.filteredCurrentBoardStages,t=>(s(),a("div",{key:t.id},[i("button",{type:"button",class:k(["fbs_task_mover_row",{"is-current":_.isCurrentStage(t),"is-selected":_.isStagePlacementPickerOpen(u.task.board_id,t)}]),onClick:e=>_.showStageMoveOptions(u.task.board_id,t)},[i("span",null,o(t.title),1),_.isStagePlacementPickerOpen(u.task.board_id,t)?(s(),c(T,{key:0},{default:n(()=>[l(I)]),_:1})):(s(),c(T,{key:1},{default:n(()=>[l(D)]),_:1}))],10,Nr),_.isStagePlacementPickerOpen(u.task.board_id,t)?(s(),a("div",Hr,[(s(!0),a(r,null,d(m.placementOptions,t=>(s(),a("button",{key:t.value,type:"button",class:"fbs_task_mover_position_option",disabled:m.positionsLoading,onClick:e=>_.moveToPlacement(t.value)},o(e.$t(t.label)),9,jr))),128))])):y("",!0)]))),128)),_.filteredCurrentBoardStages.length?y("",!0):(s(),a("div",zr,o(e.$t("No stages found")),1))])),u.allowChangeBoard&&!m.isBoardPickerOpen?(s(),a("button",{key:2,type:"button",class:"fbs_prioriy_badge fbs_task_mover_change_board",onClick:t[4]||(t[4]=(...e)=>_.showBoardPicker&&_.showBoardPicker(...e))},[l(B,{"icon-name":"boards"}),i("span",null,o(e.$t("Change Board")),1),l(T,null,{default:n(()=>[l(D)]),_:1})])):y("",!0),m.isBoardPickerOpen&&m.selectedBoard.id&&m.selectedBoard.id!=this.task.board_id?(s(),c(L,{key:3,class:"fbs_move_card_redirect_to_new_board_checkbox",modelValue:m.openTaskInNewBoard,"onUpdate:modelValue":t[5]||(t[5]=e=>m.openTaskInNewBoard=e),onChange:_.setOpenTaskInNewBoard},{default:n(()=>[w(o(e.$t("Open task in new board")),1)]),_:1},8,["modelValue","onChange"])):y("",!0)])),[[M,m.boardsLoading]])}]]),ed={name:"MoveCard",props:{task:{type:Object,required:!0},stage:{type:Object,required:!0},triggerFromButton:{type:Boolean,default:!1},hideTrigger:{type:Boolean,default:!1},showStageIcon:{type:Boolean,default:!1},triggerClass:{type:[String,Array,Object],default:""},taskBoard:{type:Object,required:!0}},components:{Icons:$s,TaskMoverPanel:Xr},data:()=>({visible:!1}),methods:{openMover(){this.visible=!0}}},td={class:"fbs_move_card_wrapper"},sd=["title"],ad={class:"icon"},id={class:"label"};const od=Ss(ed,[["render",function(e,t,l,r,d,u){const p=ze,m=b("Icons"),g=b("task-mover-panel"),f=je;return s(),a("span",td,[!l.hideTrigger||e.$slots.reference?(s(),c(f,{key:0,visible:d.visible,"onUpdate:visible":t[3]||(t[3]=e=>d.visible=e),trigger:"click",placement:e.appVars.is_rtl?"bottom-end":"bottom-start",width:240,"popper-class":"fbs_task_move_popover"},{reference:n(()=>[_(e.$slots,"reference",{},()=>{var r,d;return[l.triggerFromButton?(s(),c(p,{key:0,icon:"TopRight",onClick:t[0]||(t[0]=h(()=>{},["stop"]))},{default:n(()=>[w(o(e.$t("Move")),1)]),_:1})):(s(),a("span",{key:1,class:k(["fbs_priority_badge cursor_pointer",l.triggerClass]),title:null==(r=l.stage)?void 0:r.title,tabindex:"0",role:"button",onClick:t[1]||(t[1]=h(()=>{},["stop"]))},[i("span",ad,[l.showStageIcon?(s(),c(m,{key:0,"icon-name":"building"})):y("",!0)]),i("span",id,o(null==(d=l.stage)?void 0:d.title),1)],10,sd))]})]),default:n(()=>[d.visible?(s(),c(g,{key:0,task:l.task,stage:l.stage,"task-board":l.taskBoard,onClose:t[2]||(t[2]=e=>d.visible=!1)},null,8,["task","stage","task-board"])):y("",!0)]),_:3},8,["visible","placement"])):y("",!0)])}]]),ld={name:"DeleteDialog",props:{dialogVisible:{type:Boolean,required:!0},message:{type:String,required:!0},note:{type:String,default:null},loading:{type:Boolean,default:!1}},data(){return{visible:!!this.dialogVisible&&this.dialogVisible}},watch:{dialogVisible(e){this.visible=e}},emits:["confirm","cancel"],methods:{confirm(){this.$emit("confirm")},cancel(){this.$emit("cancel")}}},nd={class:"fbs_delete_dialog_header"},rd={class:"fbs_delete_dialog_body"},dd={class:"fbs_delete_dialog_message"},cd={key:0},hd={style:{"font-size":"11px"}},ud={class:"fbs_delete_dialog-footer"};const pd=Ss(ld,[["render",function(e,t,r,d,h,u){const p=b("Warning"),m=Ne,_=ze,k=Ge,v=g("loading");return s(),c(k,{modelValue:h.visible,"onUpdate:modelValue":t[0]||(t[0]=e=>h.visible=e),width:"424px","min-width":"424px","close-on-click-modal":!0,"modal-class":"fbs__delete_confirm_modal_class",class:"fbs__delete_confirm_modal","append-to-body":"",center:"",onClosed:u.cancel},{footer:n(()=>[i("div",null,[i("div",nd,[i("p",null,[l(m,null,{default:n(()=>[l(p)]),_:1})]),i("p",null,o(e.$t("Confirmation Required")),1)]),i("div",rd,[i("div",dd,[i("p",null,o(r.message),1),r.note?(s(),a("p",cd,o(e.$t("Note"))+": "+o(r.note),1)):y("",!0)]),i("small",hd,o(e.$t("Are you sure you want to proceed"))+"?",1)]),f((s(),a("div",ud,[l(_,{onClick:u.cancel,size:"small",class:"fbs_cancel_button"},{default:n(()=>[w(o(e.$t("No")),1)]),_:1},8,["onClick"]),l(_,{type:"danger",onClick:u.confirm,size:"small",class:"fbs"},{default:n(()=>[w(o(e.$t("Yes")),1)]),_:1},8,["onClick"])])),[[v,r.loading]])])]),_:1},8,["modelValue","onClosed"])}],["__scopeId","data-v-cc2b3fde"]]),md={name:"AddTaskAttachment",inject:["eventBus"],emits:["closeTaskAttachmentModal","handle-click"],props:{visible:{type:Boolean,required:!0},buttonType:{type:String,required:!0,validator:e=>["plus","text","paperclip"].includes(e)},isPlain:{type:Boolean,default:!1},buttonClass:{type:String,default:""},isText:{type:Boolean,default:!1},isLink:{type:Boolean,default:!1},type:{type:String,default:"primary"}},components:{Icons:$s,FileUpload:_r,Close:dt,CirclePlus:mt,Plus:Oe,ArrowLeft:ct,Link:pt,Document:ut,Loading:Re,CircleCheckFilled:ht,Delete:et},data:()=>({title:"",url:"",titleError:!1,urlError:!1,colors:[{color:"#f56c6c",percentage:20},{color:"#e6a23c",percentage:40},{color:"#5cb87a",percentage:60},{color:"#1989fa",percentage:80},{color:"#6f7ad3",percentage:100}],showAddLink:!1,uploadingFiles:[],uploadSeq:0}),computed:{...m(Xi,["task"]),...m(js,["board"]),uploadHint(){var e;const t=Number(null==(e=this.appVars)?void 0:e.file_upload_limit)||0;if(!t)return this.$t("Images, PDF, documents, video and more.");const s=Math.round(t/1048576);return`${this.$t("Images, PDF, documents, video and more, up to")} ${s} MB.`}},watch:{title(e){this.titleError=!1},url(e){this.urlError=!1},visible(e){this.toggleComponent(),e&&this.resetUploadList()}},methods:{submitTaskAttachment(){this.checkAttachmentFieldInput()&&this.$post("tasks/"+this.task.id+"/add-attachment",{title:this.title.trim(),url:this.url.trim()}).then(e=>{this.eventBus.emit("task-attachments-created",[e.attachment]),this.title="",this.url="",this.closeTaskAttachmentModal()}).catch(e=>{this.handleError(e)})},checkAttachmentFieldInput(){return""!=this.url||(this.urlError=!0,this.$notify({message:"Url is are required",type:"error"}),!1)},onFileSelected(e){var t;if(!e)return;const s=Number(null==(t=this.appVars)?void 0:t.file_upload_limit)||0;if(s&&e.size>s)return void this.$notify({message:`File should not be greater than ${Math.round(s/1048576)} MB`,type:"error"});const a={uid:"f-"+this.uploadSeq++,name:e.name,size:e.size,loaded:0,percent:0,status:"uploading",error:"",preview:e.type.startsWith("image/")?URL.createObjectURL(e):"",xhr:null};this.uploadingFiles.push(a),this.uploadItem(a,e)},async uploadItem(e,t){const s=1048576,a=Math.ceil(t.size/s)||1,i=`${Date.now()}-${Math.random().toString(36).slice(2,10)}-${e.uid}`;let o=null;try{for(let l=0;l<a;l++){if("uploading"!==e.status)return;const n=l*s,r=Math.min(n+s,t.size);o=await this.uploadItemChunk(e,t,t.slice(n,r),{uploadId:i,chunkIndex:l,totalChunks:a,loadedBeforeChunk:n})}e.status="completed",e.loaded=e.size,e.percent=100,e.xhr=null,(null==o?void 0:o.attachments)&&this.eventBus.emit("task-attachments-created",o.attachments)}catch(l){if("uploading"!==e.status)return;e.status="error",e.xhr=null,e.error=(null==l?void 0:l.message)||this.$t("File upload failed.")}},uploadItemChunk(e,t,s,a){const i=`${this.appVars.rest.url}/projects/${this.board.id}/tasks/${this.task.id}/add-task-attachment-file-chunk`,o=new FormData;return o.append("chunk",s,"chunk.part"),o.append("chunk_index",a.chunkIndex),o.append("total_chunks",a.totalChunks),o.append("upload_id",a.uploadId),o.append("file_name",t.name),o.append("file_size",t.size),o.append("file_type",t.type),new Promise((t,l)=>{const n=new XMLHttpRequest;e.xhr=n,n.open("POST",i),n.setRequestHeader("X-WP-Nonce",this.appVars.rest.nonce),n.setRequestHeader("X-HTTP-Method-Override","Post"),n.upload.onprogress=t=>{t.lengthComputable&&(e.loaded=Math.min(a.loadedBeforeChunk+t.loaded,e.size),e.percent=Math.round(e.loaded/e.size*100))},n.onload=()=>{let i={};try{i=JSON.parse(n.responseText)}catch(o){}n.status>=200&&n.status<300?(e.loaded=Math.min(a.loadedBeforeChunk+s.size,e.size),e.percent=Math.round(e.loaded/e.size*100),t(i)):l(new Error(("string"==typeof i?i:i.message)||this.$t("File upload failed.")))},n.onerror=()=>{l(new Error(this.$t("File upload failed.")))},n.onabort=()=>{l(new Error(this.$t("File upload canceled !!")))},n.send(o)})},removeUploadItem(e){"uploading"===e.status&&e.xhr&&e.xhr.abort(),e.preview&&URL.revokeObjectURL(e.preview),this.uploadingFiles=this.uploadingFiles.filter(t=>t.uid!==e.uid)},resetUploadList(){this.uploadingFiles.forEach(e=>{"uploading"===e.status&&e.xhr&&e.xhr.abort(),e.preview&&URL.revokeObjectURL(e.preview)}),this.uploadingFiles=[]},formatSize(e){const t=(Number(e)||0)/1024;return t<1024?`${Math.round(t)} KB`:`${(t/1024).toFixed(1)} MB`},closeTaskAttachmentModal(){document.removeEventListener("click",this.handleClickOutside),this.resetUploadList(),this.$emit("closeTaskAttachmentModal")},toggleComponent(){this.visible?setTimeout(()=>{document.addEventListener("click",this.handleClickOutside)},0):document.removeEventListener("click",this.handleClickOutside)},handleClickOutside(e){var t;(null==(t=this.$refs.fbsAddTaskAttachment)?void 0:t.contains(e.target))||this.closeTaskAttachmentModal()}},mounted(){this.toggleComponent()}},bd={class:"fbs-task-sidebar-popover-box"},gd={class:"fbs-add-task-attachment",ref:"fbsAddTaskAttachment"},fd={class:"fbs-task-attachment-add-body"},_d={class:"fbs-upload-task-attachment"},kd={key:0,class:"fbs-attachment-upload-list"},vd={class:"fbs-attachment-upload-item__main"},yd={class:"fbs-attachment-upload-item__thumb"},wd=["src"],Cd={class:"fbs-attachment-upload-item__info"},Td={class:"fbs-attachment-upload-item__name"},Sd={class:"fbs-attachment-upload-item__meta"},$d={class:"fbs-attachment-upload-item__status"},Vd={key:2,class:"fbs-attachment-upload-item__error"},Ad={class:"fbs-task-attachment-add-or-text"},Id={class:"fbs-add-task-attachment-link"},Dd={class:"fbs-task-attachment-add-footer"};const Bd=Ss(md,[["render",function(e,t,u,p,m,g){const f=b("Icons"),v=ze,C=b("file-upload"),T=b("Document"),S=Ne,$=b("Loading"),V=b("CircleCheckFilled"),A=b("Close"),I=b("Delete"),D=ot,B=b("Link"),L=He,M=gt,x=bt,P=je;return s(),c(P,{visible:u.visible,placement:e.appVars.is_rtl?"left":"right","popper-class":"fbs-task-add-popover-box fbs-task-attachment-popover",width:"270"},{reference:n(()=>[_(e.$slots,"reference",{},()=>["paperclip"===u.buttonType?(s(),a("span",{key:0,class:"fbs-task-section-toggle fbs-task-attachment-paperclip-trigger",onClick:t[0]||(t[0]=t=>e.$emit("handle-click"))},[l(f,{"icon-name":"paper-clip"})])):(s(),c(v,{key:1,link:u.isLink,text:u.isText,plain:u.isPlain,type:u.type,onClick:t[1]||(t[1]=t=>e.$emit("handle-click")),class:k(u.buttonClass)},W({default:n(()=>[_(e.$slots,"icon"),"text"===u.buttonType?(s(),a(r,{key:0},[w(o(e.$t("Add Attachment")),1)],64)):y("",!0)]),_:2},[e.$slots.icon?void 0:{name:"icon",fn:n(()=>[(s(),c(K("plus"===u.buttonType?"CirclePlus":"Plus")))]),key:"0"}]),1032,["link","text","plain","type","class"]))])]),default:n(()=>[i("div",bd,[i("div",gd,[i("div",fd,[i("div",_d,[l(C,{url:e.task.id+"/add-task-attachment-file",variant:"dropzone",hint:g.uploadHint,"is-multiple":!0,onFileSelected:g.onFileSelected},null,8,["url","hint","onFileSelected"])]),m.uploadingFiles.length?(s(),a("ul",kd,[(s(!0),a(r,null,d(m.uploadingFiles,d=>(s(),a("li",{key:d.uid,class:"fbs-attachment-upload-item"},[i("div",vd,[i("div",yd,[d.preview?(s(),a("img",{key:0,src:d.preview,alt:""},null,8,wd)):(s(),c(S,{key:1},{default:n(()=>[l(T)]),_:1}))]),i("div",Cd,[i("div",Td,o(d.name),1),i("div",Sd,[i("span",null,o(g.formatSize(d.loaded))+" of "+o(g.formatSize(d.size)),1),t[6]||(t[6]=i("span",{class:"fbs-attachment-upload-item__dot"},"·",-1)),i("span",$d,["uploading"===d.status?(s(),a(r,{key:0},[l(S,{class:"is-loading"},{default:n(()=>[l($)]),_:1}),w(" "+o(e.$t("Uploading...")),1)],64)):"completed"===d.status?(s(),a(r,{key:1},[l(S,{class:"fbs-attachment-upload-item__check"},{default:n(()=>[l(V)]),_:1}),w(" "+o(e.$t("Completed")),1)],64)):(s(),a("span",Vd,o(d.error||e.$t("Failed")),1))])])]),l(S,{class:"fbs-attachment-upload-item__action",onClick:e=>g.removeUploadItem(d)},{default:n(()=>["uploading"===d.status?(s(),c(A,{key:0})):(s(),c(I,{key:1}))]),_:2},1032,["onClick"])]),"uploading"===d.status?(s(),c(D,{key:0,percentage:d.percent,"show-text":!1,"stroke-width":6,color:"#3B6BF7"},null,8,["percentage"])):y("",!0)]))),128))])):y("",!0),i("p",Ad,[i("span",null,o(e.$t("OR")),1)]),i("div",Id,[l(x,{"label-position":"top"},{default:n(()=>[l(M,{label:e.$t("Paste a link")},{default:n(()=>[l(L,{modelValue:m.url,"onUpdate:modelValue":t[2]||(t[2]=e=>m.url=e),type:"url",placeholder:e.$t("https://support.example.com/t/12345"),onPaste:t[3]||(t[3]=h(()=>{},["stop"]))},{prefix:n(()=>[l(S,null,{default:n(()=>[l(B)]),_:1})]),_:1},8,["modelValue","placeholder"])]),_:1},8,["label"]),l(M,{label:e.$t("Display text")},{default:n(()=>[l(L,{modelValue:m.title,"onUpdate:modelValue":t[4]||(t[4]=e=>m.title=e),placeholder:e.$t("Text to display"),onPaste:t[5]||(t[5]=h(()=>{},["stop"]))},null,8,["modelValue","placeholder"])]),_:1},8,["label"])]),_:1})])]),i("div",Dd,[l(v,{class:"fbs_ml_0 fbs_mr_0",onClick:g.closeTaskAttachmentModal},{default:n(()=>[w(o(e.$t("Cancel")),1)]),_:1},8,["onClick"]),l(v,{class:"fbs_ml_0 fbs_mr_0",type:"primary",disabled:!m.url,onClick:g.submitTaskAttachment},{default:n(()=>[w(o(e.$t("Add Link")),1)]),_:1},8,["disabled","onClick"])])],512)])]),_:3},8,["visible","placement"])}]]),Ld={class:"icon"},Md={class:"icon"},xd={class:"icon"},Pd={class:"label"};const Fd=Ss({name:"JoinAndLeaveTask",inject:["eventBus"],components:{Icons:$s,TurnOff:_t,User:ft},emits:["completed"],props:{task:{type:Object,required:!0},variant:{type:String,default:"button",validator:e=>["button","menu"].includes(e)}},data:()=>({showAssignMe:!0}),watch:{"task.assignees"(e){this.setShowAssignMe()}},mounted(){this.setShowAssignMe()},methods:{assignMyself(){(window["fbs_board_members_"+this.task.board_id].some(e=>e.ID===window.fluentAddonVars.me.id)||confirm("To join task you need to be a member of the board. Do you want to join the board?"))&&this.$post("projects/"+this.task.board_id+"/tasks/"+this.task.id+"/assign-yourself").then(e=>{this.eventBus.emit("update-tasks",[e.task]),this.visible=!1,e.task.assignees.map(e=>{e.ID==this.appVars.me.id&&(this.showAssignMe=!1)}),this.task.assignees=e.task.assignees,this.$notify.success({title:"Success",message:"You joined task"}),this.$emit("completed")}).catch(e=>{this.handleError(e)}).finally(()=>{window["fbs_board_members_"+this.task.board_id].push({ID:window.fluentAddonVars.me.id,email:window.fluentAddonVars.me.email,display_name:window.fluentAddonVars.me.display_name,photo:window.fluentAddonVars.me.photo})})},detachMyself(){this.$post("projects/"+this.task.board_id+"/tasks/"+this.task.id+"/detach-yourself").then(e=>{this.eventBus.emit("update-tasks",[e.task]),this.showAssignMe=!0,this.task.assignees=e.task.assignees,this.$notify.success({title:"Success",message:"You left task as assignee"}),this.$emit("completed")}).catch(e=>{this.handleError(e)}).finally(()=>{})},setShowAssignMe(e=[]){e.length&&(this.task.assignees=e);let t=!0;this.task.assignees.map(e=>{e.ID==this.appVars.me.id&&(t=!1)}),this.showAssignMe=t}}},[["render",function(e,t,d,h,u,p){const m=b("Icons"),g=ze;return"menu"===d.variant?(s(),a("button",{key:0,type:"button",class:"fbs-task-dropdown-menu-button",onClick:t[0]||(t[0]=e=>u.showAssignMe?p.assignMyself():p.detachMyself())},[i("span",Ld,[u.showAssignMe?(s(),c(m,{key:0,"icon-name":"user-plus"})):(s(),c(m,{key:1,"icon-name":"task-leave"}))]),w(" "+o(u.showAssignMe?e.$t("Join as Assignee"):e.$t("Leave Task")),1)])):(s(),a(r,{key:1},[u.showAssignMe?(s(),c(g,{key:0,class:"fbs_stage_action fbs_task_action",onClick:p.assignMyself},{default:n(()=>[i("span",Md,[l(m,{"icon-name":"user-plus"})]),w(" "+o(e.$t("Join as Assignee")),1)]),_:1},8,["onClick"])):(s(),c(g,{key:1,class:"fbs_stage_action fbs_task_action",onClick:p.detachMyself},{default:n(()=>[i("span",xd,[l(m,{"icon-name":"task-leave"})]),i("span",Pd,o(e.$t("Leave Task")),1)]),_:1},8,["onClick"]))],64))}]]),Ed={name:"TaskCRMContactInfo",inject:["eventBus"],components:{ConfirmationDialog:Za,Icons:$s},props:{currentContact:{type:Object}},data:()=>({contact:null,isFromTask:!1,removeDialogVisible:!1,removeDialogContext:null,removingContact:!1,segmentEditors:{tags:{open:!1,saving:!1,loadingOptions:!1,loaded:!1,ids:[],options:[]},lists:{open:!1,saving:!1,loadingOptions:!1,loaded:!1,ids:[],options:[]}}}),mounted(){const e=this.task&&this.task.contact?this.task.contact:null;this.contact=this.currentContact?this.currentContact:e,this.isFromTask=!!e},computed:{...m(Xi,["task"]),...m(js,["board"]),canRemoveContact(){return!(!this.board||this.board.archived_at||this.board.isUserOnlyViewer)},canManageContactSegments(){return!!(this.appVars.fluent_crm_exists&&!this.appVars.public_mode&&this.canManageFluentCrmContacts&&this.task&&this.task.id&&this.task.board_id&&this.contact&&this.contact.id&&this.canRemoveContact)},canManageFluentCrmContacts(){const e=this.appVars&&this.appVars.me&&"yes"===this.appVars.me.is_wp_admin;if("boolean"==typeof this.appVars.can_manage_crm_contacts)return this.appVars.can_manage_crm_contacts||e;const t=window.fcAdmin&&window.fcAdmin.auth&&window.fcAdmin.auth.permissions;return Array.isArray(t)?e||t.includes("administrator")||t.includes("fcrm_manage_contacts"):e},contactName(){return this.contact&&(this.contact.full_name||this.contact.name||this.contact.email)||this.$t("CRM Contact")},contactBadges(){return this.contact?[this.contact.status,this.contact.contact_type].filter(Boolean):[]},removeDialogMessage(){return"board"===(this.removeDialogContext||(this.isFromTask?"task":"board"))?this.$t("Are you sure you want to remove this contact from this board?"):this.$t("Are you sure you want to remove this contact from this task?")}},methods:{canShowSegment(e){return this.canManageContactSegments||this.segmentItems(e).length>0},segmentItems(e){return this.contact&&Array.isArray(this.contact[e])?this.contact[e]:[]},segmentIds(e){return this.segmentItems(e).map(e=>parseInt(e.id,10)).filter(Boolean)},normalizeIds:e=>Array.isArray(e)?e.map(e=>parseInt(e,10)).filter(Boolean):[],normalizeSegmentOptions:e=>Array.isArray(e)?e.map(e=>({id:parseInt(e.id,10),title:e.title||e.name||e.label||e.slug})).filter(e=>e.id&&e.title):[],mergeSegmentOptions(...e){const t={};return e.forEach(e=>{e.forEach(e=>{e&&e.id&&(t[e.id]=e)})}),Object.values(t).sort((e,t)=>e.title.localeCompare(t.title))},localSegmentOptions(e){const t=window.fcAdmin&&window.fcAdmin["tags"===e?"available_tags":"available_lists"],s=window.fluentAddonVars&&window.fluentAddonVars["tags"===e?"available_crm_tags":"available_crm_lists"];return this.normalizeSegmentOptions(t||s||[])},segmentOptions(e){const t=this.segmentEditors[e];return this.mergeSegmentOptions(this.localSegmentOptions(e),t.options,this.normalizeSegmentOptions(this.segmentItems(e)))},openSegmentEditor(e){this.segmentEditors[e].ids=this.segmentIds(e),this.fetchSegmentOptions(e)},getFluentCrmRest(){if(window.fcAdmin&&window.fcAdmin.rest&&window.fcAdmin.rest.url)return window.fcAdmin.rest;const e=window.fluentAddonVars&&window.fluentAddonVars.rest;return e&&e.base_url&&e.nonce?{url:e.base_url.replace(/\/$/,"")+"/fluent-crm/v2",nonce:e.nonce}:null},fluentCrmRequest(e,t,s={}){const a=this.getFluentCrmRest();if(!a)return Promise.reject({message:this.$t("FluentCRM API is not available.")});const i=Object.assign({},s,{query_timestamp:Date.now()});return new Promise((s,o)=>{window.jQuery.ajax({url:a.url.replace(/\/$/,"")+"/"+t.replace(/^\//,""),type:e,data:"GET"===e?i:JSON.stringify(i),contentType:"GET"===e?void 0:"application/json;charset=UTF-8",headers:{"X-WP-Nonce":a.nonce}}).then(e=>s(e)).fail(e=>o(e.responseJSON||e))})},fetchSegmentOptions(e){const t=this.segmentEditors[e];if(!this.canManageContactSegments||t.loaded||t.loadingOptions)return;t.loadingOptions=!0;const s="tags"===e?"all_tags":"all_lists";this.fluentCrmRequest("GET",e,{[s]:1,exclude_counts:1,sort_by:"title",sort_order:"ASC"}).then(a=>{t.options=this.normalizeSegmentOptions(a[s]||a[e]||[]),t.loaded=!0}).catch(e=>{this.$handleError(e)}).finally(()=>{t.loadingOptions=!1})},saveContactSegments(e){if(!this.canManageContactSegments)return;const t=this.normalizeIds(this.segmentEditors[e].ids),s=this.segmentIds(e),a=t.filter(e=>!s.includes(e)),i=s.filter(e=>!t.includes(e));a.length||i.length?(this.segmentEditors[e].saving=!0,this.fluentCrmRequest("POST","subscribers/sync-segments",{type:e,find_by:"id",attach:a,detach:i,subscribers:[parseInt(this.contact.id,10)]}).then(s=>{const a=s.subscribers&&s.subscribers.length?s.subscribers[0]:null;if(a)this.contact=Object.assign({},this.contact,{tags:this.normalizeSegmentOptions(a.tags),lists:this.normalizeSegmentOptions(a.lists)});else{const s=this.segmentOptions(e).filter(e=>t.includes(e.id));this.contact=Object.assign({},this.contact,{[e]:s})}this.task.contact=this.contact,this.eventBus.emit("update-tasks",[Object.assign({},this.task,{contact:this.contact})]),this.segmentEditors[e].open=!1,this.$notify({message:s.message||this.$t("CRM contact has been updated"),type:"success"})}).catch(e=>{this.$handleError(e)}).finally(()=>{this.segmentEditors[e].saving=!1})):this.segmentEditors[e].open=!1},badgeClass:e=>"subscribed"===String(e||"").toLowerCase()?"fbs-crm-contact-badge-success":"",handleContactAction(e){return"remove"===e&&(this.removeDialogContext=this.isFromTask?"task":"board",this.removeDialogVisible=!0),null},openDeleteModal(){this.emitter.emit("openDeleteDialog")},getContactURL(){return window.fluentAddonVars.crm_base_url+`subscribers/${this.contact.id}/boards`},confirmRemoveContact(){if(this.removingContact)return;this.removingContact=!0;("board"===this.removeDialogContext?this.removeContactFromBoard():this.removeContact()).finally(()=>{this.removingContact=!1})},removeContact(){return this.$put("projects/"+this.$route.params.id+"/tasks/"+this.task.id,{property:"crm_contact_id",value:null}).then(e=>{this.eventBus.emit("update-tasks",e.updatedTasks),this.contact=null,this.$notify({message:e.message,type:"success"}),this.removeDialogVisible=!1}).catch(e=>{this.$handleError(e)})},removeContactFromBoard(){return this.$del("projects/"+this.$route.params.id+"/crm-contact/"+this.contact.id).then(e=>{this.$notify.success({title:this.$t("Success"),message:e.message}),this.contact=null,this.removeDialogVisible=!1,this.emitter.emit("adjustContact",!0)}).catch(e=>{this.$handleError(e),this.emitter.emit("adjustContact",!1)})},cancelRemoveContact(){this.removingContact||(this.removeDialogVisible=!1)},resetRemoveDialog(){this.removingContact||(this.removeDialogContext=null)}}},Ud={key:0,class:"fbs-crm-profile-popover"},Od={class:"fbs-crm-contact-card-header"},Rd={class:"fbs-crm-contact-card-title fbs-sidebar-title"},Nd=["href","aria-label","title"],Hd={class:"fbs-crm-contact-card-body"},jd={class:"fbs-crm-contact-info-holder"},zd={class:"fbs-crm-profile-photo"},Gd=["src","alt"],qd={class:"fbs-crm-contact-name-email"},Wd={class:"fbs-crm-contact-name"},Kd={key:0,class:"fbs-crm-contact-email"},Zd={key:1,class:"fbs-crm-contact-profile-actions"},Yd={class:"icon"},Jd={class:"icon"},Qd={class:"fbs-crm-contact-meta-sections"},Xd={key:0,class:"fbs-crm-profile-tag-wrap"},ec={class:"fbs-heading"},tc={class:"fbs-crm-profile-tags"},sc={class:"label"},ac={key:0,class:"fbs-crm-contact-empty-segment"},ic={class:"fbs-task-sidebar-popover-box"},oc={class:"fbs_primary_text font-medium fbs_mb_6"},lc={class:"fbs-task-popover-footer-action"},nc={class:"icon"},rc={key:1,class:"fbs-crm-profile-tag-wrap"},dc={class:"fbs-heading"},cc={class:"fbs-crm-profile-tags"},hc={class:"label"},uc={key:0,class:"fbs-crm-contact-empty-segment"},pc={class:"fbs-task-sidebar-popover-box"},mc={class:"fbs_primary_text font-medium fbs_mb_6"},bc={class:"fbs-task-popover-footer-action"},gc={class:"icon"};const fc=Ss(Ed,[["render",function(e,t,h,u,p,m){const _=b("Icons"),v=ze,C=xe,T=Me,S=Pe,$=Be,V=Le,A=je,I=b("confirmation-dialog"),D=g("loading");return p.contact?(s(),a("div",Ud,[i("div",Od,[i("div",Rd,o(e.$t("CRM Contact")),1),i("a",{target:"_blank",href:m.getContactURL(),class:"fp_crm_profile_link","aria-label":e.$t("Open CRM contact"),title:e.$t("Open CRM contact")},[...t[12]||(t[12]=[i("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true"},[i("path",{d:"M6.8001 4.4001V5.6001H3.8001V12.2001H10.4001V9.2001H11.6001V12.8001C11.6001 12.9592 11.5369 13.1118 11.4244 13.2244C11.3118 13.3369 11.1592 13.4001 11.0001 13.4001H3.2001C3.04097 13.4001 2.88836 13.3369 2.77583 13.2244C2.66331 13.1118 2.6001 12.9592 2.6001 12.8001V5.0001C2.6001 4.84097 2.66331 4.68836 2.77583 4.57583C2.88836 4.46331 3.04097 4.4001 3.2001 4.4001H6.8001ZM13.4001 2.6001V7.4001H12.2001V4.6479L7.5243 9.3243L6.6759 8.4759L11.3511 3.8001H8.6001V2.6001H13.4001Z",fill:"#525866"})],-1)])],8,Nd)]),i("div",Hd,[i("div",jd,[i("div",zd,[i("img",{class:"fbs-crm-photo-holder",src:p.contact.photo,alt:m.contactName},null,8,Gd)]),i("div",qd,[i("h5",Wd,o(m.contactName),1),p.contact.email?(s(),a("p",Kd,o(p.contact.email),1)):y("",!0),m.contactBadges.length?(s(),a("div",Zd,[(s(!0),a(r,null,d(m.contactBadges,e=>(s(),a("span",{class:k(["fbs-crm-contact-badge",m.badgeClass(e)]),key:e},o(e),3))),128))])):y("",!0)]),m.canRemoveContact?(s(),c(S,{key:0,trigger:"click",placement:"bottom-end",onCommand:m.handleContactAction},{dropdown:n(()=>[l(T,null,{default:n(()=>[l(C,{class:"fbs_danger_action",command:"remove"},{default:n(()=>[i("span",Jd,[l(_,{"icon-name":"delete"})]),w(" "+o(e.$t("Remove")),1)]),_:1})]),_:1})]),default:n(()=>[l(v,{text:"",class:"extra-small only-icon-btn","aria-label":e.$t("CRM contact actions"),title:e.$t("CRM contact actions")},{default:n(()=>[i("span",Yd,[l(_,{"icon-name":"dots"})])]),_:1},8,["aria-label","title"])]),_:1},8,["onCommand"])):y("",!0)]),i("div",Qd,[m.canShowSegment("tags")?(s(),a("div",Xd,[i("span",ec,o(e.$t("Tags")),1),i("div",tc,[(s(!0),a(r,null,d(m.segmentItems("tags"),e=>(s(),a("span",{class:"fbs_priority_badge",key:e.id},[i("span",sc,o(e.title),1)]))),128)),m.segmentItems("tags").length?y("",!0):(s(),a("span",ac,o(e.$t("No tags")),1)),m.canManageContactSegments?(s(),c(A,{key:1,visible:p.segmentEditors.tags.open,"onUpdate:visible":t[5]||(t[5]=e=>p.segmentEditors.tags.open=e),"popper-class":"fbs-task-add-popover-box fbs-crm-contact-segment-popover",placement:"bottom-end",width:320,trigger:"click"},{reference:n(()=>[l(v,{class:"only-icon-btn mini","aria-label":e.$t("Manage CRM contact tags"),title:e.$t("Manage CRM contact tags"),onClick:t[4]||(t[4]=e=>m.openSegmentEditor("tags"))},{default:n(()=>[i("span",nc,[l(_,{"icon-name":"plus"})])]),_:1},8,["aria-label","title"])]),default:n(()=>[i("div",ic,[i("div",oc,o(e.$t("Manage Tags")),1),l(V,{modelValue:p.segmentEditors.tags.ids,"onUpdate:modelValue":t[0]||(t[0]=e=>p.segmentEditors.tags.ids=e),multiple:"",filterable:"","popper-class":"fbs-crm-contact-segment-select-dropdown",teleported:!1,"fit-input-width":!0,loading:p.segmentEditors.tags.loadingOptions,placeholder:e.$t("Select tags"),onVisibleChange:t[1]||(t[1]=e=>m.fetchSegmentOptions("tags"))},{default:n(()=>[(s(!0),a(r,null,d(m.segmentOptions("tags"),e=>(s(),c($,{key:e.id,label:e.title,value:e.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue","loading","placeholder"]),i("div",lc,[l(v,{size:"small",onClick:t[2]||(t[2]=e=>p.segmentEditors.tags.open=!1)},{default:n(()=>[w(o(e.$t("Cancel")),1)]),_:1}),f((s(),c(v,{disabled:p.segmentEditors.tags.saving,size:"small",type:"primary",onClick:t[3]||(t[3]=e=>m.saveContactSegments("tags"))},{default:n(()=>[w(o(e.$t("Save")),1)]),_:1},8,["disabled"])),[[D,p.segmentEditors.tags.saving]])])])]),_:1},8,["visible"])):y("",!0)])])):y("",!0),m.canShowSegment("lists")?(s(),a("div",rc,[i("span",dc,o(e.$t("Lists")),1),i("div",cc,[(s(!0),a(r,null,d(m.segmentItems("lists"),e=>(s(),a("span",{class:"fbs_priority_badge",key:e.id},[i("span",hc,o(e.title),1)]))),128)),m.segmentItems("lists").length?y("",!0):(s(),a("span",uc,o(e.$t("No lists")),1)),m.canManageContactSegments?(s(),c(A,{key:1,visible:p.segmentEditors.lists.open,"onUpdate:visible":t[11]||(t[11]=e=>p.segmentEditors.lists.open=e),"popper-class":"fbs-task-add-popover-box fbs-crm-contact-segment-popover",placement:"bottom-end",width:320,trigger:"click"},{reference:n(()=>[l(v,{class:"mini only-icon-btn","aria-label":e.$t("Manage CRM contact lists"),title:e.$t("Manage CRM contact lists"),onClick:t[10]||(t[10]=e=>m.openSegmentEditor("lists"))},{default:n(()=>[i("span",gc,[l(_,{"icon-name":"plus"})])]),_:1},8,["aria-label","title"])]),default:n(()=>[i("div",pc,[i("div",mc,o(e.$t("Manage Lists")),1),l(V,{modelValue:p.segmentEditors.lists.ids,"onUpdate:modelValue":t[6]||(t[6]=e=>p.segmentEditors.lists.ids=e),multiple:"",filterable:"","popper-class":"fbs-crm-contact-segment-select-dropdown",teleported:!1,"fit-input-width":!0,loading:p.segmentEditors.lists.loadingOptions,placeholder:e.$t("Select lists"),onVisibleChange:t[7]||(t[7]=e=>m.fetchSegmentOptions("lists"))},{default:n(()=>[(s(!0),a(r,null,d(m.segmentOptions("lists"),e=>(s(),c($,{key:e.id,label:e.title,value:e.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue","loading","placeholder"]),i("div",bc,[l(v,{size:"small",onClick:t[8]||(t[8]=e=>p.segmentEditors.lists.open=!1)},{default:n(()=>[w(o(e.$t("Cancel")),1)]),_:1}),f((s(),c(v,{disabled:p.segmentEditors.lists.saving,size:"small",type:"primary",onClick:t[9]||(t[9]=e=>m.saveContactSegments("lists"))},{default:n(()=>[w(o(e.$t("Save")),1)]),_:1},8,["disabled"])),[[D,p.segmentEditors.lists.saving]])])])]),_:1},8,["visible"])):y("",!0)])])):y("",!0)])]),l(I,{"dialog-visible":p.removeDialogVisible,loading:p.removingContact,title:e.$t("Confirmation Required"),message:m.removeDialogMessage,"confirm-text":e.$t("Remove"),onConfirm:m.confirmRemoveContact,onCancel:m.cancelRemoveContact,onClosed:m.resetRemoveDialog},null,8,["dialog-visible","loading","title","message","confirm-text","onConfirm","onCancel","onClosed"])])):y("",!0)}]]),_c={name:"TaskAttachmentPreviewDialog",props:{modelValue:{type:Boolean,default:!1},attachment:{type:Object,default:()=>({})},previewType:{type:String,default:""},title:{type:String,default:""}},emits:["update:modelValue","download"],data:()=>({loading:!1,markdownHtml:"",errorMessage:"",markdownRequestId:0,markdownAbortController:null}),computed:{dialogVisible:{get(){return this.modelValue},set(e){this.$emit("update:modelValue",e)}},attachmentUrl(){var e,t;return(null==(e=this.attachment)?void 0:e.secure_url)||(null==(t=this.attachment)?void 0:t.full_url)||""},displayTitle(){var e;return this.title||(null==(e=this.attachment)?void 0:e.title)||this.$t("Attachment Preview")},isPdf(){return"pdf"===this.previewType},isMarkdown(){return"markdown"===this.previewType}},watch:{dialogVisible(e){e&&this.isMarkdown?this.loadMarkdown():e||this.cancelMarkdownPreview()},attachmentUrl(){this.dialogVisible&&this.isMarkdown&&this.loadMarkdown()}},methods:{loadMarkdown(){const e=this.attachmentUrl,t=this.markdownRequestId+1;this.markdownRequestId=t,this.cancelMarkdownPreview(!1),e?(this.markdownAbortController=new AbortController,this.loading=!0,this.errorMessage="",this.markdownHtml="",fetch(e,{credentials:"same-origin",signal:this.markdownAbortController.signal}).then(e=>{if(!e.ok)throw new Error("Preview request failed");return e.text()}).then(s=>{this.isCurrentMarkdownRequest(t,e)&&(this.markdownHtml=Z.sanitize(G.parse(s||"")))}).catch(s=>{this.isCurrentMarkdownRequest(t,e)&&"AbortError"!==(null==s?void 0:s.name)&&(this.errorMessage=this.$t("Attachment preview is not available. Please download the file to view it."))}).finally(()=>{this.isCurrentMarkdownRequest(t,e)&&(this.loading=!1,this.markdownAbortController=null)})):this.errorMessage=this.$t("Attachment preview is not available.")},isCurrentMarkdownRequest(e,t){return this.dialogVisible&&this.isMarkdown&&this.markdownRequestId===e&&this.attachmentUrl===t},cancelMarkdownPreview(e=!0){e&&(this.markdownRequestId+=1),this.markdownAbortController&&(this.markdownAbortController.abort(),this.markdownAbortController=null)},openInNewTab(){this.attachmentUrl&&window.open(this.attachmentUrl,"_blank","noopener,noreferrer")},downloadAttachment(){this.$emit("download")},resetPreview(){this.cancelMarkdownPreview(),this.loading=!1,this.markdownHtml="",this.errorMessage=""}},beforeUnmount(){this.cancelMarkdownPreview()}},kc={key:0,class:"fbs-task-attachment-pdf-preview"},vc=["src","title"],yc={key:1,class:"fbs-task-attachment-markdown-preview"},wc={key:0,class:"fbs-task-attachment-preview-error"},Cc=["innerHTML"],Tc={class:"dialog-footer justify-end"};const Sc={name:"TaskAttachmentCard",props:["attachment"],emits:["deleteTaskAttachment","updateTaskAttachments"],components:{Icons:$s,TaskAttachmentPreviewDialog:Ss(_c,[["render",function(e,t,r,d,h,u){const p=ze,m=Ge,b=g("loading");return s(),c(m,{modelValue:u.dialogVisible,"onUpdate:modelValue":t[0]||(t[0]=e=>u.dialogVisible=e),title:u.displayTitle,width:"80%",class:"fbs-task-attachment-preview-dialog","append-to-body":"","destroy-on-close":"",onClosed:u.resetPreview},{footer:n(()=>[i("span",Tc,[l(p,{onClick:u.openInNewTab},{default:n(()=>[w(o(e.$t("Open in new tab")),1)]),_:1},8,["onClick"]),l(p,{type:"primary",onClick:u.downloadAttachment},{default:n(()=>[w(o(e.$t("Download")),1)]),_:1},8,["onClick"])])]),default:n(()=>[u.isPdf?(s(),a("div",kc,[i("iframe",{src:u.attachmentUrl,title:u.displayTitle,class:"fbs-task-attachment-pdf-frame"},null,8,vc)])):u.isMarkdown?f((s(),a("div",yc,[h.errorMessage?(s(),a("div",wc,o(h.errorMessage),1)):h.markdownHtml?(s(),a("div",{key:1,class:"fbs-task-attachment-markdown-body",innerHTML:h.markdownHtml},null,8,Cc)):y("",!0)])),[[b,h.loading]]):y("",!0)]),_:1},8,["modelValue","title","onClosed"])}]])},data:()=>({isEditingTitle:!1,taskAttachmentTitle:"",websiteData:{},previewDialogVisible:!1,showImagePreview:!1}),computed:{...m(js,["board"]),isUrlAttachment(){return"url"==this.attachment.attachment_type},attachmentType(){return(this.attachment.attachment_type||"").toLowerCase()},attachmentName(){return[this.attachment.title,this.attachment.file_name,this.attachment.full_url,this.attachment.file_path].filter(Boolean).join(" ")},attachmentExtension(){const e=this.attachmentName.split("?")[0].split("#")[0].match(/\.([a-z0-9]+)$/i);return e?e[1].toLowerCase():""},isImageAttachment(){return!this.isUrlAttachment&&this.isImage(this.attachmentType)},isPdfAttachment(){return!this.isUrlAttachment&&("application/pdf"===this.attachmentType||"pdf"===this.attachmentExtension)},isMarkdownAttachment(){return!this.isUrlAttachment&&(["text/markdown","text/x-markdown"].includes(this.attachmentType)||["md","markdown"].includes(this.attachmentExtension))},attachmentPreviewType(){return this.isPdfAttachment?"pdf":this.isMarkdownAttachment?"markdown":""},previewImage(){return this.isUrlAttachment?this.websiteData.image||"":this.isImageAttachment?this.attachment.secure_url:""},displayTitle(){return this.attachment.title?this.attachment.title:this.isUrlAttachment?this.websiteData.title||this.attachment.full_url||this.attachment.secure_url:this.attachment.file_name||this.attachment.secure_url||this.$t("Attachment")},displayDescription(){return this.isUrlAttachment&&(this.websiteData.description||this.attachment.full_url)||""}},watch:{isEditingTitle(e){this.attachmentEditing(e&&this.taskAttachmentTitle!=this.attachment.title)}},methods:{...M(Qi,["attachmentEditing"]),handleAttachmentOpen(){this.isUrlAttachment?this.openExternalAttachment():this.isImageAttachment?this.openImagePreview():this.attachmentPreviewType?this.previewDialogVisible=!0:this.downloadAttachment()},openImagePreview(){this.showImagePreview=!0,this.$nextTick(()=>{var e;(null==(e=this.$refs.attachmentImagePreview)?void 0:e.showPreview)&&this.$refs.attachmentImagePreview.showPreview()})},openExternalAttachment(){const e=this.attachment.secure_url||this.attachment.full_url;e&&window.open(e,"_blank","noopener,noreferrer")},downloadAttachment(){const e=this.attachment.secure_url||this.attachment.full_url;if(!e)return void this.$notify({message:this.$t("Attachment preview is not available. Please download the file to view it."),type:"error"});const t=document.createElement("a");t.href=e,t.download=this.displayTitle||"",t.rel="noopener noreferrer",t.style.display="none",document.body.appendChild(t),t.click(),document.body.removeChild(t)},editTaskAttachmentTitle(){this.taskAttachmentTitle=this.attachment.title||this.displayTitle,this.isEditingTitle=!0,this.$nextTick(()=>{this.$refs.attachmentTitle.focus()})},deleteTaskAttachment(){this.$emit("deleteTaskAttachment",this.attachment)},saveAttachmentTitle(){this.$put("tasks/"+this.attachment.object_id+"/attachment-update/"+this.attachment.id,{title:this.taskAttachmentTitle}).then(e=>{this.$emit("updateTaskAttachments",e.attachment)}).catch(e=>{this.$handleError(e)}).finally(()=>{this.isEditingTitle=!1})},copyToClipboard(){if(navigator.clipboard)navigator.clipboard.writeText(this.attachment.secure_url).then(()=>{this.$notify({message:this.$t("Url copied successfully."),type:"success"})}).catch(e=>{});else{let t=document.createElement("textarea");t.value=this.attachment.secure_url,t.style.position="fixed",t.style.top="-9999px",t.style.left="-9999px",document.body.appendChild(t),t.focus(),t.select();try{const e=document.execCommand("copy");this.$notify({message:e?this.$t("Url copied successfully."):this.$t("Url copy failed."),type:e?"success":"error"})}catch(e){this.$notify({message:this.$t("Something went wrong!!"),type:"error"})}document.body.removeChild(t)}},isImage:e=>!!e&&e.includes("image")},mounted(){var e;this.isUrlAttachment&&(this.websiteData=(null==(e=this.attachment.settings)?void 0:e.meta)||{})}},$c=["title"],Vc={class:"fbs-card-content"},Ac=["src"],Ic={key:1,class:"fbs-image-slot"},Dc={key:0,class:"fbs-link-attachment-icon",xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none","aria-hidden":"true"},Bc={class:"fbs-card-body"},Lc={class:"fbs-card-title"},Mc={key:0,class:"fbs-card-text"},xc={key:1,class:"fbs-task-attachment-title-editing-input"},Pc={key:2,class:"fbs-task-attachments-settings"},Fc=["href","aria-label"],Ec={class:"icon"},Uc=["aria-label"],Oc={class:"icon"},Rc=["aria-label"],Nc={class:"icon"},Hc=["aria-label"],jc={class:"icon"};const zc={name:"TaskAttachments",inject:["eventBus"],emits:["attachments-change"],components:{TaskAttachmentCard:Ss(Sc,[["render",function(e,t,r,d,u,p){const m=b("Icons"),g=He,f=We,_=st,v=kt,w=b("task-attachment-preview-dialog");return s(),a("div",{class:k(["fbs-task-attachment-card",{"is-editing":u.isEditingTitle}])},[u.isEditingTitle?y("",!0):(s(),a("button",{key:0,type:"button",class:"fbs-task-attachment-link",title:p.displayTitle,onClick:t[0]||(t[0]=(...e)=>p.handleAttachmentOpen&&p.handleAttachmentOpen(...e))},[i("div",Vc,[i("div",{class:k(["fbs-card-content-file",{"fbs-card-content-file-icon":!p.previewImage}])},[p.previewImage?(s(),a("img",{key:0,src:p.previewImage,alt:"",class:"fbs-card-preview-image"},null,8,Ac)):(s(),a("div",Ic,[p.isUrlAttachment?(s(),a("svg",Dc,[...t[9]||(t[9]=[i("path",{d:"M17.7278 15.1822L16.4552 13.9078L17.7278 12.6352C18.1487 12.218 18.483 11.7218 18.7116 11.1751C18.9402 10.6283 19.0585 10.0418 19.0598 9.44919C19.0611 8.85658 18.9453 8.26956 18.7192 7.72181C18.493 7.17407 18.1608 6.67639 17.7418 6.25735C17.3228 5.83832 16.8251 5.50617 16.2773 5.27999C15.7296 5.05381 15.1426 4.93805 14.55 4.93934C13.9574 4.94064 13.3708 5.05898 12.8241 5.28755C12.2773 5.51613 11.7811 5.85045 11.3639 6.27132L10.0913 7.54482L8.81783 6.27222L10.0922 4.99962C11.2738 3.81808 12.8763 3.1543 14.5472 3.1543C16.2182 3.1543 17.8207 3.81808 19.0022 4.99962C20.1838 6.18116 20.8476 7.78367 20.8476 9.45462C20.8476 11.1256 20.1838 12.7281 19.0022 13.9096L17.7287 15.1822H17.7278ZM15.1826 17.7274L13.9091 19C12.7276 20.1816 11.1251 20.8453 9.45413 20.8453C7.78318 20.8453 6.18067 20.1816 4.99913 19C3.81759 17.8185 3.15381 16.216 3.15381 14.545C3.15381 12.8741 3.81759 11.2716 4.99913 10.09L6.27263 8.81742L7.54523 10.0918L6.27263 11.3644C5.85176 11.7816 5.51744 12.2778 5.28887 12.8246C5.06029 13.3713 4.94195 13.9578 4.94066 14.5504C4.93936 15.1431 5.05512 15.7301 5.2813 16.2778C5.50748 16.8256 5.83963 17.3232 6.25866 17.7423C6.6777 18.1613 7.17538 18.4935 7.72312 18.7196C8.27087 18.9458 8.85789 19.0616 9.4505 19.0603C10.0431 19.059 10.6296 18.9407 11.1764 18.7121C11.7231 18.4835 12.2193 18.1492 12.6365 17.7283L13.9091 16.4557L15.1826 17.7283V17.7274ZM14.5454 8.18112L15.8189 9.45462L9.45503 15.8176L8.18153 14.545L14.5454 8.18202V8.18112Z",fill:"currentColor"},null,-1)])])):(s(),c(m,{key:1,"icon-name":"copy"}))]))],2),i("div",Bc,[i("span",Lc,o(p.displayTitle),1),p.displayDescription?(s(),a("span",Mc,o(p.displayDescription),1)):y("",!0)])])],8,$c)),u.isEditingTitle?(s(),a("div",xc,[l(g,{ref:"attachmentTitle",modelValue:u.taskAttachmentTitle,"onUpdate:modelValue":t[1]||(t[1]=e=>u.taskAttachmentTitle=e),placeholder:e.$t("Title"),type:"text",onBlur:t[2]||(t[2]=e=>u.isEditingTitle=!1),onChange:p.saveAttachmentTitle,onPaste:t[3]||(t[3]=h(()=>{},["stop"]))},null,8,["modelValue","placeholder","onChange"])])):y("",!0),e.board.archived_at?y("",!0):(s(),a("div",Pc,["url"!=r.attachment.attachment_type?(s(),c(f,{key:0,content:e.$t("Download"),effect:"dark",placement:"top"},{default:n(()=>[i("a",{class:"fbs-task-attachment-action",href:r.attachment.secure_url,"aria-label":e.$t("Download"),download:""},[i("span",Ec,[l(m,{"icon-name":"download"})])],8,Fc)]),_:1},8,["content"])):y("",!0),e.board.isUserOnlyViewer||e.board.archived_at?y("",!0):(s(),c(f,{key:1,content:e.$t("Edit Title"),effect:"dark",placement:"top"},{default:n(()=>[i("button",{type:"button",class:"fbs-task-attachment-action","aria-label":e.$t("Edit Title"),onClick:t[4]||(t[4]=(...e)=>p.editTaskAttachmentTitle&&p.editTaskAttachmentTitle(...e))},[i("span",Oc,[l(m,{"icon-name":"pen"})])],8,Uc)]),_:1},8,["content"])),l(f,{content:e.$t("Copy url"),effect:"dark",placement:"top"},{default:n(()=>[i("button",{type:"button",class:"fbs-task-attachment-action","aria-label":e.$t("Copy url"),onClick:t[5]||(t[5]=(...e)=>p.copyToClipboard&&p.copyToClipboard(...e))},[i("span",Nc,[l(m,{"icon-name":"copy"})])],8,Rc)]),_:1},8,["content"]),e.board.isUserOnlyViewer||e.board.archived_at?y("",!0):(s(),c(_,{key:2,"cancel-button-text":e.$t("No, Thanks"),class:"fbs-task-attachment-delete-pop-confirm","confirm-button-text":e.$t("OK"),icon:"InfoFilled","icon-color":"#626AEF",title:e.$t("Are you sure to delete this?"),width:"240",onConfirm:t[6]||(t[6]=e=>p.deleteTaskAttachment(r.attachment))},{reference:n(()=>[i("button",{type:"button",class:"fbs-task-attachment-action","aria-label":e.$t("Delete")},[i("span",jc,[l(m,{"icon-name":"delete"})])],8,Hc)]),_:1},8,["cancel-button-text","confirm-button-text","title"]))])),u.showImagePreview?(s(),c(v,{key:3,ref:"attachmentImagePreview",class:"fbs-task-attachment-hidden-preview",src:r.attachment.secure_url,alt:p.displayTitle,"zoom-rate":1.2,"max-scale":7,"min-scale":.1,"preview-src-list":[r.attachment.secure_url],fit:"cover","hide-on-click-modal":"","preview-teleported":!0,onClose:t[7]||(t[7]=e=>u.showImagePreview=!1)},null,8,["src","alt","preview-src-list"])):y("",!0),l(w,{modelValue:u.previewDialogVisible,"onUpdate:modelValue":t[8]||(t[8]=e=>u.previewDialogVisible=e),attachment:r.attachment,"preview-type":p.attachmentPreviewType,title:p.displayTitle,onDownload:p.downloadAttachment},null,8,["modelValue","attachment","preview-type","title","onDownload"])],2)}]]),AddTaskAttachment:Bd,FileUploadProgressBar:cr},data:()=>({isOpenTaskAttachment:!1,isPlusTaskAttachment:!1,attachments:[],attachmentsLoaded:!1}),watch:{task(e,t){e.id&&e.id!=t.id&&(this.attachmentsLoaded=!1,this.getTaskAttachment())},attachments(e){this.$emit("attachments-change",{loaded:this.attachmentsLoaded,hasAttachments:(e||[]).length>0})},isOpenTaskAttachment(e){this.attachmentEditing(e)},isPlusTaskAttachment(e){this.attachmentEditing(e)}},created(){this.eventBus.on("task-attachments-created",e=>{this.attachments=[...this.attachments,...e]})},computed:{...m(nr,["showTaskAttachmentFileUploadProgressBar"]),...m(Xi,["task"]),...m(js,["board"])},methods:{...M(Qi,["attachmentEditing"]),getTaskAttachment(){this.$get("projects/"+this.task.board_id+"/tasks/"+this.task.id+"/attachment").then(e=>{this.attachmentsLoaded=!0,this.attachments=e.attachments||[]}).catch(e=>{this.handleError(e)})},deleteTaskAttachment(e){this.$del("tasks/"+e.object_id+"/attachment-delete/"+e.id).then(t=>{this.attachments=t.attachments,this.eventBus.emit("attachment-deleted",e.object_id)}).catch(e=>{this.handleError(e)}).finally(()=>{})},updateTaskAttachments(e){this.attachments=this.attachments.map(t=>t.id===e.id?e:t)},closeTaskAttachmentModal(){this.isOpenTaskAttachment=!1,this.isPlusTaskAttachment=!1},updatedAttachmentCount(){this.eventBus.emit("change-task-property",{task:this.task,property:"attachment_count",value:!0})},handleClick(e){"plusClick"===e?(this.isOpenTaskAttachment=!1,this.isPlusTaskAttachment=!this.isPlusTaskAttachment):"attachmentClick"===e&&(this.isPlusTaskAttachment=!1,this.isOpenTaskAttachment=!this.isOpenTaskAttachment)}},mounted(){this.getTaskAttachment()},beforeUnmount(){this.eventBus.off("task-attachments-created")}},Gc={class:"fbs-task-attachments"},qc={class:"fbs-task-attachments-header"},Wc={class:"fbs-task-attachments-header-left"},Kc={key:0,class:"fbs-task-attachment-lists"};const Zc=Ss(zc,[["render",function(e,t,h,u,p,m){const g=b("Link"),f=Ne,_=b("add-task-attachment"),v=b("task-attachment-card");return s(),a("div",Gc,[i("div",qc,[i("div",Wc,[i("h4",null,[l(f,null,{default:n(()=>[l(g)]),_:1}),w(" "+o(e.$t("Attachments"))+" ",1),e.board.archived_at?y("",!0):(s(),c(_,{key:0,visible:p.isPlusTaskAttachment,"button-type":"plus",onHandleClick:t[0]||(t[0]=e=>m.handleClick("plusClick")),onCloseTaskAttachmentModal:m.closeTaskAttachmentModal},null,8,["visible","onCloseTaskAttachmentModal"]))])])]),p.attachments.length?(s(),a("div",Kc,[(s(!0),a(r,null,d(p.attachments,e=>(s(),c(v,{key:e.id,attachment:e,onDeleteTaskAttachment:m.deleteTaskAttachment,onUpdateTaskAttachments:m.updateTaskAttachments},null,8,["attachment","onDeleteTaskAttachment","onUpdateTaskAttachments"]))),128))])):y("",!0),e.board.archived_at||e.board.isUserOnlyViewer?y("",!0):(s(),a("div",{key:1,class:k([p.attachments.length>0?"":"fbs_margin_top_24_px","fbs_add_attachment_popover_box"])},[e.board.archived_at?y("",!0):(s(),c(_,{key:0,visible:p.isOpenTaskAttachment,"button-type":"text",onHandleClick:t[1]||(t[1]=e=>m.handleClick("attachmentClick")),onCloseTaskAttachmentModal:m.closeTaskAttachmentModal},null,8,["visible","onCloseTaskAttachmentModal"]))],2))])}]]),Yc={name:"ConvertToSubtask",components:{InfoFilled:vt},inject:["eventBus"],props:["task"],emits:["close","can-convert","converting"],data:()=>({allTasks:[],loading:!1,allGroupsOfTask:[],form:{selectedTaskId:"",subtaskGroupId:"",assigneeId:""}}),watch:{"form.selectedTaskId"(e){var t;this.$emit("can-convert",!!e),this.form.subtaskGroupId="",this.allGroupsOfTask=e&&(null==(t=this.allTasks.find(t=>t.id==e))?void 0:t.subtask_groups)||[],this.$nextTick(()=>{var e;return null==(e=this.$refs.formRef)?void 0:e.clearValidate("subtaskGroupId")})}},computed:{...m(js,["board"]),rules(){return{selectedTaskId:[{required:!0,message:"* "+this.$t("Please select parent task"),trigger:"change"}],subtaskGroupId:[{required:!!this.allGroupsOfTask.length,message:"** "+this.$t("please select subtask group"),trigger:"change"}]}}},methods:{getTasks(e){this.loading=!0,this.$get("ajax-options",{option_key:"tasks",search:e,board_id:this.board.id,values:this.form.selectedTaskId}).then(e=>{this.allTasks=e.options.filter(e=>e.id!=this.task.id&&e.board_id==this.board.id)}).catch(e=>{this.$handleError(e)}).finally(()=>{this.loading=!1})},convert(){this.loading||this.$refs.formRef.validate(e=>{e&&(this.loading=!0,this.$emit("converting",!0),this.$put("projects/"+this.board.id+"/tasks/"+this.task.id+"/convert-to-subtask",{parent_id:this.form.selectedTaskId,assigneeId:this.form.assigneeId,subtaskGroupId:this.form.subtaskGroupId}).then(e=>{this.$notify.success({title:"Success",message:e.message}),this.emitter.emit("subtask-updated",{taskId:e.parentTask.id,operation:"add"}),this.emitter.emit("updateBoard",this.board.id),this.eventBus.emit("show-task",e.parentTask),this.emitter.emit("subtask-group-updated"),this.close()}).catch(e=>{this.$handleError(e)}).finally(()=>{this.loading=!1,this.$emit("converting",!1)}))})},close(){this.$emit("close")}},mounted(){this.getTasks()}},Jc={class:"fbs-board-wordpress-user-container"},Qc=["src","alt"],Xc={class:"fbs_secondary_text small fbs_mt_4"};const eh={name:"ConvertToSubtaskDialog",components:{ConvertToSubtask:Ss(Yc,[["render",function(e,t,u,p,m,g){const f=Be,_=Le,k=gt,v=b("InfoFilled"),C=Ne,T=We,S=bt;return s(),c(S,{ref:"formRef",class:"fbs_task_convert_form",model:m.form,rules:g.rules,"label-position":"top","require-asterisk-position":"right",onSubmit:t[6]||(t[6]=h(()=>{},["prevent"]))},{default:n(()=>[l(k,{label:e.$t("Select Parent Task"),prop:"selectedTaskId"},{default:n(()=>[l(_,{placement:"bottom",modelValue:m.form.selectedTaskId,"onUpdate:modelValue":t[0]||(t[0]=e=>m.form.selectedTaskId=e),filterable:"",clearable:"","collapse-tags":"",remote:"","max-collapse-tags":0,loading:m.loading,placeholder:e.$t("Search and select task title"),"remote-method":g.getTasks,onPaste:t[1]||(t[1]=h(()=>{},["stop"]))},{default:n(()=>[(s(!0),a(r,null,d(m.allTasks,e=>(s(),c(f,{key:e.id,label:e.title,value:e.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue","loading","placeholder","remote-method"])]),_:1},8,["label"]),m.allGroupsOfTask.length?(s(),c(k,{key:0,prop:"subtaskGroupId"},{label:n(()=>[w(o(e.$t("Select Subtask Group"))+" ",1),l(T,{class:"box-item",effect:"dark",content:e.$t("** This task has subtask groups, please select one of them."),placement:"top"},{default:n(()=>[l(C,null,{default:n(()=>[l(v)]),_:1})]),_:1},8,["content"])]),default:n(()=>[l(_,{placement:"bottom",modelValue:m.form.subtaskGroupId,"onUpdate:modelValue":t[2]||(t[2]=e=>m.form.subtaskGroupId=e),filterable:"",clearable:"","collapse-tags":"","max-collapse-tags":0,loading:m.loading,placeholder:e.$t("Type subtask group title"),onPaste:t[3]||(t[3]=h(()=>{},["stop"]))},{default:n(()=>[(s(!0),a(r,null,d(m.allGroupsOfTask,e=>(s(),c(f,{key:e.id,label:e.value,value:e.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue","loading","placeholder"])]),_:1})):y("",!0),u.task.assignees.length?(s(),c(k,{key:1,prop:"assigneeId"},{label:n(()=>[w(o(e.$t("Select Subtask Assignee"))+" ",1),l(T,{class:"box-item",effect:"dark",content:e.$t("** This task has assignees, please select one of them."),placement:"top"},{default:n(()=>[l(C,null,{default:n(()=>[l(v)]),_:1})]),_:1},8,["content"])]),default:n(()=>[l(_,{modelValue:m.form.assigneeId,"onUpdate:modelValue":t[4]||(t[4]=e=>m.form.assigneeId=e),placeholder:e.$t("Select Assignee"),clearable:"",onPaste:t[5]||(t[5]=h(()=>{},["stop"]))},{default:n(()=>[(s(!0),a(r,null,d(u.task.assignees,e=>(s(),c(f,{key:e.ID,label:e.user_email,value:e.ID},{default:n(()=>[i("div",Jc,[i("img",{width:"30px",height:"30px",src:e.photo,alt:e.user_email},null,8,Qc),w(" "+o(e.user_email),1)])]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"]),i("div",Xc,"**"+o(e.$t("Keeping blank won't add any assignee")),1)]),_:1})):y("",!0)]),_:1},8,["model","rules"])}],["__scopeId","data-v-879384ce"]])},props:{modelValue:{type:Boolean,default:!1},task:{type:Object,required:!0}},emits:["update:modelValue"],data:()=>({canConvert:!1,converting:!1}),watch:{modelValue(e){e&&(this.canConvert=!1,this.converting=!1)}},computed:{visible:{get(){return this.modelValue},set(e){this.$emit("update:modelValue",e)}}}},th={class:"dialog-footer justify-end"};const sh=Ss(eh,[["render",function(e,t,a,r,d,h){const u=b("convert-to-subtask"),p=ze,m=Ge;return s(),c(m,{modelValue:h.visible,"onUpdate:modelValue":t[5]||(t[5]=e=>h.visible=e),title:e.$t("Convert to subtask"),width:"480px","append-to-body":"","destroy-on-close":"",class:"fbs-task-action-dialog"},{footer:n(()=>[i("div",th,[l(p,{class:"fbs_cancel_button",onClick:t[3]||(t[3]=e=>h.visible=!1)},{default:n(()=>[w(o(e.$t("Cancel")),1)]),_:1}),l(p,{type:"primary",disabled:!d.canConvert,title:d.canConvert?"":e.$t("Select Parent Task"),loading:d.converting,onClick:t[4]||(t[4]=t=>e.$refs.convertForm.convert())},{default:n(()=>[w(o(e.$t("Convert")),1)]),_:1},8,["disabled","title","loading"])])]),default:n(()=>[h.visible?(s(),c(u,{key:0,ref:"convertForm",task:a.task,onClose:t[0]||(t[0]=e=>h.visible=!1),onCanConvert:t[1]||(t[1]=e=>d.canConvert=e),onConverting:t[2]||(t[2]=e=>d.converting=e)},null,8,["task"])):y("",!0)]),_:1},8,["modelValue","title"])}]]),ah={name:"CustomFieldForm",components:{ConfirmationDialog:Za,Icons:$s,CustomIcon:ml,ArrowUp:yt,ArrowDown:it},props:{mode:{type:String,default:"create"},boardId:{type:[Number,String],required:!0},field:{type:Object,default:null},existingFields:{type:Array,default:()=>[]}},emits:["saved","deleted","close"],data(){return{fieldTypes:[{value:"text",label:this.$t("Text")},{value:"number",label:this.$t("Number")},{value:"select",label:this.$t("Select")},{value:"multi-select",label:this.$t("Multi Select")},{value:"date",label:this.$t("Date")},{value:"checkbox",label:this.$t("Checkbox")}],customField:{title:"",type:""},selectedOptions:[],newOption:"",isSaving:!1,isDeleting:!1,deleteDialogVisible:!1,editingOptionIndex:null}},computed:{...m(js,["board"]),isCreate(){return"create"===this.mode}},methods:{addSelectOption(){this.board.isUserOnlyViewer||""==this.newOption||(this.selectedOptions.unshift(this.newOption),this.newOption="",this.newOptionFocus())},moveOption(e,t){if(this.board.isUserOnlyViewer)return;const s="up"===t?e-1:e+1;if(s<0||s>=this.selectedOptions.length)return;const a=this.selectedOptions.splice(e,1)[0];this.selectedOptions.splice(s,0,a),this.editingOptionIndex=null},startEditingOption(e){this.board.isUserOnlyViewer||(this.editingOptionIndex=e,this.$nextTick(()=>{const e=this.$refs.optionInput,t=Array.isArray(e)?e[0]:e;t&&(t.focus(),t.select())}))},stopEditingOption(){if(null===this.editingOptionIndex)return;const e=(this.selectedOptions[this.editingOptionIndex]||"").trim();e?this.selectedOptions[this.editingOptionIndex]=e:this.selectedOptions.splice(this.editingOptionIndex,1),this.editingOptionIndex=null},newOptionFocus(){this.$nextTick(()=>{this.$refs.newOption.focus()})},deleteSelectOption(e){this.board.isUserOnlyViewer||(this.selectedOptions.splice(e,1),this.newOptionFocus())},createCustomField(){if(!this.board.isUserOnlyViewer){if(this.isSaving=!0,this.duplicateCustomFieldCheck())return this.$notify.error({title:"Error",message:"duplicate title and type"}),void(this.isSaving=!1);if("select"==this.customField.type||"multi-select"==this.customField.type){if(!this.selectedOptions.length)return this.$notify.error({title:"Error",message:this.$t("Please add at least one option")}),void(this.isSaving=!1);this.customField.options=this.selectedOptions}this.$post("projects/"+this.board.id+"/custom-field",{customField:this.customField}).then(e=>{this.$notify.success({title:"Success",message:e.message}),this.emitter.emit("updateBoard",this.board.id),this.emitter.emit("custom-field-updated"),this.$emit("saved")}).catch(e=>{this.$handleError(e)}).finally(()=>{this.isSaving=!1})}},updateCustomField(){if(!this.board.isUserOnlyViewer){if(this.isSaving=!0,this.duplicateCustomFieldCheck())return this.$notify.error({title:"Error",message:this.$t("Duplicate title and type")}),void(this.isSaving=!1);if("select"==this.customField.type||"multi-select"==this.customField.type){if(!this.selectedOptions.length)return this.$notify.error({title:"Error",message:this.$t("Please add at least one option")}),void(this.isSaving=!1);this.customField.options=this.selectedOptions}this.$put("projects/"+this.board.id+"/custom-field/"+this.field.id,{customField:this.customField}).then(e=>{this.$notify.success({title:"Success",message:e.message}),this.emitter.emit("custom-field-updated"),this.emitter.emit("updateBoard",this.board.id),this.$emit("saved")}).catch(e=>{this.$handleError(e)}).finally(()=>{this.isSaving=!1})}},duplicateCustomFieldCheck(){return this.existingFields.find(e=>{if((this.field?this.field.id:null)!=e.id&&e.title==this.customField.title&&e.settings.custom_field_type==this.customField.type)return!0})},deleteCustomField(){this.board.isUserOnlyViewer||this.openDeleteDialog()},openDeleteDialog(){this.board.isUserOnlyViewer||this.isDeleting||(this.deleteDialogVisible=!0)},confirmDeleteCustomField(){this.board.isUserOnlyViewer||this.isDeleting||(this.isDeleting=!0,this.$del("projects/"+this.board.id+"/custom-field/"+this.field.id).then(e=>{this.$notify.success({title:"Success",message:e.message}),this.emitter.emit("custom-field-updated"),this.emitter.emit("updateBoard",this.board.id),this.deleteDialogVisible=!1,this.$emit("deleted")}).catch(e=>{this.$handleError(e)}).finally(()=>{this.isDeleting=!1}))},cancelDeleteCustomField(){this.isDeleting||(this.deleteDialogVisible=!1)},resetDeleteDialog(){this.deleteDialogVisible=!1},prefillFromField(){!this.isCreate&&this.field&&(this.customField.title=this.field.title,this.customField.type=this.field.settings.custom_field_type,"select"!=this.customField.type&&"multi-select"!=this.customField.type||(this.selectedOptions=[...this.field.settings.select_options||[]]))}},created(){this.prefillFromField()}},ih={class:"fbs_custom_field_form_container"},oh={class:"fbs_secondary_text small fbs_mt_4"},lh={class:"fbs_option_content"},nh={class:"fbs_secondary_text small fbs_mt_4"},rh={class:"fbs_options_container"},dh={class:"fbs_options_list"},ch=["aria-label","onClick","onKeydown"],hh=["onUpdate:modelValue","disabled"],uh={class:"icon"},ph={class:"fbs_add_option_section"},mh={class:"icon"},bh={class:"fbs_secondary_text small fbs_mt_4",style:{"padding-left":"28px"}},gh={class:"fbs_action_buttons justify-end"};const fh={name:"CustomField",components:{Icons:$s,CustomIcon:ml,EmptyState:Vs,CustomFieldForm:Ss(ah,[["render",function(e,t,u,p,m,g){const _=He,C=gt,T=b("Icons"),S=Be,V=Le,A=b("ArrowUp"),I=Ne,D=ze,B=b("ArrowDown"),L=wt,M=We,x=bt,P=b("confirmation-dialog");return s(),a("div",ih,[l(x,{"label-position":"top","require-asterisk-position":"right",model:m.customField},{default:n(()=>[l(C,{label:e.$t("Title"),required:""},{default:n(()=>[l(_,{modelValue:m.customField.title,"onUpdate:modelValue":t[0]||(t[0]=e=>m.customField.title=e),placeholder:e.$t("Enter field title"),disabled:e.board.isUserOnlyViewer,onPaste:t[1]||(t[1]=h(()=>{},["stop"]))},null,8,["modelValue","placeholder","disabled"]),i("div",oh,o(e.$t("This will be the display title for your custom field")),1)]),_:1},8,["label"]),l(C,{label:e.$t("Type"),required:""},{default:n(()=>[l(V,{modelValue:m.customField.type,"onUpdate:modelValue":t[2]||(t[2]=e=>m.customField.type=e),placeholder:e.$t("Please select type"),disabled:!g.isCreate||e.board.isUserOnlyViewer,onPaste:t[3]||(t[3]=h(()=>{},["stop"]))},{default:n(()=>[(s(!0),a(r,null,d(m.fieldTypes,e=>(s(),c(S,{key:e.value,label:e.label,value:e.value},{default:n(()=>[i("div",lh,[l(T,{"icon-name":e.value},null,8,["icon-name"]),w(" "+o(e.label),1)])]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","placeholder","disabled"]),i("div",nh,o(e.$t("Choose the data type for your custom field")),1)]),_:1},8,["label"]),"select"==m.customField.type||"multi-select"==m.customField.type?(s(),c(C,{key:0,label:e.$t("Options"),required:""},{default:n(()=>[i("div",rh,[i("div",dh,[(s(!0),a(r,null,d(m.selectedOptions,(r,d)=>(s(),a("div",{key:d,class:"fbs_option_item"},[l(L,{class:"fbs_option_sort"},{default:n(()=>[l(D,{size:"small",disabled:0===d||e.board.isUserOnlyViewer,title:e.$t("Move up"),onClick:e=>g.moveOption(d,"up")},{default:n(()=>[l(I,null,{default:n(()=>[l(A)]),_:1})]),_:1},8,["disabled","title","onClick"]),l(D,{size:"small",disabled:d===m.selectedOptions.length-1||e.board.isUserOnlyViewer,title:e.$t("Move down"),onClick:e=>g.moveOption(d,"down")},{default:n(()=>[l(I,null,{default:n(()=>[l(B)]),_:1})]),_:1},8,["disabled","title","onClick"])]),_:2},1024),i("div",{class:k(["fbs_option_content",{"is-editing":m.editingOptionIndex===d}])},[m.editingOptionIndex!==d?(s(),c(M,{key:0,effect:"dark",content:e.$t("Click to edit"),placement:"top",enterable:!1},{default:n(()=>[i("span",{class:"fbs_option_text",role:"button",tabindex:"0","aria-label":e.$t("Edit option")+": "+r,onClick:e=>g.startEditingOption(d),onKeydown:[$(h(e=>g.startEditingOption(d),["prevent"]),["enter"]),$(h(e=>g.startEditingOption(d),["prevent"]),["space"])]},o(r),41,ch)]),_:2},1032,["content"])):f((s(),a("input",{key:1,ref_for:!0,ref:"optionInput",type:"text",class:"fbs_option_edit_input","onUpdate:modelValue":e=>m.selectedOptions[d]=e,disabled:e.board.isUserOnlyViewer,onBlur:t[4]||(t[4]=(...e)=>g.stopEditingOption&&g.stopEditingOption(...e)),onKeyup:t[5]||(t[5]=$((...e)=>g.stopEditingOption&&g.stopEditingOption(...e),["enter"])),onPaste:t[6]||(t[6]=h(()=>{},["stop"]))},null,40,hh)),[[v,m.selectedOptions[d]]])],2),l(D,{onClick:e=>g.deleteSelectOption(d),class:"only-icon-btn",title:e.$t("Delete Option"),"aria-label":e.$t("Delete Option"),type:"danger",plain:""},{default:n(()=>[i("span",uh,[l(T,{"icon-name":"delete"})])]),_:1},8,["onClick","title","aria-label"])]))),128))]),i("div",ph,[l(_,{ref:"newOption",modelValue:m.newOption,"onUpdate:modelValue":t[7]||(t[7]=e=>m.newOption=e),placeholder:e.$t("Add new option"),onKeyup:$(g.addSelectOption,["enter"]),onPaste:t[8]||(t[8]=h(()=>{},["stop"])),class:"fbs_option_input"},null,8,["modelValue","placeholder","onKeyup"]),l(D,{onClick:g.addSelectOption,disabled:!m.newOption.trim(),class:"only-icon-btn",title:e.$t("Add Option"),"aria-label":e.$t("Add Option")},{default:n(()=>[i("span",mh,[l(T,{"icon-name":"plus"})])]),_:1},8,["onClick","disabled","title","aria-label"])]),i("div",bh,o(e.$t("Add options that users can select from")),1)])]),_:1},8,["label"])):y("",!0)]),_:1},8,["model"]),i("div",gh,[g.isCreate?y("",!0):(s(),c(D,{key:0,type:"danger",onClick:g.openDeleteDialog,disabled:e.board.isUserOnlyViewer,plain:""},{default:n(()=>[w(o(e.$t("Delete")),1)]),_:1},8,["onClick","disabled"])),g.isCreate?(s(),c(D,{key:1,onClick:t[9]||(t[9]=t=>e.$emit("close"))},{default:n(()=>[w(o(e.$t("Cancel")),1)]),_:1})):y("",!0),g.isCreate?(s(),c(D,{key:2,type:"primary",onClick:g.createCustomField,loading:m.isSaving,disabled:!m.customField.title.trim()||!m.customField.type||e.board.isUserOnlyViewer},{default:n(()=>[w(o(e.$t("Create")),1)]),_:1},8,["onClick","loading","disabled"])):(s(),c(D,{key:3,type:"primary",onClick:g.updateCustomField,loading:m.isSaving,disabled:!m.customField.title.trim()||!m.customField.type||e.board.isUserOnlyViewer},{default:n(()=>[w(o(e.$t("Update")),1)]),_:1},8,["onClick","loading","disabled"]))]),l(P,{"dialog-visible":m.deleteDialogVisible,loading:m.isDeleting,title:e.$t("Confirmation Required"),message:e.$t("Are you sure you want to delete this custom field?"),"confirm-text":e.$t("Delete"),onConfirm:g.confirmDeleteCustomField,onCancel:g.cancelDeleteCustomField,onClosed:g.resetDeleteDialog},null,8,["dialog-visible","loading","title","message","confirm-text","onConfirm","onCancel","onClosed"])])}]]),draggable:P},props:["boardId","fromMenu","autoOpenCreate"],emits:["closeDrawer","form-dialog-closed"],data(){return{customFields:[],visible:!1,formDialogVisible:!1,formMode:"create",fieldToEdit:null,deletingFieldId:null,fieldTypes:[{value:"text",label:this.$t("Text")},{value:"number",label:this.$t("Number")},{value:"select",label:this.$t("Select")},{value:"multi-select",label:this.$t("Multi Select")},{value:"date",label:this.$t("Date")},{value:"checkbox",label:this.$t("Checkbox")}],customFieldDrag:!1}},computed:{...m(js,["board"]),customFieldDragOptions(){return{animation:200,disabled:!!this.board.archived_at||this.board.isUserOnlyViewer,ghostClass:"fbs-custom-field-ghost",scrollSensitivity:150,forceFallback:!0,scroll:!0,scrollSpeed:18,bubbleScroll:!0,handle:".fbs_custom_field_drag_icon"}},isManager(){return this.$isBoardManager(this.board.id)||this.$isAdmin()}},methods:{...M(js,["setBoard"]),showCustomFieldPopover(){this.appVars.has_pro&&(this.visible=!0)},editCustomField(e){this.board.isUserOnlyViewer||(this.formMode="edit",this.fieldToEdit=e,this.formDialogVisible=!0)},deleteCustomField(e){this.board.isUserOnlyViewer||(this.deletingFieldId=e.id,this.$del("projects/"+this.board.id+"/custom-field/"+e.id).then(e=>{this.$notify.success({title:"Success",message:e.message}),this.emitter.emit("custom-field-updated"),this.emitter.emit("updateBoard",this.board.id),this.getCustomFields()}).catch(e=>{this.$handleError(e)}).finally(()=>{this.deletingFieldId=null}))},getCustomFields(){this.$get("projects/"+this.board.id+"/custom-fields").then(e=>{this.customFields=e.customFields.sort((e,t)=>e.position-t.position),this.board.custom_fields=e.customFields,this.setBoard(this.board)}).catch(e=>{this.handleError(e)}).finally(()=>{this.loading=!1})},closeCustomField(){this.$emit("closeDrawer")},enterCreateMode(){this.board.isUserOnlyViewer||(this.formMode="create",this.fieldToEdit=null,this.formDialogVisible=!0)},onFormSaved(){this.getCustomFields(),this.formDialogVisible=!1},handleFormDialogClosed(){this.$emit("form-dialog-closed")},dragCustomFieldEndHandler(e){if(this.board.isUserOnlyViewer)return;this.customFieldDrag=!1;const t=parseInt(e.item.dataset.customFieldId),s=e.newDraggableIndex+1;s!=e.oldDraggableIndex+1&&this.$put("projects/"+this.board.id+"/custom-field/"+t+"/update-position",{newIndex:s}).then(e=>{this.$notify.success({title:"Success",message:e.message}),this.emitter.emit("custom-field-updated")}).catch(e=>{this.$handleError(e)}).finally(()=>{this.getCustomFields()})},dragCustomFieldStartHandler(e){this.customFieldDrag=!0},getFieldTypeLabel(e){const t=this.fieldTypes.find(t=>t.value===e);return t?t.label:e}},mounted(){this.appVars.has_pro&&(this.customFields=this.board.custom_fields.sort((e,t)=>e.position-t.position)),this.autoOpenCreate&&this.$nextTick(this.enterCreateMode)}},_h={key:0,class:"fbs_custom_fields"},kh={key:0,class:"fbs_custom_field_header"},vh={class:"fbs_header_content"},yh={class:"fbs_header_title"},wh={class:"fbs_header_text"},Ch={class:"fbs_header_actions"},Th={class:"fbs_custom_fields_container"},Sh={key:0,class:"fbs_empty_state"},$h={class:"fbs_empty_content"},Vh={class:"icon"},Ah=["data-custom-field-id"],Ih={key:0,class:"fbs_custom_field_drag_icon"},Dh={class:"fbs_custom_field_item__icon"},Bh={class:"fbs_custom_field_item__title"},Lh={class:"fbs_custom_field_item__actions"},Mh={class:"fbs_custom_field_item__type fbs_badge"},xh={class:"icon"},Ph={class:"icon"},Fh={key:1,class:"fbs_add_new_section fbs_mt_10"},Eh={class:"icon"};const Uh=Ss(fh,[["render",function(e,t,d,u,p,m){const g=b("Close"),f=Ne,_=ze,k=b("empty-state"),v=b("Icons"),C=st,T=b("draggable"),$=b("custom-field-form"),V=Ge;return s(),a(r,null,[d.autoOpenCreate?y("",!0):(s(),a("div",_h,[d.fromMenu?y("",!0):(s(),a("div",kh,[i("div",vh,[i("div",yh,[i("div",wh,[i("h3",null,o(e.$t("Custom Fields")),1),i("p",null,o(e.$t("Manage and organize your task custom fields")),1)])]),i("div",Ch,[l(_,{type:"text",onClick:m.closeCustomField,class:"fbs_close_btn"},{default:n(()=>[l(f,null,{default:n(()=>[l(g)]),_:1})]),_:1},8,["onClick"])])])])),i("div",Th,[0===p.customFields.length?(s(),a("div",Sh,[l(k,{message:"No custom fields yet"}),i("div",$h,[l(_,{type:"primary",onClick:m.enterCreateMode,disabled:e.board.isUserOnlyViewer,"aria-label":e.$t("Create Custom Field")},{default:n(()=>[i("span",Vh,[l(v,{"icon-name":"plus"})]),w(" "+o(e.$t("Create Custom Field")),1)]),_:1},8,["onClick","disabled","aria-label"])])])):(s(),c(T,F({key:1,group:"customFieldGroup",modelValue:p.customFields,"onUpdate:modelValue":t[1]||(t[1]=e=>p.customFields=e),"item-key":"id",onEnd:m.dragCustomFieldEndHandler,onStart:m.dragCustomFieldStartHandler,class:"fbs-custom-field-drag","component-data":{tag:"div",type:"transition-group",name:p.customFieldDrag?null:"flip-list"}},m.customFieldDragOptions,{"drag-class":"fbs-dragging-custom-field",delay:10}),{item:n(({element:r,index:c})=>[(s(),a("div",{class:"fbs_custom_field_item",key:c,style:S(d.fromMenu?"margin-bottom: 4px":""),"data-custom-field-id":r.id},[m.isManager&&!e.board.isUserOnlyViewer?(s(),a("div",Ih,[l(v,{onClick:t[0]||(t[0]=h(()=>{},["stop"])),"icon-name":"drag"})])):y("",!0),i("div",Dh,[l(v,{"icon-name":r.settings.custom_field_type},null,8,["icon-name"])]),i("div",Bh,o(r.title),1),i("div",Lh,[i("span",Mh,o(m.getFieldTypeLabel(r.settings.custom_field_type)),1),l(_,{text:"",onClick:e=>m.editCustomField(r),disabled:e.board.isUserOnlyViewer||p.deletingFieldId===r.id,title:e.$t("Edit Field"),size:"small",class:"only-icon-btn"},{default:n(()=>[i("span",xh,[l(v,{"icon-name":"edit-pen"})])]),_:1},8,["onClick","disabled","title"]),l(C,{title:e.$t("Are you sure you want to delete this custom field?"),onConfirm:e=>m.deleteCustomField(r)},{reference:n(()=>[l(_,{text:"",disabled:e.board.isUserOnlyViewer||p.deletingFieldId===r.id,loading:p.deletingFieldId===r.id,title:e.$t("Delete Field"),size:"small",class:"only-icon-btn"},{default:n(()=>[i("span",Ph,[l(v,{"icon-name":"delete"})])]),_:1},8,["disabled","loading","title"])]),_:2},1032,["title","onConfirm"])])],12,Ah))]),_:1},16,["modelValue","onEnd","onStart","component-data"]))]),p.customFields.length>0?(s(),a("div",Fh,[l(_,{link:"",onClick:m.enterCreateMode,disabled:e.board.isUserOnlyViewer,class:"no-underline hover-underline"},{default:n(()=>[i("span",Eh,[l(v,{"icon-name":"plus"})]),w(" "+o(e.$t("Add Custom Field")),1)]),_:1},8,["onClick","disabled"])])):y("",!0)])),l(V,{modelValue:p.formDialogVisible,"onUpdate:modelValue":t[3]||(t[3]=e=>p.formDialogVisible=e),"append-to-body":"",width:"min(480px, calc(100vw - 32px))","close-on-click-modal":!1,class:"fbs_create_modal fbs_custom_field_form_dialog",title:"create"===p.formMode?e.$t("Create New Custom Field"):e.$t("Update Custom Field"),onClosed:m.handleFormDialogClosed},{default:n(()=>[p.formDialogVisible?(s(),c($,{key:p.formMode+"-"+(p.fieldToEdit?p.fieldToEdit.id:"new"),mode:p.formMode,"board-id":e.board.id,field:p.fieldToEdit,"existing-fields":p.customFields,onSaved:m.onFormSaved,onDeleted:m.onFormSaved,onClose:t[2]||(t[2]=e=>p.formDialogVisible=!1)},null,8,["mode","board-id","field","existing-fields","onSaved","onDeleted"])):y("",!0)]),_:1},8,["modelValue","title","onClosed"])],64)}]]),Oh={name:"TaskCustomField",props:[],data:()=>({boardCustomFields:[],taskCustomFields:{},fieldLoading:!1}),computed:{...m(js,["board"]),...m(Xi,["task"]),isFieldDisabled(){return!!this.board.archived_at||this.board.isUserOnlyViewer}},methods:{getFieldType:e=>e.settings.custom_field_type,isFieldType(e,t){return this.getFieldType(e)==t},isSelectField(e){return["select","multi-select"].includes(this.getFieldType(e))},getSelectOptions:e=>e.settings.select_options||[],getFieldPlaceholder(e){return this.isFieldType(e,"text")?this.$t("Add")+" "+e.title:this.isFieldType(e,"date")?this.$t("Pick a day"):this.$t("Select")+" "+e.title},getBoardCustomFields(){this.fieldLoading=!0,this.$get("projects/"+this.board.id+"/custom-fields").then(e=>{this.boardCustomFields=this.sortCustomFields(e.customFields),this.taskCustomFieldsDataPrepare()}).catch(e=>{this.$handleError(e)}).finally(()=>{this.fieldLoading=!1})},sortCustomFields:e=>[...e||[]].sort((e,t)=>e.position-t.position),taskCustomFieldsDataPrepare(){this.boardCustomFields.forEach(e=>{this.taskCustomFields[e.id]=this.getEmptyFieldValue(e)}),this.getCustomFieldsOfTask()},getEmptyFieldValue(e){return!this.isFieldType(e,"checkbox")&&null},getCustomFieldsOfTask(){this.task&&this.task.id&&this.$get("projects/"+this.board.id+"/tasks/"+this.task.id+"/custom-fields").then(e=>{e.customFields.forEach(e=>{this.taskCustomFields[e.foreign_id]=this.normalizeSavedValue(e)})}).catch(e=>{this.$handleError(e)})},normalizeSavedValue(e){return this.isSavedFieldType(e,"number")?Number(e.settings.value):e.settings.value},isSavedFieldType(e,t){const s=this.boardCustomFields.find(t=>parseInt(t.id)==parseInt(e.foreign_id));return s&&this.isFieldType(s,t)},saveFieldValue(e){this.saveCustomFieldValue(this.taskCustomFields[e.id],e.id)},saveCustomFieldValue(e,t){this.isFieldDisabled||this.$post("projects/"+this.board.id+"/tasks/"+this.task.id+"/custom-fields",{custom_field_id:t,value:e}).then(e=>{this.getCustomFieldsOfTask()}).catch(e=>{this.$handleError(e)}).finally(()=>{})},newCustomFieldAdded(){this.getBoardCustomFields()}},mounted(){this.boardCustomFields=this.sortCustomFields(this.board.custom_fields),this.taskCustomFieldsDataPrepare(),this.emitter.on("custom-field-updated",this.newCustomFieldAdded)},beforeUnmount(){this.emitter.off("custom-field-updated",this.newCustomFieldAdded)}},Rh={class:"fbs-task-custom-fields"},Nh={key:0,class:"fbs-task-custom-fields-grid"},Hh={class:"fbs_primary_text font-medium fbs_mb_4"};const jh=Ss(Oh,[["render",function(e,t,l,u,p,m){const b=He,_=Ct,k=Be,v=Le,w=Tt,C=qe,T=g("loading");return f((s(),a("div",Rh,[p.boardCustomFields.length?(s(),a("div",Nh,[(s(!0),a(r,null,d(p.boardCustomFields,e=>(s(),a("div",{class:"fbs-task-custom-field",key:e.id},[i("div",Hh,o(e.title),1),m.isFieldType(e,"text")?(s(),c(b,{key:0,disabled:m.isFieldDisabled,modelValue:p.taskCustomFields[e.id],"onUpdate:modelValue":t=>p.taskCustomFields[e.id]=t,placeholder:m.getFieldPlaceholder(e),onChange:t=>m.saveFieldValue(e),onPaste:t[0]||(t[0]=h(()=>{},["stop"]))},null,8,["disabled","modelValue","onUpdate:modelValue","placeholder","onChange"])):m.isFieldType(e,"number")?(s(),c(_,{key:1,class:"fbs-w-full",disabled:m.isFieldDisabled,modelValue:p.taskCustomFields[e.id],"onUpdate:modelValue":t=>p.taskCustomFields[e.id]=t,min:1,"controls-position":"right",onChange:t=>m.saveFieldValue(e),onPaste:t[1]||(t[1]=h(()=>{},["stop"]))},null,8,["disabled","modelValue","onUpdate:modelValue","onChange"])):m.isSelectField(e)?(s(),c(v,{key:2,disabled:m.isFieldDisabled,modelValue:p.taskCustomFields[e.id],"onUpdate:modelValue":t=>p.taskCustomFields[e.id]=t,placeholder:m.getFieldPlaceholder(e),multiple:m.isFieldType(e,"multi-select"),onChange:t=>m.saveFieldValue(e),onPaste:t[2]||(t[2]=h(()=>{},["stop"]))},{default:n(()=>[(s(!0),a(r,null,d(m.getSelectOptions(e),(e,t)=>(s(),c(k,{key:t,label:e,value:e},null,8,["label","value"]))),128))]),_:2},1032,["disabled","modelValue","onUpdate:modelValue","placeholder","multiple","onChange"])):m.isFieldType(e,"date")?(s(),c(w,{key:3,disabled:m.isFieldDisabled,modelValue:p.taskCustomFields[e.id],"onUpdate:modelValue":t=>p.taskCustomFields[e.id]=t,type:"date",placeholder:m.getFieldPlaceholder(e),onChange:t=>m.saveFieldValue(e),onPaste:t[3]||(t[3]=h(()=>{},["stop"]))},null,8,["disabled","modelValue","onUpdate:modelValue","placeholder","onChange"])):m.isFieldType(e,"checkbox")?(s(),c(C,{key:4,disabled:m.isFieldDisabled,modelValue:p.taskCustomFields[e.id],"onUpdate:modelValue":t=>p.taskCustomFields[e.id]=t,label:e.title,onChange:t=>m.saveFieldValue(e),onPaste:t[4]||(t[4]=h(()=>{},["stop"]))},null,8,["disabled","modelValue","onUpdate:modelValue","label","onChange"])):y("",!0)]))),128))])):y("",!0)])),[[T,p.fieldLoading]])}],["__scopeId","data-v-c5129f02"]]),zh={name:"TaskCommentInput",components:{Icons:$s,FileUpload:_r},emits:["expand","submit"],props:{placeholder:{type:String,default:()=>"What's happening"},modelValue:{type:Object,default:()=>""},task:{type:Object,default:()=>({})},uploadedImg:{type:Array,default:()=>[]},type:{type:String,default:()=>"comment"},disabled:{type:Boolean,default:!1},autofocus:{type:Boolean,default:!1},submitOnEnter:{type:Boolean,default:!1},editOrReplyMode:{type:Boolean,default:!1},clearEditorId:{type:[String,Number],default:""}},data:()=>({showMentionPop:!1,mentionResults:[],mentionSearch:"",uploading:!1,content:{message:"",media_images:[]},previousContentMessage:"",latestLatter:"",latestLatterIndex:null,lastestWordAfterAt:"",indexOfLatestAt:null,usersToMention:[],multipleMedia:!1,uploadedImages:[],isExpanded:!1}),watch:{"content.message"(){this.$emit("update:modelValue",this.content)}},computed:{...m(js,["board"])},methods:{getLatestLetter(){const e=this.previousContentMessage;for(let t=0;t<this.content.message.length;t++)if(this.content.message[t]!==e[t]){this.latestLatter=this.content.message[t],this.latestLatterIndex=t;break}this.previousContentMessage=this.content.message},checkSpaceBetweenIndices(e,t){if(e>t)return!0;if(e>=0&&t<this.content.message.length){return this.content.message.slice(e,t+1).includes(" ")}return!1},handleEnter(e){this.submitOnEnter&&(e.shiftKey||e.isComposing||(this.showMentionPop?e.preventDefault():(e.preventDefault(),this.$emit("submit"))))},checkforMention(e){if(this.getLatestLetter(),!this.content.message)return this.showMentionPop=!1,this.indexOfLatestAt=null,void(this.lastestWordAfterAt="");if("@"==this.latestLatter&&(this.indexOfLatestAt=this.latestLatterIndex,this.showMentionPop=!0,this.usersToMention=this.board.users),null!==this.indexOfLatestAt){const e=this.content.message.indexOf(" ",this.indexOfLatestAt),t=-1===e?this.content.message.length:e;if(this.lastestWordAfterAt=this.content.message.slice(this.indexOfLatestAt,t),this.lastestWordAfterAt.length>1){const e=this.lastestWordAfterAt.substring(1).toLowerCase();this.usersToMention=this.board.users.filter(t=>{var s;return(null==(s=t.user_email)?void 0:s.toLowerCase().includes(e))||t.display_name.toLowerCase().includes(e)})}this.showMentionPop=this.usersToMention.length>0}else this.showMentionPop=!1},handleMention(e){const t=this.content.message.slice(0,this.indexOfLatestAt),s=this.content.message.slice(this.indexOfLatestAt+this.lastestWordAfterAt.length),a=`@​${e.user_login}‌`;this.content.message=`${t}${a}${s}`,this.$emit("update:modelValue",this.content),this.$refs.create_comment.focus(),this.showMentionPop=!1,this.indexOfLatestAt=null,this.lastestWordAfterAt="",this.usersToMention=[],this.emitter.emit("mention-push",e.ID)},addMention(e){this.content.message=this.content.message.replace("@"+this.currentMentionSearch,e+" "),this.showMentionPop=!1,this.currentMentionSearch="",this.$refs.create_comment.focus()},checkForImage(e){if(this.content.media_images.length>=10)this.$notify.error({title:this.$t("Upload Error"),message:this.$t("You can only upload a maximum of 10 images for a comment.")});else for(let t=0;t<e.clipboardData.items.length;++t){let s=e.clipboardData.items[t];if("file"==s.kind){const t=s.getAsFile();e.preventDefault(),this.$refs.fbsCustomFileUpload.handleFileChange(e,t)}}},handleMediaUpload(e){let t=e.imageAttachment;this.uploading=!1,this.content.media_images||(this.content.media_images=[]),this.content.media_images.length>=10?this.$notify.error({title:this.$t("Upload Error"),message:this.$t("You can only upload a maximum of 10 images for a comment.")}):(this.uploadedImages.push(t),this.content.media_images.push(t.id),this.$emit("update:modelValue",this.content))},removeImageFromComment(e){this.uploadedImages.splice(e,1),this.content.media_images.splice(e,1),this.$emit("update:modelValue",this.content)},addImageOnPaste(e){if(this.content.media_images.length>=10)return this.$notify.error({title:this.$t("Upload Error"),message:this.$t("You can only upload a maximum of 10 images for a comment.")}),void e.preventDefault();this.checkForImage(e)},chooseImage(){this.content.media_images.length>=10?this.$notify.error({title:this.$t("Upload Error"),message:this.$t("You can only upload a maximum of 10 images for a comment.")}):this.$refs.fbsCustomFileUpload.uploadClick()},handleMediaUploadFailure(e){this.uploading=!1,this.$handleError(e)},inputFocus(){this.$nextTick(()=>{this.$refs.create_comment.focus()})},openInput(){this.expandInput(),this.inputFocus()},expandInput(){this.isExpanded=!0,this.$emit("expand",!0)},collapseInput(){this.isExpanded=!1,this.$emit("expand",!1)},clearInput(e=""){e&&this.clearEditorId!==e||!e&&this.clearEditorId||(this.content.message="",this.content.media_images=[],this.uploadedImages=[],this.$emit("update:modelValue",this.content))}},mounted(){this.modelValue.message&&(this.content.message=this.modelValue.message),this.modelValue.media_images&&(this.content.media_images=this.modelValue.media_images,this.uploadedImages=this.uploadedImg),(this.editOrReplyMode||this.autofocus)&&this.openInput(),this.emitter.on("clear-comment",this.clearInput)},beforeUnmount(){this.emitter.off("clear-comment",this.clearInput)}},Gh={class:"fbs_task_comment_input"},qh=["src","alt"],Wh={class:"input-container"},Kh={class:"input-wrapper"},Zh={key:0,class:"input-actions"},Yh={key:0,class:"fbs_comment_image-uploader"},Jh={class:"fbs-task-comment-input-actions"},Qh={key:1,class:"fbs-comment-mention"},Xh=["aria-label","onClick","onKeydown"],eu={class:"content d-flex flex-column gap-2"},tu={class:"fbs_primary_text"},su={class:"fbs_secondary_text small"},au=["src"],iu=["aria-label","onClick"],ou={key:1,class:"fbs_comment_image-uploader"};const lu=Ss(zh,[["render",function(e,t,c,u,p,m){const v=He,w=b("file-upload"),C=b("Icons"),T=ze,S=rt,V=g("loading");return s(),a("div",{class:k(["fbs_task_comment",{"is-expanded":p.isExpanded}])},[i("div",Gh,[c.editOrReplyMode?y("",!0):(s(),a("img",{key:0,src:e.appVars.me.photo,alt:e.appVars.me.full_name},null,8,qh)),i("div",Wh,[i("div",Kh,[l(v,{disabled:e.board.archived_at||e.board.isUserOnlyViewer||c.disabled,ref:"create_comment",type:"textarea",class:"fbs_status_text_input",onInput:m.checkforMention,onKeydown:$(m.handleEnter,["enter"]),modelValue:p.content.message,"onUpdate:modelValue":t[0]||(t[0]=e=>p.content.message=e),placeholder:c.placeholder,onPaste:h(m.addImageOnPaste,["stop"]),onFocus:m.expandInput,autosize:{maxRows:8}},null,8,["disabled","onInput","onKeydown","modelValue","placeholder","onPaste","onFocus"]),p.isExpanded?(s(),a("div",Zh,["reply"==c.type||e.board.archived_at||c.disabled?y("",!0):f((s(),a("div",Yh,[l(w,{ref:"fbsCustomFileUpload",task:c.task,"is-image":!0,url:c.task.id+"/comment-image-upload",onOnFileUploadSuccess:m.handleMediaUpload,onOnFileUploadFail:m.handleMediaUploadFailure,onOnFileUploadCancel:t[1]||(t[1]=e=>p.uploading=!1),style:{display:"none !important"}},null,8,["task","url","onOnFileUploadSuccess","onOnFileUploadFail"]),l(T,{text:"",size:"small",class:"only-icon-btn",onClick:m.chooseImage,"aria-label":e.$t("Upload Image")},{default:n(()=>[l(C,{"icon-name":"image"})]),_:1},8,["onClick","aria-label"])])),[[V,p.uploading]]),i("div",Jh,[_(e.$slots,"actions")])])):y("",!0),p.showMentionPop?(s(),a("div",Qh,[(s(!0),a(r,null,d(p.usersToMention,e=>(s(),a("div",{class:"fbs-board-user d-flex items-center gap-8 cursor_pointer",key:e.ID,role:"button",tabindex:"0","aria-label":e.display_name,onClick:t=>m.handleMention(e),onKeydown:[$(h(t=>m.handleMention(e),["prevent"]),["enter"]),$(h(t=>m.handleMention(e),["prevent"]),["space"])]},[l(S,{size:32,src:e.photo,alt:e.display_name},null,8,["src","alt"]),i("div",eu,[i("div",tu,o(e.display_name),1),i("div",su,o(e.role),1)])],40,Xh))),128))])):y("",!0)])])]),p.uploadedImages.length?(s(),a("div",{key:0,class:k(["fbs_uploaded_images",{fbs_uploaded_images__single:1===p.uploadedImages.length}])},[(s(!0),a(r,null,d(p.uploadedImages,(t,o)=>(s(),a("div",{class:"fbs_image",key:o},[i("img",{src:t.public_url?t.public_url:t.secure_url,alt:"Media Image"},null,8,au),i("button",{type:"button",class:"fbs_comment_delete","aria-label":e.$t("Remove image"),onClick:e=>m.removeImageFromComment(o)},[l(C,{"icon-name":"close"})],8,iu)]))),128))],2)):y("",!0),"reply"==c.type||e.board.archived_at?y("",!0):f((s(),a("div",ou,null,512)),[[V,p.uploading]])],2)}]]),nu={name:"CreateTaskComment",components:{TaskCommentInput:lu,Icons:$s},emits:["newCommentAdded"],props:{task:{type:Object,default:()=>({})}},data:()=>({commentInForm:{message:"",media_images:[]},commentLastChar:null,mentionsInComment:[],mentionWithIds:[],mentionIds:[],commentAdding:!1,mentionOpen:!1,mentionData:[]}),computed:{...m(js,["board"])},methods:{pushNewIdToMentionList(e){this.mentionData.push(e)},clearCommentForm(){this.commentAdding=!1,this.mentionData=[],this.emitter.emit("clear-comment","new-comment-composer")},addComment(){this.commentAdding||this.board.archived_at||(this.commentInForm.message.length||this.commentInForm.media_images.length)&&(this.commentAdding=!0,this.checkMentions(),this.$post("projects/"+this.$route.params.id+"/tasks/"+this.task.id+"/comments",{comment:this.commentInForm.message,images:this.commentInForm.media_images,comment_by:this.appVars.me.id,mentionData:this.mentionData,parent_id:""}).then(e=>{this.$emit("newCommentAdded",e.comment),this.clearCommentForm(),this.emitter.emit("comment-updated",{taskId:this.task.id,operation:"add"})}).catch(e=>{this.handleError(e)}).finally(()=>{this.commentAdding=!1}))},checkMentions(){this.mentionsInComment.map((e,t)=>{this.commentInForm.match(e)||this.mentionsInComment.splice(t,1)}),this.mentionsInComment.map(e=>{this.mentionIds.push(this.mentionWithIds[e])})}},mounted(){this.$refs.commentInput.expandInput(),this.emitter.on("mention-push",e=>{this.pushNewIdToMentionList(e)})},beforeUnmount(){this.emitter.off("mention-push")}},ru={class:"fbs_task_form_field fbs_comment_composer"},du={class:"icon"};const cu=Ss(nu,[["render",function(e,t,o,r,d,c){const h=b("Icons"),u=ze,p=b("task-comment-input");return s(),a("div",ru,[l(p,{ref:"commentInput",class:"fbs_comment_composer__input",placeholder:e.$t("Leave a comment..."),modelValue:d.commentInForm,"onUpdate:modelValue":t[1]||(t[1]=e=>d.commentInForm=e),task:o.task,disabled:d.commentAdding,"clear-editor-id":"new-comment-composer","submit-on-enter":"",onSubmit:t[2]||(t[2]=e=>c.addComment())},{actions:n(()=>[l(u,{text:"",bg:"",type:"primary",class:"extra-small only-icon-btn fbs_ml_0",disabled:d.commentAdding||!d.commentInForm.message.length&&!d.commentInForm.media_images.length,onClick:t[0]||(t[0]=e=>c.addComment()),"aria-label":e.$t("Comment")},{default:n(()=>[i("span",du,[l(h,{"icon-name":"angle-arrow-up"})])]),_:1},8,["disabled","aria-label"])]),_:1},8,["placeholder","modelValue","task","disabled"])])}]]),hu={name:"Comment",components:{Icons:$s,TaskCommentInput:lu},props:["commentObject","index","task"],emits:["taskCommentDeleted"],data(){return{comment:this.commentObject,dialogImageExpendVisible:!1,imageToExpand:null,isEditing:!1,commentInForm:{message:"",media_images:[]},mentionData:[],visible:!1,previewLength:200,showFullComment:!1,commentToSeeMore:null,showFullReply:!1,replyToSeeMore:null,reply:{message:"",media_images:[]},isReplyComposerOpen:!1,replyEditorKey:0,visibleReplyDel:!1,isEditingReply:!1,replyInForm:{message:"",media_images:[]},replyToEdit:null,replyToDelete:null,menuOpen:!1,replyMenuOpenId:null,updatingComment:!1,addingNewReply:!1,updatingReply:!1,highlightedCommentId:0,uploadedImages:[],tempUploadedImages:[],zoomLevel:1,isZoomedIn:!0}},watch:{commentObject(e){this.comment=e},highlightedCommentId(e){this.$nextTick(()=>{const t=document.getElementById(`fbs_comment_id_${e}`);t&&t.scrollIntoView({behavior:"smooth",block:"center"})})}},computed:{...m(js,["board"]),canReply(){return!this.board.archived_at&&!this.board.isUserOnlyViewer},replyEditorId(){return`reply-${this.comment.id}-${this.replyEditorKey}`},replyThreadId(){return`fbs_comment_thread_${this.comment.id}`}},methods:{getImgUrl:e=>e.user?e.user.photo:e.avatar,handleCommentAction(e){"edit"===e?this.editComment():"privacy"===e?this.togglePrivacy(this.comment):"delete"===e&&(this.visible=!0)},handleReplyAction(e,t){"edit"===e?this.editReply(t):"privacy"===e?this.togglePrivacy(t):"delete"===e&&this.deleteReply(t.id)},toggleReplyComposer(){this.isReplyComposerOpen&&this.reply.message||(this.isReplyComposerOpen=!this.isReplyComposerOpen)},editComment(){var e;this.comment.settings?this.commentInForm.message=this.comment.settings.raw_description?this.comment.settings.raw_description:this.comment.description:this.commentInForm.message=this.comment.description,this.commentInForm.media_images=(null==(e=this.comment.images)?void 0:e.map(e=>e.id))||[],this.tempUploadedImages=[...this.comment.images||[]],this.uploadedImages=[...this.comment.images||[]],this.isEditing=!0,this.isEditingReply=!1},handleCommentUpdate(e){this.commentInForm=e,this.tempUploadedImages=e.media_images.map(e=>this.uploadedImages.find(t=>t.id===e)).filter(e=>e)},updateComment(){this.updatingComment||!this.commentInForm.message.length&&!this.commentInForm.media_images.length||this.comment.created_by==this.appVars.me.id&&(this.updatingComment=!0,this.$put("projects/"+this.task.board_id+"/tasks/comments/"+this.comment.id,{comment:this.commentInForm.message,images:this.commentInForm.media_images,mentionData:this.mentionData}).then(e=>{this.comment=e.comment,this.isEditing=!1,this.uploadedImages=[...this.tempUploadedImages],this.clearCommentForm()}).catch(e=>{this.handleError(e)}).finally(()=>{this.updatingComment=!1}))},cancelEdit(){var e;this.isEditing=!1,this.commentInForm.message=this.comment.description,this.commentInForm.media_images=(null==(e=this.comment.images)?void 0:e.map(e=>e.id))||[],this.tempUploadedImages=[...this.uploadedImages]},confirm(){this.visible=!1,this.deleteComment()},cancel(){this.visible=!1},deleteComment(){this.comment.created_by==this.appVars.me.id&&(this.loading=!0,this.$del("projects/"+this.task.board_id+"/tasks/comments/"+this.comment.id).then(e=>{this.emitter.emit("commentEvent"),this.$emit("taskCommentDeleted"),this.counterUpdate("delete",!0)}).catch(e=>{this.$notify({title:"Error",message:"Something went wrong",type:"error"})}).finally(()=>{}))},addNewReply(){this.reply.message&&!this.addingNewReply&&(this.addingNewReply=!0,this.$post("projects/"+this.$route.params.id+"/tasks/"+this.comment.task_id+"/comments",{parent_id:this.comment.id,comment:this.reply.message,comment_by:this.appVars.me.id,comment_type:"reply",mentionData:this.mentionData}).then(e=>{this.comment.replies.push(e.comment),this.reply={message:"",media_images:[]},this.isReplyComposerOpen=!1,this.replyEditorKey++,this.clearNewReplyForm(),this.counterUpdate("add")}).catch(e=>{this.handleError(e)}).finally(()=>{this.addingNewReply=!1}))},async counterUpdate(e,t=!1){return new Promise(s=>{setTimeout(()=>{this.emitter.emit("comment-updated",{taskId:this.comment.task_id,operation:e,numberOfReplies:t?this.comment.replies.length:null})},2e3)})},editReply(e){this.isEditing=!1,this.replyToEdit=e.id,this.isEditingReply=!0,e.settings?this.replyInForm.message=e.settings.raw_description?e.settings.raw_description:e.description:this.replyInForm.message=e.description},updateReply(){!this.updatingReply&&this.replyInForm.message.length&&(this.updatingReply=!0,this.$put("projects/"+this.task.board_id+"/tasks/reply/"+this.replyToEdit,{comment:this.replyInForm.message,mentionData:this.mentionData}).then(e=>{this.replyInForm={message:"",media_images:[]},this.isEditingReply=!1,this.replyToEdit=null,this.emitter.emit("commentEvent")}).catch(e=>{this.handleError(e)}).finally(()=>{this.updatingReply=!1}))},cancelEditReply(){this.replyToEdit=null,this.isEditingReply=!1,this.replyInForm={message:"",media_images:[]}},cancelNewReply(){this.reply={message:"",media_images:[]},this.mentionData=[],this.isReplyComposerOpen=!1,this.replyEditorKey++},deleteReply(e){this.replyToDelete=e,this.visibleReplyDel=!0},confirmDeleteReply(e){this.$del("projects/"+this.task.board_id+"/tasks/reply/"+e).then(t=>{this.replyToDelete=null,this.visibleReplyDel=!1;const s=this.comment.replies.find((t,s)=>{if(t.id===e)return s});this.comment.replies.splice(s,1),this.emitter.emit("commentEvent"),this.counterUpdate("delete")}).catch(e=>{this.handleError(e)}).finally(()=>{})},clearNewReplyForm(){this.commentInForm.message=""},getHighlightedCommentId(){let e=this.$route.href.split("?comment=").pop(),t=e.indexOf("&");this.highlightedCommentId=-1!==t?e.substring(0,t):e},expandCommentImage(e){this.dialogImageExpendVisible=!0,this.imageToExpand=e},pushNewIdToMentionList(e){this.mentionData.push(e)},clearCommentForm(){this.mentionData=[],this.emitter.emit("clear-comment")},toggleZoom(){this.zoomLevel<=2&&this.isZoomedIn?(this.zoomLevel+=.5,2===this.zoomLevel&&(this.isZoomedIn=!1)):(this.zoomLevel-=.5,1===this.zoomLevel&&(this.isZoomedIn=!0))},togglePrivacy(e){this.$put(`projects/${this.task.board_id}/tasks/comments/${e.id}/privacy`).then(t=>{if(this.comment.id===e.id)this.comment=t.comment;else if(this.comment.replies&&this.comment.replies.length){const s=this.comment.replies.findIndex(t=>t.id===e.id);-1!==s&&Object.assign(this.comment.replies[s],t.comment)}this.$notify({title:"Success",message:t.message,type:"success"})}).catch(e=>{this.$notify({title:"Error",message:e.message||"Something went wrong",type:"error"})})}},mounted(){this.getHighlightedCommentId(),this.emitter.on("mention-push",e=>{this.pushNewIdToMentionList(e)})},beforeUnmount(){this.emitter.off("mention-push")}},uu={class:"fbs_comment_card"},pu=["id"],mu={class:"fbs_comment_card__header"},bu=["src","alt"],gu={class:"fbs_comment_card__author"},fu={class:"fbs_comment_card__time"},_u={key:0,class:"fbs_comment_card__privacy"},ku={key:1,class:"fbs_comment_card__actions"},vu={class:"action-buttons"},yu={class:"icon"},wu={key:0,class:"fbs_comment_card__body"},Cu=["innerHTML"],Tu={key:1,class:"fbs_comment_card__images"},Su={key:2,class:"fbs_comment_card__comment_editor"},$u={class:"fbs_comment_card__composer"},Vu={class:"fbs_comment_card__comment_edit_actions"},Au={class:"fbs_comment_card__composer_hint"},Iu={class:"fbs_comment_card__composer_edit_actions"},Du=["id"],Bu={class:"fbs_comment_card__header"},Lu=["src","alt"],Mu={class:"fbs_comment_card__author"},xu={class:"fbs_comment_card__time"},Pu={key:0,class:"fbs_comment_card__privacy"},Fu={key:1,class:"fbs_comment_card__actions"},Eu={class:"action-buttons"},Uu={class:"icon"},Ou={key:0,class:"fbs_comment_card__body"},Ru=["innerHTML"],Nu={key:1,class:"fbs_comment_card__reply_editor"},Hu={class:"fbs_comment_card__composer"},ju={class:"fbs_comment_card__composer_meta"},zu={class:"fbs_comment_card__composer_hint"},Gu={class:"fbs_comment_card__composer_edit_actions"},qu={key:0,class:"fbs_comment_card__reply_action_row"},Wu=["src","alt"],Ku=["aria-controls"],Zu={key:1,class:"fbs_comment_card__reply_row"},Yu=["src","alt"],Ju={class:"fbs_comment_card__composer"},Qu={class:"fbs_comment_card__composer_meta"},Xu={class:"fbs_comment_card__composer_hint"},ep={class:"fbs_comment_card__composer_edit_actions"};const tp=Ss(hu,[["render",function(e,t,h,u,p,m){var g;const f=We,_=ze,v=b("Icons"),C=xe,T=Me,S=Pe,$=je,V=kt,A=b("task-comment-input");return s(),a("div",uu,[i("div",{id:"fbs_comment_id_"+p.comment.id,class:k(["fbs_comment_card__item",{is_highlighted:p.highlightedCommentId==p.comment.id,is_menu_open:p.visible||p.menuOpen,has_replies:p.comment.replies.length}])},[i("div",mu,[i("img",{class:"fbs_comment_card__avatar",src:m.getImgUrl(p.comment),alt:p.comment.author_name},null,8,bu),i("div",gu,o((null==(g=p.comment.user)?void 0:g.display_name)||p.comment.author_name),1),l(f,{effect:"dark",content:e.smartDate(p.comment.created_at,!0),placement:"bottom","show-after":750},{default:n(()=>[i("span",fu,o(e.$humanTimeDiff(p.comment.created_at)),1)]),_:1},8,["content"]),"roadmap"===h.task.type?(s(),a("span",_u,"("+o(p.comment.privacy)+")",1)):y("",!0),p.isEditing||e.board.archived_at||p.comment.created_by!=e.appVars.me.id?y("",!0):(s(),a("div",ku,[l($,{visible:p.visible,width:"185",placement:"bottom-end"},{reference:n(()=>[l(S,{trigger:"click",onCommand:m.handleCommentAction,onVisibleChange:t[1]||(t[1]=e=>p.menuOpen=e)},{dropdown:n(()=>[l(T,null,{default:n(()=>[l(C,{command:"edit"},{default:n(()=>[w(o(e.$t("Edit")),1)]),_:1}),"roadmap"===h.task.type?(s(),c(C,{key:0,command:"privacy"},{default:n(()=>[w(o("private"===p.comment.privacy?e.$t("Make Public"):e.$t("Make Private")),1)]),_:1})):y("",!0),l(C,{command:"delete",divided:"",class:"fbs_danger_action"},{default:n(()=>[w(o(e.$t("Delete")),1)]),_:1})]),_:1})]),default:n(()=>[l(_,{text:"",class:"extra-small only-icon-btn","aria-label":e.$t("Comment actions")},{default:n(()=>[i("span",yu,[l(v,{"icon-name":"dots",style:{transform:"rotate(90deg)"}})])]),_:1},8,["aria-label"])]),_:1},8,["onCommand"])]),default:n(()=>[i("p",null,o(e.$t("Are you sure you want to delete?")),1),i("div",vu,[l(_,{size:"small",class:"fbs_cancel_button",onClick:t[0]||(t[0]=e=>p.visible=!1)},{default:n(()=>[w(o(e.$t("cancel")),1)]),_:1}),l(_,{type:"primary",size:"small",onClick:m.confirm},{default:n(()=>[w(o(e.$t("confirm")),1)]),_:1},8,["onClick"])])]),_:1},8,["visible"])]))]),p.isEditing?y("",!0):(s(),a("div",wu,[i("div",{innerHTML:p.comment.description},null,8,Cu)])),!p.isEditing&&p.comment.images&&p.comment.images.length>0?(s(),a("div",Tu,[(s(!0),a(r,null,d(p.comment.images,(e,t)=>(s(),a("div",{class:"fbs_comment_card__image",key:t},[l(V,{src:e.secure_url,alt:"media image","zoom-rate":1.2,"max-scale":7,"min-scale":.1,"preview-src-list":[e.secure_url],"initial-index":t,fit:"cover","hide-on-click-modal":"","preview-teleported":!0},null,8,["src","preview-src-list","initial-index"])]))),128))])):y("",!0),p.isEditing?(s(),a("div",Su,[i("div",$u,[l(A,{class:"fbs_comment_card__comment_edit_input",placeholder:e.$t("Write a comment..."),modelValue:p.commentInForm,"onUpdate:modelValue":[t[2]||(t[2]=e=>p.commentInForm=e),m.handleCommentUpdate],task:h.task,uploadedImg:p.uploadedImages,isEditing:!0,"submit-on-enter":"","edit-or-reply-mode":"",autofocus:"",onSubmit:m.updateComment},{actions:n(()=>[i("div",Vu,[i("span",Au,o(e.$t("Enter to save · Shift+Enter for new line")),1),i("div",Iu,[l(_,{size:"small",onClick:m.cancelEdit},{default:n(()=>[w(o(e.$t("Cancel")),1)]),_:1},8,["onClick"]),l(_,{type:"primary",size:"small",class:"fbs_comment_card__composer_submit",disabled:!p.commentInForm.message&&!p.commentInForm.media_images.length||p.updatingComment,onClick:m.updateComment},{default:n(()=>[w(o(e.$t("Save")),1)]),_:1},8,["disabled","onClick"])])])]),_:1},8,["placeholder","modelValue","task","uploadedImg","onSubmit","onUpdate:modelValue"])])])):y("",!0)],10,pu),p.comment.replies.length||m.canReply?(s(),a("div",{key:0,id:m.replyThreadId,class:"fbs_comment_card__thread"},[(s(!0),a(r,null,d(p.comment.replies,(r,d)=>{var u;return s(),a("div",{key:r.id||d,class:k(["fbs_comment_card__item is_reply",{is_menu_open:p.visibleReplyDel&&p.replyToDelete==r.id||p.replyMenuOpenId==r.id}])},[i("div",Bu,[i("img",{class:"fbs_comment_card__avatar",src:m.getImgUrl(r),alt:r.author_name},null,8,Lu),i("h4",Mu,o((null==(u=r.user)?void 0:u.display_name)||r.author_name),1),i("span",xu,o(e.$humanTimeDiff(r.created_at)),1),"roadmap"===h.task.type?(s(),a("span",Pu,"("+o(r.privacy)+")",1)):y("",!0),e.board.archived_at||e.board.isUserOnlyViewer||p.isEditingReply&&p.replyToEdit==r.id||r.created_by!=e.appVars.me.id?y("",!0):(s(),a("div",Fu,[l($,{visible:p.visibleReplyDel&&p.replyToDelete==r.id,width:"185",placement:"bottom-end"},{reference:n(()=>[l(S,{trigger:"click",onCommand:e=>m.handleReplyAction(e,r),onVisibleChange:e=>p.replyMenuOpenId=e?r.id:null},{dropdown:n(()=>[l(T,null,{default:n(()=>[l(C,{command:"edit"},{default:n(()=>[w(o(e.$t("Edit")),1)]),_:1}),"roadmap"===h.task.type?(s(),c(C,{key:0,command:"privacy"},{default:n(()=>[w(o("private"===r.privacy?e.$t("Make Public"):e.$t("Make Private")),1)]),_:2},1024)):y("",!0),l(C,{command:"delete",divided:"",class:"fbs_danger_action"},{default:n(()=>[w(o(e.$t("Delete")),1)]),_:1})]),_:2},1024)]),default:n(()=>[l(_,{text:"",class:"only-icon-btn extra-small","aria-label":e.$t("Reply actions")},{default:n(()=>[i("span",Uu,[l(v,{"icon-name":"dots",style:{transform:"rotate(90deg)"}})])]),_:1},8,["aria-label"])]),_:2},1032,["onCommand","onVisibleChange"])]),default:n(()=>[i("p",null,o(e.$t("Are you sure you want to delete?")),1),i("div",Eu,[l(_,{size:"small",onClick:t[3]||(t[3]=e=>p.visibleReplyDel=!1),class:"fbs_cancel_button"},{default:n(()=>[w(o(e.$t("cancel")),1)]),_:1}),l(_,{type:"primary",size:"small",onClick:e=>m.confirmDeleteReply(r.id)},{default:n(()=>[w(o(e.$t("confirm")),1)]),_:1},8,["onClick"])])]),_:2},1032,["visible"])]))]),p.isEditingReply&&p.replyToEdit==r.id?y("",!0):(s(),a("div",Ou,[i("div",{innerHTML:r.description},null,8,Ru)])),p.isEditingReply&&p.replyToEdit==r.id&&m.canReply?(s(),a("div",Nu,[i("div",Hu,[l(A,{class:"fbs_comment_card__reply_input",placeholder:e.$t("Write a reply..."),modelValue:p.replyInForm,"onUpdate:modelValue":t[4]||(t[4]=e=>p.replyInForm=e),task:h.task,type:"reply","submit-on-enter":"","edit-or-reply-mode":"",autofocus:"",onSubmit:m.updateReply},null,8,["placeholder","modelValue","task","onSubmit"]),i("div",ju,[i("span",zu,o(e.$t("Enter to save · Shift+Enter for new line")),1),i("div",Gu,[l(_,{size:"small",onClick:m.cancelEditReply},{default:n(()=>[w(o(e.$t("Cancel")),1)]),_:1},8,["onClick"]),l(_,{type:"primary",size:"small",class:"fbs_comment_card__composer_submit",disabled:!p.replyInForm.message||p.updatingReply,onClick:m.updateReply},{default:n(()=>[w(o(e.$t("Save")),1)]),_:1},8,["disabled","onClick"])])])])])):y("",!0)],2)}),128)),!p.isReplyComposerOpen&&m.canReply?(s(),a("div",qu,[i("img",{class:"fbs_comment_card__avatar",src:e.appVars.me.photo,alt:e.appVars.me.full_name},null,8,Wu),i("button",{type:"button",class:"fbs_comment_card__reply_trigger","aria-controls":m.replyThreadId,onClick:t[5]||(t[5]=(...e)=>m.toggleReplyComposer&&m.toggleReplyComposer(...e))},o(e.$t("Add a reply")),9,Ku)])):y("",!0),p.isReplyComposerOpen&&m.canReply?(s(),a("div",Zu,[i("img",{class:"fbs_comment_card__avatar",src:e.appVars.me.photo,alt:e.appVars.me.full_name},null,8,Yu),i("div",Ju,[(s(),c(A,{key:p.replyEditorKey,class:"fbs_comment_card__reply_input",placeholder:e.$t("Write a reply..."),modelValue:p.reply,"onUpdate:modelValue":t[6]||(t[6]=e=>p.reply=e),task:h.task,type:"reply","clear-editor-id":m.replyEditorId,"submit-on-enter":"","edit-or-reply-mode":"",autofocus:"",onSubmit:t[7]||(t[7]=e=>m.addNewReply())},null,8,["placeholder","modelValue","task","clear-editor-id"])),i("div",Qu,[i("span",Xu,o(e.$t("Enter to send · Shift+Enter for new line")),1),i("div",ep,[l(_,{size:"small",onClick:m.cancelNewReply},{default:n(()=>[w(o(e.$t("Cancel")),1)]),_:1},8,["onClick"]),l(_,{type:"primary",size:"small",class:"fbs_comment_card__composer_submit",disabled:!p.reply.message||p.addingNewReply,onClick:t[8]||(t[8]=e=>m.addNewReply())},{default:n(()=>[w(o(e.$t("Send")),1)]),_:1},8,["disabled"])])])])])):y("",!0)],8,Du)):y("",!0)])}]]),sp={created:"plus",cloned:"copy",closed:"check",reopened:"refresh",archived:"archive",restored:"archive",deleted:"trash",joined:"user",left:"user",moved:"column"},ap={assignee:"user",stage:"stage",label:"label","due date":"date","start date":"date",description:"pen",title:"pen",subtask:"list","subtask group":"list","subtask group title":"list",comment:"comment","a reply":"comment",attachment:"attachment",board:"board","repeat task":"refresh","the associate email":"email",time_tracking:"clock",dependency:"link",dependent:"link"};function ip(e){var t;const s=String((null==e?void 0:e.column_key)||(null==e?void 0:e.column)||"").toLowerCase(),a=String((null==e?void 0:e.action_key)||(null==e?void 0:e.action)||"").toLowerCase();return(null==(t=null==e?void 0:e.settings)?void 0:t.custom_field_type)?"pen":"task"===s?sp[a]||"pen":"priority"===s?function(e){const t=String(e||"").toLowerCase();return["urgent","high","medium","low"].includes(t)?`priority-${t}`:"priority-none"}(null==e?void 0:e.new_value):ap[s]||"pen"}const op={class:"fbs_activities"},lp={class:"fbs-activity_user_profile"},np={key:0,class:"fbs_activity_user_profile_img"},rp=["src"],dp={key:1,class:"fbs_activity_type_icon"},cp={class:"fbs_activity_content"},hp={class:"fbs-activity-line"},up={class:"fbs-activity-message"},pp={key:0,class:"fbs-activity-user"},mp={key:1},bp={key:2},gp=["href"],fp={key:3},_p={key:4},kp={key:5},vp={key:6},yp={key:7},Cp={key:8},Tp={key:0},Sp={class:"fbs_activity-time"};const $p={name:"TaskAllCommentsAndActivities",inject:["eventBus"],components:{Icons:$s,Activity:Ss({name:"activity",components:{Icons:$s},props:["activity"],data:()=>({seeMore:!1,substringLength:150}),computed:{activityIcon(){return ip(this.activity)},hasLongComment(){return this.commentValue.length>this.substringLength},commentMessage(){return!this.hasLongComment||this.seeMore?this.commentValue:this.commentValue.substring(0,this.substringLength)+"... "},commentValue(){return String(this.activity.new_value||"")}},methods:{smartDateActivity:wl,smartDate:yl,formatActivityValue(e,t=!1){return"Due Date"===this.activity.column?wl(e,!0):t?e+".":e}}},[["render",function(e,t,r,d,c,h){var u,p,m,g,f;const _=b("Icons"),v=We;return s(),a("div",op,[i("div",lp,["user"===h.activityIcon&&(null==(u=r.activity.user)?void 0:u.photo)?(s(),a("div",np,[i("img",{src:r.activity.user.photo,alt:"avatar"},null,8,rp)])):(s(),a("div",dp,[l(_,{"icon-name":h.activityIcon},null,8,["icon-name"])]))]),i("div",cp,[i("div",hp,[i("span",up,["repeat task"!=r.activity.column?(s(),a("strong",pp,o((null==(p=r.activity.user)?void 0:p.display_name)||"Guest User"),1)):y("",!0),"description"==r.activity.column?(s(),a("span",mp,o(e.$t("Updated description")),1)):"repeat task"==r.activity.column&&"created"==r.activity.action?(s(),a("span",bp,[i("strong",null,o(r.activity.old_value),1),w(" "+o(r.activity.column+" "+r.activity.action+" ")+" "+o(e.$t("from"))+" ",1),i("strong",null,[i("a",{href:e.$getTaskUrl(r.activity.settings),target:"_blank",class:"task-link"},o(r.activity.new_value),9,gp)])])):"Repeat Task"!=r.activity.column||"set"!=r.activity.action&&"updated"!=r.activity.action?r.activity.old_value||r.activity.new_value?!r.activity.old_value&&r.activity.new_value&&"comment"!=r.activity.column?(s(),a("span",kp,[w(o(r.activity.action+" "+r.activity.column+" ")+" ",1),i("strong",null,o(h.formatActivityValue(r.activity.new_value)),1)])):r.activity.old_value&&!r.activity.new_value?(s(),a("span",vp,[w(o(r.activity.action+" "+r.activity.column+" ")+" ",1),i("strong",null,o(h.formatActivityValue(r.activity.old_value,!0)),1)])):"comment"==r.activity.column?(s(),a("span",yp,[w(o(r.activity.action+" "+r.activity.column+" ")+" ",1),i("span",null,o(h.commentMessage),1),h.hasLongComment?(s(),a("span",{key:0,class:"fbs-see-more-less",onClick:t[0]||(t[0]=e=>c.seeMore=!c.seeMore)},o(c.seeMore?e.$t("see less"):e.$t("see more")),1)):y("",!0)])):(s(),a("span",Cp,[w(o(r.activity.action+" "+r.activity.column+" ")+" "+o(e.$t("from"))+" ",1),i("strong",null,o(h.formatActivityValue(r.activity.old_value))+" "+o(e.$t("to"))+" "+o(h.formatActivityValue(r.activity.new_value)),1)])):(s(),a("span",_p,[w(o(r.activity.action+" "),1),i("strong",null,o(r.activity.column),1)])):(s(),a("span",fp,o(r.activity.action+" "+r.activity.column+" "),1)),"label"==r.activity.column?(s(),a("span",{key:9,class:k(["fbs-task-label-activity",{"fbs-task-label-activity-empty":!(null==(m=r.activity.settings)?void 0:m.title)}]),style:S({"--fbs-label-dot-color":(null==(g=r.activity.settings)?void 0:g.bg_color)||"var(--fbs-folder-accent)"})},[(null==(f=r.activity.settings)?void 0:f.title)?(s(),a("span",Tp,o(r.activity.settings.title),1)):y("",!0)],6)):y("",!0)]),l(v,{class:"fbs-box-item",effect:"dark",content:h.smartDate(r.activity.created_at,!0),placement:"bottom","show-after":750},{default:n(()=>[i("span",Sp,o(e.$humanTimeDiff(r.activity.created_at)),1)]),_:1},8,["content"])])])])}],["__scopeId","data-v-4d64fd28"]]),Comment:tp,CreateTaskComment:cu,MoreFilled:St},props:{task:{type:Object,default:()=>({})}},data(){return{allCommentsAndActivities:{data:[]},loading:!1,pagination:[],filterBy:"newest",feedType:"all",indexToSeeMore:null,seeMore:!1,currentPage:1,hasMoreData:!0,commentsAndActivitiesRequestId:0,feedTypeOptions:[{value:"all",label:this.$t("All")},{value:"comments",label:this.$t("Comments")},{value:"activities",label:this.$t("Activities")}]}},computed:{...m(js,["board"])},methods:{newCommentAdded(e){this.getCommentAndActivities()},changeFeedType(e){e&&e!==this.feedType&&(this.feedType=e,this.currentPage=1,this.hasMoreData=!0,this.getCommentAndActivities({page:1}))},loadMore(){const e=this.allCommentsAndActivities.data.length;this.currentPage++,this.getCommentAndActivities({page:this.currentPage,append:!0,callback:()=>{this.$nextTick(()=>{const t=this.$refs[`comment-${e}`];t&&t[0]&&t[0].scrollIntoView({behavior:"smooth",block:"start"})})}})},getCommentAndActivities(e={}){const t=++this.commentsAndActivitiesRequestId,s=this.feedType;e.filter=this.filterBy,e.feed_type=s,this.loading=!0,this.$get("projects/"+this.task.board_id+"/tasks/"+this.task.id+"/comments-and-activities",e).then(a=>{t===this.commentsAndActivitiesRequestId&&s===this.feedType&&(e.append?this.allCommentsAndActivities.data=[...this.allCommentsAndActivities.data,...a.comments_and_activities.data]:(this.allCommentsAndActivities=a.comments_and_activities,this.currentPage=1),this.hasMoreData=null!==a.comments_and_activities.next_page_url,this.loading=!1,e.callback&&e.callback())}).catch(e=>{t===this.commentsAndActivitiesRequestId&&s===this.feedType&&(this.handleError(e),this.loading=!1)})}},mounted(){this.getCommentAndActivities(),this.emitter.on("commentEvent",()=>{this.getCommentAndActivities()})},created(){this.eventBus.on("fetch-board-comments-and-activities",e=>{this.getCommentAndActivities()})},beforeUnmount(){this.emitter.off("commentEvent"),this.eventBus.off("fetch-board-comments-and-activities")}},Vp={class:"fbs-comment-activity-feed"},Ap={class:"fbs-comment-and-activity-header"},Ip={class:"fbs_primary_text font-medium"},Dp={class:"icon"},Bp={class:"fbs-task-comments fbs-comment-activity-feed-list"},Lp={key:1,class:"fbs-feed-load-more"},Mp={class:"icon"};const xp=Ss($p,[["render",function(e,t,h,u,p,m){const g=b("Icons"),f=ze,_=xe,v=Me,C=Pe,T=b("create-task-comment"),S=b("comment"),$=b("activity");return s(),a("div",Vp,[i("div",Ap,[i("div",Ip,o(e.$t("Activity")),1),l(C,{trigger:"click",placement:"bottom-end","popper-class":"fbs-comment-activity-filter-menu",onCommand:m.changeFeedType},{dropdown:n(()=>[l(v,null,{default:n(()=>[(s(!0),a(r,null,d(p.feedTypeOptions,e=>(s(),c(_,{key:e.value,command:e.value,class:k({"is-active":p.feedType===e.value})},{default:n(()=>[w(o(e.label),1)]),_:2},1032,["command","class"]))),128))]),_:1})]),default:n(()=>[l(f,{text:"",size:"small",class:"only-icon-btn","aria-label":e.$t("Filter activity feed")},{default:n(()=>[i("span",Dp,[l(g,{"icon-name":"dots"})])]),_:1},8,["aria-label"])]),_:1},8,["onCommand"])]),e.board.isUserOnlyViewer?y("",!0):(s(),c(T,{key:0,task:h.task,onNewCommentAdded:m.newCommentAdded},null,8,["task","onNewCommentAdded"])),i("ul",Bp,[(s(!0),a(r,null,d(p.allCommentsAndActivities.data,(e,t)=>(s(),a("li",{class:k(["fbs_view_task_list",["fbs-feed-item","comment"===e.type?"fbs-feed-item--comment":"fbs-feed-item--activity"]]),key:`${e.type}-${e.id||t}`,ref_for:!0,ref:"comment-"+t},["comment"===e.type?(s(),c(S,{key:0,commentObject:e,task:h.task,index:t,onTaskCommentDeleted:m.getCommentAndActivities},null,8,["commentObject","task","index","onTaskCommentDeleted"])):(s(),c($,{key:1,activity:e},null,8,["activity"]))],2))),128))]),p.hasMoreData?(s(),a("div",Lp,[l(f,{"aria-busy":p.loading,onClick:m.loadMore,disabled:p.loading,"aria-label":e.$t("Load more")},{default:n(()=>[w(o(p.loading?e.$t("Loading..."):e.$t("View more"))+" ",1),i("span",Mp,[l(g,{"icon-name":"arrow-down"})])]),_:1},8,["aria-busy","onClick","disabled","aria-label"])])):y("",!0)])}]]);function Pp(e){return window.fluentAddonVars.trans[e]||e}Pp("Last week"),Pp("This Month"),Pp("Last month"),Pp("Last 3 months"),Pp("This quarter"),Pp("Last quarter"),Pp("Year to Date"),Pp("Now"),Pp("After 1 Hour"),Pp("Tomorrow"),Pp("After 2 Days"),Pp("After 1 Week"),Pp("After 1 Month");const Fp={green:{backgroundColor:"#4bce97"},yellow:{backgroundColor:"#e2b203"},orange:{backgroundColor:"#faa53d"},red:{backgroundColor:"#f87462"},purple:{backgroundColor:"#9f8fef"},blue:{backgroundColor:"#579dff"},sky:{backgroundColor:"#60c6d2"},lime:{backgroundColor:"#6DECA9"},pink:{backgroundColor:"#e774bb"}},Ep={name:"TaskCoverSettings",components:{Icons:$s,FileUpload:_r,ColorPicker:yi},inject:["eventBus"],emits:["childComponentOpen"],props:{task:{type:Object,required:!0},variant:{type:String,default:"icon",validator:e=>["icon","action","create"].includes(e)},localOnly:{type:Boolean,default:!1},noButtonBorder:{type:Boolean,default:!1},onlyIconBtn:{type:Boolean,default:!1}},computed:{coverActionLabel(){return"create"===this.variant?this.$t("Background"):this.$t("Change Cover")},showTriggerLabel(){return["action","create"].includes(this.variant)},triggerButtonClasses(){return"create"===this.variant?"fbs_priority_badge fbs_create_task_modal__cover_trigger":this.showTriggerLabel?"fbs_task_action fbs_task_cover_action_button":"only-icon-btn"},currentCover(){var e,t;return(null==(t=null==(e=this.task)?void 0:e.settings)?void 0:t.cover)||{}},currentCoverImage(){return this.currentCover.backgroundImage||""},activeCoverColor(){return this.currentCover.backgroundColor||""},hasCoverImage(){return!!this.currentCoverImage},hasAnyCover(){return!(!this.currentCoverImage&&!this.activeCoverColor)},isCustomColorSelected(){return!!this.activeCoverColor&&!Object.values(this.coverColors).some(e=>e.backgroundColor===this.activeCoverColor)},coverColorValues(){return Object.values(this.coverColors).map(e=>e.backgroundColor)},customCoverColorStyle(){return this.selectedColor?{background:this.selectedColor}:{}}},data(){var e,t,s;return{popoverVisible:!1,coverColors:Fp,selectedColor:(null==(s=null==(t=null==(e=this.task)?void 0:e.settings)?void 0:t.cover)?void 0:s.backgroundColor)??"",uploading:!1,isChildComponentOpen:!1,customColorPickerVisible:!1}},methods:{changeCoverColor(e,t=!0,s=!0){if(this.childComponentOpen(),this.checkData(),t&&this.closePopover(),s&&this.task.settings.cover.backgroundColor==e?(this.task.settings.cover.backgroundColor="",this.selectedColor=""):(this.task.settings.cover.backgroundColor=e,this.selectedColor=e),this.localOnly)return;const a=this;this.eventBus.emit("change-task-property",{task:this.task,property:"settings",value:this.task.settings,onSuccess:e=>{const s=a.$refs.taskCoverSettings;s&&t&&s.hide()},onError:e=>{this.$notify.error({title:"Error",message:"Task settings couldn't be updated. Please try again."})}})},changeCustomCoverColor(e){this.changeCoverColor(e,!1,!1)},checkData(){this.task.settings?this.task.settings.cover||(this.task.settings.cover={backgroundColor:""}):this.task.settings={cover:{backgroundColor:""}}},chooseImage(){!this.localOnly&&this.appVars.has_pro&&(this.childComponentOpen(),this.isChildComponentOpen=!0,this.uploading=!0,setTimeout(()=>{this.$refs.taskCoverImageUpload.uploadClick()}))},handleMediaUpload(e){this.checkData(),this.task.settings.cover={backgroundImage:e.public_url},this.selectedColor="",this.eventBus.emit("update-tasks",[this.task]),this.uploading=!1,this.closePopover()},handleMediaUploadFailure(e){this.uploading=!1},removeTaskCover(e=!0){return this.childComponentOpen(),this.localOnly?(this.checkData(),this.task.settings.cover={},this.selectedColor="",e&&this.closePopover(),Promise.resolve()):this.$post("projects/"+this.task.board_id+"/tasks/"+this.task.id+"/remove-task-cover").then(e=>{var t;return this.task.settings=(null==(t=e.task)?void 0:t.settings)||{},this.task.settings.cover||(this.task.settings.cover={}),this.eventBus.emit("update-tasks",[this.task]),e}).catch(e=>{this.$notify.error({title:this.$t("Error"),message:this.$t("Task cover couldn't be removed. Please try again.")})}).finally(()=>{e&&this.closePopover()})},handleClickOutside(e){var t;(null==(t=this.$refs.taskCoverSettingsContainer)?void 0:t.contains(e.target))||this.isChildComponentOpen||(document.removeEventListener("click",this.handleClickOutside),this.popoverVisible=!1)},showPopOver(){this.childComponentOpen(),this.popoverVisible=!0,setTimeout(()=>{document.addEventListener("click",this.handleClickOutside)},10)},closePopover(){this.isChildComponentOpen=!1,this.customColorPickerVisible=!1,document.removeEventListener("click",this.handleClickOutside),this.popoverVisible=!1,setTimeout(()=>{this.$emit("childComponentOpen",!1)})},childComponentOpen(){this.$emit("childComponentOpen",!0)}},created(){this.checkData()},watch:{activeCoverColor(e){this.selectedColor=e||""},customColorPickerVisible(e){this.isChildComponentOpen=e,this.$emit("childComponentOpen",e)}}},Up={class:"fbs_cover_settings",ref:"taskCoverSettingsContainer"},Op={class:"fbs_task_cover_panel__header"},Rp={class:"icon"},Np={class:"fbs_task_cover_panel__body"},Hp={key:0,class:"fbs_task_cover_panel_section"},jp={class:"fbs_primary_text fbs_mb_12 font-medium"},zp={class:"fbs_task_cover_panel_image_row"},Gp=["aria-label"],qp={class:"fbs_task_cover_panel_selected_icon","aria-hidden":"true"},Wp=["aria-label","disabled"],Kp={class:"icon","aria-hidden":"true"},Zp={key:0,class:"fbs_task_cover_panel_pro_badge"},Yp={class:"fbs_task_cover_panel_section"},Jp={class:"fbs_primary_text fbs_mb_12 font-medium"},Qp={class:"fbs_task_cover_panel_color_grid"},Xp=["aria-label","onClick"],em={key:0,class:"fbs_task_cover_panel_selected_icon","aria-hidden":"true"},tm=["aria-label"],sm={key:0,class:"fbs_task_cover_panel_selected_icon","aria-hidden":"true"},am=["title"],im={class:"fbs_task_cover_panel_pro_badge"},om={class:"fbs_task_cover_panel__footer"},lm=["disabled"],nm={class:"icon"},rm={key:1,class:"label"};const dm=Ss(Ep,[["render",function(e,t,h,u,p,m){const v=b("Icons"),C=ze,T=b("file-upload"),$=b("color-picker"),V=je,A=g("loading");return s(),a("div",null,[l(V,{placement:"bottom-end",width:372,visible:p.popoverVisible,ref:"taskCoverSettings",onHide:m.closePopover,"popper-class":"fbs_cover_settings_popover"},{reference:n(()=>[_(e.$slots,"trigger",{showPopOver:m.showPopOver,coverActionLabel:m.coverActionLabel,activeCoverColor:m.activeCoverColor},()=>[l(C,{text:"",class:k(["cursor_pointer",[m.triggerButtonClasses,{"no-border":h.noButtonBorder,"only-icon-btn":h.onlyIconBtn}]]),"aria-label":m.coverActionLabel,title:m.coverActionLabel,onClick:m.showPopOver},{default:n(()=>["create"===h.variant&&m.activeCoverColor?(s(),a("span",{key:0,class:"fbs_create_task_modal__cover_swatch",style:S({backgroundColor:m.activeCoverColor})},null,4)):y("",!0),i("span",nm,[l(v,{"icon-name":"image"})]),m.showTriggerLabel?(s(),a("span",rm,o("create"===h.variant?e.$t("Background"):e.$t("Change Cover")),1)):y("",!0)]),_:1},8,["class","aria-label","title","onClick"])])]),default:n(()=>[i("div",Up,[i("div",Op,[i("h4",null,o(h.localOnly?e.$t("Background"):e.$t("Change Cover")),1),l(C,{text:"",class:"only-icon-btn fbs_close_task_cover_settings",size:"small",onClick:m.closePopover,"aria-label":e.$t("Close Task cover settings")},{default:n(()=>[i("span",Rp,[l(v,{"icon-name":"close"})])]),_:1},8,["onClick","aria-label"])]),i("div",Np,[h.localOnly?y("",!0):(s(),a("div",Hp,[i("p",jp,o(e.$t("Image")),1),f((s(),a("div",zp,[m.hasCoverImage?(s(),a("button",{key:0,type:"button",class:"fbs_task_cover_panel_tile fbs_task_cover_panel_tile_image is_selected",style:S({background:`url(${m.currentCoverImage}) center / cover no-repeat`}),"aria-label":e.$t("Current Image"),disabled:""},[i("span",qp,[l(v,{"icon-name":"image"})])],12,Gp)):y("",!0),i("button",{type:"button",class:k(["fbs_task_cover_panel_tile fbs_task_cover_panel_tile_upload",{is_disabled:!e.appVars.has_pro}]),"aria-label":e.$t("Upload Image"),disabled:!e.appVars.has_pro,onClick:t[0]||(t[0]=(...e)=>m.chooseImage&&m.chooseImage(...e))},[i("span",Kp,[l(v,{"icon-name":"image"})]),e.appVars.has_pro?y("",!0):(s(),a("span",Zp,o(e.$t("Pro")),1))],10,Wp)])),[[A,p.uploading]]),e.appVars.has_pro?(s(),c(T,{key:0,ref:"taskCoverImageUpload","is-image":!0,url:h.task.id+"/task-cover-image-upload",onOnFileUploadSuccess:m.handleMediaUpload,onOnFileUploadFail:m.handleMediaUploadFailure,onOnFileUploadCancel:m.handleMediaUploadFailure,style:{display:"none !important"}},null,8,["url","onOnFileUploadSuccess","onOnFileUploadFail","onOnFileUploadCancel"])):y("",!0)])),i("div",Yp,[i("p",Jp,o(e.$t("Color")),1),i("div",Qp,[(s(!0),a(r,null,d(p.coverColors,(o,l)=>(s(),a("button",{key:l,type:"button",class:k(["fbs_task_cover_panel_tile fbs_task_cover_panel_tile_color",{is_selected:m.activeCoverColor===o.backgroundColor}]),style:S(o),"aria-label":e.$t("Select Color"),onClick:e=>m.changeCoverColor(o.backgroundColor)},[m.activeCoverColor===o.backgroundColor?(s(),a("span",em,[...t[4]||(t[4]=[i("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[i("path",{d:"M8 14C4.6862 14 2 11.3138 2 8C2 4.6862 4.6862 2 8 2C11.3138 2 14 4.6862 14 8C14 11.3138 11.3138 14 8 14ZM7.4018 10.4L11.6438 6.1574L10.7954 5.309L7.4018 8.7032L5.7044 7.0058L4.856 7.8542L7.4018 10.4Z",fill:"white"})],-1)])])):y("",!0)],14,Xp))),128)),e.appVars.has_pro?(s(),c($,{key:0,modelValue:p.selectedColor,"onUpdate:modelValue":t[1]||(t[1]=e=>p.selectedColor=e),visible:p.customColorPickerVisible,"onUpdate:visible":t[2]||(t[2]=e=>p.customColorPickerVisible=e),placement:e.appVars.is_rtl?"left":"right","show-alpha":!h.localOnly,"recommended-colors":m.coverColorValues,onChange:m.changeCustomCoverColor},{reference:n(()=>[i("button",{type:"button",class:k(["fbs_task_cover_panel_custom_color",{is_selected:m.isCustomColorSelected}]),style:S(m.customCoverColorStyle),"aria-label":e.$t("Custom Color")},[m.isCustomColorSelected?(s(),a("span",sm,[...t[5]||(t[5]=[i("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[i("path",{d:"M8 14C4.6862 14 2 11.3138 2 8C2 4.6862 4.6862 2 8 2C11.3138 2 14 4.6862 14 8C14 11.3138 11.3138 14 8 14ZM7.4018 10.4L11.6438 6.1574L10.7954 5.309L7.4018 8.7032L5.7044 7.0058L4.856 7.8542L7.4018 10.4Z",fill:"white"})],-1)])])):y("",!0)],14,tm)]),_:1},8,["modelValue","visible","placement","show-alpha","recommended-colors","onChange"])):(s(),a("div",{key:1,title:e.$t("Custom Color"),class:"fbs_task_cover_panel_tile fbs_task_cover_panel_tile_upload is_disabled"},[t[6]||(t[6]=i("span",{class:"icon","aria-hidden":"true"},[i("svg",{xmlns:"http://www.w3.org/2000/svg",width:"25",height:"25",viewBox:"0 0 25 25",fill:"none"},[i("path",{d:"M12.5 5.20831V19.7916M5.20837 12.5H19.7917",stroke:"currentColor","stroke-width":"1.875","stroke-linecap":"round","stroke-linejoin":"round"})])],-1)),i("span",im,o(e.$t("Pro")),1)],8,am))])])]),i("div",om,[i("button",{type:"button",class:"fbs-board-background-reset-button",disabled:!m.hasAnyCover,onClick:t[3]||(t[3]=(...e)=>m.removeTaskCover&&m.removeTaskCover(...e))},[l(v,{"icon-name":"reset-icon"}),w(" "+o(e.$t("Remove Cover")),1)],8,lm)])],512)]),_:3},8,["visible","onHide"])])}]]),cm={class:"fbs_primary_text font-medium fbs_mb_4 d-block"},hm={class:"fbs_primary_text font-medium fbs_mb_4 d-block"};const um=Ss({name:"HourMinuteInput",props:["modelValue"],emits:["update:modelValue"],data(){return{form:{hour:Math.floor(this.modelValue/60),minute:Math.floor(this.modelValue%60)}}},watch:{form:{handler(){const e=this.normalizeTimePart(this.form.hour),t=this.normalizeTimePart(this.form.minute);this.$emit("update:modelValue",60*e+t)},deep:!0}},methods:{normalizeTimePart(e){const t=parseInt(e);return Number.isNaN(t)?0:t}}},[["render",function(e,t,a,r,d,u){const p=He,m=$t,b=Vt;return s(),c(b,{gutter:20,span:2},{default:n(()=>[l(m,{span:12},{default:n(()=>[i("label",cm,o(e.$t("Hours")),1),l(p,{type:"number",modelValue:d.form.hour,"onUpdate:modelValue":t[0]||(t[0]=e=>d.form.hour=e),min:0,step:1,onPaste:t[1]||(t[1]=h(()=>{},["stop"]))},null,8,["modelValue"])]),_:1}),l(m,{span:12},{default:n(()=>[i("label",hm,o(e.$t("Minutes")),1),l(p,{type:"number",modelValue:d.form.minute,"onUpdate:modelValue":t[2]||(t[2]=e=>d.form.minute=e),min:0,max:59,step:1,onPaste:t[3]||(t[3]=h(()=>{},["stop"]))},null,8,["modelValue"])]),_:1})]),_:1})}]]),pm={name:"ActivityListItem",components:{Icons:$s},props:{last:{type:Boolean,default:!1}}},mm={class:"fbs_activity_list_item__left"},bm={class:"fbs_activity_list_item__indicator"},gm={class:"fbs_activity_list_item__body"},fm={class:"fbs_activity_list_item__title"},_m={class:"fbs_activity_list_item__date"};const km=Ss(pm,[["render",function(e,t,o,n,r,d){const c=b("Icons");return s(),a("div",{class:k(["fbs_activity_list_item",{"fbs_activity_list_item--last":o.last}])},[t[0]||(t[0]=i("div",{class:"fbs_activity_list_item__connector"},null,-1)),i("div",mm,[i("div",bm,[l(c,{"icon-name":"check"})])]),i("div",gm,[i("div",fm,[_(e.$slots,"title")]),i("div",_m,[_(e.$slots,"date")])])],2)}]]),vm={name:"TaskTimeLogPopover",components:{Icons:$s,ActivityListItem:km,HourMinuteInput:um,EmptyState:Vs},props:{showTimeLog:{type:Boolean,required:!0},tracks:{type:Array,required:!0},board:{type:Object,required:!0},updateTimeLog:{type:Object,required:!0},editTimeLog:{type:Boolean,required:!0},canEditTimeTracking:{type:Boolean,required:!0},placement:{type:String,default:"left"}},emits:["update:showTimeLog","set-time-log-to-update","update-log-time","cancel-edit-time-log","delete-log"],computed:{totalLoggedMinutes(){return this.tracks.reduce((e,t)=>e+(parseInt(t.billable_minutes||0)||0),0)},totalLoggedLabel(){return this.totalLoggedMinutes?this.formatMinutes(this.totalLoggedMinutes):"0m"},editDialogVisible(){return this.editTimeLog&&!!this.updateTimeLog.id},timeLogVisible:{get(){return this.showTimeLog},set(e){this.$emit("update:showTimeLog",e)}}},methods:{smartDate:yl,formatMinutes(e){let t=parseInt(e);if(!t)return"";const s=Math.floor(t/60);return t%=60,s?t?`${s}h ${t}m`:`${s}h`:`${t}m`},openEditDialog(e){this.canEditTimeTracking&&this.$emit("set-time-log-to-update",e)},openDeleteConfirm(e){this.canEditTimeTracking&&tt.confirm(this.$t("It will permanently delete the work log. Continue?"),this.$t("Warning"),{type:"warning",distinguishCancelAndClose:!0,icon:x(et),confirmButtonText:this.$t("Ok"),cancelButtonText:this.$t("Cancel")}).then(()=>{this.$emit("delete-log",e.id)}).catch(()=>{})}}},ym={ref:"timeLog"},wm={class:"fbs_task_timer_popover__header"},Cm={class:"fbs_task_timer_popover__header_title"},Tm={class:"fbs_task_timer_popover__header_actions"},Sm={class:"fbs_secondary_text"},$m={class:"fbs_task_timer_popover__body"},Vm={class:"fbs_member_activities__list fbs_task_timer__activity_list"},Am={class:"fbs_task_timer__log_item_header fbs_mb_8"},Im={class:"fbs_task_timer__log_item_user fbs_primary_text font-medium gap-10"},Dm={class:"fbs_task_timer__log_item_meta"},Bm={class:"fbs_badge medium gap-12"},Lm={class:"d-flex items-center gap-2"},Mm={class:"icon"},xm={class:"d-flex items-center gap-2"},Pm={class:"icon"},Fm={key:0,class:"fbs_task_timer__table_actions"},Em={class:"fbs_secondary_text small"},Um={class:"fbs_secondary_text small"},Om={class:"fbs_task_timer_popover__body fbs_p_0"},Rm={class:"dialog-footer justify-end"};const Nm={name:"TaskTimer",emits:["time-summary-change"],props:{task:{type:Object,required:!0}},components:{Icons:$s,HourMinuteInput:um,TaskTimeLogPopover:Ss(vm,[["render",function(e,t,u,p,m,g){const f=ze,_=b("empty-state"),k=rt,v=b("Icons"),C=xe,T=Me,S=Pe,$=b("ActivityListItem"),V=b("HourMinuteInput"),A=Tt,I=gt,D=He,B=bt,L=Ge,M=je;return s(),c(M,{visible:g.timeLogVisible,"onUpdate:visible":t[6]||(t[6]=e=>g.timeLogVisible=e),trigger:"click","popper-class":"fbs_task_timer__log_popover",placement:u.placement,width:500},{reference:n(()=>[l(f,{link:"",size:"small",class:"fbs_secondary_text no-underline hover-underline"},{default:n(()=>[w(o(e.$t("History")),1)]),_:1})]),default:n(()=>[i("div",ym,[i("div",wm,[i("div",Cm,o(e.$t("Work Logs")),1),i("div",Tm,[i("span",Sm,o(g.totalLoggedLabel)+" "+o(e.$t("Total")),1)])]),i("div",$m,[i("div",Vm,[u.tracks.length?y("",!0):(s(),c(_,{key:0,message:e.$t("No logging yet!"),"icon-width":84,"icon-height":64},null,8,["message"])),(s(!0),a(r,null,d(u.tracks,(t,r)=>(s(),c($,{key:t.id,last:r===u.tracks.length-1},{title:n(()=>{var r,d;return[i("div",Am,[i("div",Im,[l(k,{src:null==(r=t.user)?void 0:r.photo,size:24,class:"flex-none"},null,8,["src"]),i("span",null,o(null==(d=t.user)?void 0:d.display_name),1)]),i("div",Dm,[i("div",Bm,[i("div",Lm,[i("span",Mm,[l(v,{"icon-name":"calendar"})]),w(" "+o(g.smartDate(t.completed_at)),1)]),i("div",xm,[i("span",Pm,[l(v,{"icon-name":"clock"})]),w(" "+o(g.formatMinutes(t.billable_minutes)),1)])]),u.canEditTimeTracking?(s(),a("div",Fm,[l(S,{trigger:"click",placement:"bottom-end"},{dropdown:n(()=>[l(T,null,{default:n(()=>[l(C,{onClick:e=>g.openEditDialog(t)},{default:n(()=>[w(o(e.$t("Edit")),1)]),_:1},8,["onClick"]),l(C,{onClick:e=>g.openDeleteConfirm(t)},{default:n(()=>[w(o(e.$t("Delete")),1)]),_:1},8,["onClick"])]),_:2},1024)]),default:n(()=>[l(f,{text:"",class:"only-icon-btn extra-small"},{default:n(()=>[l(v,{"icon-name":"dots"})]),_:1})]),_:2},1024)])):y("",!0)])]),i("div",Em,o(t.message),1)]}),date:n(()=>[i("div",Um,o(e.$t("Created At"))+": "+o(g.smartDate(t.created_at||t.updated_at,!0)),1)]),_:2},1032,["last"]))),128))])]),l(L,{"model-value":g.editDialogVisible,title:e.$t("Edit Work Log"),width:"360px","append-to-body":!0,onClose:t[5]||(t[5]=t=>e.$emit("cancel-edit-time-log"))},{footer:n(()=>[i("div",Rm,[l(f,{onClick:t[3]||(t[3]=t=>e.$emit("cancel-edit-time-log"))},{default:n(()=>[w(o(e.$t("Cancel")),1)]),_:1}),l(f,{type:"primary",onClick:t[4]||(t[4]=h(t=>e.$emit("update-log-time"),["stop"]))},{default:n(()=>[w(o(e.$t("Log Time")),1)]),_:1})])]),default:n(()=>[i("div",Om,[g.editDialogVisible?(s(),c(B,{key:0,"label-position":"top"},{default:n(()=>[l(V,{modelValue:u.updateTimeLog.billable_minutes,"onUpdate:modelValue":t[0]||(t[0]=e=>u.updateTimeLog.billable_minutes=e)},null,8,["modelValue"]),l(I,{label:e.$t("Date")},{default:n(()=>[l(A,{modelValue:u.updateTimeLog.completed_at,"onUpdate:modelValue":t[1]||(t[1]=e=>u.updateTimeLog.completed_at=e),type:"date",placeholder:e.$t("Pick a day"),style:{width:"100%"}},null,8,["modelValue","placeholder"])]),_:1},8,["label"]),l(I,{label:e.$t("Work Description")},{default:n(()=>[l(D,{placeholder:e.$t("Your work description of this log"),modelValue:u.updateTimeLog.message,"onUpdate:modelValue":t[2]||(t[2]=e=>u.updateTimeLog.message=e),type:"textarea",rows:3},null,8,["placeholder","modelValue"])]),_:1},8,["label"])]),_:1})):y("",!0)])]),_:1},8,["model-value","title"])],512)]),_:1},8,["visible","placement"])}]])},data(){return{tracks:[],estimatedMinutes:0,loading:!1,updating:!1,estimatedForm:!1,logForm:!1,newLog:{billable_minutes:"",message:"",completed_at:this.getTodayDate()},timeTrackingViewportWidth:0,updateTimeLog:{id:null,billable_minutes:"",message:"",completed_at:this.getTodayDate()},showTimeLog:!1,editTimeLog:!1}},watch:{task(e,t){e.id&&e.id!==t.id&&this.fetchTracks()},timerSummaryLabel:{immediate:!0,handler(e){this.$emit("time-summary-change",e)}}},computed:{...m(js,["board"]),totalLoggedMinutes(){return this.tracks.reduce((e,t)=>e+t.billable_minutes,0)},totalLoggedLabel(){return this.tracks.length?this.formatMinutes(this.totalLoggedMinutes):"0m"},totalEstimationLabel(){return this.formatMinutes(this.estimatedMinutes)},percentileCompleted(){return this.estimatedMinutes?Math.round(this.totalLoggedMinutes/this.estimatedMinutes*100):0},progressPercentage(){return Math.min(this.percentileCompleted,100)},progressColor(){return this.percentileCompleted>100?"#ff5722":"#0E121B"},timeLogSummary(){return this.tracks.length?this.totalLoggedLabel+" "+this.$t("logged"):this.$t("No logging yet!")},timerSummaryLabel(){const e=this.totalLoggedMinutes?this.formatMinutes(this.totalLoggedMinutes):"0m",t=this.estimatedMinutes?`${this.formatMinutes(this.estimatedMinutes)} ${this.$t("estimated")}`:this.$t("No estimate");return`${e} ${this.$t("logged")} / ${t}`},canEditTimeTracking(){return!this.board.archived_at&&!this.board.isUserOnlyViewer},canShowTimerActions(){return this.canEditTimeTracking||!!this.estimatedMinutes},estimationActionLabel(){return this.estimatedMinutes?this.totalEstimationLabel+" "+this.$t("estimated"):this.$t("Set Estimation")},timeTrackingEnabled(){var e,t,s,a;return!(!(null==(e=this.appVars)?void 0:e.has_pro)||"yes"!==(null==(a=null==(s=null==(t=this.appVars)?void 0:t.advanced_modules)?void 0:s.timeTracking)?void 0:a.enabled))},isCompactTimeTrackingViewport(){return!!(this.timeTrackingViewportWidth&&this.timeTrackingViewportWidth<817)},timeTrackingPopoverPlacement(){return this.isCompactTimeTrackingViewport?"bottom":this.appVars.is_rtl?"left":"right"}},methods:{smartDate:yl,updateTimeTrackingViewportWidth(){this.timeTrackingViewportWidth=window.innerWidth||0},fetchTracks(){var e,t;if(!this.timeTrackingEnabled||!(null==(e=this.task)?void 0:e.id)||!(null==(t=this.task)?void 0:t.board_id))return this.tracks=[],void(this.estimatedMinutes=0);this.loading=!0,this.$get("projects/"+this.task.board_id+"/tasks/"+this.task.id+"/time-tracks").then(e=>{this.tracks=e.tracks,this.estimatedMinutes=e.estimated_minutes}).catch(e=>{this.$handleError(e)}).finally(()=>{this.loading=!1})},updateEstimatedTime(){this.timeTrackingEnabled&&(this.updating=!0,this.$post("projects/"+this.task.board_id+"/tasks/"+this.task.id+"/time-tracks/estimated-time",{estimated_minutes:this.estimatedMinutes}).then(e=>{this.$notify({message:e.message,type:"success"}),this.closeEstimatedForm()}).catch(e=>{this.$handleError(e)}).finally(()=>{this.updating=!1}))},toggleEstimatedForm(){this.estimatedForm=!this.estimatedForm,this.estimatedForm?(this.logForm=!1,setTimeout(()=>{document.addEventListener("click",this.handleClickOutsideOfEstimatedForm)},0)):this.closeEstimatedForm()},closeEstimatedForm(){this.estimatedForm=!1,document.removeEventListener("click",this.handleClickOutsideOfEstimatedForm)},handleClickOutsideOfEstimatedForm(e){var t;const s=null==(t=this.$refs.estimateTimeTrigger)?void 0:t.$el,a=this.$refs.estimateTimeForm;(null==a?void 0:a.contains(e.target))||(null==s?void 0:s.contains(e.target))||this.closeEstimatedForm()},logTime(){this.timeTrackingEnabled&&this.BillableMinutesValidation(this.newLog.billable_minutes)&&(this.updating=!0,this.$post("projects/"+this.task.board_id+"/tasks/"+this.task.id+"/time-tracks",this.newLog).then(e=>{this.$notify({message:e.message,type:"success"}),this.tracks.push(e.track),this.closeLogForm(),this.newLog={billable_minutes:"",message:"",completed_at:this.getTodayDate()}}).catch(e=>{this.$handleError(e)}).finally(()=>{this.updating=!1}))},toggleLog(){this.logForm=!this.logForm,this.closeEstimatedForm(),this.logForm?(this.$nextTick(()=>{var e,t,s;null==(s=null==(t=null==(e=this.$refs.newLog)?void 0:e.$el)?void 0:t.querySelector("input"))||s.focus()}),setTimeout(()=>{document.addEventListener("click",this.handleClickOutsideOfLogForm)},0)):this.closeLogForm()},closeLogForm(){this.logForm=!1,document.removeEventListener("click",this.handleClickOutsideOfLogForm)},handleClickOutsideOfLogForm(e){var t,s,a;const i=null==(t=this.$refs.logTimeTrigger)?void 0:t.$el,o=this.$refs.logTimeForm;(null==(a=null==(s=e.target)?void 0:s.closest)?void 0:a.call(s,".el-picker__popper"))||(null==o?void 0:o.contains(e.target))||(null==i?void 0:i.contains(e.target))||this.closeLogForm()},formatMinutes(e){let t=parseInt(e);if(!t)return"";const s=Math.floor(t/60);return t%=60,s?t?`${s}h ${t}m`:`${s}h`:`${t}m`},setTimeLogToUpdate(e){this.editTimeLog=!this.editTimeLog,this.editTimeLog?this.updateTimeLog=JSON.parse(JSON.stringify(e)):this.cancelEditTimeLog()},upDateLogTime(){this.timeTrackingEnabled&&this.BillableMinutesValidation(this.updateTimeLog.billable_minutes)&&this.$put("projects/"+this.task.board_id+"/tasks/"+this.task.id+"/time-tracks/commit/"+this.updateTimeLog.id,this.updateTimeLog).then(e=>{this.$notify({message:e.message,type:"success"}),this.fetchTracks()}).catch(e=>{this.$handleError(e)}).finally(()=>{this.cancelEditTimeLog()})},cancelEditTimeLog(){this.updateTimeLog={id:null,billable_minutes:"",message:"",completed_at:this.getTodayDate()},this.editTimeLog=!1},deleteLog(e){this.timeTrackingEnabled&&this.$del("projects/"+this.task.board_id+"/tasks/"+this.task.id+"/time-tracks/"+e).then(t=>{this.tracks=this.tracks.filter(t=>t.id!==e),this.$notify({message:t.message,type:"success"})}).catch(e=>{this.$handleError(e)}).finally(()=>{})},BillableMinutesValidation(e){return!("number"!=typeof e||Number.isNaN(e)||e<1)||(this.$notify({message:this.$t("Please enter a valid time"),type:"error"}),!1)},getTodayDate(){const e=new Date;return`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,"0")}-${String(e.getDate()).padStart(2,"0")}`}},mounted(){this.updateTimeTrackingViewportWidth(),window.addEventListener("resize",this.updateTimeTrackingViewportWidth),this.fetchTracks()},beforeUnmount(){window.removeEventListener("resize",this.updateTimeTrackingViewportWidth),document.removeEventListener("click",this.handleClickOutsideOfEstimatedForm),document.removeEventListener("click",this.handleClickOutsideOfLogForm)}},Hm={class:"fbs_task_timer__header"},jm={class:"fbs-sidebar-title"},zm={class:"fbs_task_timer__container"},Gm={class:"fbs_task_timer__progress_panel"},qm={class:"fbs_task_timer__labels"},Wm={class:"fbs_task_timer__percent"},Km={class:"fbs_task_timer__labels_right d-flex items-center gap-6 fbs_secondary_text small"},Zm={class:"fbs_task_timer__progress_wrap"},Ym={key:0,class:"fbs_task_timer__actions"},Jm={class:"icon"},Qm={ref:"logTimeForm",class:"fbs_task_timer__log_form"},Xm={class:"fbs_task_timer_popover__header"},eb={class:"fbs_task_timer_popover__header_title"},tb={class:"fbs_task_timer_popover__body"},sb={class:"fbs_task_timer_popover__footer"},ab={ref:"estimateTimeForm",class:"fbs_task_timer__estimate_form"},ib={class:"fbs_task_timer_popover__header"},ob={class:"fbs_task_timer_popover__header_title"},lb={class:"fbs_task_timer_popover__body"},nb={class:"fbs_task_timer_popover__footer"},rb={key:2,class:"fbs_task_timer__estimate_static"};const db=Ss(Nm,[["render",function(e,t,r,d,u,p){const m=b("TaskTimeLogPopover"),_=ot,k=b("Icons"),v=ze,C=b("HourMinuteInput"),T=Tt,S=gt,$=He,V=bt,A=je,I=g("loading");return s(),a("div",{class:"fbs_task_timer",onPaste:t[7]||(t[7]=h(()=>{},["stop"]))},[i("div",Hm,[i("div",jm,o(e.$t("Time Tracking")),1)]),i("div",zm,[i("div",Gm,[i("div",qm,[i("span",Wm,o(p.percentileCompleted)+"%",1),i("div",Km,[w(o(p.timeLogSummary)+" ",1),t[8]||(t[8]=i("span",{class:"fbs_circle"},null,-1)),l(m,{"show-time-log":u.showTimeLog,"onUpdate:showTimeLog":t[0]||(t[0]=e=>u.showTimeLog=e),tracks:u.tracks,board:e.board,"update-time-log":u.updateTimeLog,"edit-time-log":u.editTimeLog,"can-edit-time-tracking":p.canEditTimeTracking,placement:p.timeTrackingPopoverPlacement,onSetTimeLogToUpdate:p.setTimeLogToUpdate,onUpdateLogTime:p.upDateLogTime,onCancelEditTimeLog:p.cancelEditTimeLog,onDeleteLog:p.deleteLog},null,8,["show-time-log","tracks","board","update-time-log","edit-time-log","can-edit-time-tracking","placement","onSetTimeLogToUpdate","onUpdateLogTime","onCancelEditTimeLog","onDeleteLog"])])]),i("div",Zm,[l(_,{color:p.progressColor,percentage:p.progressPercentage,"text-inside":!1,"show-text":!1,"stroke-width":6},null,8,["color","percentage"])])]),p.canShowTimerActions?(s(),a("div",Ym,[p.canEditTimeTracking?(s(),c(A,{key:0,ref:"log_time_pop",placement:p.timeTrackingPopoverPlacement,"popper-class":"fbs_task_timer__log_popover",width:360,visible:u.logForm},{reference:n(()=>[l(v,{ref:"logTimeTrigger",link:"",class:"fbs_task_timer__log_button no-underline hover-underline extra-small fbs_ml_0 fbs_mr_0",onClick:p.toggleLog},{default:n(()=>[i("span",Jm,[l(k,{"icon-name":"plus"})]),w(" "+o(e.$t("Log")),1)]),_:1},8,["onClick"])]),default:n(()=>[i("div",Qm,[i("div",Xm,[i("div",eb,o(e.$t("Log your work")),1)]),i("div",tb,[f((s(),c(V,{ref:"newLog","label-position":"top"},{default:n(()=>[l(C,{modelValue:u.newLog.billable_minutes,"onUpdate:modelValue":t[1]||(t[1]=e=>u.newLog.billable_minutes=e)},null,8,["modelValue"]),l(S,{label:e.$t("Date")},{default:n(()=>[l(T,{modelValue:u.newLog.completed_at,"onUpdate:modelValue":t[2]||(t[2]=e=>u.newLog.completed_at=e),type:"date",placeholder:e.$t("Pick a day"),style:{width:"100%"},onPaste:t[3]||(t[3]=h(()=>{},["stop"]))},null,8,["modelValue","placeholder"])]),_:1},8,["label"]),l(S,{label:e.$t("Work Description")},{default:n(()=>[l($,{placeholder:e.$t("Your work description of this log"),modelValue:u.newLog.message,"onUpdate:modelValue":t[4]||(t[4]=e=>u.newLog.message=e),type:"textarea",rows:3},null,8,["placeholder","modelValue"])]),_:1},8,["label"])]),_:1})),[[I,u.updating]])]),i("div",sb,[l(v,{size:"small",onClick:p.closeLogForm},{default:n(()=>[w(o(e.$t("Cancel")),1)]),_:1},8,["onClick"]),f((s(),c(v,{type:"primary",size:"small",disabled:u.updating,onClick:t[5]||(t[5]=e=>p.logTime())},{default:n(()=>[w(o(e.$t("Save")),1)]),_:1},8,["disabled"])),[[I,u.updating]])])],512)]),_:1},8,["placement","visible"])):y("",!0),p.canEditTimeTracking?(s(),c(A,{key:1,ref:"estimated_time_pop",placement:p.timeTrackingPopoverPlacement,"popper-class":"fbs_task_timer__log_popover",width:360,visible:u.estimatedForm},{reference:n(()=>[l(v,{ref:"estimateTimeTrigger",link:"",onClick:p.toggleEstimatedForm,class:"no-underline hover-underline extra-small fbs_ml_0 fbs_mr_0"},{default:n(()=>[w(o(p.estimationActionLabel),1)]),_:1},8,["onClick"])]),default:n(()=>[i("div",ab,[i("div",ib,[i("div",ob,o(e.$t("Set Estimated Time")),1)]),i("div",lb,[l(V,null,{default:n(()=>[u.estimatedForm?(s(),c(C,{key:0,modelValue:u.estimatedMinutes,"onUpdate:modelValue":t[6]||(t[6]=e=>u.estimatedMinutes=e)},null,8,["modelValue"])):y("",!0)]),_:1})]),i("div",nb,[f((s(),c(v,{disabled:u.updating,onClick:p.updateEstimatedTime,type:"primary",size:"small"},{default:n(()=>[w(o(e.$t("Update Estimation")),1)]),_:1},8,["disabled","onClick"])),[[I,u.updating]])])],512)]),_:1},8,["placement","visible"])):u.estimatedMinutes?(s(),a("span",rb,o(p.totalEstimationLabel)+" "+o(e.$t("estimated")),1)):y("",!0)])):y("",!0)])],32)}]]),cb={class:"fbs-subtask-groups"};const hb=Ss({name:"SubtaskGroups",components:{CustomIcon:ml,Subtask:er},props:{task:{type:Object,required:!0}},emits:["subtask-groups-change"],data:()=>({visible:!1,groupTitle:"",subtaskGroups:[],newGroupId:null}),methods:{getSubTaskGroups(){this.$get("projects/"+this.task.board_id+"/tasks/"+this.task.id+"/subtasks").then(e=>{this.subtaskGroups=e.subtaskGroups||[],this.$emit("subtask-groups-change",{loaded:!0,hasGroups:this.subtaskGroups.length>0})}).catch(e=>{this.handleError(e)}).finally(()=>{})}},mounted(){this.appVars.has_pro&&this.getSubTaskGroups(),this.emitter.on("subtask-group-updated",(e=null)=>{this.newGroupId=e&&!1!==e.openInline?e.id:null,this.getSubTaskGroups()}),this.emitter.on("subtask-updated",e=>{let t=this.subtaskGroups.find(t=>t.id==e.oldGroupId);if(t&&t.subtasks){const s=t.subtasks.findIndex(t=>t.id==e.subtask.id);-1!==s&&t.subtasks.splice(s,1)}if(t=this.subtaskGroups.find(t=>t.id==e.newGroupId),t&&t.subtasks){const s={...e.subtask,subtask_group_id:e.newGroupId,meta:{...e.subtask.meta||{},subtask_group_id:e.newGroupId}};t.subtasks.push(s)}}),this.emitter.on("add-subtasks-to-a-group",e=>{const t=this.subtaskGroups.find(t=>t.id==e.newGroupId);if(t&&t.subtasks)for(const s of e.subtasks)t.subtasks.push(s)})},beforeUnmount(){this.emitter.off("subtask-group-updated"),this.emitter.off("subtask-updated"),this.emitter.off("add-subtasks-to-a-group")}},[["render",function(e,t,i,o,l,n){const h=b("subtask");return s(),a("div",cb,[(s(!0),a(r,null,d(l.subtaskGroups,(e,t)=>(s(),c(h,{key:e.id||t,onGetSubtaskGroups:n.getSubTaskGroups,subtaskGroup:e,allGroups:l.subtaskGroups,newGroupId:l.newGroupId},null,8,["onGetSubtaskGroups","subtaskGroup","allGroups","newGroupId"]))),128))])}],["__scopeId","data-v-17f5d0a2"]]),ub={name:"SubtaskGroupAdd",components:{Icons:$s,SubtaskModal:Pn},props:{boardId:{type:[String,Number],default:null},variant:{type:String,default:"button"}},data(){return{visible:!1,subtask:this.freshSubtask(),groups:[],isSaving:!1,isLoadingGroups:!1,hasGroupLoadError:!1,groupLoadRequestToken:0}},computed:{...m(js,["board"]),...m(Xi,["task"]),isEmptyState(){return"empty"===this.variant},isSubmitDisabled(){return this.isLoadingGroups||this.hasGroupLoadError}},watch:{visible(e){e||this.invalidateGroupLoadRequest()},"task.id"(){this.invalidateGroupLoadRequest(),this.groups=[],this.visible&&(this.resetSubtaskForm(),this.getSubTaskGroups())}},methods:{openCreateSubtaskDialog(){this.appVars.has_pro&&(this.resetSubtaskForm(),this.visible=!0,this.getSubTaskGroups())},closeCreateSubtaskDialog(){this.visible=!1},getSubTaskGroups(){const e=++this.groupLoadRequestToken;return this.isLoadingGroups=!0,this.hasGroupLoadError=!1,this.$get("projects/"+this.task.board_id+"/tasks/"+this.task.id+"/subtasks").then(t=>{this.isLatestGroupLoadRequest(e)&&(this.groups=t.subtaskGroups||[],!this.subtask.group_id&&this.groups.length&&(this.subtask.group_id=this.groups[0].id))}).catch(t=>{this.isLatestGroupLoadRequest(e)&&(this.hasGroupLoadError=!0,this.handleError(t))}).finally(()=>{this.isLatestGroupLoadRequest(e)&&(this.isLoadingGroups=!1)})},isLatestGroupLoadRequest(e){return this.visible&&e===this.groupLoadRequestToken},invalidateGroupLoadRequest(){this.groupLoadRequestToken++},createSubtask(){if(this.isSaving||this.isSubmitDisabled)return;const e=this.subtask.title.trim();e?(this.isSaving=!0,this.ensureSubtaskGroup(this.subtask.group_id).then(t=>this.saveSubtask(t,e).catch(e=>this.rollbackCreatedSubtaskGroup(t).then(()=>Promise.reject(e)))).then(({response:e,subtaskGroup:t,createdGroup:s,usesDefaultGroup:a})=>{var i;this.emitter.emit("subtask-updated",{taskId:this.task.id,operation:"add",subtaskId:null==(i=e.subtask)?void 0:i.id}),s||a?this.emitter.emit("subtask-group-updated",{...t,openInline:!1}):this.emitter.emit("add-subtasks-to-a-group",{newGroupId:t.id,subtasks:e.subtask?[e.subtask]:[]}),this.visible=!1}).catch(e=>{this.$handleError(e)}).finally(()=>{this.isSaving=!1})):this.$notify({title:this.$t("Warning!"),message:this.$t("Title can't be empty"),type:"warning"})},ensureSubtaskGroup(e){const t=String(e||"").trim().slice(0,60),s=this.matchingSubtaskGroup(e);return s?Promise.resolve({...s,createdGroup:!1,usesDefaultGroup:!1}):e?this.isNewSubtaskGroupValue(e)?this.createSubtaskGroup(t):Promise.reject({message:this.$t("Subtask Group is required")}):Promise.resolve({id:"",value:this.$t("Untitled Group"),createdGroup:!1,usesDefaultGroup:!0})},createSubtaskGroup(e){return this.$post("projects/"+this.board.id+"/tasks/"+this.task.id+"/subtask-group",{title:String(e||"").trim().slice(0,60)}).then(e=>({...e.subtaskGroup,createdGroup:!0,usesDefaultGroup:!1}))},rollbackCreatedSubtaskGroup(e){return(null==e?void 0:e.createdGroup)&&e.id?this.$del("projects/"+this.board.id+"/tasks/"+this.task.id+"/subtask-group",{group_id:e.id}).catch(()=>{}):Promise.resolve()},saveSubtask(e,t){const s={title:t,description:this.subtask.description,due_at:this.subtask.due_at,reminder_type:this.subtask.reminder_type,remind_at:this.subtask.remind_at,assignees:this.selectedSubtaskAssigneeIds(),labels:[]};return e.id&&(s.group_id=e.id),this.$post("projects/"+this.board.id+"/tasks/"+this.task.id+"/subtasks",s).then(t=>({response:t,subtaskGroup:e,createdGroup:!!e.createdGroup,usesDefaultGroup:!!e.usesDefaultGroup}))},freshSubtask(){var e,t;return{title:"",description:"",board_id:(null==(e=this.board)?void 0:e.id)||(null==(t=this.task)?void 0:t.board_id)||this.boardId||"",group_id:"",due_at:"",reminder_type:null,remind_at:null,assignees:[]}},isNewSubtaskGroupValue(e){if("string"!=typeof e)return!1;return!!e.trim().slice(0,60)&&!this.matchingSubtaskGroup(e)},matchingSubtaskGroup(e){const t="string"==typeof e?e.trim().slice(0,60):"";return this.groups.find(s=>s.id==e||t&&s.value===t)},selectedSubtaskAssigneeIds(){return(this.subtask.assignees||[]).map(e=>parseInt(e.ID||e)).filter(Boolean).slice(0,1)},resetSubtaskForm(){this.invalidateGroupLoadRequest(),this.subtask=this.freshSubtask(),this.isSaving=!1,this.isLoadingGroups=!1,this.hasGroupLoadError=!1},updateSubtaskCreateDate({due_at:e,reminder_type:t=null,remind_at:s=null}){this.subtask.started_at="",this.subtask.due_at=e,this.subtask.reminder_type=t,this.subtask.remind_at=s}}},pb={class:"icon"},mb={class:"icon"},bb={key:0,class:"fbs-template-pro"};const gb=Ss(ub,[["render",function(e,t,d,u,p,m){const g=b("Icons"),f=ze,_=b("subtask-modal");return s(),a(r,null,[m.isEmptyState?(s(),c(f,{key:0,disabled:!e.appVars.has_pro,link:"",class:"extra-small no-underline hover-underline",onClick:m.openCreateSubtaskDialog},{default:n(()=>[i("span",pb,[l(g,{"icon-name":"plus"})]),w(" "+o(e.$t("Add Subtask")),1)]),_:1},8,["disabled","onClick"])):"icon"===d.variant?(s(),c(f,{key:1,disabled:!e.appVars.has_pro,"aria-label":e.$t("Add Subtask"),title:e.$t("Add Subtask"),onClick:h(m.openCreateSubtaskDialog,["stop"]),class:"mini only-icon-btn"},{default:n(()=>[i("span",mb,[l(g,{"icon-name":"plus"})])]),_:1},8,["disabled","aria-label","title","onClick"])):(s(),c(f,{key:2,disabled:!e.appVars.has_pro,icon:"Notebook",onClick:m.openCreateSubtaskDialog},{default:n(()=>[w(o(e.$t("Subtask"))+" ",1),e.appVars.has_pro?y("",!0):(s(),a("span",bb,o(e.$t("Pro")),1))]),_:1},8,["disabled","onClick"])),l(_,{modelValue:p.visible,"onUpdate:modelValue":t[0]||(t[0]=e=>p.visible=e),subtask:p.subtask,groups:p.groups,saving:p.isSaving,"submit-disabled":m.isSubmitDisabled,"submit-label":e.$t("Create Subtask"),"is-create-mode":!0,"disable-assignee-save":!0,onSave:m.createSubtask,onClosed:m.resetSubtaskForm,onUpdateDate:m.updateSubtaskCreateDate},null,8,["modelValue","subtask","groups","saving","submit-disabled","submit-label","onSave","onClosed","onUpdateDate"])],64)}]]),fb=["input","textarea",'[contenteditable="true"]','[contenteditable="plaintext-only"]'].join(", "),_b=/^(?:[a-z\d](?:[a-z\d-]*[a-z\d])?\.)+[a-z]{2,}(?::\d+)?(?:[/?#]\S*)?$/i;const kb=[Y(()=>new J({props:{handlePaste(e,t){const s=e.state.schema.marks.link,a=t.clipboardData,i=function(e,t=""){if(String(t||"").trim())return null;const s=String(e||"").trim();if(!s||/\s/.test(s))return null;const a=/^https?:\/\//i.test(s),i=/^www\./i.test(s);if(!a&&!i&&!_b.test(s))return null;const o=a?s:`https://${s}`;try{const e=new URL(o);if(!["http:","https:"].includes(e.protocol)||!e.hostname)return null}catch{return null}return{text:s,href:o}}(null==a?void 0:a.getData("text/plain"),null==a?void 0:a.getData("text/html"));if(!s||!i)return!1;t.preventDefault();const{from:o,to:l}=e.state.selection,n=e.state.tr.insertText(i.text,o,l).addMark(o,o+i.text.length,s.create({href:i.href})).removeStoredMark(s);return e.dispatch(n),!0},handleTextInput(e,t,s,a){const i=e.state.schema.marks.link;if(" "!==a||!i)return!1;const o=e.state.doc.resolve(t),l=/(?:^|\s)((?:https?:\/\/|www\.)\S+)$/.exec(o.parent.textBetween(0,o.parentOffset,void 0,""));if(!l)return!1;const n=l[1].replace(/[.,)]+$/,""),r=t-l[1].length,d=r+n.length;if(e.state.doc.rangeHasMark(r,d,i))return!1;const c=(n.startsWith("http")?"":"https://")+n,h=e.state.tr.insertText(a,t).addMark(r,d,i.create({href:c})).removeStoredMark(i);return e.dispatch(h),!0}},appendTransaction:(e,t,s)=>{const a=s.schema.marks.link,i=s.selection.$cursor;if(!a||!i||!e.some(e=>e.docChanged))return null;const o=e=>e&&e.marks.find(e=>e.type===a);if((s.storedMarks??i.marks()).some(e=>e.type===a)&&!o(i.nodeBefore)&&!o(i.nodeAfter))return s.tr.removeStoredMark(a);const l=i.pos;if(l<1)return null;if(" "!==s.doc.textBetween(l-1,l))return null;if(!s.doc.rangeHasMark(l-1,l,a))return null;const n=o(s.doc.resolve(l-1).nodeBefore),r=o(s.doc.resolve(l).nodeAfter);return r&&(null==n?void 0:n.attrs.href)===r.attrs.href?null:s.tr.removeMark(l-1,l,a).removeStoredMark(a)}})),Y(()=>{let e=!1,t=!1;return new J({view:s=>({update(){var a;const i=s.state.schema.marks.link,o=s.state.selection.$cursor,l=e=>e.type===i,n=!!i&&!(!o||!o.marks().some(l)),r=document.querySelector("milkdown-link-preview"),d="none"===(null==r?void 0:r.style.display)&&!t;if(n&&!d){r&&t&&(r.style.display=""),t=!1;const e=(null==(a=o.nodeBefore)?void 0:a.marks.some(l))?o.pos-1:o.pos,i=s.coordsAtPos(e);s.dom.dispatchEvent(new MouseEvent("mousemove",{bubbles:!0,clientX:i.left+1,clientY:(i.top+i.bottom)/2}))}else!n&&e&&(s.dom.dispatchEvent(new MouseEvent("mouseleave",{bubbles:!0})),r&&(r.style.display="none"),t=!0);e=n}})})})],vb=Q("FBS_MD_TOOLBAR"),yb=e=>`<svg viewBox="0 0 24 24" width="17" height="17" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">${e}</svg>`,wb={chevron:yb('<polyline points="6 9 12 15 18 9"/>'),ai:Bs(18),bold:yb('<path d="M6 4h7a4 4 0 0 1 0 8H6z"/><path d="M6 12h8a4 4 0 0 1 0 8H6z"/>'),italic:yb('<line x1="19" y1="4" x2="10" y2="4"/><line x1="14" y1="20" x2="5" y2="20"/><line x1="15" y1="4" x2="9" y2="20"/>'),strike:yb('<path d="M17 5H9.5a3.5 3.5 0 0 0-1.6 6.5"/><path d="M7 19h7.5a3.5 3.5 0 0 0 1.6-6.5"/><line x1="4" y1="12" x2="20" y2="12"/>'),code:yb('<polyline points="16 18 22 12 16 6"/><polyline points="8 6 2 12 8 18"/>'),link:yb('<path d="M10 13a5 5 0 0 0 7.07 0l1.93-1.93a5 5 0 0 0-7.07-7.07l-1 1"/><path d="M14 11a5 5 0 0 0-7.07 0L5 12.93a5 5 0 0 0 7.07 7.07l1-1"/>'),quote:yb('<path d="M5 5v14"/><line x1="10" y1="8" x2="19" y2="8"/><line x1="10" y1="12" x2="19" y2="12"/><line x1="10" y1="16" x2="16" y2="16"/>'),bullet:yb('<line x1="9" y1="6" x2="20" y2="6"/><line x1="9" y1="12" x2="20" y2="12"/><line x1="9" y1="18" x2="20" y2="18"/><circle cx="4.5" cy="6" r="1.3" fill="currentColor" stroke="none"/><circle cx="4.5" cy="12" r="1.3" fill="currentColor" stroke="none"/><circle cx="4.5" cy="18" r="1.3" fill="currentColor" stroke="none"/>'),ordered:yb('<line x1="10" y1="6" x2="20" y2="6"/><line x1="10" y1="12" x2="20" y2="12"/><line x1="10" y1="18" x2="20" y2="18"/><path d="M4 10V5L3 6" stroke-width="1.6"/><path d="M3 18h2.5c1 0 1-1.4 0-1.4H4c-1 0-1-1.4 0-1.4h2" stroke-width="1.6"/>')},Cb=[{label:"Text",level:0},{label:"Heading 1",level:1},{label:"Heading 2",level:2},{label:"Heading 3",level:3}];class Tb{constructor(e,t={}){this.ctx=e,this.options=t,this.content=this.buildContent(),this.provider=new X({content:this.content,debounce:20,offset:10,shouldShow:e=>{const{doc:t,selection:s}=e.state,{empty:a,from:i,to:o}=s,l=s instanceof le,n=l&&!t.textBetween(i,Math.min(o,i+64)).length,r=e.dom.getRootNode().activeElement,d=this.content.contains(r),c=!e.hasFocus()&&!d;return!("edit"===this.ctx.get(ee.key).mode||c||!l||a||n||!e.editable)}}),this.provider.onHide=()=>this.closeMenu()}buildContent(){const e=document.createElement("div");e.className="fbs-md-toolbar",this.headingWrap=document.createElement("div"),this.headingWrap.className="fbs-md-tb-heading";const t=document.createElement("button");t.type="button",t.className="fbs-md-tb-item fbs-md-tb-aa",t.title="Text style",t.innerHTML=`<span>Aa</span>${wb.chevron}`,t.addEventListener("mousedown",e=>e.preventDefault()),t.addEventListener("click",()=>{this.closeAiMenu(),this.headingWrap.classList.toggle("open")}),this.menu=document.createElement("div"),this.menu.className="fbs-md-tb-menu",Cb.forEach(({label:e,level:t})=>{const s=document.createElement("button");s.type="button",s.className="fbs-md-tb-menu-item",s.textContent=e,s.addEventListener("mousedown",e=>e.preventDefault()),s.addEventListener("click",()=>{this.setHeading(t),this.closeMenu()}),this.menu.appendChild(s)}),this.headingWrap.append(t,this.menu),e.appendChild(this.headingWrap),e.appendChild(this.separator());return[{title:"Bold",icon:wb.bold,run:()=>this.command(ne.key)},{title:"Italic",icon:wb.italic,run:()=>this.command(re.key)},{title:"Strikethrough",icon:wb.strike,run:()=>this.command(de.key)},{title:"Code",icon:wb.code,run:()=>this.command(ce.key)},{title:"Link",icon:wb.link,run:()=>this.addLink()},{sep:!0},{title:"Quote",icon:wb.quote,run:()=>this.command(he.key)},{title:"Bullet list",icon:wb.bullet,run:()=>this.command(ue.key)},{title:"Ordered list",icon:wb.ordered,run:()=>this.command(pe.key)}].forEach(t=>{if(t.sep)return void e.appendChild(this.separator());const s=document.createElement("button");s.type="button",s.className="fbs-md-tb-item",s.title=t.title,s.innerHTML=t.icon,s.addEventListener("mousedown",e=>e.preventDefault()),s.addEventListener("click",()=>t.run()),e.appendChild(s)}),this.options.aiEnabled&&"function"==typeof this.options.onAiAction&&(e.appendChild(this.separator()),e.appendChild(this.buildAiMenu())),e}buildAiMenu(){const e=this.options.aiActions&&this.options.aiActions.length?this.options.aiActions:[{key:"improve",label:"Improve writing"},{key:"fix_grammar",label:"Fix grammar"},{key:"shorten",label:"Make shorter"},{key:"expand",label:"Expand"},{key:"summarize",label:"Summarize"},{key:"format",label:"Format"}],t=this.options.aiLabel||"AI";this.aiWrap=document.createElement("div"),this.aiWrap.className="fbs-md-tb-heading fbs-md-tb-ai";const s=document.createElement("button");return s.type="button",s.className="fbs-md-tb-item fbs-md-tb-ai-trigger",s.title=t,s.setAttribute("aria-haspopup","menu"),s.setAttribute("aria-expanded","false"),s.innerHTML=`${wb.ai}<span class="fbs-md-tb-ai-label">${t}</span>`,s.addEventListener("mousedown",e=>e.preventDefault()),s.addEventListener("click",()=>{var e;null==(e=this.headingWrap)||e.classList.remove("open");const t=this.aiWrap.classList.toggle("open");s.setAttribute("aria-expanded",t?"true":"false")}),this.aiBtn=s,this.aiMenu=document.createElement("div"),this.aiMenu.className="fbs-md-tb-menu fbs-md-tb-ai-menu",this.aiMenu.setAttribute("role","menu"),e.forEach(({key:e,label:t})=>{const s=document.createElement("button");s.type="button",s.className="fbs-md-tb-menu-item",s.setAttribute("role","menuitem"),s.textContent=t,s.addEventListener("mousedown",e=>e.preventDefault()),s.addEventListener("click",()=>{this.closeAiMenu(),this.options.onAiAction(e),this.provider.hide()}),this.aiMenu.appendChild(s)}),this.aiWrap.append(s,this.aiMenu),this.aiWrap}separator(){const e=document.createElement("span");return e.className="fbs-md-tb-sep",e}closeMenu(){var e;null==(e=this.headingWrap)||e.classList.remove("open"),this.closeAiMenu()}closeAiMenu(){var e,t;null==(e=this.aiWrap)||e.classList.remove("open"),null==(t=this.aiBtn)||t.setAttribute("aria-expanded","false")}command(e,t){this.ctx.get(te).call(e,t)}setHeading(e){0===e?this.command(se.key):this.command(ae.key,e)}addLink(){const e=this.ctx.get(ie),{from:t,to:s}=e.state.selection;this.ctx.get(oe.key).addLink(t,s),this.provider.hide()}update(e,t){this.provider.update(e,t)}destroy(){this.provider.destroy(),this.content.remove()}}const Sb={name:"AiAssistantPanel",components:{Icons:$s},props:{visible:{type:Boolean,default:!1},mode:{type:String,default:"write"},action:{type:String,default:""},loading:{type:Boolean,default:!1},result:{type:String,default:""},error:{type:String,default:""},position:{type:Object,default:()=>({top:0,left:0})},zIndex:{type:Number,default:3e3},prompt:{type:String,default:""},tone:{type:String,default:"professional"}},emits:["generate","regenerate","accept","close","update:prompt","update:tone"],data(){return{localPrompt:this.prompt,localTone:this.tone,promptFocusFrame:null,promptFocusTimer:null,toneOpen:!1,tones:[{value:"professional",label:this.$t("Professional")},{value:"casual",label:this.$t("Casual")},{value:"friendly",label:this.$t("Friendly")},{value:"formal",label:this.$t("Formal")},{value:"persuasive",label:this.$t("Persuasive")}],actionLabels:{improve:this.$t("Improve writing"),summarize:this.$t("Summarize"),shorten:this.$t("Make shorter"),expand:this.$t("Expand"),format:this.$t("Format"),fix_grammar:this.$t("Fix grammar")}}},computed:{panelStyle(){return{top:`${this.position.top}px`,left:`${this.position.left}px`,zIndex:this.zIndex,"--fbs-ai-panel-top":`${this.position.top}px`}},headerTitle(){return"transform"===this.mode?this.actionLabels[this.action]||this.$t("AI"):this.$t("Write with AI")},acceptLabel(){return"transform"===this.mode?this.$t("Replace"):this.$t("Insert")},showPrompt(){return"write"===this.mode&&!this.result&&!this.loading},showFooter(){return!this.loading&&(this.showPrompt||!!this.result||!!this.error)},toneLabel(){const e=this.tones.find(e=>e.value===this.localTone);return e?e.label:this.tones[0].label}},watch:{visible(e){e?(this.localPrompt=this.prompt,this.localTone=this.tone,this.closeTone(),"write"===this.mode&&this.focusPromptInput()):(this.cancelPromptFocus(),this.closeTone())}},methods:{focusPromptInput(){this.cancelPromptFocus(),this.$nextTick(()=>{this.promptFocusFrame=window.requestAnimationFrame(()=>{this.promptFocusFrame=null,this.promptFocusTimer=window.setTimeout(()=>{this.promptFocusTimer=null,this.focusPromptInputNow()},0)})})},focusPromptInputNow(){const e=this.$refs.promptInput;return!!(this.visible&&this.showPrompt&&e)&&(e.focus({preventScroll:!0}),!0)},takePromptKeyboardEvent(e){if(this.shouldLeaveKeyboardEventAlone(e)||!this.focusPromptInputNow())return!1;const t=this.$refs.promptInput;return e.target!==t&&"function"==typeof t.setSelectionRange&&t.setSelectionRange(t.value.length,t.value.length),"Enter"!==e.key||e.shiftKey?"Enter"===e.key?(e.preventDefault(),this.replacePromptSelection("\n"),!0):"Backspace"===e.key?(e.preventDefault(),this.deletePromptSelection("backward"),!0):"Delete"===e.key?(e.preventDefault(),this.deletePromptSelection("forward"),!0):1===e.key.length&&(e.preventDefault(),this.replacePromptSelection(e.key),!0):(e.preventDefault(),this.emitGenerate(),!0)},shouldLeaveKeyboardEventAlone:e=>e.defaultPrevented||e.isComposing||e.metaKey||e.ctrlKey||e.altKey||["Escape","Tab"].includes(e.key),replacePromptSelection(e){const t=this.$refs.promptInput,s=t.selectionStart??this.localPrompt.length,a=t.selectionEnd??s;this.localPrompt=`${this.localPrompt.slice(0,s)}${e}${this.localPrompt.slice(a)}`,this.$emit("update:prompt",this.localPrompt),this.$nextTick(()=>{const a=s+e.length;t.setSelectionRange(a,a)})},deletePromptSelection(e){const t=this.$refs.promptInput;let s=t.selectionStart??this.localPrompt.length,a=t.selectionEnd??s;s===a&&"backward"===e&&s>0?s--:s===a&&"forward"===e&&a<this.localPrompt.length&&a++,s!==a&&(this.localPrompt=`${this.localPrompt.slice(0,s)}${this.localPrompt.slice(a)}`,this.$emit("update:prompt",this.localPrompt),this.$nextTick(()=>{t.setSelectionRange(s,s)}))},cancelPromptFocus(){this.promptFocusFrame&&(window.cancelAnimationFrame(this.promptFocusFrame),this.promptFocusFrame=null),this.promptFocusTimer&&(window.clearTimeout(this.promptFocusTimer),this.promptFocusTimer=null)},toggleTone(){this.toneOpen?this.closeTone():this.openTone()},openTone(){this.toneOpen=!0,document.addEventListener("mousedown",this.handleToneOutside,!0)},closeTone(){this.toneOpen&&(this.toneOpen=!1,document.removeEventListener("mousedown",this.handleToneOutside,!0))},handleToneOutside(e){const t=this.$el&&this.$el.querySelector(".fbs_ai_ed_tone");t&&!t.contains(e.target)&&this.closeTone()},selectTone(e){this.localTone=e,this.$emit("update:tone",e),this.closeTone()},emitGenerate(){this.localPrompt.trim()&&(this.closeTone(),this.$emit("update:prompt",this.localPrompt),this.$emit("update:tone",this.localTone),this.$emit("generate",{prompt:this.localPrompt,tone:this.localTone}))}},beforeUnmount(){this.cancelPromptFocus(),document.removeEventListener("mousedown",this.handleToneOutside,!0)}},$b={class:"fbs_ai_ed_header"},Vb={class:"fbs_ai_ed_icon","aria-hidden":"true"},Ab={class:"fbs_ai_ed_title"},Ib=["title","aria-label"],Db={class:"fbs_ai_ed_body"},Bb={key:0,class:"fbs_ai_ed_error"},Lb=["placeholder"],Mb={key:1,class:"fbs_ai_ed_loading"},xb={key:2,class:"fbs_ai_ed_error"},Pb={key:3,class:"fbs_ai_ed_result"},Fb={key:0,class:"fbs_ai_ed_footer"},Eb=["aria-expanded"],Ub={key:0,class:"fbs_ai_ed_tone_menu",role:"listbox"},Ob=["aria-selected","onClick"],Rb={class:"fbs_ai_ed_actions"};const Nb=Ss(Sb,[["render",function(e,t,u,p,m,g){const _=b("Icons"),C=ze;return u.visible?(s(),a("div",{key:0,class:"fbs_ai_ed_panel",style:S(g.panelStyle),onMousedown:t[9]||(t[9]=h(()=>{},["stop"])),onKeydown:[t[10]||(t[10]=h(()=>{},["stop"])),t[11]||(t[11]=$(h(t=>e.$emit("close"),["prevent"]),["esc"]))]},[i("div",$b,[i("span",Vb,[l(_,{"icon-name":"sparkling"})]),i("span",Ab,o(g.headerTitle),1),i("button",{type:"button",class:"fbs_ai_ed_close",title:e.$t("Close"),"aria-label":e.$t("Close"),onClick:t[0]||(t[0]=t=>e.$emit("close"))},[l(_,{"icon-name":"close"})],8,Ib)]),i("div",Db,[g.showPrompt?(s(),a(r,{key:0},[u.error?(s(),a("div",Bb,o(u.error),1)):y("",!0),f(i("textarea",{ref:"promptInput","onUpdate:modelValue":t[1]||(t[1]=e=>m.localPrompt=e),class:"fbs_ai_ed_prompt",placeholder:e.$t("Write anything"),onKeydown:t[2]||(t[2]=$(h((...e)=>g.emitGenerate&&g.emitGenerate(...e),["exact","prevent"]),["enter"]))},null,40,Lb),[[v,m.localPrompt]])],64)):u.loading?(s(),a("div",Mb,[t[12]||(t[12]=i("span",{class:"fbs_ai_ed_dot"},null,-1)),w(" "+o(e.$t("Generating…")),1)])):u.error?(s(),a("div",xb,o(u.error),1)):u.result?(s(),a("div",Pb,o(u.result),1)):y("",!0)]),g.showFooter?(s(),a("div",Fb,[g.showPrompt?(s(),a("div",{key:0,class:k(["fbs_ai_ed_tone",{"is-open":m.toneOpen}])},[i("button",{type:"button",class:"fbs_ai_ed_tone_trigger","aria-expanded":m.toneOpen?"true":"false",onClick:t[3]||(t[3]=(...e)=>g.toggleTone&&g.toggleTone(...e))},[i("span",null,o(g.toneLabel),1),l(_,{"icon-name":"caret-down"})],8,Eb),m.toneOpen?(s(),a("div",Ub,[(s(!0),a(r,null,d(m.tones,e=>(s(),a("button",{key:e.value,type:"button",role:"option","aria-selected":e.value===m.localTone?"true":"false",class:k(["fbs_ai_ed_tone_option",{"is-active":e.value===m.localTone}]),onClick:t=>g.selectTone(e.value)},o(e.label),11,Ob))),128))])):y("",!0)],2)):y("",!0),i("div",Rb,[g.showPrompt?(s(),c(C,{key:0,type:"primary",size:"small",disabled:!m.localPrompt.trim(),onClick:g.emitGenerate},{default:n(()=>[w(o(e.$t("Generate")),1)]),_:1},8,["disabled","onClick"])):u.result?(s(),a(r,{key:1},[l(C,{size:"small",onClick:t[4]||(t[4]=t=>e.$emit("close"))},{default:n(()=>[w(o(e.$t("Discard")),1)]),_:1}),l(C,{size:"small",onClick:t[5]||(t[5]=t=>e.$emit("regenerate"))},{default:n(()=>[w(o(e.$t("Try again")),1)]),_:1}),l(C,{type:"primary",size:"small",onClick:t[6]||(t[6]=t=>e.$emit("accept"))},{default:n(()=>[w(o(g.acceptLabel),1)]),_:1})],64)):u.error?(s(),a(r,{key:2},[l(C,{size:"small",onClick:t[7]||(t[7]=t=>e.$emit("close"))},{default:n(()=>[w(o(e.$t("Close")),1)]),_:1}),l(C,{type:"primary",size:"small",onClick:t[8]||(t[8]=t=>e.$emit("regenerate"))},{default:n(()=>[w(o(e.$t("Try again")),1)]),_:1})],64)):y("",!0)])])):y("",!0)],36)):y("",!0)}]]);function Hb(e){return globalThis.requestAnimationFrame(()=>function(e){var t;const s=Array.from((null==(t=null==e?void 0:e.querySelectorAll)?void 0:t.call(e,"milkdown-block-handle"))||[]);return s.forEach(e=>e.remove()),s.length}(e))}const jb=me`
2 <svg viewBox="0 0 20 20" width="18" height="18" fill="none" xmlns="http://www.w3.org/2000/svg">
3 <path d="${Ls}" transform="${Ms}" fill="currentColor" />
4 </svg>
5 `,zb=new WeakMap,Gb=new WeakMap,qb={name:"MilkdownEditor",components:{AiAssistantPanel:Nb},props:{modelValue:{type:String,default:""},placeholder:{type:String,default:""},autofocus:{type:Boolean,default:!0},task:{type:Object,default:null},board:{type:Object,default:null},disableImageUpload:{type:Boolean,default:!1},plain:{type:Boolean,default:!1},saveOnBlur:{type:Boolean,default:!0},fixedSlashMenu:{type:Boolean,default:!1},showBlockControls:{type:Boolean,default:!0}},emits:["update:modelValue","save","slash-menu-change"],data(){const e=xs(Ps(this.modelValue));return{currentContent:Fs(e)?Es(e):e||"",imageUploading:!1,isInitializing:!0,slashMenuObserver:null,slashMenuFrame:null,slashMenuOpen:!1,isTrackingSlashMenuViewport:!1,aiRequestId:0,aiPanelRect:null,ai:{visible:!1,mode:"write",action:"",from:0,to:0,sourceText:"",prompt:"",tone:"professional",loading:!1,result:"",error:"",position:{top:0,left:0},zIndex:3e3}}},computed:{canUploadImages(){var e,t,s;return!this.disableImageUpload&&!(!(null==(e=this.task)?void 0:e.id)||!(null==(t=this.board)?void 0:t.id)&&!(null==(s=this.task)?void 0:s.board_id))},aiEnabled(){var e,t;return!!(null==(t=null==(e=this.appVars)?void 0:e.ai_features)?void 0:t.enabled)}},methods:{initEditor(){const e=this.canUploadImages,t=new ge({root:this.$refs.crepe_editor_vue,defaultValue:this.currentContent,features:{[fe.BlockEdit]:!0,[fe.ListItem]:!1,[fe.Toolbar]:!1},featureConfigs:{[fe.Placeholder]:{text:this.placeholder||this.$t("Add a more detailed description..."),mode:"doc"},[fe.ImageBlock]:{onUpload:this.uploadImage,blockUploadButton:()=>this.$t("Upload image"),blockConfirmButton:()=>this.$t("Confirm"),blockUploadPlaceholderText:this.$t("or paste link")},[fe.BlockEdit]:{buildMenu:t=>this.pruneSlashMenu(t,e)},[fe.LinkTooltip]:{inputPlaceholder:this.$t("Paste link...")}}});t.editor.config(e=>{e.get(_e).markdownUpdated((e,t,s)=>{if(t!==s){const e=xs(Ps(t));this.currentContent=e,this.isInitializing||this.$emit("update:modelValue",e)}})}).use(ke),kb.forEach(e=>t.editor.use(e)),function(e,t={}){e.config(e=>{e.set(vb.key,{view:()=>new Tb(e,t)})}).use(vb)}(t.editor,{aiEnabled:this.aiEnabled,aiLabel:this.$t("AI"),aiActions:[{key:"improve",label:this.$t("Improve writing")},{key:"fix_grammar",label:this.$t("Fix grammar")},{key:"shorten",label:this.$t("Make shorter")},{key:"expand",label:this.$t("Expand")},{key:"summarize",label:this.$t("Summarize")},{key:"format",label:this.$t("Format")}],onAiAction:e=>this.openAiTransform(e)}),e&&t.editor.use(ve).config(e=>{e.update(ye.key,e=>({...e,enableHtmlFileUploader:!0,uploader:(e,t)=>this.handleFileUpload({files:e,schema:t})}))}),zb.set(this,t),t.create().then(()=>{this.showBlockControls||Hb(this.$refs.crepe_editor_vue),Gb.set(this,t.editor),this.isInitializing=!1,this.watchSlashMenuState(),this.autofocus&&this.focusEditor()})},watchSlashMenuState(){this.stopWatchingSlashMenuState();const e=this.$refs.crepe_editor_vue,t=()=>{const t=null==e?void 0:e.querySelector("milkdown-slash-menu"),s=!!t&&"false"!==t.getAttribute("data-show");this.syncFixedSlashMenu(t,s),this.fixedSlashMenu&&s?this.startTrackingSlashMenuViewport():this.stopTrackingSlashMenuViewport(),s!==this.slashMenuOpen&&(this.slashMenuOpen=s,this.$emit("slash-menu-change",s))};this.slashMenuObserver=new MutationObserver(t),this.slashMenuObserver.observe(e,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["data-show","style"]}),t()},syncFixedSlashMenu(e,t){if(this.fixedSlashMenu&&(window.cancelAnimationFrame(this.slashMenuFrame),e))return t?void(this.slashMenuFrame=window.requestAnimationFrame(()=>{const t=Gb.get(this);t&&"false"!==e.getAttribute("data-show")&&t.action(t=>{const s=t.get(ie),a=s.coordsAtPos(s.state.selection.from);e.classList.add("fbs-milkdown-slash-menu--fixed");const i=e.getBoundingClientRect(),o=Math.max(8,window.innerWidth-i.width-8),l=`${Math.min(Math.max(a.left,8),o)}px`,n=`${a.bottom+10+i.height<=window.innerHeight-8?a.bottom+10:Math.max(8,a.top-10-i.height)}px`;e.style.getPropertyValue("--fbs-md-slash-left")!==l&&e.style.setProperty("--fbs-md-slash-left",l),e.style.getPropertyValue("--fbs-md-slash-top")!==n&&e.style.setProperty("--fbs-md-slash-top",n)})})):(e.classList.remove("fbs-milkdown-slash-menu--fixed"),e.style.removeProperty("--fbs-md-slash-left"),void e.style.removeProperty("--fbs-md-slash-top"))},startTrackingSlashMenuViewport(){this.isTrackingSlashMenuViewport||(window.addEventListener("scroll",this.updateFixedSlashMenuPosition,!0),window.addEventListener("resize",this.updateFixedSlashMenuPosition),this.isTrackingSlashMenuViewport=!0)},stopTrackingSlashMenuViewport(){this.isTrackingSlashMenuViewport&&(window.removeEventListener("scroll",this.updateFixedSlashMenuPosition,!0),window.removeEventListener("resize",this.updateFixedSlashMenuPosition),this.isTrackingSlashMenuViewport=!1)},updateFixedSlashMenuPosition(){var e;const t=null==(e=this.$refs.crepe_editor_vue)?void 0:e.querySelector("milkdown-slash-menu"),s=!!t&&"false"!==t.getAttribute("data-show");this.syncFixedSlashMenu(t,s)},stopWatchingSlashMenuState(){this.slashMenuObserver&&(this.slashMenuObserver.disconnect(),this.slashMenuObserver=null),this.stopTrackingSlashMenuViewport(),window.cancelAnimationFrame(this.slashMenuFrame),this.slashMenuFrame=null,this.slashMenuOpen&&(this.slashMenuOpen=!1,this.$emit("slash-menu-change",!1))},pruneSlashMenu(e,t){const s=e.getGroup("list");if(s&&s.group&&Array.isArray(s.group.items)&&(s.group.items=s.group.items.filter(e=>"todo-list"!==e.key)),!t){const t=e.getGroup("advanced");t&&t.group&&Array.isArray(t.group.items)&&(t.group.items=t.group.items.filter(e=>"image"!==e.key))}if(this.aiEnabled){const t=e.getGroup("text");t&&t.group&&Array.isArray(t.group.items)&&t.group.items.unshift({key:"fbs-ai-write",label:this.$t("Write with AI"),icon:jb,onRun:e=>this.handleSlashAiWrite(e)})}},handleSlashAiWrite(e){const t=e.get(ie),{state:s}=t,{$from:a}=s.selection,i=a.pos-a.node().content.size,o=a.pos;t.dispatch(s.tr.deleteRange(i,o));const l=t.state.selection.from,n=t.coordsAtPos(l);this.openAiPanel({mode:"write",action:"",from:l,to:l,sourceText:"",rect:n})},openAiTransform(e){const t=Gb.get(this);if(!t)return;let s=null;t.action(e=>{const t=e.get(ie),{from:a,to:i}=t.state.selection;a!==i&&(s={from:a,to:i,text:t.state.doc.textBetween(a,i,"\n","\n"),rect:t.coordsAtPos(a)})}),s&&(this.openAiPanel({mode:"transform",action:e,from:s.from,to:s.to,sourceText:s.text,rect:s.rect}),this.runAiGenerate())},openAiPanel({mode:e,action:t,from:s,to:a,sourceText:i,rect:o}){this.aiRequestId++,this.setAiPromptEditorSuspended("write"===e),this.ai={...this.ai,visible:!0,mode:e,action:t,from:s,to:a,sourceText:i||"",prompt:"",loading:!1,result:"",error:"",position:this.computeAiPanelPosition(o),zIndex:this.getAiPanelZIndex()},document.addEventListener("mousedown",this.handleAiOutsideClick,!0),document.addEventListener("keydown",this.handleAiPromptKeydown,!0),this.aiPanelRect=o?{left:o.left,top:o.top,bottom:o.bottom}:null,this.$nextTick(this.realignAiPanel)},setAiPromptEditorSuspended(e){const t=zb.get(this),s=Gb.get(this);t&&s&&(t.setReadonly(e),s.action(t=>{const s=t.get(ie);s.updateState(s.state),e&&(s.dom.blur(),s.dom.classList.remove("ProseMirror-focused"))}))},getAiPanelZIndex(){var e,t;const s=null==(t=null==(e=this.$el)?void 0:e.closest)?void 0:t.call(e,".el-overlay");return function(e,t=3e3){const s=Number(e);return Number.isFinite(s)?Math.max(t,s+1):t}(s?window.getComputedStyle(s).zIndex:null)},aiPanelEl(){var e;const t=null==(e=this.$refs.aiPanel)?void 0:e.$el;return t&&t.nodeType===Node.ELEMENT_NODE?t:null},realignAiPanel(){const e=this.aiPanelEl();e&&this.ai.visible&&(this.ai.position=this.computeAiPanelPosition(this.aiPanelRect,e.offsetWidth))},computeAiPanelPosition(e,t=452){if(!e)return{top:8,left:8};let s=Math.min(e.left,window.innerWidth-t-8);s=Math.max(8,s);let a=e.bottom+8;return a+260>window.innerHeight&&(a=Math.max(8,e.top-8-260)),{top:a,left:s}},onAiGenerate({prompt:e,tone:t}){this.ai.prompt=e,this.ai.tone=t,this.runAiGenerate()},runAiGenerate(){if(!this.ai.visible)return;const e=this.task||{},t=this.board||{},s=++this.aiRequestId;this.ai.loading=!0,this.ai.error="",this.ai.result="",this.$post("ai/generate",{action:"write"===this.ai.mode?"write":this.ai.action,content:this.ai.sourceText||"",prompt:this.ai.prompt||"",tone:this.ai.tone||"",context:{task_title:e.title||"",board_title:t.title||""}}).then(e=>{s===this.aiRequestId&&(this.ai.result=e&&e.content?e.content:"",this.ai.result||(this.ai.error=this.$t("No content generated. Please try again.")))}).catch(e=>{s===this.aiRequestId&&(this.ai.error=e&&(e.message||e.error)?e.message||e.error:this.$t("AI request failed. Please try again."))}).finally(()=>{s===this.aiRequestId&&(this.ai.loading=!1)})},acceptAi(){const e=this.ai.result;e?(this.setAiPromptEditorSuspended(!1),this.insertMarkdownAtRange(e,this.ai.from,this.ai.to),this.closeAi()):this.closeAi()},insertMarkdownAtRange(e,t,s){const a=Gb.get(this);a&&a.action(a=>{const i=a.get(ie),o=a.get(be);let l=null;try{l=o(e)}catch(u){l=null}if(!l)return;const n=i.state.doc.content.size,r=Math.max(0,Math.min(t,n)),d=Math.max(r,Math.min(s,n)),c=l.slice(0),h=i.state.tr.replaceRange(r,d,c);i.dispatch(h.scrollIntoView()),i.focus()})},closeAi(){this.aiRequestId++,this.ai.visible=!1,this.ai.loading=!1,this.ai.result="",this.ai.error="",this.ai.sourceText="",this.ai.prompt="",this.setAiPromptEditorSuspended(!1),document.removeEventListener("mousedown",this.handleAiOutsideClick,!0),document.removeEventListener("keydown",this.handleAiPromptKeydown,!0)},handleAiOutsideClick(e){if(!this.ai.visible||this.ai.loading)return;if("write"===this.ai.mode)return;const t=this.aiPanelEl();t&&!t.contains(e.target)&&this.closeAi()},handleAiPromptKeydown(e){var t,s;if(!this.ai.visible||"write"!==this.ai.mode||this.ai.loading)return;const a=this.aiPanelEl();a&&a.contains(e.target)||(null==(s=null==(t=this.$refs.aiPanel)?void 0:t.takePromptKeyboardEvent)?void 0:s.call(t,e))&&e.stopPropagation()},focusEditor(){const e=Gb.get(this);e&&e.action(e=>{const t=e.get(ie),{state:s}=t,a=Math.max(1,s.doc.content.size-1);t.dispatch(s.tr.setSelection(le.create(s.doc,a))),t.focus()})},async handleFileUpload({files:e,schema:t}){var s,a,i;const o=null==(s=null==t?void 0:t.nodes)?void 0:s["image-block"],l=null==(a=null==t?void 0:t.nodes)?void 0:a.image;if(!e||!o&&!l)return[];const n=[];for(const r of Array.from(e)){if(!(null==(i=null==r?void 0:r.type)?void 0:i.includes("image")))continue;const e=await this.uploadImage(r);e&&n.push(o?o.createAndFill({src:e,caption:"",ratio:1}):l.createAndFill({src:e,alt:"",title:""}))}return n.filter(Boolean)},async uploadImage(e){var t,s,a,i,o,l;const n=(null==(t=this.board)?void 0:t.id)||(null==(s=this.task)?void 0:s.board_id),r=null==(a=this.task)?void 0:a.id;if(!n||!r||!e)return null;if(!(null==(i=e.type)?void 0:i.includes("image")))return this.$notify.warning({message:this.$t("Image only.")}),null;if(this.appVars.file_upload_limit&&e.size>this.appVars.file_upload_limit){const e=this.appVars.file_upload_limit/1048576;return this.$notify.error({message:this.$t("File should not be greater than")+` ${e} MB`}),null}const d=new FormData;d.append("file",e),this.imageUploading=!0;try{const e=await this.$uploadFile(`projects/${n}/tasks/${r}/wp-editor-media-file-upload`,d);return(null==(o=null==e?void 0:e.file)?void 0:o.public_url)||(null==(l=null==e?void 0:e.file)?void 0:l.full_url)||null}catch(c){return this.$handleError(c),null}finally{this.imageUploading=!1}},save(){this.$emit("save")},handleFocusOut(e){if(!this.saveOnBlur)return;const t=e.relatedTarget;t&&e.currentTarget.contains(t)||this.save()}},mounted(){this.initEditor()},beforeUnmount(){this.stopWatchingSlashMenuState(),document.removeEventListener("mousedown",this.handleAiOutsideClick,!0),document.removeEventListener("keydown",this.handleAiPromptKeydown,!0),this.setAiPromptEditorSuspended(!1);const e=zb.get(this);e&&(zb.delete(this),Gb.delete(this),e.destroy())}},Wb={ref:"crepe_editor_vue",class:"fbs-milkdown-content"};const Kb=Ss(qb,[["render",function(e,t,o,n,r,d){const u=b("ai-assistant-panel"),p=g("loading");return f((s(),a("div",{class:k(["fbs-milkdown-editor-wrapper",{"is-plain":o.plain,"without-block-controls":!o.showBlockControls}]),onKeydown:[t[2]||(t[2]=$(h((...e)=>d.save&&d.save(...e),["meta","prevent"]),["enter"])),t[3]||(t[3]=$(h((...e)=>d.save&&d.save(...e),["ctrl","prevent"]),["enter"]))],onFocusout:t[4]||(t[4]=(...e)=>d.handleFocusOut&&d.handleFocusOut(...e))},[i("div",Wb,null,512),(s(),c(we,{to:"body"},[l(u,{ref:"aiPanel",visible:r.ai.visible,mode:r.ai.mode,action:r.ai.action,loading:r.ai.loading,result:r.ai.result,error:r.ai.error,position:r.ai.position,"z-index":r.ai.zIndex,prompt:r.ai.prompt,tone:r.ai.tone,onGenerate:d.onAiGenerate,onRegenerate:d.runAiGenerate,onAccept:d.acceptAi,onClose:d.closeAi,"onUpdate:prompt":t[0]||(t[0]=e=>r.ai.prompt=e),"onUpdate:tone":t[1]||(t[1]=e=>r.ai.tone=e)},null,8,["visible","mode","action","loading","result","error","position","z-index","prompt","tone","onGenerate","onRegenerate","onAccept","onClose"])]))],34)),[[p,r.imageUploading]])}]]);G.setOptions({breaks:!0});const Zb=new WeakMap,Yb={class:"fbs-task-description-body"},Jb=["title"],Qb=["innerHTML"],Xb={key:1,class:"fbs-task-no-description is-disabled"},eg={key:1,class:"fbs-task-description-hydrating"},tg={key:2,class:"fbs-task-milkdown-editor"};const sg=Ss({name:"TaskDescription",inject:["eventBus"],components:{MilkdownEditor:Kb},props:["task","board","isFullScreenMode","tempTaskDescription"],emits:["updateTempTaskDescription"],data(){return{taskDescription:this.tempTaskDescription??this.task.description??"",lastSavedContent:this.task.description||"",autoSaveInterval:null,saveInProgress:!1,hasLocalChanges:!1,saveErrorNotified:!1,syncingExternalContent:!1,editorRenderKey:0}},created(){const e=function(e){const t=new Map;let s=null;return{selectTask(a){const i=String((null==a?void 0:a.id)||"");let o=t.get(i);o?o.task=a:(o={task:a,queue:null},o.queue=function(e){let t="",s="",a=!1,i=!1;const o=l=>{t=l,a=!0,e(l,()=>{a=!1,i&&(i=!1,o(s))})};return{request(e){a?e!==t?(s=e,i=!0):i=!1:o(e)}}}((t,s)=>{e(o.task,t,s)}),t.set(i,o)),s=o.queue},request(e){null==s||s.request(e)}}}((e,t,s)=>{this.persistTaskDescription(e,t,s)});e.selectTask(this.task),Zb.set(this,e)},computed:{hasDescription(){return!(!this.task.description||!this.task.description.length)},isDescriptionLocked(){return!(!this.board.archived_at&&!this.board.isUserOnlyViewer)},isHydratingTask(){return!1===this.task.detailsLoaded},descriptionLockTitle(){return this.board.archived_at?this.$t("Can't change, board is archived"):this.board.isUserOnlyViewer?this.$t("You do not have permission to edit this task"):""},renderedDescription(){const e=Ps(this.task.description);return e?Z.sanitize(G(Fs(e)?Es(e):e)):""},hasUnsavedChanges(){return this.taskDescription!==this.lastSavedContent}},methods:{startAutoSave(){window.clearInterval(this.autoSaveInterval),this.autoSaveInterval=window.setInterval(()=>{this.hasLocalChanges&&this.hasUnsavedChanges&&this.saveTaskDescription()},3e3)},saveTaskDescription(){(this.hasUnsavedChanges||this.saveInProgress)&&Zb.get(this).request(this.taskDescription)},isCurrentTask(e){var t;return String((null==e?void 0:e.id)||"")===String((null==(t=this.task)?void 0:t.id)||"")},persistTaskDescription(e,t,s){const a=this.lastSavedContent;this.isCurrentTask(e)&&(this.saveInProgress=!0),this.eventBus.emit("change-task-property",{task:e,property:"description",value:t,onSuccess:()=>{this.isCurrentTask(e)&&(this.lastSavedContent=t,this.saveErrorNotified=!1,this.taskDescription===t&&(this.hasLocalChanges=!1))},onError:()=>{this.isCurrentTask(e)&&(this.lastSavedContent=a,this.saveErrorNotified||(this.saveErrorNotified=!0,this.$notify.error({title:this.$t("Error"),message:this.$t("Task description couldn't be updated. Please try again.")})))},onFinally:()=>{this.isCurrentTask(e)&&(this.saveInProgress=!1),s()}})}},watch:{task(e,t){Zb.get(this).selectTask(e),String((null==e?void 0:e.id)||"")!==String((null==t?void 0:t.id)||"")&&(this.saveInProgress=!1,this.hasLocalChanges=!1,this.saveErrorNotified=!1,this.syncingExternalContent=!0,this.taskDescription=e.description||"",this.lastSavedContent=e.description||"",this.editorRenderKey++,this.$nextTick(()=>{this.syncingExternalContent=!1}))},"task.description"(e){this.hasLocalChanges||this.saveInProgress||(this.lastSavedContent=e||"",(e||"")!==(this.taskDescription||"")&&(this.syncingExternalContent=!0,this.taskDescription=e||"",this.editorRenderKey++,this.$nextTick(()=>{this.syncingExternalContent=!1})))},taskDescription(e){this.syncingExternalContent||(this.hasLocalChanges=!0,this.saveErrorNotified=!1,this.$emit("updateTempTaskDescription",e))},tempTaskDescription(e){e!==this.taskDescription&&(this.syncingExternalContent=!0,this.taskDescription=e,this.$nextTick(()=>{this.syncingExternalContent=!1}))}},mounted(){this.taskDescription=this.tempTaskDescription??this.task.description??"",this.startAutoSave()},beforeUnmount(){this.saveTaskDescription(),window.clearInterval(this.autoSaveInterval)}},[["render",function(e,t,i,n,r,d){const h=At,u=b("milkdown-editor");return s(),a("div",Yb,[d.isDescriptionLocked?(s(),a("div",{key:0,class:"fbs-task-description-content-wrap",title:d.descriptionLockTitle},[d.hasDescription?(s(),a("div",{key:0,class:"fbs-task-description-content fbs-task-description-rendered",innerHTML:d.renderedDescription},null,8,Qb)):(s(),a("div",Xb,o(e.$t("Add description")),1))],8,Jb)):d.isHydratingTask?(s(),a("div",eg,[l(h,{rows:2,animated:""})])):(s(),a("div",tg,[(s(),c(u,{key:r.editorRenderKey,modelValue:r.taskDescription,"onUpdate:modelValue":t[0]||(t[0]=e=>r.taskDescription=e),task:i.task,board:i.board,autofocus:!1,plain:!0,"show-block-controls":!1,placeholder:e.$t("Type / for commands or start writing..."),onSave:d.saveTaskDescription},null,8,["modelValue","task","board","placeholder","onSave"]))]))])}]]),ag={name:"CloneTask",inject:["eventBus"],emits:["close","cloning","ready"],props:["taskId","boardId"],data:()=>({visible:!1,taskTitle:"",label:!1,subtask:!1,attachment:!1,assignee:!1,comments:!1,stage_id:"",numberOfAvatars:5,task:{settings:{cover:{},subtask_count:0,attachment_count:0},labels:[],assignees:[],comments_count:0},taskCloning:!1}),computed:{...m(js,["board","stages"])},methods:{cloneTask(){!this.taskCloning&&this.task.id&&(this.taskCloning=!0,this.$emit("cloning",!0),this.$post("projects/"+this.task.board_id+"/tasks/"+this.task.id+"/clone-task",{title:this.taskTitle,stage_id:this.stage_id,assignee:this.assignee,subtask:this.subtask,label:this.board.id==this.task.board_id&&this.label,attachment:this.attachment,comment:this.comments}).then(e=>{this.eventBus.emit("update-tasks",e.updatedTasks),this.$notify({title:this.$t("Success"),message:this.$t("Task cloned successfully!"),type:"success",duration:3e3}),this.$emit("close")}).catch(e=>{this.handleError(e)}).finally(()=>{this.taskCloning=!1,this.$emit("cloning",!1)}))},setProperties(){var e;this.assignee=this.task.assignees.length>0,this.label=this.task.labels.length>0,this.subtask=!!(((null==(e=this.task.settings)?void 0:e.subtask_count)||0)>0&&this.appVars.has_pro),this.taskTitle=this.task.title+" (Cloned)",this.stage_id=parseInt(this.task.stage_id)},fetchTaskById(){this.$get("projects/"+this.boardId+"/tasks/"+this.taskId).then(e=>{this.task=e.task,this.setProperties(),this.$emit("ready")}).catch(e=>{this.handleError(e)})}},mounted(){this.fetchTaskById()}},ig={style:{position:"relative"},ref:"templateCard"},og={key:1,class:"fbs-create-task-options fbs_mb_16"},lg={class:"fbs_primary_text font-medium fbs_mb_6"},ng={class:"d-flex flex-column gap-8"},rg={class:"fbs_primary_text font-medium fbs_mb_6"};const dg={name:"CloneTaskDialog",components:{CloneTask:Ss(ag,[["render",function(e,t,u,p,m,b){var _,v,w,C,T,$,V,A,I,D,B,L,M,x,P,F,E,U,O,R,N,H,j,z;const G=He,q=qe,W=Be,K=Le,Z=g("loading");return f((s(),a("div",ig,[i("div",null,[(null==(w=null==(v=null==(_=m.task)?void 0:_.settings)?void 0:v.cover)?void 0:w.backgroundColor)?(s(),a("div",{key:0,style:S({backgroundColor:m.task.settings.cover.backgroundColor}),class:"fbs-task-cover fbs_mb_6"},null,4)):y("",!0),i("div",{class:k(["fbs_mb_16",[(null==($=null==(T=null==(C=m.task)?void 0:C.settings)?void 0:T.cover)?void 0:$.backgroundColor)?"fbs-top-border-radius-none":"","fbs-task-view"]])},[l(G,{ref:"title",placeholder:"Task Title",modelValue:m.taskTitle,"onUpdate:modelValue":t[0]||(t[0]=e=>m.taskTitle=e),onPaste:t[1]||(t[1]=h(()=>{},["stop"]))},null,8,["modelValue"])],2),(null==(A=null==(V=m.task)?void 0:V.settings)?void 0:A.subtask_count)>0||(null==(D=null==(I=m.task)?void 0:I.labels)?void 0:D.length)>0&&e.board.id==m.task.board_id||(null==(L=null==(B=m.task)?void 0:B.settings)?void 0:L.attachment_count)>0||(null==(x=null==(M=m.task)?void 0:M.assignees)?void 0:x.length)>0||(null==(P=m.task)?void 0:P.comments_count)>0?(s(),a("div",og,[i("div",lg,o(e.$t("Keep"))+" : ",1),i("div",ng,[(null==(E=null==(F=m.task)?void 0:F.settings)?void 0:E.subtask_count)>0&&e.appVars.has_pro?(s(),c(q,{key:0,class:"fbs-w-full fbs_mr_0 d-flex",modelValue:m.subtask,"onUpdate:modelValue":t[2]||(t[2]=e=>m.subtask=e),label:e.$t("Subtasks")+` (${m.task.settings.subtask_count})`,size:"large"},null,8,["modelValue","label"])):y("",!0),(null==(O=null==(U=m.task)?void 0:U.labels)?void 0:O.length)>0&&e.board.id==m.task.board_id?(s(),c(q,{key:1,class:"fbs-w-full fbs_mr_0 d-flex",modelValue:m.label,"onUpdate:modelValue":t[3]||(t[3]=e=>m.label=e),label:e.$t("Labels")+` (${m.task.labels.length})`,size:"large"},null,8,["modelValue","label"])):y("",!0),(null==(N=null==(R=m.task)?void 0:R.assignees)?void 0:N.length)>0?(s(),c(q,{key:2,class:"fbs-w-full fbs_mr_0 d-flex",modelValue:m.assignee,"onUpdate:modelValue":t[4]||(t[4]=e=>m.assignee=e),label:e.$t("Assignees")+` (${m.task.assignees.length})`,size:"large"},null,8,["modelValue","label"])):y("",!0),(null==(j=null==(H=m.task)?void 0:H.settings)?void 0:j.attachment_count)>0&&e.appVars.has_pro?(s(),c(q,{key:3,class:"fbs-w-full fbs_mr_0 d-flex",modelValue:m.attachment,"onUpdate:modelValue":t[5]||(t[5]=e=>m.attachment=e),label:e.$t("Attachments")+` (${m.task.settings.attachment_count})`,size:"large"},null,8,["modelValue","label"])):y("",!0),(null==(z=m.task)?void 0:z.comments_count)>0?(s(),c(q,{key:4,class:"fbs-w-full fbs_mr_0 d-flex",modelValue:m.comments,"onUpdate:modelValue":t[6]||(t[6]=e=>m.comments=e),label:e.$t("Comments")+` (${m.task.comments_count})`,size:"large"},null,8,["modelValue","label"])):y("",!0)])])):y("",!0),i("div",rg,o(e.$t("Target stage"))+" : ",1),l(K,{modelValue:m.stage_id,"onUpdate:modelValue":t[8]||(t[8]=e=>m.stage_id=e),placeholder:"Select",onPaste:t[9]||(t[9]=h(()=>{},["stop"]))},{default:n(()=>[(s(!0),a(r,null,d(e.stages,e=>(s(),c(W,{key:e.value,label:e.title.length>30?e.title.substring(0,30)+"...":e.title,value:e.id,onClick:t[7]||(t[7]=h(()=>{},["prevent"]))},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])])])),[[Z,m.taskCloning]])}]])},props:{modelValue:{type:Boolean,default:!1},taskId:{type:[String,Number],required:!0},boardId:{type:[String,Number],required:!0}},emits:["update:modelValue"],data:()=>({cloning:!1,formReady:!1}),watch:{modelValue(e){e&&(this.cloning=!1,this.formReady=!1)}},computed:{visible:{get(){return this.modelValue},set(e){this.$emit("update:modelValue",e)}}}},cg={class:"dialog-footer justify-end"};const hg=Ss(dg,[["render",function(e,t,a,r,d,h){const u=b("clone-task"),p=ze,m=Ge;return s(),c(m,{modelValue:h.visible,"onUpdate:modelValue":t[4]||(t[4]=e=>h.visible=e),title:e.$t("Clone Task"),width:"420px","append-to-body":!0,"destroy-on-close":!0,class:"fbs-task-action-dialog"},{footer:n(()=>[i("div",cg,[l(p,{type:"primary",disabled:!d.formReady,loading:d.cloning,onClick:t[3]||(t[3]=t=>e.$refs.cloneForm.cloneTask())},{default:n(()=>[w(o(e.$t("Clone task")),1)]),_:1},8,["disabled","loading"])])]),default:n(()=>[h.visible?(s(),c(u,{key:0,ref:"cloneForm","task-id":a.taskId,"board-id":a.boardId,onClose:t[0]||(t[0]=e=>h.visible=!1),onCloning:t[1]||(t[1]=e=>d.cloning=e),onReady:t[2]||(t[2]=e=>d.formReady=!0)},null,8,["task-id","board-id"])):y("",!0)]),_:1},8,["modelValue","title"])}]]),ug={name:"TaskDeleteDialog",props:{dialogVisible:{type:Boolean,required:!0},loading:{type:Boolean,default:!1}},data(){return{visible:!!this.dialogVisible&&this.dialogVisible}},watch:{dialogVisible(e){this.visible=e}},emits:["confirm","cancel"],methods:{confirm(){this.$emit("confirm")},cancel(){this.$emit("cancel")}}},pg={class:"fbs_task_delete_modal__content"},mg={class:"fbs_task_delete_modal__icon","aria-hidden":"true"},bg={class:"fbs_task_delete_modal__text"},gg={class:"dialog-footer justify-end"};const fg=Ss(ug,[["render",function(e,t,a,r,d,h){const u=b("WarningFilled"),p=Ne,m=ze,g=Ge;return s(),c(g,{modelValue:d.visible,"onUpdate:modelValue":t[0]||(t[0]=e=>d.visible=e),width:440,title:e.$t("Confirmation Required"),class:"fbs_task_delete_modal","modal-class":"fbs_task_delete_modal_mask","append-to-body":"","show-close":!1,"close-on-click-modal":!a.loading,"close-on-press-escape":!a.loading,onClosed:h.cancel},{footer:n(()=>[i("div",gg,[l(m,{disabled:a.loading,onClick:h.cancel},{default:n(()=>[w(o(e.$t("Cancel")),1)]),_:1},8,["disabled","onClick"]),l(m,{plain:"",type:"danger",loading:a.loading,onClick:h.confirm},{default:n(()=>[w(o(e.$t("Delete Task")),1)]),_:1},8,["loading","onClick"])])]),default:n(()=>[i("div",pg,[i("div",mg,[l(p,null,{default:n(()=>[l(u)]),_:1})]),i("div",bg,[i("h3",null,o(e.$t("Confirmation Required")),1),i("p",null,o(e.$t("Are you sure you want to delete this task? This action cannot be undone.")),1)])])]),_:1},8,["modelValue","title","close-on-click-modal","close-on-press-escape","onClosed"])}]]),_g={name:"TaskDependencies",components:{Plus:Oe,Close:dt,CircleCheckFilled:ht,InfoFilled:vt,Connection:It},inject:["eventBus"],emits:["blocked-change"],props:{task:{type:Object,required:!0}},data:()=>({loading:!1,saving:!1,searching:!1,predecessors:[],successors:[],showAddForm:!1,selectedTaskId:null,dependencyDirection:"waiting_on",searchResults:[],dependencyRequestKey:0,boardDependencyRequestKey:0}),computed:{...m(js,["board","stages","tasks","boardDependencies"]),appVars:()=>window.fluentAddonVars||{},hasAnyDependencies(){return this.predecessors.length>0||this.successors.length>0},isBlocked(){const e=parseInt(this.task.id),t=this.boardDependencies.filter(t=>parseInt(t.successor_id)===e).map(e=>parseInt(e.predecessor_id));return t.length?t.some(e=>{const t=this.tasks.find(t=>parseInt(t.id)===e);if(t)return"open"===t.status;const s=this.predecessors.find(t=>parseInt(t.id)===e);return!!s&&"open"===s.status}):this.predecessors.some(e=>"open"===e.status)}},watch:{"task.id":{immediate:!0,handler(e){this.$emit("blocked-change",!1),e&&this.appVars.has_pro&&this.fetchDependencies()}},isBlocked:{immediate:!0,handler(e){this.$emit("blocked-change",e)}}},methods:{...M(js,["setBoardDependencies"]),isActiveDependencyRequest(e,t=null){var s,a;const i=this.$route.params.id||(null==(s=this.board)?void 0:s.id),o=String(i||"")===String(e||""),l=null===t||String((null==(a=this.task)?void 0:a.id)||"")===String(t||"");return o&&l},refreshBoardDependencies(){const e=this.board.id,t=++this.boardDependencyRequestKey;this.$get(`projects/${e}/dependencies`).then(s=>{t===this.boardDependencyRequestKey&&this.isActiveDependencyRequest(e)&&this.setBoardDependencies(s.dependencies||[])}).catch(()=>{t===this.boardDependencyRequestKey&&this.isActiveDependencyRequest(e)&&this.setBoardDependencies([])})},fetchDependencies(){this.loading=!0;const e=this.board.id,t=this.task.id,s=++this.dependencyRequestKey;this.predecessors=[],this.successors=[],this.$get(`projects/${e}/tasks/${t}/dependencies`).then(a=>{s===this.dependencyRequestKey&&this.isActiveDependencyRequest(e,t)&&(this.predecessors=a.predecessors||[],this.successors=a.successors||[])}).catch(()=>{s===this.dependencyRequestKey&&this.isActiveDependencyRequest(e,t)&&(this.predecessors=[],this.successors=[],this.$notify.error({message:this.$t("Failed to load dependencies")}))}).finally(()=>{s===this.dependencyRequestKey&&(this.loading=!1)})},searchTasks(e){if(!e)return void(this.searchResults=[]);this.searching=!0;const t=this.board.id,s=this.task.id;this.$get(`projects/${t}/tasks`,{search:e}).then(e=>{const t=new Set([s,...this.predecessors.map(e=>e.id),...this.successors.map(e=>e.id)]),a=(e.tasks||[]).flatMap(e=>e.tasks||e);this.searchResults=a.filter(e=>!t.has(e.id))}).catch(()=>{}).finally(()=>{this.searching=!1})},addDependency(){if(!this.selectedTaskId)return void this.$notify.warning({message:this.$t("Please select a task")});const e=this.board.id,t=this.task.id,s="waiting_on"===this.dependencyDirection?this.selectedTaskId:t,a="waiting_on"===this.dependencyDirection?t:this.selectedTaskId;this.saving=!0,this.$post(`projects/${e}/tasks/${t}/dependencies`,{predecessor_task_id:s,successor_task_id:a}).then(()=>{this.$notify.success({message:this.$t("Dependency added")}),this.cancelAdd(),this.fetchDependencies(),this.refreshBoardDependencies()}).catch(e=>{var t;const s=(null==(t=null==e?void 0:e.responseJSON)?void 0:t.message)||this.$t("Failed to add dependency");this.$notify.error({message:s})}).finally(()=>{this.saving=!1})},removeDependency(e){const t=this.board.id,s=this.task.id;this.$del(`projects/${t}/tasks/${s}/dependencies/${e}`).then(()=>{this.$notify.success({message:this.$t("Dependency removed")}),this.fetchDependencies(),this.refreshBoardDependencies()}).catch(()=>{this.$notify.error({message:this.$t("Failed to remove dependency")})})},openAddForm(e){this.showAddForm&&this.dependencyDirection===e?this.cancelAdd():(this.selectedTaskId=null,this.searchResults=[],this.dependencyDirection=e,this.showAddForm=!0)},cancelAdd(){this.showAddForm=!1,this.selectedTaskId=null,this.dependencyDirection="waiting_on",this.searchResults=[]},getStageColor(e){const t=this.stages.find(t=>parseInt(t.id)===parseInt(e));return(null==t?void 0:t.bg_color)||"#E5E7EB"},openTask(e){this.eventBus.emit("show-task",e)}}},kg={key:0,class:"fbs-task-dependencies"},vg={class:"fbs-dep-section-title"},yg={key:0,class:"fbs-dep-loading"},wg={key:0,class:"fbs-dep-group"},Cg={class:"fbs-dep-group-header"},Tg={class:"fbs-dep-group-label"},Sg={key:0,class:"fbs-dep-add-form"},$g={class:"fbs-dep-form-actions"},Vg=["onClick"],Ag={key:1,class:"fbs-dep-group"},Ig={class:"fbs-dep-group-header"},Dg={class:"fbs-dep-group-label"},Bg={key:0,class:"fbs-dep-add-form"},Lg={class:"fbs-dep-form-actions"},Mg=["onClick"];const xg=Ss(_g,[["render",function(e,t,h,u,p,m){const _=b("Connection"),v=Ne,C=b("InfoFilled"),T=We,$=b("Plus"),V=ze,A=Be,I=Le,D=b("CircleCheckFilled"),B=b("Close"),L=g("loading");return m.appVars.has_pro&&m.hasAnyDependencies?(s(),a("div",kg,[i("h4",vg,[i("span",null,[l(v,null,{default:n(()=>[l(_)]),_:1}),w(" "+o(e.$t("Dependencies")),1)])]),p.loading?f((s(),a("div",yg,null,512)),[[L,!0]]):(s(),a(r,{key:1},[p.predecessors.length?(s(),a("div",wg,[i("div",Cg,[i("span",Tg,o(e.$t("Waiting on")),1),l(T,{content:e.$t("This task cannot start until these tasks are done"),placement:"top","show-after":300},{default:n(()=>[l(v,{class:"fbs-dep-hint-icon"},{default:n(()=>[l(C)]),_:1})]),_:1},8,["content"]),e.board.archived_at||e.board.isUserOnlyViewer?y("",!0):(s(),c(V,{key:0,class:"fbs-dep-add-btn",size:"small",text:"",onClick:t[0]||(t[0]=e=>m.openAddForm("waiting_on"))},{default:n(()=>[l(v,null,{default:n(()=>[l($)]),_:1})]),_:1}))]),p.showAddForm&&"waiting_on"===p.dependencyDirection?(s(),a("div",Sg,[l(I,{modelValue:p.selectedTaskId,"onUpdate:modelValue":t[1]||(t[1]=e=>p.selectedTaskId=e),placeholder:e.$t("Search for a task that blocks this one..."),filterable:"",remote:"",clearable:"","remote-method":m.searchTasks,loading:p.searching,size:"small",class:"fbs-dep-task-select"},{default:n(()=>[(s(!0),a(r,null,d(p.searchResults,e=>(s(),c(A,{key:e.id,label:e.title,value:e.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder","remote-method","loading"]),i("div",$g,[l(V,{size:"small",type:"primary",loading:p.saving,onClick:m.addDependency},{default:n(()=>[w(o(e.$t("Save")),1)]),_:1},8,["loading","onClick"]),l(V,{size:"small",onClick:m.cancelAdd},{default:n(()=>[w(o(e.$t("Cancel")),1)]),_:1},8,["onClick"])])])):y("",!0),(s(!0),a(r,null,d(p.predecessors,t=>(s(),a("div",{key:t.id,class:k(["fbs-dep-item",{"fbs-dep-item--closed":"closed"===t.status}])},[i("span",{class:"fbs-dep-stage-dot",style:S({backgroundColor:m.getStageColor(t.stage_id)})},null,4),i("span",{class:"fbs-dep-task-title",onClick:e=>m.openTask(t)},o(t.title),9,Vg),"closed"===t.status?(s(),c(v,{key:0,class:"fbs-dep-done-icon"},{default:n(()=>[l(D)]),_:1})):y("",!0),e.board.archived_at||e.board.isUserOnlyViewer?y("",!0):(s(),c(V,{key:1,class:"fbs-dep-remove-btn",text:"",size:"small",onClick:e=>m.removeDependency(t.id)},{default:n(()=>[l(v,null,{default:n(()=>[l(B)]),_:1})]),_:1},8,["onClick"]))],2))),128))])):y("",!0),p.successors.length?(s(),a("div",Ag,[i("div",Ig,[i("span",Dg,o(e.$t("Blocking")),1),l(T,{content:e.$t("These tasks cannot start until this task is done"),placement:"top","show-after":300},{default:n(()=>[l(v,{class:"fbs-dep-hint-icon"},{default:n(()=>[l(C)]),_:1})]),_:1},8,["content"]),e.board.archived_at||e.board.isUserOnlyViewer?y("",!0):(s(),c(V,{key:0,class:"fbs-dep-add-btn",size:"small",text:"",onClick:t[2]||(t[2]=e=>m.openAddForm("blocking"))},{default:n(()=>[l(v,null,{default:n(()=>[l($)]),_:1})]),_:1}))]),p.showAddForm&&"blocking"===p.dependencyDirection?(s(),a("div",Bg,[l(I,{modelValue:p.selectedTaskId,"onUpdate:modelValue":t[3]||(t[3]=e=>p.selectedTaskId=e),placeholder:e.$t("Search for a task that this one blocks..."),filterable:"",remote:"",clearable:"","remote-method":m.searchTasks,loading:p.searching,size:"small",class:"fbs-dep-task-select"},{default:n(()=>[(s(!0),a(r,null,d(p.searchResults,e=>(s(),c(A,{key:e.id,label:e.title,value:e.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder","remote-method","loading"]),i("div",Lg,[l(V,{size:"small",type:"primary",loading:p.saving,onClick:m.addDependency},{default:n(()=>[w(o(e.$t("Save")),1)]),_:1},8,["loading","onClick"]),l(V,{size:"small",onClick:m.cancelAdd},{default:n(()=>[w(o(e.$t("Cancel")),1)]),_:1},8,["onClick"])])])):y("",!0),(s(!0),a(r,null,d(p.successors,t=>(s(),a("div",{key:t.id,class:k(["fbs-dep-item",{"fbs-dep-item--closed":"closed"===t.status}])},[i("span",{class:"fbs-dep-stage-dot",style:S({backgroundColor:m.getStageColor(t.stage_id)})},null,4),i("span",{class:"fbs-dep-task-title",onClick:e=>m.openTask(t)},o(t.title),9,Mg),"closed"===t.status?(s(),c(v,{key:0,class:"fbs-dep-done-icon"},{default:n(()=>[l(D)]),_:1})):y("",!0),e.board.archived_at||e.board.isUserOnlyViewer?y("",!0):(s(),c(V,{key:1,class:"fbs-dep-remove-btn",text:"",size:"small",onClick:e=>m.removeDependency(t.id)},{default:n(()=>[l(v,null,{default:n(()=>[l(B)]),_:1})]),_:1},8,["onClick"]))],2))),128))])):y("",!0)],64))])):y("",!0)}]]);A.extend(Ce);const Pg={name:"RecurringTask",inject:["eventBus"],emits:["opened"],components:{Icons:$s,Close:dt,CustomIcon:ml,Refresh:Dt},props:{task:{type:Object,required:!0},variant:{type:String,default:"button",validator:e=>["button","menu","widget"].includes(e)}},data(){return{visible:!1,saving:!1,removing:!1,repeat:"daily",repeatIn:1,weekDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],selectedRepeatWeekDays:["Sun"],repeatInMonthType:"custom",selectedMonthDays:[],months:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],selectedMonth:"Jan",createNew:!1,repeatWhenComplete:!1,time:"09:00",timeZone:Intl.DateTimeFormat().resolvedOptions().timeZone,selectedStage:parseInt(this.task.stage_id)}},methods:{openDialog(){var e,t;this.appVars.has_pro&&"yes"==this.appVars.advanced_modules.recurring_task.enabled&&(this.setTime(this.task),this.setTaskRepeatValue(this.task),this.visible=!0,this.$emit("opened"),this.selectedStage=parseInt((null==(t=null==(e=this.task.repeat_task_meta)?void 0:e.value)?void 0:t.selected_stage)??this.task.stage_id))},repeatTaskView(e){this.repeat=e},removeTaskRepeat(){this.task.repeat_task_meta&&(this.removing=!0,this.$del("projects/"+this.task.board_id+"/tasks/"+this.task.id+"/remove-repeat-task").then(e=>{this.$notify({title:this.$t("Success"),message:e.message,type:"success"});const t={...this.task,repeat_task_meta:null};this.eventBus.emit("update-tasks",[t])}).catch(e=>{this.handleError(e)}).finally(()=>{this.removing=!1}))},setTaskRepeat(){this.saving=!0;const e={repeat_type:this.repeat,repeat_in:this.repeatIn,selected_repeat_week_days:this.selectedRepeatWeekDays,selected_month:this.selectedMonth,selected_month_days:this.selectedMonthDays,time:this.time,time_zone:this.timeZone,repeat_when_complete:this.repeatWhenComplete?1:0,create_new:this.createNew?1:0,next_repeat_date:this.nextRepeat,repeat_in_month_type:this.repeatInMonthType,selected_stage:this.selectedStage};this.$post("projects/"+this.task.board_id+"/tasks/"+this.task.id+"/create-repeat-task",e).then(e=>{this.eventBus.emit("update-tasks",[e.task])}).catch(e=>{this.handleError(e)}).finally(()=>{this.saving=!1})},closeDialog(e=!1){(e||!this.saving&&!this.removing)&&(this.visible=!1)},setTime(e){const t=e.due_at||e.started_at;if(kl(t)&&"string"==typeof t){const e=t.split(" ")[1];e&&(this.time=e)}else this.time="09:00"},setTaskRepeatValue(e){if(e.repeat_task_meta){const t=e.repeat_task_meta.value;this.repeat=t.repeat_type,this.repeatIn=t.repeat_in,this.selectedRepeatWeekDays=t.selected_repeat_week_days,this.selectedMonthDays=t.selected_month_days??[],this.selectedMonth=t.selected_month,this.repeatWhenComplete=1===parseInt(t.repeat_when_complete),this.createNew=1===parseInt(t.create_new),this.time=t.time,this.repeatInMonthType=t.repeat_in_month_type}else this.repeat="daily",this.repeatIn=1,this.selectedRepeatWeekDays=["Sun"],this.selectedMonthDays=[],this.selectedMonth="Jan",this.repeatInMonthType="custom",this.repeatWhenComplete=!1,this.createNew=!1}},watch:{repeatInMonthType(e){"firstDay"!==e&&"lastDay"!==e||(this.selectedMonthDays=[])},task(e){this.setTime(e),this.setTaskRepeatValue(e)}},computed:{isMenuDisabled(){return!(this.appVars.has_pro&&"yes"==this.appVars.advanced_modules.recurring_task.enabled)},...m(js,["board"]),displayTime:{get(){const e=A(String(this.time||"").slice(0,5),"HH:mm",!0);return e.isValid()?e.format("hh:mm A"):""},set(e){const t=A(e,"hh:mm A",!0);t.isValid()&&(this.time=t.format("HH:mm"))}},repeatOptions(){return[{value:"daily",label:this.$t("Daily")},{value:"weekly",label:this.$t("Weekly")},{value:"monthly",label:this.$t("Monthly")},{value:"yearly",label:this.$t("Yearly")}]},daysInMonth(){return["Apr","Jun","Sep","Nov"].includes(this.selectedMonth)?30:["Jan","Mar","May","Jul","Aug","Oct","Dec"].includes(this.selectedMonth)?31:28},nextRepeatReadable(){if(!this.nextRepeat)return"";const e=vl(this.nextRepeat,"MMM D, YYYY"),t=this.time?vl(`${this.nextRepeat} ${this.time}`,"h:mm A"):"";return e&&t?`${e} ${this.$t("at")} ${t}`:e||this.nextRepeat},nextRepeat(){const e=new Date,t=kl(this.task.due_at||this.task.started_at);if(t&&(e.setDate(t.getDate()),e.setMonth(t.getMonth()),e.setFullYear(t.getFullYear())),this.repeatIn=this.repeatIn>0?parseInt(this.repeatIn):1,"daily"===this.repeat)this.repeatIn>365&&(this.repeatIn=365),e.setDate(e.getDate()+this.repeatIn);else if("weekly"===this.repeat)if(this.repeatIn>99&&(this.repeatIn=99),this.selectedRepeatWeekDays.length){this.selectedRepeatWeekDays.sort((e,t)=>this.weekDays.indexOf(e)-this.weekDays.indexOf(t));const t=e.getDay(),s=this.selectedRepeatWeekDays.find(e=>this.weekDays.indexOf(e)>t);void 0!==s?e.setDate(e.getDate()+7*(this.repeatIn-1)+(this.weekDays.indexOf(s)-t)):e.setDate(e.getDate()+(7*this.repeatIn-t+this.weekDays.indexOf(this.selectedRepeatWeekDays[0])))}else e.setDate(e.getDate()+7*this.repeatIn);else if("monthly"===this.repeat)if(this.repeatIn>12&&(this.repeatIn=12),this.selectedMonthDays.length){const t=e.getDate();this.selectedMonthDays.sort((e,t)=>parseInt(e)-parseInt(t));const s=this.selectedMonthDays.find(e=>e>t);void 0!==s?(e.setDate(s),e.setMonth(e.getMonth()+this.repeatIn-1)):(e.setDate(this.selectedMonthDays[0]),e.setMonth(e.getMonth()+this.repeatIn))}else"firstDay"===this.repeatInMonthType?(e.setDate(1),e.setMonth(e.getMonth()+this.repeatIn)):"lastDay"===this.repeatInMonthType?(e.setDate(1),e.setMonth(e.getMonth()+this.repeatIn+1),e.setDate(0)):e.setMonth(e.getMonth()+this.repeatIn);else if("yearly"===this.repeat)if(this.selectedMonth&&this.selectedMonthDays.length){const t=e.getFullYear(),s=e.getMonth(),a=e.getDate(),i=this.months.indexOf(this.selectedMonth);this.selectedMonthDays.sort((e,t)=>parseInt(e)-parseInt(t));let o=this.selectedMonthDays[0],l=this.repeatIn;if(i>s)l=this.repeatIn-1;else if(i===s){const e=this.selectedMonthDays.find(e=>parseInt(e)>a);void 0!==e&&(o=e,l=this.repeatIn-1)}e.setDate(1),e.setFullYear(t+l),e.setMonth(i),e.setDate(o)}else if("firstDay"===this.repeatInMonthType)e.setDate(1),e.setMonth(0),e.setFullYear(e.getFullYear()+this.repeatIn);else if("lastDay"===this.repeatInMonthType){const t=e.getFullYear(),s=e.getMonth(),a=e.getDate(),i=s<11||11===s&&a<31?this.repeatIn-1:this.repeatIn;e.setDate(1),e.setFullYear(t+i),e.setMonth(11),e.setDate(31)}else e.setFullYear(e.getFullYear()+this.repeatIn);return vl(e,"YYYY-MM-DD")||""}},mounted(){this.setTaskRepeatValue(this.task),this.setTime(this.task)}},Fg=["disabled"],Eg={class:"icon"},Ug={key:0,class:"fbs_priority_badge"},Og={class:"label"},Rg={class:"fbs-template-pro"},Ng={class:"fbs_task_repeat_schedule"},Hg={class:"fbs_task_repeat_schedule__header"},jg={class:"fbs_task_repeat_schedule__copy"},zg={class:"fbs_task_repeat_time"},Gg=["aria-label"],qg=["aria-pressed","onClick"],Wg={class:"fbs_task_repeat_content"},Kg={key:0,class:"fbs_task_repeat_content_common"},Zg={key:1},Yg={class:"fbs_task_repeat_content_common"},Jg={class:"fbs_task_repeat_container_week_options"},Qg={key:2},Xg={class:"fbs_task_repeat_content_common"},ef={class:"fbs_task_repeat_container_month_options"},tf={key:3},sf={class:"fbs_task_repeat_content_common"},af={class:"fbs_task_repeat_container_month_options"},of={class:"fbs_task_repeat_next_run"},lf={class:"fbs_task_repeat_next_run__copy"},nf={class:"fbs_task_repeat_stage"},rf={class:"fbs_task_repeat_stage__copy"},df={class:"fbs_task_repeat_stage__label"},cf={class:"fbs_task_repeat_flags"},hf={class:"fbs_task_repeat_flag"},uf={class:"fbs_task_repeat_flag"},pf={class:"dialog-footer justify-between"},mf={key:1},bf={class:"fbs_task_repeat_actions__primary d-flex items-center gap-8"};const gf=Ss(Pg,[["render",function(e,t,u,p,m,g){const f=b("Icons"),_=ze,v=b("Refresh"),C=Ne,T=Je,S=Ct,$=Lt,V=Bt,A=Be,I=Le,D=xt,B=Mt,L=qe,M=Ge;return s(),a(r,null,["menu"===u.variant?(s(),a("button",{key:0,type:"button",class:k(["fbs-task-dropdown-menu-button",{"is-disabled":g.isMenuDisabled}]),disabled:g.isMenuDisabled,onClick:t[0]||(t[0]=(...e)=>g.openDialog&&g.openDialog(...e))},[i("span",Eg,[l(f,{"icon-name":"refresh"})]),w(" "+o(e.$t("Recurring Task"))+" ",1),e.appVars.has_pro?y("",!0):(s(),a("span",Ug,[i("span",Og,o(e.$t("Pro")),1)]))],10,Fg)):"widget"===u.variant?(s(),c(_,{key:1,size:"small",class:k([{"is-disabled":!e.appVars.has_pro},"fbs_ml-auto"]),disabled:!e.appVars.has_pro,onClick:g.openDialog},{default:n(()=>[w(o(e.$t("Manage")),1)]),_:1},8,["class","disabled","onClick"])):e.appVars.has_pro?(s(),c(_,{key:2,onClick:g.openDialog},{default:n(()=>[l(C,null,{default:n(()=>[l(v)]),_:1}),w(" "+o(e.$t("Recurring Task")),1)]),_:1},8,["onClick"])):(s(),c(_,{key:3,disabled:""},{default:n(()=>[l(C,null,{default:n(()=>[l(v)]),_:1}),w(" "+o(e.$t("Recurring Task"))+" ",1),i("span",Rg,o(e.$t("Pro")),1)]),_:1})),l(M,{modelValue:m.visible,"onUpdate:modelValue":t[23]||(t[23]=e=>m.visible=e),"append-to-body":"",width:"440px",class:"fbs_task_repeat_modal","modal-class":"fbs_task_repeat_modal__backdrop","show-close":!0,"close-on-click-modal":!1,"close-on-press-escape":!m.saving&&!m.removing,title:e.$t("Recurring Task")},{footer:n(()=>[i("div",pf,[u.task.repeat_task_meta?(s(),c(_,{key:0,plain:"",type:"danger",size:"small",loading:m.removing,disabled:m.saving,onClick:g.removeTaskRepeat},{default:n(()=>[w(o(e.$t("Stop Repeating")),1)]),_:1},8,["loading","disabled","onClick"])):(s(),a("span",mf)),i("div",bf,[l(_,{disabled:m.saving||m.removing,onClick:t[22]||(t[22]=e=>g.closeDialog()),size:"small",class:"fbs_mr_0 fbs_ml_0"},{default:n(()=>[w(o(e.$t("Cancel")),1)]),_:1},8,["disabled"]),l(_,{type:"primary",loading:m.saving,disabled:m.removing,onClick:g.setTaskRepeat,size:"small",class:"fbs_mr_0 fbs_ml_0"},{default:n(()=>[w(o(e.$t("Set")),1)]),_:1},8,["loading","disabled","onClick"])])])]),default:n(()=>[i("div",{class:"fbs_task_repeat_container",onPaste:t[21]||(t[21]=h(()=>{},["stop"]))},[i("div",Ng,[i("div",Hg,[i("div",jg,[i("h4",null,o(e.$t("Time & Date")),1),i("p",null,o(e.$t("Choose when this task should repeat")),1)]),i("div",zg,[l(T,{modelValue:g.displayTime,"onUpdate:modelValue":t[1]||(t[1]=e=>g.displayTime=e),start:"00:00",end:"23:59",step:"00:15",format:"hh:mm A",placeholder:e.$t("Select Time"),clearable:!1},null,8,["modelValue","placeholder"])])]),i("div",{class:"fbs_member_tab fbs_task_repeat_tabs",role:"group","aria-label":e.$t("Repeat Task")},[(s(!0),a(r,null,d(g.repeatOptions,e=>(s(),a("button",{key:e.value,type:"button",class:k(["fbs_member_tab_button",{"is-active":m.repeat===e.value}]),"aria-pressed":m.repeat===e.value,onClick:t=>g.repeatTaskView(e.value)},o(e.label),11,qg))),128))],8,Gg),i("div",Wg,["daily"===m.repeat?(s(),a("div",Kg,[i("span",null,o(e.$t("Repeat every")),1),l(S,{modelValue:m.repeatIn,"onUpdate:modelValue":t[2]||(t[2]=e=>m.repeatIn=e),min:1,max:365,onPaste:t[3]||(t[3]=h(()=>{},["stop"]))},null,8,["modelValue"]),i("span",null,o(e.$t("day(s)")),1)])):y("",!0),"weekly"===m.repeat?(s(),a("div",Zg,[i("div",Yg,[i("span",null,o(e.$t("Repeat every")),1),l(S,{modelValue:m.repeatIn,"onUpdate:modelValue":t[4]||(t[4]=e=>m.repeatIn=e),min:1,max:99,onPaste:t[5]||(t[5]=h(()=>{},["stop"]))},null,8,["modelValue"]),i("span",null,o(e.$t("week(s) on")),1)]),i("div",Jg,[l(V,{modelValue:m.selectedRepeatWeekDays,"onUpdate:modelValue":t[6]||(t[6]=e=>m.selectedRepeatWeekDays=e)},{default:n(()=>[(s(!0),a(r,null,d(m.weekDays,e=>(s(),c($,{key:e,value:e},{default:n(()=>[w(o(e),1)]),_:2},1032,["value"]))),128))]),_:1},8,["modelValue"])])])):y("",!0),"monthly"===m.repeat?(s(),a("div",Qg,[i("div",Xg,[i("span",null,o(e.$t("Repeat every")),1),l(S,{modelValue:m.repeatIn,"onUpdate:modelValue":t[7]||(t[7]=e=>m.repeatIn=e),min:1,max:12,onPaste:t[8]||(t[8]=h(()=>{},["stop"]))},null,8,["modelValue"]),i("span",null,o(e.$t("month(s) on")),1)]),i("div",ef,[l(B,{modelValue:m.repeatInMonthType,"onUpdate:modelValue":t[11]||(t[11]=e=>m.repeatInMonthType=e)},{default:n(()=>[l(D,{value:"custom"},{default:n(()=>[i("span",null,o(e.$t("Same day")),1),l(I,{modelValue:m.selectedMonthDays,"onUpdate:modelValue":t[9]||(t[9]=e=>m.selectedMonthDays=e),multiple:"",placeholder:e.$t("Select"),onPaste:t[10]||(t[10]=h(()=>{},["stop"]))},{default:n(()=>[(s(),a(r,null,d(28,e=>l(A,{key:e,label:e,value:e},null,8,["label","value"])),64))]),_:1},8,["modelValue","placeholder"])]),_:1}),l(D,{label:"firstDay"},{default:n(()=>[w(o(e.$t("First day of month")),1)]),_:1}),l(D,{value:"lastDay"},{default:n(()=>[w(o(e.$t("Last day of month")),1)]),_:1})]),_:1},8,["modelValue"])])])):y("",!0),"yearly"===m.repeat?(s(),a("div",tf,[i("div",sf,[i("span",null,o(e.$t("Repeat every year(s) on")),1)]),i("div",af,[l(B,{modelValue:m.repeatInMonthType,"onUpdate:modelValue":t[16]||(t[16]=e=>m.repeatInMonthType=e)},{default:n(()=>[l(D,{value:"custom"},{default:n(()=>[i("span",null,o(e.$t("Same day")),1),l(I,{modelValue:m.selectedMonth,"onUpdate:modelValue":t[12]||(t[12]=e=>m.selectedMonth=e),class:"fbs_task_repeat_month_select",placeholder:e.$t("Select"),onPaste:t[13]||(t[13]=h(()=>{},["stop"]))},{default:n(()=>[(s(!0),a(r,null,d(m.months,e=>(s(),c(A,{key:e,label:e,value:e},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"]),l(I,{modelValue:m.selectedMonthDays,"onUpdate:modelValue":t[14]||(t[14]=e=>m.selectedMonthDays=e),multiple:"",class:"fbs_task_repeat_days_select",placeholder:e.$t("Select"),"collapse-tags":"","max-collapse-tags":1,onPaste:t[15]||(t[15]=h(()=>{},["stop"]))},{default:n(()=>[(s(!0),a(r,null,d(g.daysInMonth,e=>(s(),c(A,{key:e,label:e,value:e},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])]),_:1}),l(D,{label:"firstDay"},{default:n(()=>[w(o(e.$t("First day of year")),1)]),_:1}),l(D,{value:"lastDay"},{default:n(()=>[w(o(e.$t("Last day of year")),1)]),_:1})]),_:1},8,["modelValue"])])])):y("",!0)])]),i("div",of,[i("span",lf,[i("span",null,o(e.$t("Next run")),1),i("small",null,o(e.$t("Read-only preview based on the selected repeat schedule")),1)]),i("strong",null,o(g.nextRepeatReadable),1)]),i("div",nf,[i("span",rf,[i("span",df,[i("span",null,o(e.$t("Stage")),1)]),i("small",null,o(e.$t("Stage where recurring task creation starts")),1)]),l(I,{modelValue:m.selectedStage,"onUpdate:modelValue":t[17]||(t[17]=e=>m.selectedStage=e),filterable:"",placeholder:e.$t("Search or Select Stage"),onPaste:t[18]||(t[18]=h(()=>{},["stop"]))},{default:n(()=>[(s(!0),a(r,null,d(e.board.stages,e=>(s(),c(A,{key:e.id,label:e.title,value:e.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])]),i("div",cf,[i("div",hf,[l(L,{modelValue:m.repeatWhenComplete,"onUpdate:modelValue":t[19]||(t[19]=e=>m.repeatWhenComplete=e)},{default:n(()=>[w(o(e.$t("Repeat only when completed")),1)]),_:1},8,["modelValue"]),i("p",null,o(e.$t("Wait until this task is completed before the next repeat is created")),1)]),i("div",uf,[l(L,{modelValue:m.createNew,"onUpdate:modelValue":t[20]||(t[20]=e=>m.createNew=e)},{default:n(()=>[w(o(e.$t("Create a task when repeating")),1)]),_:1},8,["modelValue"]),i("p",null,o(e.$t("Create a new task for each repeat instead of reusing this task")),1)])])],32)]),_:1},8,["modelValue","close-on-press-escape","title"])],64)}]]),ff={name:"TemplateView",inject:["eventBus"],emits:["toggleComponent","closeTemplatesView"],props:{task:{type:Object,required:!0},visible:{type:Boolean,required:!0},predefineStage:{type:Number,required:!1}},data(){return{taskTitle:this.task.title,label:!1,subtask:!1,attachment:!1,assignee:!1,stage_id:parseInt(this.task.stage_id),numberOfAvatars:2}},computed:{...m(js,["board","stages"]),visibleLabels(){return(this.task.labels||[]).slice(0,4)},hiddenLabelCount(){return Math.max((this.task.labels||[]).length-this.visibleLabels.length,0)},hasKeepOptions(){var e,t;return!!((null==(e=this.task.settings)?void 0:e.subtask_count)>0||this.task.labels.length>0&&this.board.id==this.task.board_id||(null==(t=this.task.settings)?void 0:t.attachment_count)>0||this.task.assignees.length>0&&this.board.id==this.task.board_id)}},watch:{visible(e){e&&this.setProperties()}},methods:{createTaskFromTemplate(){this.predefineStage&&(this.stage_id=this.predefineStage),this.$emit("toggleComponent"),this.$post("projects/"+this.board.id+"/tasks/"+this.task.id+"/task-create-from-template",{title:this.taskTitle,board_id:this.board.id,stage_id:this.stage_id,assignee:this.assignee,subtask:this.subtask,label:this.board.id==this.task.board_id&&this.label,attachment:this.attachment}).then(e=>{this.predefineStage&&this.$emit("closeTemplatesView"),this.eventBus.emit("update-tasks",e.updatedTasks)}).catch(e=>{this.handleError(e)})},setProperties(){this.assignee=this.task.assignees.length>0&&this.board.id==this.task.board_id,this.label=this.task.labels.length>0&&this.board.id==this.task.board_id,this.subtask=!!this.task.settings.subtask_count&&this.task.settings.subtask_count>0,this.attachment=!!this.task.settings.attachment_count&&this.task.settings.attachment_count>0,this.taskTitle=this.task.title,this.stage_id=this.getDefaultStageId()},getDefaultStageId(){return this.board.id==this.task.board_id?parseInt(this.task.stage_id):this.stages.length?parseInt(this.stages[0].id):null},showTask(e){const t=`/boards/${e.board_id}/tasks/${e.id}-${e.title.replace(/\s+/g,"-").substring(0,30)}`;this.$router.push({path:t}),this.visible=!1},hasLabelTitle:e=>!!(e&&e.title&&e.title.trim())},mounted(){this.visible&&this.setProperties()}},_f={class:"fbs-template-create-view"},kf={key:0,class:"fbs_board_section__task_list_labels fbs-template-labels"},vf=["title"],yf={key:0},wf={key:0,class:"fbs-label fbs-template-label-more"},Cf={key:1,class:"fbs_task_template_assignee"},Tf=["src","alt"],Sf={key:0,class:"fbs_board_member_box"},$f={key:1,class:"fbs_mb_16"},Vf={class:"fbs_primary_text font-medium fbs_mb_6"},Af={class:"d-flex flex-column gap-8"},If={class:"fbs-template-action-footer"};const Df=Ss(ff,[["render",function(e,t,u,p,m,b){var g,f,_,v,C,T,$,V,A,I;const D=He,B=We,L=qe,M=Be,x=Le,P=ze;return s(),a("div",_f,[(null==(f=null==(g=u.task.settings)?void 0:g.cover)?void 0:f.backgroundColor)?(s(),a("div",{key:0,style:S({backgroundColor:null==(v=null==(_=u.task.settings)?void 0:_.cover)?void 0:v.backgroundColor}),class:"fbs-task-cover"},null,4)):y("",!0),i("div",{class:k(["fbs_mb_16",[(null==(T=null==(C=u.task.settings)?void 0:C.cover)?void 0:T.backgroundColor)?"fbs-top-border-radius-none":"","fbs-task-create-from-template-view"]])},[l(D,{ref:"title",class:"fbs-template-title-input",type:"textarea",placeholder:e.$t("Task Title"),modelValue:m.taskTitle,"onUpdate:modelValue":t[0]||(t[0]=e=>m.taskTitle=e),autosize:{minRows:1,maxRows:3},onPaste:t[1]||(t[1]=h(()=>{},["stop"]))},null,8,["placeholder","modelValue"]),m.label&&u.task.labels.length&&e.board.id==u.task.board_id?(s(),a("div",kf,[(s(!0),a(r,null,d(b.visibleLabels,(t,i)=>(s(),a("div",{class:k(["fbs-label",{"fbs-label-empty":!b.hasLabelTitle(t)}]),key:i,style:S({"--fbs-label-dot-color":t.bg_color||"var(--fbs-folder-accent)"}),title:b.hasLabelTitle(t)?t.title:e.$t("Title not found")},[b.hasLabelTitle(t)?(s(),a("span",yf,o(t.title),1)):y("",!0)],14,vf))),128)),b.hiddenLabelCount>0?(s(),a("div",wf," +"+o(b.hiddenLabelCount)+" "+o(e.$t("labels")),1)):y("",!0)])):y("",!0),m.assignee&&u.task.assignees.length>0?(s(),a("div",Cf,[u.task.assignees&&u.task.assignees.length?(s(),a(r,{key:0},[(s(!0),a(r,null,d(u.task.assignees.slice(0,m.numberOfAvatars),(e,t)=>(s(),a("div",{class:"fbs_task_template_assignee_box",key:e.ID},[l(B,{class:"fbs_boardf_member_tooltip",effect:"dark",content:e.user_email,placement:"top-start"},{default:n(()=>[i("img",{src:e.photo,alt:e.display_name},null,8,Tf)]),_:2},1032,["content"])]))),128)),u.task.assignees.length>m.numberOfAvatars?(s(),a("div",Sf," +"+o(u.task.assignees.length-m.numberOfAvatars),1)):y("",!0)],64)):y("",!0)])):y("",!0)],2),b.hasKeepOptions?(s(),a("div",$f,[i("div",Vf,o(e.$t("Keep"))+" : ",1),i("div",Af,[(null==($=u.task.settings)?void 0:$.subtask_count)>0?(s(),c(L,{key:0,class:"fbs-w-full fbs_mr_0 d-flex",modelValue:m.subtask,"onUpdate:modelValue":t[2]||(t[2]=e=>m.subtask=e),label:e.$t("Subtask")+` (${null==(V=u.task.settings)?void 0:V.subtask_count})`,size:"large"},null,8,["modelValue","label"])):y("",!0),u.task.labels.length>0&&e.board.id==u.task.board_id?(s(),c(L,{key:1,class:"fbs-w-full fbs_mr_0 d-flex",modelValue:m.label,"onUpdate:modelValue":t[3]||(t[3]=e=>m.label=e),label:e.$t("Labels")+` (${u.task.labels.length})`,size:"large"},null,8,["modelValue","label"])):y("",!0),(null==(A=u.task.settings)?void 0:A.attachment_count)>0?(s(),c(L,{key:2,class:"fbs-w-full fbs_mr_0 d-flex",modelValue:m.attachment,"onUpdate:modelValue":t[4]||(t[4]=e=>m.attachment=e),label:e.$t("Attachments")+` (${null==(I=u.task.settings)?void 0:I.attachment_count})`,size:"large"},null,8,["modelValue","label"])):y("",!0),u.task.assignees.length>0&&e.board.id==u.task.board_id?(s(),c(L,{key:3,class:"fbs-w-full fbs_mr_0 d-flex",modelValue:m.assignee,"onUpdate:modelValue":t[5]||(t[5]=e=>m.assignee=e),label:e.$t("Assignees")+` (${u.task.assignees.length})`,size:"large"},null,8,["modelValue","label"])):y("",!0)])])):y("",!0),u.predefineStage?y("",!0):(s(),c(x,{key:2,modelValue:m.stage_id,"onUpdate:modelValue":t[7]||(t[7]=e=>m.stage_id=e),placeholder:e.$t("Select"),onPaste:t[8]||(t[8]=h(()=>{},["stop"]))},{default:n(()=>[(s(!0),a(r,null,d(e.stages,e=>(s(),c(M,{key:e.value,label:e.title.length>30?e.title.substring(0,30)+"...":e.title,value:e.id,onClick:t[6]||(t[6]=h(()=>{},["prevent"]))},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])),i("div",If,[u.predefineStage?(s(),c(P,{key:0,size:"small",onClick:t[9]||(t[9]=e=>b.showTask(u.task))},{default:n(()=>[w(o(e.$t("Edit Template")),1)]),_:1})):y("",!0),l(P,{type:"primary",size:"small",onClick:b.createTaskFromTemplate},{default:n(()=>[w(o(e.$t("Create Task")),1)]),_:1},8,["onClick"])])])}]]),Bf={class:"fbs-create-template-popover-content",ref:"templateCard"},Lf={class:"fbs-create-template-popover-header"},Mf={class:"fbs-create-template-popover-title"},xf={class:"fbs_primary_text font-medium medium"},Pf={key:0,class:"fbs-template-task-alert"},Ff={class:"fbs-template-task-alert__inner"},Ef={class:"fbs-template-task-alert__content"},Uf={class:"fbs-template-task-alert__content_inner"},Of={class:"fbs-template-task-alert__title"},Rf={class:"fbs-template-task-alert__description"},Nf={class:"fbs-template-task-alert__action"},Hf={class:"icon"},jf={class:"icon"};const zf=Ss({name:"createTaskFromTemplate",components:{Icons:$s,TemplateView:Df},props:{task:{type:Object,required:!0},variant:{type:String,default:"link",validator:e=>["link","banner"].includes(e)}},data:()=>({visible:!1}),computed:{popoverPlacement(){return"banner"===this.variant?"bottom-end":"bottom"}},methods:{toggleComponent(){this.visible=!this.visible,this.visible?setTimeout(()=>{document.addEventListener("click",this.handleClickOutside)},0):document.removeEventListener("click",this.handleClickOutside)},handleClickOutside(e){var t;(null==(t=this.$refs.templateCard)?void 0:t.contains(e.target))||(document.removeEventListener("click",this.handleClickOutside),this.visible=!1)}}},[["render",function(e,t,r,d,u,p){const m=b("Icons"),g=ze,f=b("template-view"),_=je;return s(),c(_,{visible:u.visible,placement:p.popoverPlacement,width:372,"popper-class":"fbs-template-popover fbs-create-task-template-popper"},{reference:n(()=>["banner"===r.variant?(s(),a("div",Pf,[i("div",Ff,[i("div",Ef,[i("div",Uf,[i("span",Of,o(e.$t("This is a template task")),1),t[0]||(t[0]=i("span",{class:"fbs-template-task-alert__separator","aria-hidden":"true"},"•",-1)),i("span",Rf,o(e.$t("Insert the alert description here. It would look better as two lines of text.")),1)])]),i("div",Nf,[l(g,{link:"",type:"primary","aria-label":e.$t("Create task from template"),onClick:h(p.toggleComponent,["stop"])},{default:n(()=>[i("span",Hf,[l(m,{"icon-name":"plus"})]),w(" "+o(e.$t("Create task from template")),1)]),_:1},8,["aria-label","onClick"])])])])):(s(),c(g,{key:1,onClick:p.toggleComponent,"aria-label":e.$t("Create task from template")},{default:n(()=>[i("span",jf,[l(m,{"icon-name":"plus"})]),w(" "+o(e.$t("Create task from template")),1)]),_:1},8,["onClick","aria-label"]))]),default:n(()=>[i("div",Bf,[i("div",Lf,[i("div",Mf,[l(g,{text:"",size:"small","aria-label":e.$t("Back"),onClick:p.toggleComponent,class:"only-icon-btn"},{default:n(()=>[l(m,{"icon-name":"arrow-left"})]),_:1},8,["aria-label","onClick"]),i("div",xf,o(e.$t("Templates")),1)]),l(g,{text:"",type:"primary",size:"small","aria-label":e.$t("Close"),onClick:p.toggleComponent,class:"only-icon-btn"},{default:n(()=>[l(m,{"icon-name":"close"})]),_:1},8,["aria-label","onClick"])]),l(f,{onToggleComponent:p.toggleComponent,task:r.task,visible:u.visible},null,8,["onToggleComponent","task","visible"])],512)]),_:1},8,["visible","placement"])}]]),Gf={key:0,class:"fbs_task_modal_nav"},qf={class:"fbs_task_modal_nav__counter"},Wf={class:"fbs_task_modal_nav__counter_total"},Kf=["aria-label"],Zf=["disabled","aria-busy","aria-label"],Yf=["disabled","aria-busy","aria-label"];const Jf=Ss({name:"TaskModalNavigation",components:{Icons:$s},props:{task:{type:Object,required:!0},taskGroups:{type:Array,default:()=>[]},stageTaskPagination:{type:Object,default:()=>({})},fetchStageTasksPage:{type:Function,default:null}},emits:["navigate"],data:()=>({loadingDirection:null,pendingNavigation:null}),watch:{"task.id"(){this.pendingNavigation=null}},computed:{stageGroup(){return this.taskGroups.find(e=>{var t;return e.id==(null==(t=this.task)?void 0:t.stage_id)})||{}},stageTasks(){return Array.isArray(this.stageGroup.tasks)?this.stageGroup.tasks:[]},stagePagination(){var e,t;return(null==(t=this.stageTaskPagination)?void 0:t[null==(e=this.task)?void 0:e.stage_id])||{}},currentIndex(){return this.stageTasks.findIndex(e=>{var t;return e.id==(null==(t=this.task)?void 0:t.id)})},hasMoreBefore(){return!!this.stagePagination.has_more_before},hasMoreAfter(){return!!this.stagePagination.has_more_after},totalCount(){const e=Number.isFinite(Number(this.stageGroup.total_count))?Number(this.stageGroup.total_count):Number.isFinite(Number(this.stagePagination.total_count))?Number(this.stagePagination.total_count):null;return null===e||this.hasMoreBefore?this.stageTasks.length:Math.max(e,this.stageTasks.length)},prevTask(){return this.currentIndex>0?this.stageTasks[this.currentIndex-1]:null},nextTask(){return-1!==this.currentIndex&&this.currentIndex<this.stageTasks.length-1?this.stageTasks[this.currentIndex+1]:null},canFetchPrev(){return 0===this.currentIndex&&this.hasMoreBefore},canFetchNext(){return-1!==this.currentIndex&&this.currentIndex===this.stageTasks.length-1&&this.hasMoreAfter},canNavigatePrev(){return!!this.prevTask||this.canFetchPrev},canNavigateNext(){return!!this.nextTask||this.canFetchNext},isNavigating(){return!!this.loadingDirection||!!this.pendingNavigation}},methods:{navigationTarget(e){return"prev"===e?this.prevTask:this.nextTask},isDirectionBusy(e){var t;return this.loadingDirection===e||(null==(t=this.pendingNavigation)?void 0:t.direction)===e},async navigate(e){var t;if(this.isNavigating)return;const s=this.navigationTarget(e);if(s)return void this.requestNavigation(s,e);if(("prev"===e?this.canFetchPrev:this.canFetchNext)&&"function"==typeof this.fetchStageTasksPage){this.loadingDirection=e;try{await this.fetchStageTasksPage(null==(t=this.task)?void 0:t.stage_id,{direction:e}),await this.$nextTick();const s=this.navigationTarget(e);s&&this.requestNavigation(s,e)}finally{this.loadingDirection=null}}},requestNavigation(e,t){this.pendingNavigation={taskId:e.id,direction:t},this.$emit("navigate",e)}}},[["render",function(e,t,r,d,c,u){const p=b("Icons"),m=We;return-1!==u.currentIndex?(s(),a("div",Gf,[i("span",qf,[w(o(u.currentIndex+1)+" ",1),i("span",Wf,"/ "+o(u.totalCount),1)]),i("div",{class:"fbs_task_modal_nav__group",role:"group","aria-label":e.$t("Task Navigation")},[l(m,{content:e.$t("Previous Task"),effect:"dark",placement:"top",disabled:!u.canNavigatePrev},{default:n(()=>[i("button",{type:"button",class:"fbs_task_modal_nav__btn",disabled:!u.canNavigatePrev||u.isNavigating,"aria-busy":u.isDirectionBusy("prev")?"true":"false","aria-label":e.$t("Previous Task"),onClick:t[0]||(t[0]=h(e=>u.navigate("prev"),["stop"]))},[l(p,{"icon-name":"arrow-up"})],8,Zf)]),_:1},8,["content","disabled"]),l(m,{content:e.$t("Next Task"),effect:"dark",placement:"top",disabled:!u.canNavigateNext},{default:n(()=>[i("button",{type:"button",class:"fbs_task_modal_nav__btn",disabled:!u.canNavigateNext||u.isNavigating,"aria-busy":u.isDirectionBusy("next")?"true":"false","aria-label":e.$t("Next Task"),onClick:t[1]||(t[1]=h(e=>u.navigate("next"),["stop"]))},[l(p,{"icon-name":"arrow-down"})],8,Yf)]),_:1},8,["content","disabled"])],8,Kf)])):y("",!0)}]]);G.setOptions({breaks:!0});const Qf={key:0,class:"fbs_task_ai"},Xf=["aria-label","title"],e_={class:"fbs_task_ai_trigger_icon","aria-hidden":"true"},t_={class:"fbs_task_ai_trigger_label"},s_={class:"fbs_ai_ed_header"},a_={class:"fbs_ai_ed_icon","aria-hidden":"true"},i_={class:"fbs_ai_ed_title"},o_=["title","aria-label"],l_={class:"fbs_ai_ed_body"},n_={key:0,class:"fbs_ai_ed_loading"},r_={key:1,class:"fbs_ai_ed_error"},d_=["innerHTML"],c_={key:3,class:"fbs_task_ai_list"},h_={key:4,class:"fbs_task_ai_suggestions"},u_={key:0,class:"fbs_task_ai_sugg_block"},p_={class:"fbs_task_ai_sugg_label"},m_={class:"fbs_task_ai_chips"},b_={key:1,class:"fbs_task_ai_sugg_block"},g_={class:"fbs_task_ai_sugg_label"},f_={class:"fbs_task_ai_chip fbs_task_ai_chip--priority"},__={key:0,class:"fbs_ai_ed_footer fbs_ai_ed_actions"};const k_=Ss({name:"TaskAiAssistant",inject:["eventBus"],components:{Icons:$s},props:{task:{type:Object,required:!0},board:{type:Object,required:!0}},data:()=>({aiRequestId:0,panel:{visible:!1,action:"",loading:!1,applying:!1,error:"",summary:"",summaryRaw:"",subtasks:[],suggestions:{labels:[],priority:""},position:{top:0,left:0}}}),computed:{aiEnabled(){var e,t;return!!(null==(t=null==(e=this.appVars)?void 0:e.ai_features)?void 0:t.enabled)},canEdit(){var e,t;return!(null==(e=this.board)?void 0:e.archived_at)&&!(null==(t=this.board)?void 0:t.isUserOnlyViewer)},boardId(){var e,t;return(null==(e=this.board)?void 0:e.id)||(null==(t=this.task)?void 0:t.board_id)},panelStyle(){return{top:`${this.panel.position.top}px`,left:`${this.panel.position.left}px`,"--fbs-ai-panel-top":`${this.panel.position.top}px`}},headerTitle(){return{summarize:this.$t("Task summary"),subtasks:this.$t("Suggested subtasks"),suggestions:this.$t("Suggested labels & priority")}[this.panel.action]||this.$t("AI")},selectedCount(){return this.panel.subtasks.filter(e=>e.checked).length},hasSuggestions(){return this.panel.suggestions.labels.length>0||!!this.panel.suggestions.priority}},methods:{priorityLabel(e){const t=(this.priorities||[]).find(t=>t.value===e||t.key===e);return t&&(t.label||t.title)||e},onCommand(e){this.openPanel(e),this.runAction(e)},openPanel(e){this.aiRequestId++,this.panel.position=this.computePosition(this.getTriggerRect()),this.panel.action=e,this.panel.visible=!0,this.panel.error="",this.panel.summary="",this.panel.summaryRaw="",this.panel.subtasks=[],this.panel.suggestions={labels:[],priority:""},document.addEventListener("mousedown",this.handleOutside,!0),this.$nextTick(this.realignPanel)},triggerEl(){return this.$refs.trigger||null},panelEl(){const e=this.$refs.panel;return e&&e.nodeType===Node.ELEMENT_NODE?e:null},getTriggerRect(){const e=this.triggerEl();return e?e.getBoundingClientRect():null},realignPanel(){const e=this.panelEl();e&&(this.panel.position=this.computePosition(this.getTriggerRect(),e.offsetWidth))},computePosition(e,t=380){if(!e)return{top:64,left:Math.max(8,window.innerWidth-t-20)};let s=Math.min(e.right-t,window.innerWidth-t-8);s=Math.max(8,s);let a=e.bottom+8;return a+300>window.innerHeight&&(a=Math.max(8,e.top-8-300)),{top:a,left:s}},runAction(e){var t;const s=++this.aiRequestId;this.panel.loading=!0;const a={action:e};"suggestions"===e&&(a.labels=((null==(t=this.board)?void 0:t.labels)||[]).map(e=>e.title).filter(Boolean)),this.$post(`projects/${this.boardId}/tasks/${this.task.id}/ai-assist`,a).then(e=>{s===this.aiRequestId&&("summary"===e.type?(this.panel.summaryRaw=e.content||"",this.panel.summary=this.renderMarkdown(e.content||""),e.content||(this.panel.error=this.$t("No summary was generated."))):"subtasks"===e.type?(this.panel.subtasks=(e.items||[]).map(e=>({title:e,checked:!0})),this.panel.subtasks.length||(this.panel.error=this.$t("No subtasks were suggested."))):"suggestions"===e.type&&(this.panel.suggestions={labels:e.labels||[],priority:e.priority||""},this.hasSuggestions||(this.panel.error=this.$t("No suggestions were found."))))}).catch(e=>{s===this.aiRequestId&&(this.panel.error=e&&(e.message||e.error)?e.message||e.error:this.$t("AI request failed. Please try again."))}).finally(()=>{s===this.aiRequestId&&(this.panel.loading=!1)})},renderMarkdown(e){try{return Z.sanitize(G(e||""))}catch(t){return""}},copySummary(){const e=this.panel.summaryRaw;e&&navigator.clipboard&&navigator.clipboard.writeText&&navigator.clipboard.writeText(e).then(()=>{this.$notify.success({message:this.$t("Copied to clipboard")})})},async applySubtasks(){const e=this.panel.subtasks.filter(e=>e.checked).map(e=>e.title);if(e.length){this.panel.applying=!0;try{const t=await this.$post(`projects/${this.boardId}/tasks/${this.task.id}/subtasks/bulk`,{titles:e,group_title:this.$t("AI Subtasks")});this.emitter.emit("subtask-group-updated",{...t.group,openInline:!1}),this.eventBus.emit("update-tasks",[this.task]),this.$notify.success({message:t.message||this.$t("Subtasks added.")}),this.close()}catch(t){this.$handleError(t)}finally{this.panel.applying=!1}}},async applySuggestions(){var e;const t=(null==(e=this.board)?void 0:e.labels)||[],s=this.panel.suggestions.labels.map(e=>t.find(t=>(t.title||"").toLowerCase()===e.toLowerCase())).filter(Boolean).map(e=>e.id);this.panel.applying=!0;try{const e=await this.$post(`projects/${this.boardId}/tasks/${this.task.id}/ai-apply-suggestions`,{label_ids:s,priority:this.panel.suggestions.priority||""});e.labels&&(this.task.labels=e.labels),void 0!==e.priority&&(this.task.priority=e.priority),this.eventBus.emit("update-tasks",[this.task]),this.$notify.success({message:e.message||this.$t("Suggestions applied.")}),this.close()}catch(a){this.$handleError(a)}finally{this.panel.applying=!1}},handleOutside(e){if(!this.panel.visible||this.panel.loading||this.panel.applying)return;const t=this.panelEl(),s=this.triggerEl();t&&t.contains(e.target)||s&&s.contains(e.target)||this.close()},close(){this.aiRequestId++,this.panel.visible=!1,document.removeEventListener("mousedown",this.handleOutside,!0)}},beforeUnmount(){document.removeEventListener("mousedown",this.handleOutside,!0)}},[["render",function(e,t,u,p,m,g){const f=b("Icons"),_=xe,k=Me,v=Pe,C=We,T=qe,$=ze;return g.aiEnabled?(s(),a("div",Qf,[l(C,{content:e.$t("Ask AI"),effect:"dark",placement:"top"},{default:n(()=>[l(v,{ref:"dropdown",trigger:"click",onCommand:g.onCommand},{dropdown:n(()=>[l(k,null,{default:n(()=>[l(_,{command:"summarize"},{default:n(()=>[w(o(e.$t("Summarize task")),1)]),_:1}),g.canEdit?(s(),c(_,{key:0,command:"suggestions"},{default:n(()=>[w(o(e.$t("Suggest labels & priority")),1)]),_:1})):y("",!0),g.canEdit&&e.hasPro?(s(),c(_,{key:1,command:"subtasks"},{default:n(()=>[w(o(e.$t("Generate subtasks")),1)]),_:1})):y("",!0)]),_:1})]),default:n(()=>[i("button",{ref:"trigger",type:"button",class:"fbs_task_ai_trigger","aria-label":e.$t("Ask AI"),title:e.$t("Ask AI")},[i("span",e_,[l(f,{"icon-name":"sparkling"})]),i("span",t_,o(e.$t("AI")),1)],8,Xf)]),_:1},8,["onCommand"])]),_:1},8,["content"]),(s(),c(we,{to:"body"},[m.panel.visible?(s(),a("div",{key:0,ref:"panel",class:"fbs_ai_ed_panel fbs_task_ai_panel",style:S(g.panelStyle),onMousedown:t[1]||(t[1]=h(()=>{},["stop"]))},[i("div",s_,[i("span",a_,[l(f,{"icon-name":"sparkling"})]),i("span",i_,o(g.headerTitle),1),i("button",{type:"button",class:"fbs_ai_ed_close",title:e.$t("Close"),"aria-label":e.$t("Close"),onClick:t[0]||(t[0]=(...e)=>g.close&&g.close(...e))},[l(f,{"icon-name":"close"})],8,o_)]),i("div",l_,[m.panel.loading?(s(),a("div",n_,[t[2]||(t[2]=i("span",{class:"fbs_ai_ed_dot"},null,-1)),w(" "+o(e.$t("Working…")),1)])):m.panel.error?(s(),a("div",r_,o(m.panel.error),1)):"summarize"===m.panel.action?(s(),a("div",{key:2,class:"fbs_ai_ed_result fbs_task_ai_markdown",innerHTML:m.panel.summary},null,8,d_)):"subtasks"===m.panel.action?(s(),a("div",c_,[(s(!0),a(r,null,d(m.panel.subtasks,(e,t)=>(s(),a("label",{key:t,class:"fbs_task_ai_checkrow"},[l(T,{modelValue:e.checked,"onUpdate:modelValue":t=>e.checked=t},null,8,["modelValue","onUpdate:modelValue"]),i("span",null,o(e.title),1)]))),128))])):"suggestions"===m.panel.action?(s(),a("div",h_,[m.panel.suggestions.labels.length?(s(),a("div",u_,[i("span",p_,o(e.$t("Labels")),1),i("div",m_,[(s(!0),a(r,null,d(m.panel.suggestions.labels,e=>(s(),a("span",{key:e,class:"fbs_task_ai_chip"},o(e),1))),128))])])):y("",!0),m.panel.suggestions.priority?(s(),a("div",b_,[i("span",g_,o(e.$t("Priority")),1),i("span",f_,o(g.priorityLabel(m.panel.suggestions.priority)),1)])):y("",!0)])):y("",!0)]),m.panel.loading||m.panel.error?y("",!0):(s(),a("div",__,["summarize"===m.panel.action?(s(),a(r,{key:0},[l($,{size:"small",onClick:g.copySummary},{default:n(()=>[w(o(e.$t("Copy")),1)]),_:1},8,["onClick"]),l($,{size:"small",onClick:g.close},{default:n(()=>[w(o(e.$t("Close")),1)]),_:1},8,["onClick"])],64)):"subtasks"===m.panel.action?(s(),a(r,{key:1},[l($,{size:"small",onClick:g.close},{default:n(()=>[w(o(e.$t("Discard")),1)]),_:1},8,["onClick"]),l($,{type:"primary",size:"small",loading:m.panel.applying,disabled:!g.selectedCount,onClick:g.applySubtasks},{default:n(()=>[w(o(g.selectedCount?`${e.$t("Add subtasks")} (${g.selectedCount})`:e.$t("Add subtasks")),1)]),_:1},8,["loading","disabled","onClick"])],64)):"suggestions"===m.panel.action?(s(),a(r,{key:2},[l($,{size:"small",onClick:g.close},{default:n(()=>[w(o(e.$t("Discard")),1)]),_:1},8,["onClick"]),l($,{type:"primary",size:"small",loading:m.panel.applying,disabled:!g.hasSuggestions,onClick:g.applySuggestions},{default:n(()=>[w(o(e.$t("Apply")),1)]),_:1},8,["loading","disabled","onClick"])],64)):y("",!0)]))],36)):y("",!0)]))])):y("",!0)}]]),v_={class:"fbs-task-sidebar-card fbs-support-ticket-card"},y_={class:"fbs-support-ticket-header"},w_={class:"fbs-sidebar-title"},C_=["href","aria-label","title"],T_={id:"fbs-support-ticket-panel",class:"fbs-support-ticket-body"},S_=["title"],$_={class:"fbs-support-ticket-subject-label"},V_={class:"fbs-support-ticket-requester"},A_={key:0,class:"fbs-support-ticket-author"},I_=["src","alt"],D_={key:1,class:"fbs-support-ticket-avatar fbs-support-ticket-initials","aria-hidden":"true"},B_={class:"fbs-support-ticket-author-details"},L_={key:0},M_={key:1,class:"fbs-support-ticket-unavailable"},x_=["disabled","aria-label","title"];const P_=Ss({name:"SupportTicketInfo",inject:["eventBus"],components:{Delete:et,MoreFilled:St},props:{task:{type:Object,required:!0},board:{type:Object,required:!0}},data:()=>({unlinking:!1}),computed:{author(){var e,t;const s=null==(t=null==(e=this.task)?void 0:e.settings)?void 0:t.author;return s&&"object"==typeof s?s:{}},hasAuthor(){return Boolean(this.author.name||this.author.email||this.author.photo)},authorName(){return this.author.name||this.author.email||this.$t("Ticket creator")},authorInitials(){return(this.author.name||String(this.author.email||"").split("@")[0]).trim().split(/\s+/).filter(Boolean).slice(0,2).map(e=>e.charAt(0).toUpperCase()).join("")||"?"},canRemoveTicket(){return Boolean(this.board&&this.task&&this.task.id&&this.task.board_id&&!this.board.archived_at&&!this.board.isUserOnlyViewer)},ticketUrl(){var e;const t=null==(e=window.fluentAddonVars)?void 0:e.admin_url;return t&&this.task.source_id?`${t}?page=fluent-support#/tickets/${encodeURIComponent(this.task.source_id)}/view`:""}},methods:{handleTicketAction(e){"remove"===e&&this.confirmRemoveTicket()},confirmRemoveTicket(){this.$confirm(this.$t("Are you sure you want to unlink this support ticket from this task?"),this.$t("Remove support ticket"),{confirmButtonText:this.$t("Remove"),cancelButtonText:this.$t("Cancel"),type:"warning",confirmButtonClass:"el-button--danger"}).then(()=>{this.removeTicketLink()}).catch(()=>{})},removeTicketLink(){this.unlinking||(this.unlinking=!0,this.$del(`projects/${this.task.board_id}/tasks/${this.task.id}/support-ticket`).then(e=>{this.eventBus.emit("update-tasks",e.updatedTasks||[e.task]),this.$notify({message:e.message,type:"success"})}).catch(e=>{this.$handleError(e)}).finally(()=>{this.unlinking=!1}))}}},[["render",function(e,t,r,d,h,u){const p=b("MoreFilled"),m=b("Delete"),g=Ne,f=xe,_=Me,k=Pe;return s(),a("section",v_,[i("div",y_,[i("div",w_,o(e.$t("Support Ticket")),1),u.ticketUrl?(s(),a("a",{key:0,class:"fbs-support-ticket-profile-link",href:u.ticketUrl,target:"_blank",rel:"noopener","aria-label":e.$t("Open support ticket"),title:e.$t("Open support ticket")},[...t[0]||(t[0]=[i("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true"},[i("path",{d:"M6.8001 4.4001V5.6001H3.8001V12.2001H10.4001V9.2001H11.6001V12.8001C11.6001 12.9592 11.5369 13.1118 11.4244 13.2244C11.3118 13.3369 11.1592 13.4001 11.0001 13.4001H3.2001C3.04097 13.4001 2.88836 13.3369 2.77583 13.2244C2.66331 13.1118 2.6001 12.9592 2.6001 12.8001V5.0001C2.6001 4.84097 2.66331 4.68836 2.77583 4.57583C2.88836 4.46331 3.04097 4.4001 3.2001 4.4001H6.8001ZM13.4001 2.6001V7.4001H12.2001V4.6479L7.5243 9.3243L6.6759 8.4759L11.3511 3.8001H8.6001V2.6001H13.4001Z",fill:"#525866"})],-1)])],8,C_)):y("",!0)]),i("div",T_,[r.task.title?(s(),a("p",{key:0,class:"fbs-support-ticket-subject",title:r.task.title},[i("span",$_,o(e.$t("Ticket title")),1),w(" "+o(r.task.title),1)],8,S_)):y("",!0),i("div",V_,[u.hasAuthor?(s(),a("div",A_,[u.author.photo?(s(),a("img",{key:0,class:"fbs-support-ticket-avatar",src:u.author.photo,alt:u.authorName},null,8,I_)):(s(),a("span",D_,o(u.authorInitials),1)),i("div",B_,[i("strong",null,o(u.authorName),1),u.author.email?(s(),a("span",L_,o(u.author.email),1)):y("",!0)])])):(s(),a("p",M_,o(e.$t("Creator information unavailable")),1)),u.canRemoveTicket?(s(),c(k,{key:2,disabled:h.unlinking,trigger:"click",placement:"bottom-end",onCommand:u.handleTicketAction},{dropdown:n(()=>[l(_,null,{default:n(()=>[l(f,{class:"fbs_danger_action",command:"remove"},{default:n(()=>[l(g,null,{default:n(()=>[l(m)]),_:1}),w(" "+o(e.$t("Remove")),1)]),_:1})]),_:1})]),default:n(()=>[i("button",{type:"button",class:"fbs-support-ticket-menu",disabled:h.unlinking,"aria-label":e.$t("Support ticket actions"),title:e.$t("Support ticket actions")},[l(p)],8,x_)]),_:1},8,["disabled","onCommand"])):y("",!0)])])])}],["__scopeId","data-v-8303f277"]]),F_={name:"ProBadge",components:{Icons:$s},props:{size:{type:String,default:"default",validator:e=>["default","small","notice"].includes(e)},iconName:{type:String,default:"crown"},showLabel:{type:Boolean,default:!0}},computed:{sizeClass(){return`fbs-pro-badge--${this.size}`}}},E_={class:"fbs-pro-badge__icon","aria-hidden":"true"},U_={key:0,class:"fbs-pro-badge__label"};const O_=Ss(F_,[["render",function(e,t,n,r,d,c){const h=b("Icons");return s(),a("span",{class:k(["fbs-pro-badge",c.sizeClass])},[i("span",E_,[l(h,{"icon-name":n.iconName},null,8,["icon-name"])]),n.showLabel?(s(),a("span",U_,o(e.$t("Pro")),1)):y("",!0)],2)}]]),R_={name:"TaskDetailsModal",inject:["eventBus"],props:["viewTaskClosedHandler","task_groups","stageTaskPagination","fetchStageTasksPage"],components:{Icons:$s,TaskModalNavigation:Jf,TaskAiAssistant:k_,SupportTicketInfo:P_,ProBadge:O_,RecurringTask:gf,TaskDescription:sg,TaskCoverSettings:dm,TaskTimer:db,FileUpload:_r,TaskAllCommentsAndActivities:xp,TaskCustomField:jh,JoinAndLeaveTask:Fd,TaskCrmContactAdd:xr,Subtask:er,BoardLabels:Ji,DateChanger:ln,PriorityBadge:sa,TaskAssignees:Ha,WpEditor:Tr,TaskStatusUpdate:Ns,CloseBold:Wt,CircleCheck:qt,MoreFilled:St,Document:ut,CustomIcon:ml,MoveCard:od,TaskMoverPanel:Xr,DeleteDialog:pd,AddTaskAttachment:Bd,TaskAttachments:Zc,TaskCRMContactInfo:fc,CircleCheckFilled:ht,TopLeft:Gt,FullScreen:zt,BellFilled:jt,ArrowDown:it,Delete:et,ConvertToSubtaskDialog:sh,CustomField:Uh,Check:Ht,CopyDocument:Xe,Top:Nt,SubtaskGroups:hb,SubtaskGroupAdd:gb,CloneTaskDialog:hg,TaskDeleteDialog:fg,TaskDependencies:xg,CreateTaskFromTemplate:zf,Grid:Rt,Hide:Ot,Refresh:Dt,RefreshLeft:Ut,Remove:Et,TakeawayBox:Ft,View:Pt},data(){return{isEditingTitle:!1,isEditingSalesPipeline:!1,saving:!1,componentKey:0,visible:!1,visibleLeave:!1,previousTitleOfTask:"",addDueDatePicker:"",isOpenTaskAttachment:!1,isOpenEmptyTaskAttachment:!1,loading:!1,lastComplete:!1,showFiles:!1,taskTitle:"",isTemplateTask:!1,loadComponent:!1,isCopied:!1,showFullScreenDescription:!1,showMoveTaskDialog:!1,showScrollTop:!1,tempTaskDescription:null,showCloneDialog:!1,showConvertDialog:!1,deleteDialogVisible:!1,deleteLoading:!1,pinLoading:!1,removingTaskCover:!1,isDependencyBlocked:!1,isAttachmentsCollapsed:!1,isSubtasksCollapsed:!1,isCustomFieldsCollapsed:!1,isCustomFieldManagerVisible:!1,isCustomFieldCreateDialogVisible:!1,subtaskGroupsLoaded:!1,hasSubtaskGroups:!0,attachmentsLoaded:!1,hasAttachments:!0,scrollTarget:null,mobileSecondaryPanels:{time:!1,integrations:!1},timeTrackingSummary:this.$t("Loading...")}},mounted(){if(setTimeout(()=>{this.loadComponent=!0,this.$nextTick(this.initScrollHandler)},1),!this.task.hasOwnProperty("id"))if(Object.keys(this.tasks).length>0){const e=this.tasks.find(e=>e.id==this.$route.params.taskIdName.split("-")[0]);e?this.setTask(e):this.$emit("fetchTaskById",this.$route.params.taskIdName)}else this.$emit("fetchTaskById",this.$route.params.taskIdName);this.lastComplete=!!this.task.last_completed_at,this.syncTemplateTaskState(),document.addEventListener("paste",this.addAttachmentOnPaste),this.emitter.on("subtask-group-updated",this.handleSubtaskGroupUpdated),this.$nextTick(this.initScrollHandler)},watch:{task(e,t){this.lastComplete=!!e.last_completed_at,this.syncTemplateTaskState(e),String((null==e?void 0:e.id)||"")!==String((null==t?void 0:t.id)||"")&&(this.tempTaskDescription=null,this.isDependencyBlocked=!1,this.subtaskGroupsLoaded=!1,this.hasSubtaskGroups=!0,this.attachmentsLoaded=!1,this.hasAttachments=!0,this.isOpenEmptyTaskAttachment=!1,this.$nextTick(()=>{var e;const t=null==(e=this.$el)?void 0:e.querySelector(".fbs-task-sidebar");t&&(t.scrollTop=0)}))},isEditingTitle(e){1==this.isEditingTitle&&this.$nextTick(()=>{this.$refs.title.focus()})}},computed:{...m(Xi,["task","selectedStage"]),...m(js,["board","stages","tasks"]),...m(Sr,["currentUserWpOrSuperAdmin","currentUserBoardAdmin"]),breadcrumbBoardTitle(){var e;return(null==(e=this.board)?void 0:e.title)||this.$t("Board")},breadcrumbTaskTitle(){var e;return(null==(e=this.task)?void 0:e.title)||this.$t("Task")},taskStatusTooltipText(){return this.board.archived_at?"Can't change, board is archived":this.board.isUserOnlyViewer?"You don't have permission to change status":"Click to change Status"},hasReminder(){return!(!kl(this.task.remind_at)||!kl(this.task.due_at))},hasRecurringTask(){var e,t;return!!(null==(t=null==(e=this.task)?void 0:e.repeat_task_meta)?void 0:t.value)},repeatTaskMeta(){var e,t;return(null==(t=null==(e=this.task)?void 0:e.repeat_task_meta)?void 0:t.value)||{}},nextRepeatDateReadable(){var e,t;const s=this.repeatTaskMeta.next_repeat_date,a=this.repeatTaskMeta.time;if(!s)return"";if(!a)return vl(s,"D MMM")||s;const i=`${s}T${a}`,o=["G","H"].includes(null==(t=null==(e=window.fluentAddonVars)?void 0:e.time_format)?void 0:t[0])?"HH:mm":"hh:mm a";return vl(i,`D MMM @${o}`)||s},taskStage(){var e,t;if(null==(e=this.selectedStage)?void 0:e.title)return this.selectedStage;const s=null==(t=this.task)?void 0:t.stage;return(null==s?void 0:s.title)&&s.id==this.task.stage_id?s:this.stages.find(e=>e.id==this.task.stage_id)||{title:""}},hasDeletePermission(){return!(!this.currentUserWpOrSuperAdmin&&!this.currentUserBoardAdmin)},showPrimaryTaskActionGroup(){return!(this.board.archived_at||this.board.isUserOnlyViewer)},canPinTask(){return!(this.board.isUserOnlyViewer||this.board.archived_at||this.task.parent_id)},showTaskUtilityActionGroup:()=>!0,showTaskStateActionGroup(){if(this.board.archived_at&&this.task.archived_at)return!0;if(this.board.archived_at||this.board.isUserOnlyViewer)return!1;const e=!(this.task.archived_at||this.task.meta&&"yes"===this.task.meta.is_template);return!!(this.task.archived_at||e||this.hasDeletePermission)},showTaskActionMenu(){return!!(this.showTaskUtilityActionGroup||this.showPrimaryTaskActionGroup||this.showTaskStateActionGroup)},taskCover(){var e,t;return(null==(t=null==(e=this.task)?void 0:e.settings)?void 0:t.cover)||{}},hasTaskCover(){return!(!this.taskCover.backgroundImage&&!this.taskCover.backgroundColor)},taskCoverStyle(){return{backgroundColor:this.taskCover.backgroundColor||"#ffc0c5"}},archivedTaskDate(){return vl(this.task.archived_at,"MMMM D, YYYY")||""},archivedTaskTime(){var e,t;const s=["G","H"].includes(null==(t=null==(e=window.fluentAddonVars)?void 0:e.time_format)?void 0:t[0])?"HH:mm":"h:mm A";return vl(this.task.archived_at,s)||""},canRestoreArchivedTask(){return!(!this.task.archived_at||this.board.archived_at||this.board.isUserOnlyViewer)},showTemplateTaskBanner(){return!(!this.isTemplateTask||!this.appVars.has_pro||this.task.archived_at||this.board.archived_at||this.board.isUserOnlyViewer)},hasTimeTracking(){var e,t;return!(!this.appVars.has_pro||"yes"!==(null==(t=null==(e=this.appVars.advanced_modules)?void 0:e.timeTracking)?void 0:t.enabled))},crmPanelSummary(){var e;const t=(null==(e=this.task)?void 0:e.contact)||{},s=t.full_name||t.name||t.email;return s||(this.appVars.fluent_crm_exists?this.$t("Add CRM Contact"):this.appVars.fluent_support_exists&&this.task.source_id&&"FluentSupport"===this.task.source?this.$t("Support ticket linked"):this.$t("No contact linked"))},hasBoardCustomFields(){return!(!this.board.custom_fields||!this.board.custom_fields.length)},canManageTaskAdditions(){return!(this.board.archived_at||this.board.isUserOnlyViewer)},showSubtasksSection(){return!(this.appVars.has_pro&&this.subtaskGroupsLoaded&&!this.hasSubtaskGroups&&!this.canManageTaskAdditions)},showSubtaskEmptyAction(){return!(!this.appVars.has_pro||!this.subtaskGroupsLoaded||this.hasSubtaskGroups||!this.canManageTaskAdditions)},showCustomFieldsSection(){return!(this.appVars.has_pro&&!this.hasBoardCustomFields&&!this.canManageTaskAdditions)},showCustomFieldsEmptyAction(){return!(!this.appVars.has_pro||this.hasBoardCustomFields||!this.canManageTaskAdditions)},showAttachmentsSection(){return!(this.appVars.has_pro&&this.attachmentsLoaded&&!this.hasAttachments&&!this.canManageTaskAdditions)},showAttachmentEmptyAction(){return!(!this.appVars.has_pro||this.attachmentsLoaded&&this.hasAttachments||!this.canManageTaskAdditions)}},methods:{smartDateWithYear:Tl,...M(Xi,["setTask","resetTaskAndDependency"]),...M(nr,["setTaskAttachmentFileUploadProgressBar"]),closeTaskActionMenu(){var e;null==(e=this.$refs.taskActionDropdown)||e.handleClose()},openMoveTaskDialog(){this.showMoveTaskDialog=!0,this.closeTaskActionMenu()},handleCopyTaskLinkAction(){this.copyCurrentUrl(),this.closeTaskActionMenu()},handleTaskPinnedAction(){this.toggleTaskPinned(),this.closeTaskActionMenu()},handleTaskObservationAction(){this.changeTaskObservation(this.task.is_watching?"stop":"start"),this.closeTaskActionMenu()},handleTaskTemplateAction(){this.appVars.has_pro&&(this.toggleTaskTemplate(),this.closeTaskActionMenu())},openCloneTaskDialog(){this.showCloneDialog=!0,this.closeTaskActionMenu()},openConvertTaskDialog(){this.showConvertDialog=!0,this.closeTaskActionMenu()},handleRestoreTaskAction(){this.sendToBoard(),this.closeTaskActionMenu()},handleArchiveTaskAction(){this.archiveTask(),this.closeTaskActionMenu()},openDeleteTaskDialog(){this.showDeleteDialog(),this.closeTaskActionMenu()},syncTemplateTaskState(e=this.task){var t;this.isTemplateTask=!("yes"!==(null==(t=null==e?void 0:e.meta)?void 0:t.is_template))},toggleAttachmentsSection(){this.isAttachmentsCollapsed=!this.isAttachmentsCollapsed},toggleSubtasksSection(){this.isSubtasksCollapsed=!this.isSubtasksCollapsed},toggleCustomFieldsSection(){this.isCustomFieldsCollapsed=!this.isCustomFieldsCollapsed},isMobileSecondaryPanelOpen(e){return!(!this.mobileSecondaryPanels||!this.mobileSecondaryPanels[e])},toggleMobileSecondaryPanel(e){this.mobileSecondaryPanels||(this.mobileSecondaryPanels={time:!1,integrations:!1}),Object.prototype.hasOwnProperty.call(this.mobileSecondaryPanels,e)&&(this.mobileSecondaryPanels[e]=!this.mobileSecondaryPanels[e])},toggleCustomFieldManager(){this.isCustomFieldManagerVisible=!this.isCustomFieldManagerVisible},closeCustomFieldManager(){this.isCustomFieldManagerVisible=!1},openCustomFieldCreateDialog(){this.isCustomFieldCreateDialogVisible=!0},closeCustomFieldCreateDialog(){this.isCustomFieldCreateDialogVisible=!1},handleSubtaskGroupsChange({loaded:e,hasGroups:t}){this.subtaskGroupsLoaded=!!e,this.hasSubtaskGroups=!!t},handleAttachmentsChange({loaded:e,hasAttachments:t}){this.attachmentsLoaded=!!e,this.hasAttachments=!!t,this.hasAttachments&&(this.isOpenEmptyTaskAttachment=!1)},handleSubtaskGroupUpdated(e=null){e&&(this.subtaskGroupsLoaded=!0,this.hasSubtaskGroups=!0,this.isSubtasksCollapsed=!1)},beforeTaskSectionEnter(e){e.style.height="0",e.style.opacity="0",e.style.overflow="hidden"},enterTaskSection(e,t){window.requestAnimationFrame(()=>{e.style.transition="height 0.18s ease, opacity 0.14s ease",e.style.height=e.scrollHeight+"px",e.style.opacity="1"}),window.setTimeout(t,180)},beforeTaskSectionLeave(e){e.style.height=e.scrollHeight+"px",e.style.opacity="1",e.style.overflow="hidden"},leaveTaskSection(e,t){window.requestAnimationFrame(()=>{e.style.transition="height 0.18s ease, opacity 0.14s ease",e.style.height="0",e.style.opacity="0"}),window.setTimeout(t,180)},afterTaskSectionTransition(e){e.style.height="",e.style.opacity="",e.style.overflow="",e.style.transition=""},forceRerender(){this.componentKey+=1},sendToBoard(){this.board.archived_at||this.eventBus.emit("change-task-property",{task:this.task,property:"archived_at",value:null,onSuccess:e=>{},onError:e=>{this.$notify.error({title:"Error",message:"Task couldn't be restored. Please try again."})}})},moveToNextStage(){this.eventBus.emit("fluent-boards-move-task",{boardId:this.task.board_id,taskId:this.task.id,newStageId:this.task.nextStage.id,newIndex:1})},archiveTask(){this.board.archived_at||this.eventBus.emit("change-task-property",{task:this.task,property:"archived_at",value:"AUTO_SET_TIMESTAMP",onSuccess:e=>{},onError:e=>{this.$notify.error({title:"Error",message:"Task couldn't be archived. Please try again."})}})},saveTaskTitle(){""!=this.taskTitle?(this.isEditingTitle=!1,this.eventBus.emit("change-task-property",{task:this.task,property:"title",value:this.taskTitle,onSuccess:e=>{},onError:e=>{this.$notify.error({title:"Error",message:"Task title couldn't be updated. Please try again."})}})):this.$notify({message:"Task title is required",type:"error"})},toggleTaskPinned(){if(this.pinLoading||this.board.archived_at||this.board.isUserOnlyViewer||this.task.parent_id)return;this.pinLoading=!0;const e=!this.task.is_pinned;this.$put("projects/"+this.task.board_id+"/tasks/"+this.task.id+"/pin",{pinned:e}).then(e=>{e.task.detailsLoaded=this.task.detailsLoaded??e.task.detailsLoaded,this.setTask(e.task),this.eventBus.emit("update-tasks",e.updatedTasks),this.$notify.success({title:this.$t("Success"),message:e.message})}).catch(e=>{this.handleError(e)}).finally(()=>{this.pinLoading=!1})},removeTaskCover(){var e;this.board.archived_at||this.board.isUserOnlyViewer||this.removingTaskCover||!this.hasTaskCover||(this.removingTaskCover=!0,Promise.resolve(null==(e=this.$refs.taskCoverSettings)?void 0:e.removeTaskCover(!1)).finally(()=>{this.removingTaskCover=!1}))},changeTaskObservation(e){this.board.archived_at||this.eventBus.emit("change-task-property",{task:this.task,property:"is_watching",value:e,onSuccess:e=>{e.task.detailsLoaded=this.task.detailsLoaded??e.task.detailsLoaded,this.setTask(e.task),this.$notify.success({title:"Success",message:e.message})},onError:e=>{this.handleError(e)}})},closeTaskAttachmentModal(){this.isOpenTaskAttachment=!1},changeTaskLastCompletedAt(){this.eventBus.emit("change-task-property",{task:this.task,property:"last_completed_at",value:this.lastComplete,onSuccess:e=>{this.task.last_completed_at=e.task.last_completed_at},onError:e=>{this.$notify.error({title:"Error",message:"Task due date couldn't be updated. Please try again."}),this.updateLastComplete(!1)}})},updateLastComplete(e){this.lastComplete},updateTaskStatus(e){this.board.archived_at||this.board.isUserOnlyViewer||(e.status="closed"===e.status?"open":"closed",this.eventBus.emit("change-task-property",{task:e,property:"status",value:e.status,onSuccess:t=>{this.$emit("taskUpdated",t.task),this.$emit("celebration",e.status)},onError:e=>{this.$notify.error({title:"Error",message:`task ${data.property} couldn't be updated. Please try again.`})}}))},closeTaskDescriptionDialog(){this.showFullScreenDescription=!1},toggleTaskTemplate(){this.hasPro&&this.eventBus.emit("change-task-property",{task:this.task,property:"is_template",value:this.isTemplateTask?"no":"yes",onSuccess:e=>{this.$emit("taskUpdated",e.task),this.isTemplateTask=!(!e.task||!e.task.meta.is_template||"yes"!==e.task.meta.is_template)},onError:e=>{this.$notify.error({title:"Error",message:`task ${data.property} couldn't be updated. Please try again.`})}})},closeTaskDetails(){this.loadComponent=!1,this.$emit("close-modal")},navigateToSiblingTask(e){this.eventBus.emit("show-task",{task:e,preserveBoardContext:!0})},copyCurrentUrl(){const e=window.location.href;navigator.clipboard&&navigator.clipboard.writeText?navigator.clipboard.writeText(e).then(()=>{this.isCopied=!0,setTimeout(()=>{this.isCopied=!1},5e3),this.$notify.success({title:this.$t("Success"),message:this.$t("Link copied to clipboard")})}).catch(e=>{this.$notify.error({title:this.$t("Error"),message:this.$t("Failed to copy link to clipboard")})}):this.fallbackCopyTextToClipboard(e)},fallbackCopyTextToClipboard(e){const t=document.createElement("textarea");t.value=e,t.style.position="fixed",t.style.top=0,t.style.left=0,t.style.width="1em",t.style.height="1em",t.style.padding=0,t.style.border="none",t.style.outline="none",t.style.boxShadow="none",t.style.background="transparent",document.body.appendChild(t),t.focus(),t.select();try{document.execCommand("copy")&&(this.isCopied=!0,setTimeout(()=>{this.isCopied=!1},5e3),this.$notify.success({title:this.$t("Success"),message:this.$t("Link copied to clipboard")}))}catch(s){this.$notify.error({title:this.$t("Error"),message:this.$t("Failed to copy link to clipboard")})}document.body.removeChild(t)},addAttachmentOnPaste(e){if(!this.appVars.has_pro||this.board.isUserOnlyViewer)return;if(t=e.target,null==(s=null==t?void 0:t.closest)?void 0:s.call(t,fb))return;var t,s;const a=e.clipboardData||window.clipboardData,i=a.getData("Text"),o=a.items;if(i){const e=this.isValidUrl(i);e&&this.submitTaskAttachment(e)}if(o)for(let l=0;l<o.length;l++)if("file"===o[l].kind){const t=o[l].getAsFile();this.$refs.uploadTaskAttachmentFile.handleFileChange(e,t)}return null},isValidUrl(e){if(new RegExp("^(https?:\\/\\/)?((([a-z\\d]([a-z\\d-]*[a-z\\d])*)\\.?)+[a-z]{2,}|((\\d{1,3}\\.){3}\\d{1,3}))(\\:\\d+)?(\\/[-a-z\\d%_.~+]*)*(\\?[;&a-z\\d%_.~+=-]*)?(\\#.*)?$","i").test(e))return e},submitTaskAttachment(e){this.$post("tasks/"+this.task.id+"/add-attachment",{title:e.trim(),url:e.trim()}).then(e=>{e.attachments=[e.attachment],this.fileUploadSuccess(e),this.$notify.success({title:"Success",message:this.$t("Attachment uploaded successfully.")})}).catch(e=>{this.handleError(e)})},fileUploadSuccess(e=null){this.eventBus.emit("task-attachments-created",e.attachments)},fileUploadProgress(){this.setTaskAttachmentFileUploadProgressBar(!0)},fileUploadFailOrCancel(e=null){this.setTaskAttachmentFileUploadProgressBar(!1)},initScrollHandler(){this.removeScrollHandler(),this.scrollTarget=this.getScrollTarget(),this.scrollTarget&&(this.scrollTarget.addEventListener("scroll",this.handleScroll,{passive:!0}),this.updateScrollTopVisibility(this.scrollTarget))},handleScroll(e){this.updateScrollTopVisibility(this.scrollTarget||e.target)},getScrollTarget(){var e,t;const s=null==(e=this.$el)?void 0:e.querySelector(".fbs-task-details-wrap");if(this.isScrollable(s))return s;const a=null==(t=this.$el)?void 0:t.closest(".el-overlay-dialog");return this.isScrollable(a)?a:document.scrollingElement||document.documentElement},isScrollable:e=>e&&e.scrollHeight>e.clientHeight,updateScrollTopVisibility(e){const t=e?e.scrollTop:0;this.showScrollTop=t>300},scrollToTop(){const e=this.scrollTarget||this.getScrollTarget();e&&e.scrollTo({top:0,behavior:"smooth"})},removeScrollHandler(){this.scrollTarget&&(this.scrollTarget.removeEventListener("scroll",this.handleScroll),this.scrollTarget=null)},updateTempTaskDescription(e){this.tempTaskDescription=e},showDeleteDialog(){this.deleteDialogVisible=!0},deleteTask(){this.deleteLoading=!0,this.$del("projects/"+this.task.board_id+"/tasks/"+this.task.id).then(e=>{this.$notify({message:e.message,type:"success"}),this.deleteDialogVisible=!1,this.eventBus.emit("fluent-boards-task-removed",this.task.id),this.closeTaskDetails()}).catch(e=>{this.handleError(e)}).finally(()=>{this.deleteLoading=!1})}},beforeUnmount(){this.resetTaskAndDependency(),document.removeEventListener("paste",this.addAttachmentOnPaste),this.emitter.off("subtask-group-updated",this.handleSubtaskGroupUpdated),this.removeScrollHandler()}},N_={class:"fbs-task-modal-wrapper"},H_={class:"fbs-task-details-wrap"},j_={class:"fbs-task-modal-header"},z_={class:"fbs-task-modal-header-left"},G_=["aria-label"],q_=["title","aria-label"],W_={class:"fbs-task-modal-breadcrumb__separator","aria-hidden":"true"},K_=["title"],Z_={class:"icon"},Y_={class:"fbs-task-modal-header-actions"},J_={class:"icon"},Q_={class:"icon"},X_={class:"icon"},ek={class:"icon"},tk={class:"icon"},sk={class:"icon"},ak={key:0,class:"fbs_priority_badge"},ik={class:"label"},ok={class:"icon"},lk={class:"icon"},nk={key:0,class:"fbs_priority_badge"},rk={class:"label"},dk={class:"icon"},ck={class:"icon"},hk={class:"icon"},uk={class:"icon"},pk={class:"icon"},mk={key:1,class:"fbs-task-archive-detail-banner",role:"status"},bk={class:"fbs-task-archive-detail-banner__content"},gk={class:"fbs-task-archive-detail-banner__title"},fk={key:0,class:"fbs-task-archive-detail-banner__description"},_k={key:2,class:"fbs-task-template-detail-banner-wrap"},kk={class:"fbs-task-modal-grid"},vk={class:"fbs-task-main-column"},yk={class:"fbs-task-main-column-inner"},wk={class:"fbs-task-primary-stack"},Ck={class:"fbs-task-title-section"},Tk={class:"fbs-task-title-wrap"},Sk={key:0,class:"fbs-task_edit_wrapper"},$k={class:"fbs-edit_title"},Vk={key:1,class:"fbs-task_edit_wrapper"},Ak={key:1,class:"fbs-task-title"},Ik={class:"fbs-task-description"},Dk={key:0,class:"fbs-dep-blocked-banner"},Bk={key:0,class:"fbs-subtask-comments-wrap-loading"},Lk={key:1,class:"fbs-subtask-comments-wrap"},Mk={class:"fbs-task-work-sections"},xk={key:0,class:"fbs-task-section-block fbs-task-attachments-section"},Pk={key:0,class:"fbs-task-empty-action-row"},Fk={class:"icon"},Ek={key:1,class:"fbs-task-section-row fbs-task-attachments-heading"},Uk=["aria-expanded"],Ok={class:"icon"},Rk={key:0,class:"fbs-task-section-collapse-body"},Nk={key:0,class:"d-flex fbs_mt_12"},Hk={class:"icon"},jk={key:2,class:"fbs-pro-feature"},zk={key:1,class:"fbs-task-section-block"},Gk={key:0,class:"fbs-pro-feature"},qk={key:1,class:"fbs-task-empty-action-row"},Wk={key:2,class:"fbs-task-section-row"},Kk=["aria-expanded"],Zk={class:"icon"},Yk={key:0,class:"fbs-task-section-add-control"},Jk={key:0,class:"fbs-subtask-wrap fbs-task-section-collapse-body"},Qk={key:2,class:"fbs-task-section-block fbs-task-custom-fields-wrap"},Xk={key:0,class:"fbs-pro-feature"},ev={key:1,class:"fbs-task-empty-action-row"},tv={class:"icon"},sv={key:2,class:"fbs-task-section-row"},av=["aria-expanded"],iv={class:"icon"},ov={class:"icon"},lv={key:0,class:"fbs-task-section-collapse-body fbs-task-custom-fields-collapse"},nv={class:"fbs_board_menu_body"},rv={class:"fbs-task-comment-and-activities-box fbs_task_comment_and_activities_box"},dv={class:"fbs-task-sidebar"},cv={class:"fbs-task-sidebar-card fbs-task-properties-card"},hv={class:"fbs-sidebar-title"},uv={id:"fbs-task-properties-panel",class:"fbs-task-property-list"},pv={class:"fbs-task-property-row fbs-task-property-row-stage"},mv=["aria-label"],bv={key:1,class:"fbs_priority_badge"},gv={class:"icon"},fv={class:"label"},_v={class:"fbs-task-property-row fbs-task-property-row-priority"},kv=["aria-label"],vv={class:"fbs-task-property-row fbs-task-property-row-due-date"},yv=["aria-label"],wv={class:"fbs-task-property-row fbs-task-property-row-assignees"},Cv=["aria-label"],Tv={key:0,class:"fbs-task-property-row fbs-task-property-row-votes"},Sv=["aria-label"],$v={class:"fbs_task_votes__label"},Vv={class:"fbs_task_votes__count"},Av={key:1,class:"fbs-task-property-row fbs-task-property-row-author"},Iv=["aria-label"],Dv={key:0,class:"fbs-task-sidebar-card fbs-task-recurring-card"},Bv={class:"fbs-sidebar-title"},Lv={id:"fbs-task-recurring-panel",class:"fbs-task-recurring-card-body"},Mv={class:"fbs-task-recurring-status"},xv={class:"fbs-task-recurring-status__icon"},Pv={class:"fbs-task-recurring-status__content"},Fv={class:"fbs-task-recurring-status__label"},Ev={key:0,class:"fbs-task-recurring-status__date"},Uv={class:"fbs-task-sidebar-card fbs-task-labels-card"},Ov={class:"fbs-sidebar-title"},Rv={id:"fbs-task-labels-panel",class:"fbs-task-label-wrap"},Nv=["aria-expanded"],Hv={class:"fbs-task-secondary-panel__title"},jv={class:"icon fbs-task-secondary-panel__chevron d-block"},zv={id:"fbs-task-time-panel",class:"fbs-task-secondary-panel__body"},Gv=["aria-expanded"],qv={class:"fbs-task-secondary-panel__title"},Wv={class:"icon fbs-task-secondary-panel__chevron d-block"},Kv={id:"fbs-task-integrations-panel",class:"fbs-task-secondary-panel__body"},Zv={class:"fbs-sidebar-title"},Yv={id:"fbs-task-crm-contact-panel",class:"fbs-task-add-card-body"},Jv={key:0,class:"fbs-task-sidebar-add-to-task-labels"},Qv={class:"fbs-add-to-task-container"},Xv={key:1,class:"fbs_divider"},ey={class:"fbs-task-description"};const ty=Ss(R_,[["render",function(e,t,d,u,p,m){var _,v,C,T;const V=b("Icons"),A=ze,I=We,D=b("task-ai-assistant"),B=b("task-modal-navigation"),L=b("task-cover-settings"),M=xe,x=b("join-and-leave-task"),P=b("recurring-task"),F=Me,E=Pe,O=b("clone-task-dialog"),R=b("convert-to-subtask-dialog"),N=b("task-mover-panel"),H=Ge,j=kt,z=b("TakeawayBox"),G=Ne,q=b("RefreshLeft"),W=b("create-task-from-template"),K=b("CircleCheckFilled"),Z=He,Y=b("task-description"),J=b("add-task-attachment"),Q=b("task-attachments"),X=b("ProBadge"),ee=b("subtask-group-add"),te=b("subtask-groups"),se=b("task-custom-field"),ae=b("custom-field"),ie=Kt,oe=b("task-dependencies"),le=b("task-all-comments-and-activities"),ne=b("move-card"),re=b("priority-badge"),de=b("date-changer"),ce=b("BellFilled"),he=b("task-assignees"),ue=b("board-labels"),pe=b("task-timer"),me=b("task-c-r-m-contact-info"),be=b("task-crm-contact-add"),ge=b("support-ticket-info"),fe=b("file-upload"),_e=b("Document"),ke=b("Top"),ve=b("task-delete-dialog"),ye=g("loading");return s(),a("div",N_,[i("div",H_,[i("header",j_,[i("div",z_,[i("nav",{class:"fbs-task-modal-breadcrumb","aria-label":e.$t("Task breadcrumb")},[i("span",{class:"fbs-task-modal-breadcrumb__item fbs-task-modal-breadcrumb__item--clickable",role:"button",tabindex:"0",title:m.breadcrumbBoardTitle,"aria-label":e.$t("Close task and return to board"),onClick:t[0]||(t[0]=(...e)=>m.closeTaskDetails&&m.closeTaskDetails(...e)),onKeydown:[t[1]||(t[1]=$(h((...e)=>m.closeTaskDetails&&m.closeTaskDetails(...e),["prevent"]),["enter"])),t[2]||(t[2]=$(h((...e)=>m.closeTaskDetails&&m.closeTaskDetails(...e),["prevent"]),["space"]))]},o(m.breadcrumbBoardTitle),41,q_),i("span",W_,[l(V,{"icon-name":"arrow-right"})]),i("span",{class:"fbs-task-modal-breadcrumb__item fbs-task-modal-breadcrumb__item--current",title:m.breadcrumbTaskTitle},o(m.breadcrumbTaskTitle),9,K_)],8,G_),l(I,{content:e.$t("Toggle Fullscreen"),effect:"dark",placement:"top"},{default:n(()=>[l(A,{size:"small",class:"only-icon-btn no-border","aria-label":e.$t("Toggle Fullscreen"),title:e.$t("Toggle Fullscreen"),onClick:t[3]||(t[3]=h(t=>e.$emit("toggle-fullscreen"),["stop"]))},{default:n(()=>[i("span",Z_,[l(V,{"icon-name":"expend"})])]),_:1},8,["aria-label","title"])]),_:1},8,["content"])]),i("div",Y_,[l(D,{task:e.task,board:e.board},null,8,["task","board"]),l(B,{task:e.task,"task-groups":d.task_groups||[],"stage-task-pagination":d.stageTaskPagination||{},"fetch-stage-tasks-page":d.fetchStageTasksPage,onNavigate:m.navigateToSiblingTask},null,8,["task","task-groups","stage-task-pagination","fetch-stage-tasks-page","onNavigate"]),e.board.archived_at||e.board.isUserOnlyViewer?y("",!0):(s(),c(L,{key:0,ref:"taskCoverSettings",class:"fbs-task-header-cover-action",task:e.task,"no-button-border":!0,onlyIconBtn:!0},null,8,["task"])),m.showTaskActionMenu?(s(),c(E,{key:1,ref:"taskActionDropdown",trigger:"click",placement:"bottom-end","hide-on-click":!1,"popper-class":"fbs-task-action-dropdown"},{dropdown:n(()=>[l(F,null,{default:n(()=>[m.showTaskUtilityActionGroup?(s(),c(M,{key:0,onClick:m.handleCopyTaskLinkAction},{default:n(()=>[i("span",Q_,[l(V,{"icon-name":"copy"})]),w(" "+o(e.$t("Copy Task Link")),1)]),_:1},8,["onClick"])):y("",!0),m.showTaskUtilityActionGroup&&m.canPinTask?(s(),c(M,{key:1,onClick:m.handleTaskPinnedAction},{default:n(()=>[i("span",X_,[e.task.is_pinned?(s(),c(V,{key:0,"icon-name":"pin-fill"})):(s(),c(V,{key:1,"icon-name":"pin"}))]),w(" "+o(e.task.is_pinned?e.$t("Unpin Task"):e.$t("Pin Task")),1)]),_:1},8,["onClick"])):y("",!0),m.showPrimaryTaskActionGroup?(s(),a(r,{key:2},[l(M,null,{default:n(()=>[l(x,{task:e.task,variant:"menu",onCompleted:m.closeTaskActionMenu},null,8,["task","onCompleted"])]),_:1}),e.task.archived_at?y("",!0):(s(),c(M,{key:0,onClick:m.openMoveTaskDialog},{default:n(()=>[i("span",ek,[l(V,{"icon-name":"arrow-top-right-up"})]),w(" "+o(e.$t("Move")),1)]),_:1},8,["onClick"])),e.task.archived_at?y("",!0):(s(),c(M,{key:1,onClick:m.handleTaskObservationAction},{default:n(()=>[i("span",tk,[e.task.is_watching?(s(),c(V,{key:0,"icon-name":"eye"})):(s(),c(V,{key:1,"icon-name":"eye-hide"}))]),w(" "+o(e.task.is_watching?e.$t("Watching"):e.$t("Watch")),1)]),_:1},8,["onClick"])),e.task.archived_at?y("",!0):(s(),c(M,{key:2,onClick:m.handleTaskTemplateAction,disabled:!e.appVars.has_pro},{default:n(()=>[i("span",sk,[l(V,{"icon-name":"template"})]),w(" "+o(p.isTemplateTask&&e.appVars.has_pro?e.$t("Remove Template"):e.$t("Make Template"))+" ",1),e.appVars.has_pro?y("",!0):(s(),a("span",ak,[i("span",ik,o(e.$t("Pro")),1)]))]),_:1},8,["onClick","disabled"])),"yes"!=e.appVars.advanced_modules.recurring_task.enabled||e.task.archived_at?y("",!0):(s(),c(M,{key:3,disabled:!e.appVars.has_pro},{default:n(()=>[l(P,{task:e.task,variant:"menu",onOpened:m.closeTaskActionMenu},null,8,["task","onOpened"])]),_:1},8,["disabled"])),l(M,{onClick:m.openCloneTaskDialog},{default:n(()=>[i("span",ok,[l(V,{"icon-name":"copy"})]),w(" "+o(e.$t("Clone Task")),1)]),_:1},8,["onClick"]),l(M,{disabled:!e.appVars.has_pro,onClick:m.openConvertTaskDialog},{default:n(()=>[i("span",lk,[l(V,{"icon-name":"arrow-corner-down-right"})]),w(" "+o(e.$t("Convert to Subtask"))+" ",1),e.appVars.has_pro?y("",!0):(s(),a("span",nk,[i("span",rk,o(e.$t("Pro")),1)]))]),_:1},8,["disabled","onClick"])],64)):y("",!0),m.showTaskStateActionGroup?(s(),a(r,{key:3},[e.board.archived_at||e.board.isUserOnlyViewer||!e.task.archived_at?y("",!0):(s(),c(M,{key:0,onClick:m.handleRestoreTaskAction},{default:n(()=>[i("span",dk,[l(V,{"icon-name":"refresh"})]),w(" "+o(e.$t("Restore Task")),1)]),_:1},8,["onClick"])),e.board.archived_at||e.board.isUserOnlyViewer||e.task.archived_at||e.task.meta&&"yes"===e.task.meta.is_template?y("",!0):(s(),c(M,{key:1,onClick:m.handleArchiveTaskAction},{default:n(()=>[i("span",ck,[l(V,{"icon-name":"archive"})]),w(" "+o(e.$t("Archive Task")),1)]),_:1},8,["onClick"])),e.board.archived_at||e.board.isUserOnlyViewer||!m.hasDeletePermission?y("",!0):(s(),c(M,{key:2,onClick:m.openDeleteTaskDialog},{default:n(()=>[i("span",hk,[l(V,{"icon-name":"delete"})]),w(" "+o(e.$t("Delete Task")),1)]),_:1},8,["onClick"])),e.board.archived_at&&e.task.archived_at?(s(),c(M,{key:3},{default:n(()=>[i("span",uk,[l(V,{"icon-name":"archive"})]),w(" "+o(e.$t("Archived")),1)]),_:1})):y("",!0)],64)):y("",!0)]),_:1})]),default:n(()=>[l(A,{size:"small",class:"only-icon-btn no-border","aria-label":e.$t("More Task Actions"),title:e.$t("More Task Actions")},{default:n(()=>[i("span",J_,[l(V,{"icon-name":"dots"})])]),_:1},8,["aria-label","title"])]),_:1},512)):y("",!0),e.task.id&&e.task.board_id?(s(),c(O,{key:2,modelValue:p.showCloneDialog,"onUpdate:modelValue":t[4]||(t[4]=e=>p.showCloneDialog=e),"task-id":e.task.id,"board-id":e.task.board_id},null,8,["modelValue","task-id","board-id"])):y("",!0),l(R,{modelValue:p.showConvertDialog,"onUpdate:modelValue":t[5]||(t[5]=e=>p.showConvertDialog=e),task:e.task},null,8,["modelValue","task"]),l(H,{modelValue:p.showMoveTaskDialog,"onUpdate:modelValue":t[7]||(t[7]=e=>p.showMoveTaskDialog=e),"append-to-body":"",width:"400px",class:"fbs_task_move_dialog",title:e.$t("Move Task")},{default:n(()=>[p.showMoveTaskDialog?(s(),c(N,{key:0,task:e.task,stage:m.taskStage,"task-board":e.board,onClose:t[6]||(t[6]=e=>p.showMoveTaskDialog=!1)},null,8,["task","stage","task-board"])):y("",!0)]),_:1},8,["modelValue","title"]),l(I,{content:e.$t("Close Modal"),effect:"dark",placement:"top"},{default:n(()=>[l(A,{size:"small",class:"only-icon-btn no-border","aria-label":e.$t("Close Task Details"),title:e.$t("Close Task Details"),onClick:h(m.closeTaskDetails,["stop"])},{default:n(()=>[i("span",pk,[l(V,{"icon-name":"close"})])]),_:1},8,["aria-label","title","onClick"])]),_:1},8,["content"])])]),i("div",{class:k(["fbs_task_details_sticky_header",{fbs_has_task_cover:m.hasTaskCover}])},[m.hasTaskCover?(s(),a("div",{key:0,class:"fbs-task-modal-cover",style:S(m.taskCoverStyle)},[m.taskCover.backgroundImage?(s(),c(j,{key:0,class:"fbs-task-modal-cover-image",src:m.taskCover.backgroundImage,alt:e.$t("Task Cover"),"zoom-rate":1.2,"max-scale":7,"min-scale":.1,"preview-src-list":[m.taskCover.backgroundImage],fit:"cover","hide-on-click-modal":"","preview-teleported":!0},null,8,["src","alt","preview-src-list"])):y("",!0),e.board.archived_at||e.board.isUserOnlyViewer?y("",!0):(s(),c(A,{key:1,class:"fbs_task_modal_cover_remove",size:"small",plain:"",loading:p.removingTaskCover,disabled:p.removingTaskCover,"aria-label":e.$t("Remove Cover"),onClick:h(m.removeTaskCover,["stop"])},{default:n(()=>[w(o(e.$t("Remove Cover")),1)]),_:1},8,["loading","disabled","aria-label","onClick"]))],4)):y("",!0),e.task.archived_at?(s(),a("div",mk,[i("div",bk,[l(G,{class:"fbs-task-archive-detail-banner__icon"},{default:n(()=>[l(z)]),_:1}),i("span",gk,o(e.$t("Task Archived")),1),t[29]||(t[29]=i("span",{class:"fbs-task-archive-detail-banner__separator","aria-hidden":"true"},"•",-1)),m.archivedTaskDate?(s(),a("span",fk,o(e.$t("This task was archived on"))+" "+o(m.archivedTaskDate)+", "+o(e.$t("at"))+" "+o(m.archivedTaskTime)+". ",1)):y("",!0)]),m.canRestoreArchivedTask?(s(),a("button",{key:0,type:"button",class:"fbs-task-archive-detail-banner__action",onClick:t[8]||(t[8]=e=>m.handleRestoreTaskAction(e))},[l(G,null,{default:n(()=>[l(q)]),_:1}),i("span",null,o(e.$t("Restore Task")),1)])):y("",!0)])):m.showTemplateTaskBanner?(s(),a("div",_k,[l(W,{task:e.task,variant:"banner"},null,8,["task"])])):y("",!0)],2),i("div",kk,[i("main",vk,[i("div",yk,[i("div",wk,[i("section",Ck,[l(I,{class:"fbs-box-item",effect:"dark",content:e.$t(m.taskStatusTooltipText),placement:e.appVars.is_rtl?"left":"right"},{default:n(()=>[i("span",{onClick:t[9]||(t[9]=t=>m.updateTaskStatus(e.task)),class:k(["fbs_tv_current_status_"+e.task.status,"fbs_tv_status"])},["closed"==e.task.status?(s(),c(G,{key:0},{default:n(()=>[l(K)]),_:1})):y("",!0)],2)]),_:1},8,["content","placement"]),i("div",Tk,[p.isEditingTitle?(s(),a("div",Sk,[i("div",$k,[l(Z,{ref:"title",type:"textarea",autosize:"",placeholder:e.$t("Task Title"),modelValue:p.taskTitle,"onUpdate:modelValue":t[10]||(t[10]=e=>p.taskTitle=e),onChange:t[11]||(t[11]=e=>m.saveTaskTitle()),onBlur:t[12]||(t[12]=e=>p.isEditingTitle=!1),onPaste:t[13]||(t[13]=h(()=>{},["stop"]))},null,8,["placeholder","modelValue"])])])):(s(),a("div",Vk,[e.board.archived_at||e.board.isUserOnlyViewer?(s(),a("p",Ak,o(e.task.title),1)):(s(),a("p",{key:0,class:"fbs-task-title",onClick:t[14]||(t[14]=t=>{p.isEditingTitle=!0,p.taskTitle=e.task.title})},o(e.task.title),1))]))])]),i("section",Ik,[(s(),c(Y,{board:e.board,key:e.task.id,task:e.task,ref:"taskDescription",onUpdateTempTaskDescription:m.updateTempTaskDescription,tempTaskDescription:p.tempTaskDescription},null,8,["board","task","onUpdateTempTaskDescription","tempTaskDescription"]))]),e.appVars.has_pro&&e.task.id&&p.isDependencyBlocked?(s(),a("div",Dk,[t[30]||(t[30]=i("svg",{xmlns:"http://www.w3.org/2000/svg",width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2.5","stroke-linecap":"round","stroke-linejoin":"round"},[i("circle",{cx:"12",cy:"12",r:"10"}),i("line",{x1:"4.93",y1:"4.93",x2:"19.07",y2:"19.07"})],-1)),w(" "+o(e.$t("This task is blocked — waiting on incomplete tasks to finish first.")),1)])):y("",!0)]),p.loadComponent?y("",!0):f((s(),a("div",Bk,null,512)),[[ye,p.loadComponent]]),p.loadComponent?(s(),a("div",Lk,[i("div",Mk,[m.showAttachmentsSection?(s(),a("section",xk,[m.showAttachmentEmptyAction?(s(),a("div",Pk,[l(J,{visible:p.isOpenEmptyTaskAttachment,"button-type":"text",onHandleClick:t[15]||(t[15]=e=>p.isOpenEmptyTaskAttachment=!p.isOpenEmptyTaskAttachment),onCloseTaskAttachmentModal:t[16]||(t[16]=e=>p.isOpenEmptyTaskAttachment=!1),"is-link":!0,type:"default","button-class":"extra-small no-underline hover-underline"},{icon:n(()=>[i("span",Fk,[l(V,{"icon-name":"paper-clip"})])]),_:1},8,["visible"])])):e.appVars.has_pro?(s(),a("div",Ek,[i("button",{type:"button",class:k(["fbs-task-section-toggle",{fbs_task_selection_toggle_collapsed:p.isAttachmentsCollapsed}]),"aria-expanded":!p.isAttachmentsCollapsed,onClick:t[17]||(t[17]=(...e)=>m.toggleAttachmentsSection&&m.toggleAttachmentsSection(...e))},[i("span",Ok,[l(V,{"icon-name":"caret-up"})]),w(" "+o(e.$t("Attachments")),1)],10,Uk)])):y("",!0),l(Te,{css:!1,onBeforeEnter:m.beforeTaskSectionEnter,onEnter:m.enterTaskSection,onAfterEnter:m.afterTaskSectionTransition,onBeforeLeave:m.beforeTaskSectionLeave,onLeave:m.leaveTaskSection,onAfterLeave:m.afterTaskSectionTransition},{default:n(()=>[e.appVars.has_pro?f((s(),a("div",Rk,[l(Q,{onAttachmentsChange:m.handleAttachmentsChange},null,8,["onAttachmentsChange"]),e.board.archived_at||e.board.isUserOnlyViewer?y("",!0):(s(),a("div",Nk,[l(J,{visible:p.isOpenTaskAttachment,"button-type":"text",onHandleClick:t[18]||(t[18]=e=>p.isOpenTaskAttachment=!p.isOpenTaskAttachment),onCloseTaskAttachmentModal:m.closeTaskAttachmentModal,isLink:!0,type:"default","button-class":"no-underline hover-underline extra-small"},{icon:n(()=>[i("span",Hk,[l(V,{"icon-name":"paper-clip"})])]),_:1},8,["visible","onCloseTaskAttachmentModal"])]))],512)),[[U,!m.showAttachmentEmptyAction&&!p.isAttachmentsCollapsed]]):y("",!0)]),_:1},8,["onBeforeEnter","onEnter","onAfterEnter","onBeforeLeave","onLeave","onAfterLeave"]),e.appVars.has_pro?y("",!0):(s(),a("div",jk,[w(o(e.$t("Attachments"))+" ",1),l(X,{size:"small"})]))])):y("",!0),m.showSubtasksSection?(s(),a("section",zk,[e.appVars.has_pro?m.showSubtaskEmptyAction?(s(),a("div",qk,[l(ee,{variant:"empty"})])):(s(),a("div",Wk,[i("button",{type:"button",class:k(["fbs-task-section-toggle",{fbs_task_selection_toggle_collapsed:p.isSubtasksCollapsed}]),"aria-expanded":!p.isSubtasksCollapsed,onClick:t[19]||(t[19]=(...e)=>m.toggleSubtasksSection&&m.toggleSubtasksSection(...e))},[i("span",Zk,[l(V,{"icon-name":"caret-up"})]),w(" "+o(e.$t("Subtasks")),1)],10,Kk),!e.appVars.has_pro||e.board.archived_at||e.board.isUserOnlyViewer?y("",!0):(s(),a("span",Yk,[l(ee,{variant:"icon"})]))])):(s(),a("div",Gk,[w(o(e.$t("Subtasks"))+" ",1),l(X,{size:"small"})])),l(Te,{css:!1,onBeforeEnter:m.beforeTaskSectionEnter,onEnter:m.enterTaskSection,onAfterEnter:m.afterTaskSectionTransition,onBeforeLeave:m.beforeTaskSectionLeave,onLeave:m.leaveTaskSection,onAfterLeave:m.afterTaskSectionTransition},{default:n(()=>[e.appVars.has_pro?f((s(),a("div",Jk,[(s(),c(te,{key:e.task.id,task:e.task,onSubtaskGroupsChange:m.handleSubtaskGroupsChange},null,8,["task","onSubtaskGroupsChange"]))],512)),[[U,!m.showSubtaskEmptyAction&&!p.isSubtasksCollapsed]]):y("",!0)]),_:1},8,["onBeforeEnter","onEnter","onAfterEnter","onBeforeLeave","onLeave","onAfterLeave"])])):y("",!0),m.showCustomFieldsSection?(s(),a("section",Qk,[e.appVars.has_pro?m.showCustomFieldsEmptyAction?(s(),a("div",ev,[l(A,{link:"",class:"extra-small no-underline hover-underline","aria-label":e.$t("Add Custom Field"),title:e.$t("Add Custom Field"),onClick:h(m.openCustomFieldCreateDialog,["stop"])},{default:n(()=>[i("span",tv,[l(V,{"icon-name":"plus"})]),w(" "+o(e.$t("Add Custom Field")),1)]),_:1},8,["aria-label","title","onClick"])])):(s(),a("div",sv,[i("button",{type:"button",class:k(["fbs-task-section-toggle",{fbs_task_selection_toggle_collapsed:p.isCustomFieldsCollapsed}]),"aria-expanded":!p.isCustomFieldsCollapsed,onClick:t[20]||(t[20]=(...e)=>m.toggleCustomFieldsSection&&m.toggleCustomFieldsSection(...e))},[i("span",iv,[l(V,{"icon-name":"caret-up"})]),w(" "+o(e.$t("Custom Field")),1)],10,av),!e.appVars.has_pro||e.board.archived_at||e.board.isUserOnlyViewer?y("",!0):(s(),c(A,{key:0,"aria-label":e.$t("Add Custom Field"),title:e.$t("Add Custom Field"),onClick:h(m.toggleCustomFieldManager,["stop"]),size:"small",class:"mini only-icon-btn"},{default:n(()=>[i("span",ov,[l(V,{"icon-name":"plus"})])]),_:1},8,["aria-label","title","onClick"]))])):(s(),a("div",Xk,[w(o(e.$t("Custom Field"))+" ",1),l(X,{size:"small"})])),l(Te,{css:!1,onBeforeEnter:m.beforeTaskSectionEnter,onEnter:m.enterTaskSection,onAfterEnter:m.afterTaskSectionTransition,onBeforeLeave:m.beforeTaskSectionLeave,onLeave:m.leaveTaskSection,onAfterLeave:m.afterTaskSectionTransition},{default:n(()=>[e.appVars.has_pro&&m.hasBoardCustomFields?f((s(),a("div",lv,[(s(),c(se,{key:e.task.id}))],512)),[[U,!p.isCustomFieldsCollapsed]]):y("",!0)]),_:1},8,["onBeforeEnter","onEnter","onAfterEnter","onBeforeLeave","onLeave","onAfterLeave"]),l(ie,{modelValue:p.isCustomFieldManagerVisible,"onUpdate:modelValue":t[21]||(t[21]=e=>p.isCustomFieldManagerVisible=e),class:"fbs_right_sidebar fbs_custom_field_task_drawer",title:e.$t("Custom Fields"),size:"440px","append-to-body":"",direction:e.appVars.is_rtl?"ltr":"rtl",onClose:m.closeCustomFieldManager},{default:n(()=>[i("div",nv,[p.isCustomFieldManagerVisible?(s(),c(ae,{key:0,boardId:e.board.id,fromMenu:!0,onCloseDrawer:m.closeCustomFieldManager},null,8,["boardId","onCloseDrawer"])):y("",!0)])]),_:1},8,["modelValue","title","direction","onClose"]),p.isCustomFieldCreateDialogVisible?(s(),c(ae,{key:3,boardId:e.board.id,fromMenu:!0,autoOpenCreate:!0,onFormDialogClosed:m.closeCustomFieldCreateDialog},null,8,["boardId","onFormDialogClosed"])):y("",!0)])):y("",!0),e.appVars.has_pro&&e.task.id?(s(),c(oe,{key:3,task:e.task,onBlockedChange:t[22]||(t[22]=e=>p.isDependencyBlocked=e)},null,8,["task"])):y("",!0)]),i("div",rv,[l(le,{task:e.task},null,8,["task"])])])):y("",!0)])]),i("aside",dv,[i("section",cv,[i("div",hv,o(e.$t("Properties")),1),i("div",uv,[i("div",pv,[i("span",{class:"fbs_value fbs-task-property-control","aria-label":e.$t("Stage")},[e.board.archived_at||e.board.isUserOnlyViewer?(s(),a("span",bv,[i("span",gv,[l(V,{"icon-name":"stage"})]),i("span",fv,o(null==(_=m.taskStage)?void 0:_.title),1)])):(s(),c(ne,{key:0,task:e.task,stage:m.taskStage,taskBoard:e.board,"show-stage-icon":!0},null,8,["task","stage","taskBoard"]))],8,mv)]),i("div",_v,[i("span",{class:"fbs_value fbs-task-property-control","aria-label":e.$t("Priority")},[l(re,{task:e.task},null,8,["task"])],8,kv)]),i("div",vv,[i("span",{class:"d-flex items-center gap-4","aria-label":e.$t("Due Date")},[l(de,{task:e.task,column:"due_at",date_format:"MMM DD, HH:mm","empty-label":e.$t("Set Date"),"trigger-date-display":"end"},null,8,["task","empty-label"]),m.hasReminder?(s(),c(I,{key:0,content:e.$t("Task reminder is active"),effect:"light",placement:"top"},{default:n(()=>[l(G,{class:"fbs-task-reminder-icon"},{default:n(()=>[l(ce)]),_:1})]),_:1},8,["content"])):y("",!0)],8,yv)]),i("div",wv,[i("span",{class:"fbs_value fbs-task-property-control","aria-label":e.$t("Assignees")},[l(he,{task:e.task,placement:"bottom","number-of-avatars":3},null,8,["task"])],8,Cv)]),"roadmap"===e.task.type?(s(),a("div",Tv,[i("span",{class:"fbs_value fbs-task-property-control fbs_task_votes","aria-label":e.$t("Votes")},[l(V,{"icon-name":"task-count","aria-hidden":"true"}),i("span",$v,o(e.$t("Votes")),1),i("strong",Vv,o(e.task.vote_statistics??0),1)],8,Sv)])):y("",!0),!parseInt(e.task.created_by)&&(null==(v=e.task.settings)?void 0:v.author)?(s(),a("div",Av,[i("span",{class:"fbs_value fbs-task-property-control fbs-task-author-pill","aria-label":e.$t("Author")},[w(o(null==(C=e.task.settings.author)?void 0:C.name),1),t[31]||(t[31]=i("br",null,null,-1)),w("("+o(null==(T=e.task.settings.author)?void 0:T.email)+") ",1)],8,Iv)])):y("",!0)])]),m.hasRecurringTask?(s(),a("section",Dv,[i("div",Bv,o(e.$t("Recurring Task")),1),i("div",Lv,[i("div",Mv,[i("span",xv,[l(V,{"icon-name":"refresh"})]),i("span",Pv,[i("span",Fv,o(e.$t("This task is recurring")),1),m.nextRepeatDateReadable?(s(),a("span",Ev,o(e.$t("Next Run Date"))+": "+o(m.nextRepeatDateReadable),1)):y("",!0)]),m.showPrimaryTaskActionGroup&&"yes"==e.appVars.advanced_modules.recurring_task.enabled?(s(),c(P,{key:0,task:e.task,variant:"widget"},null,8,["task"])):y("",!0)])])])):y("",!0),i("section",Uv,[i("div",Ov,o(e.$t("Labels")),1),i("div",Rv,[l(ue,{task:e.task,"sidebar-labels-layout":!0},null,8,["task"])])]),m.hasTimeTracking&&e.task.id?(s(),a("section",{key:1,class:k(["fbs-task-sidebar-card fbs-task-time-card fbs-task-secondary-panel",{"fbs-task-secondary-panel--open":m.isMobileSecondaryPanelOpen("time")}])},[i("button",{class:"fbs-task-secondary-panel__trigger fbs_secondary_text font-medium cursor_pointer fbs-task-secondary-panel__trigger",type:"button",tabindex:"0","aria-expanded":m.isMobileSecondaryPanelOpen("time")?"true":"false","aria-controls":"fbs-task-time-panel",onClick:t[23]||(t[23]=e=>m.toggleMobileSecondaryPanel("time"))},[i("span",Hv,o(e.$t("Time Tracking")),1),i("span",jv,[l(V,{"icon-name":"arrow-down","icon-class":"d-block"})])],8,Nv),i("div",zv,[l(pe,{task:e.task,onTimeSummaryChange:t[24]||(t[24]=e=>p.timeTrackingSummary=e)},null,8,["task"])])],2)):y("",!0),e.appVars.fluent_crm_exists||e.appVars.fluent_support_exists&&e.task.source_id&&"FluentSupport"===e.task.source?(s(),a("div",{key:2,class:k(["fbs_external_integration_widgets fbs-task-secondary-panel",{"fbs-task-secondary-panel--open":m.isMobileSecondaryPanelOpen("integrations")}])},[i("button",{class:"fbs-task-secondary-panel__trigger fbs_secondary_text font-medium cursor_pointer fbs-task-secondary-panel__trigger",type:"button",tabindex:"0","aria-expanded":m.isMobileSecondaryPanelOpen("integrations")?"true":"false","aria-controls":"fbs-task-integrations-panel",onClick:t[25]||(t[25]=e=>m.toggleMobileSecondaryPanel("integrations"))},[i("span",qv,o(e.$t(e.appVars.fluent_crm_exists?"CRM Contact":"Support Ticket")),1),i("span",Wv,[l(V,{"icon-name":"arrow-down","icon-class":"d-block"})])],8,Gv),i("div",Kv,[e.appVars.fluent_crm_exists?(s(),a("section",{key:0,class:k(["fbs-task-sidebar-card",{"fbs-task-crm-contact-card":e.task.contact}])},[e.task.contact?(s(),c(me,{key:0})):(s(),a(r,{key:1},[i("div",Zv,o(e.$t("CRM Contact")),1),i("div",Yv,[e.board.archived_at||e.board.isUserOnlyViewer?y("",!0):(s(),a("div",Jv,[i("div",Qv,[l(be,{is_multiple:!1,showButton:!0})])]))])],64))],2)):y("",!0),e.appVars.fluent_crm_exists&&e.appVars.fluent_support_exists&&e.task.source_id&&"FluentSupport"===e.task.source?(s(),a("div",Xv)):y("",!0),e.appVars.fluent_support_exists&&e.task.source_id&&"FluentSupport"===e.task.source?(s(),c(ge,{key:2,task:e.task,board:e.board},null,8,["task","board"])):y("",!0)])],2)):y("",!0)])]),p.loadComponent?(s(),c(fe,{key:0,ref:"uploadTaskAttachmentFile",url:e.task.id+"/add-task-attachment-file","is-multiple":!0,onOnFileUploadSuccess:m.fileUploadSuccess,onOnFileUploadFail:m.fileUploadFailOrCancel,onOnFileUploadCancel:m.fileUploadFailOrCancel,onOnFileUploadProgress:m.fileUploadProgress,class:"fbs-hidden-file-upload"},null,8,["url","onOnFileUploadSuccess","onOnFileUploadFail","onOnFileUploadCancel","onOnFileUploadProgress"])):y("",!0),l(H,{modelValue:p.showFullScreenDescription,"onUpdate:modelValue":t[27]||(t[27]=e=>p.showFullScreenDescription=e),width:"80%","modal-class":"fbs-full-screen-description",top:"5vh","append-to-body":"","before-close":m.closeTaskDescriptionDialog},{header:n(()=>[i("div",ey,[i("h1",null,[i("span",null,[l(G,null,{default:n(()=>[l(_e)]),_:1}),w(" "+o(e.$t("Description")),1)]),i("div",{class:"fbs_description_collapse_icon",onClick:t[26]||(t[26]=(...e)=>m.closeTaskDescriptionDialog&&m.closeTaskDescriptionDialog(...e))},[...t[32]||(t[32]=[i("div",{class:"fbs_description_collapse_icon_left_side"},[i("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[i("path",{fill:"currentColor",d:"M572.235 205.282v600.365a30.118 30.118 0 1 1-60.235 0V205.282L292.382 438.633a28.913 28.913 0 0 1-42.646 0 33.43 33.43 0 0 1 0-45.236l271.058-288.045a28.913 28.913 0 0 1 42.647 0L834.5 393.397a33.43 33.43 0 0 1 0 45.176 28.913 28.913 0 0 1-42.647 0l-219.618-233.23z"})]),i("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[i("path",{fill:"currentColor",d:"M572.235 205.282v600.365a30.118 30.118 0 1 1-60.235 0V205.282L292.382 438.633a28.913 28.913 0 0 1-42.646 0 33.43 33.43 0 0 1 0-45.236l271.058-288.045a28.913 28.913 0 0 1 42.647 0L834.5 393.397a33.43 33.43 0 0 1 0 45.176 28.913 28.913 0 0 1-42.647 0l-219.618-233.23z"})])],-1),i("div",{class:"fbs_description_collapse_icon_right_side"},[i("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[i("path",{fill:"currentColor",d:"M572.235 205.282v600.365a30.118 30.118 0 1 1-60.235 0V205.282L292.382 438.633a28.913 28.913 0 0 1-42.646 0 33.43 33.43 0 0 1 0-45.236l271.058-288.045a28.913 28.913 0 0 1 42.647 0L834.5 393.397a33.43 33.43 0 0 1 0 45.176 28.913 28.913 0 0 1-42.647 0l-219.618-233.23z"})]),i("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[i("path",{fill:"currentColor",d:"M572.235 205.282v600.365a30.118 30.118 0 1 1-60.235 0V205.282L292.382 438.633a28.913 28.913 0 0 1-42.646 0 33.43 33.43 0 0 1 0-45.236l271.058-288.045a28.913 28.913 0 0 1 42.647 0L834.5 393.397a33.43 33.43 0 0 1 0 45.176 28.913 28.913 0 0 1-42.647 0l-219.618-233.23z"})])],-1)])])])])]),default:n(()=>[p.showFullScreenDescription?(s(),c(Y,{key:e.task.id,board:e.board,task:e.task,isFullScreenMode:!0,ref:"taskDescriptionFullScreen",onUpdateTempTaskDescription:m.updateTempTaskDescription,tempTaskDescription:p.tempTaskDescription},null,8,["board","task","onUpdateTempTaskDescription","tempTaskDescription"])):y("",!0)]),_:1},8,["modelValue","before-close"])]),l(I,{content:e.$t("Go to top"),placement:"top"},{default:n(()=>[f(l(A,{onClick:m.scrollToTop,class:"fbs-scroll-to-top",circle:"",type:"primary"},{default:n(()=>[l(G,{class:"fbs-scroll-to-top-icon"},{default:n(()=>[l(ke)]),_:1})]),_:1},8,["onClick"]),[[U,p.showScrollTop]])]),_:1},8,["content"]),l(ve,{dialogVisible:p.deleteDialogVisible,loading:p.deleteLoading,onConfirm:m.deleteTask,onCancel:t[28]||(t[28]=e=>p.deleteDialogVisible=!1)},null,8,["dialogVisible","loading","onConfirm"])])}]]),sy={name:"Filters",props:["forceAppendToBody"],components:{Icons:$s,AjaxSelector:Dr},data(){return{filterClicked:!1,selectedAssignees:[],selectedContacts:[],assignees:[],due_date:[],priority:[],labels:[],boardLabels:[],isOpen:!1,filterStages:[],totalFilter:0,currentUser:this.appVars.me,boardMembers:[],crmContacts:[],checkAllAssignee:!1,isIndeterminateAssignee:!1,selectedBoardMembersId:[],selectedCrmContactId:[],isCurrentUserSelected:"",showAssigneeSelector:!1,showMoreLabels:!1,showMoreDueOptions:!1,statusFilters:[{label:this.$t("Open"),slug:"open"},{label:this.$t("Closed"),slug:"closed"},{label:this.$t("Archived"),slug:"archived"}],dueDateFilters:[{label:this.$t("No Dates"),slug:"no-dates"},{label:this.$t("Overdue"),slug:"overdue"},{label:this.$t("Task Due in This Week"),slug:"this-week"},{label:this.$t("Task Due Today"),slug:"today"},{label:this.$t("Task Due in Next Week"),slug:"next-week"},{label:this.$t("Task Due in This Month"),slug:"this-month"},{label:this.$t("All Upcoming Task"),slug:"upcoming"}],watchers:[],custom_fields:[],task_status:[],priorities:window.fluentAddonVars.priorities,isAssigneeSelectFocused:!1,isStageSelectFocused:!1}},computed:{...m(js,["board","stages"]),quickFilterOptions(){return[{key:"assigned_to_me",label:this.$t("Assigned to Me"),target:"selectedAssignees",value:this.currentUser.id},{key:"watching",label:this.$t("Watching"),target:"watchers",value:this.currentUser.id},{key:"no_assignee",label:this.$t("No Assignee"),target:"selectedAssignees",value:"no-assignee"},{key:"overdue",label:this.$t("Overdue"),target:"due_date",value:"overdue"},{key:"due_today",label:this.$t("Due Today"),target:"due_date",value:"today"},{key:"open",label:this.$t("Open"),target:"task_status",value:"open"},{key:"closed",label:this.$t("Closed"),target:"task_status",value:"closed"}]},assigneeFilterOptions(){return[{key:"no_assignee",label:this.$t("No Assignee"),target:"selectedAssignees",value:"no-assignee"},{key:"assigned_to_me",label:this.$t("Tasks Assigned To Me"),target:"selectedAssignees",value:this.currentUser.id},{key:"watching",label:this.$t("Tasks I'm Watching"),target:"watchers",value:this.currentUser.id}]},selectedAssigneeMembers(){return this.boardMembers.filter(e=>this.hasFilterValue(this.selectedBoardMembersId,e.ID))},selectedContactMembers(){return this.crmContacts.filter(e=>this.hasFilterValue(this.selectedCrmContactId,e.id))},priorityFilterOptions(){const e=this.priorities||{},t=["urgent","high","medium","low",""],s=Object.keys(e);return[...t.filter(e=>s.includes(e)),...s.filter(e=>!t.includes(e))].map(t=>{const s=e[t],a=String(t).toLowerCase();return{key:t,label:s||t,styleKey:["","urgent","high","medium","low"].includes(a)&&a||"none"}})},selectedStageOptions(){return this.filterStages.map(e=>{if("archived"===e)return{value:"archived",label:this.$t("Archived")};const t=this.stages.find(t=>String(t.id)===String(e));return t?{value:t.id,label:t.title}:null}).filter(Boolean)}},mounted(){this.setFilterOption(this.$route.query)},watch:{$route(e,t){e.params.id!=t.params.id&&(this.selectedAssignees=[],this.watchers=[],this.selectedContacts=[],this.due_date=[],this.task_status=[],this.priority=[],this.labels=[],this.boardLabels=[],this.custom_fields=[],this.selectedCrmContactId=[],this.filter())}},methods:{$t:Pp,filter(){let e={};e.assignee=this.selectedAssignees.length>0?this.selectedAssignees:[],e.watchers=this.watchers.length>0?this.watchers:[],this.appVars.fluent_crm_exists&&(e.contact=this.selectedContacts.length>0?this.selectedContacts:[]),e.due_date=this.due_date.length>0?this.due_date:[],e.task_status=this.task_status.length>0?this.task_status:[],e.priority=this.priority.length>0?this.priority:[],e.labels=this.labels.length>0?this.labels:[],e.stage=this.filterStages.length>0?this.filterStages:[],e.custom_fields=this.custom_fields.length>0?this.custom_fields:[],this.updateTotalNumber(),this.$router.replace({path:this.$route.fullPath,query:e})},getLabelsByBoard(){this.$get("projects/"+this.board.id+"/labels/used-in-tasks").then(e=>{this.boardLabels=e.labels}).catch(e=>{this.handleError(e)}).finally(()=>{})},handleShowFilter(){this.isOpen=!0,this.showMoreLabels=!1,this.showMoreDueOptions=!1,this.getLabelsByBoard(),this.getBoardMembers(),this.appVars.fluent_crm_exists&&this.getCRMContacts()},setFilterOption(e){if(this.totalFilter=0,e){if(e.assignee){let t=Array.isArray(e.assignee)?e.assignee:[e.assignee];this.selectedAssignees=t.map(e=>"no-assignee"!=e?parseInt(e):e)}else this.selectedAssignees=[];if(e.watchers){let t=Array.isArray(e.watchers)?e.watchers:[e.watchers];this.watchers=t.map(e=>parseInt(e))}else this.watchers=[];if(this.appVars.fluent_crm_exists)if(e.contact){let t=Array.isArray(e.contact)?e.contact:[e.contact];this.selectedContacts=t.map(e=>parseInt(e))}else this.selectedContacts=[];if(e.due_date){let t=e.due_date;t.constructor===Array?this.due_date=e.due_date.map(e=>e):this.due_date=[t]}else this.due_date=[];if(e.task_status){let t=e.task_status;const s=this.statusFilters.map(e=>e.slug);t.constructor===Array?this.task_status=e.task_status.filter(e=>s.includes(e)):this.task_status=s.includes(t)?[t]:[]}else this.task_status=[];if(e.priority){let t=Array.isArray(e.priority)?e.priority:[e.priority];const s=this.priorityFilterOptions.map(e=>e.key);this.priority=t.filter(e=>s.includes(e))}else this.priority=[];if(e.labels){let t=Array.isArray(e.labels)?e.labels:[e.labels];this.labels=t.map(e=>"no-label"!=e?parseInt(e):e)}else this.labels=[];if(e.stage){let t=Array.isArray(e.stage)?e.stage:[e.stage];this.filterStages=t.map(e=>{if("archived"===e)return e;const t=parseInt(e,10);return Number.isNaN(t)?e:t})}else this.filterStages=[];if(e.custom_fields){let t=Array.isArray(e.custom_fields)?e.custom_fields:[e.custom_fields];this.custom_fields=t.map(e=>"no-custom-field"!=e?parseInt(e):e)}else this.custom_fields=[];this.updateTotalNumber()}},clearAllFilter(){this.labels=[],this.filterStages=[],this.priority=[],this.selectedAssignees=[],this.watchers=[],this.selectedContacts=[],this.due_date=[],this.task_status=[],this.custom_fields=[],this.setSelectedBoarMember(),this.appVars.fluent_crm_exists&&this.setSelectedCRMContacts(),this.filter(),this.showMoreLabels=!1,this.showMoreDueOptions=!1},getFilterSectionCount(e){switch(e){case"quick_filters":return this.quickFilterOptions.filter(e=>this.isQuickFilterActive(e)).length;case"assignee":return this.selectedAssignees.length+this.watchers.length;case"stage":return this.filterStages.length;case"task_status":return this.task_status.length;case"priority":return this.priority.length;case"due_date":return this.due_date.length;case"crm_contacts":return this.selectedContacts.length;case"labels":return this.labels.length;case"custom_fields":return this.custom_fields.length;default:return 0}},clearFilterSection(e){switch(e){case"quick_filters":this.selectedAssignees=this.selectedAssignees.filter(e=>"no-assignee"!==e&&e!=this.currentUser.id),this.watchers=[],this.due_date=this.due_date.filter(e=>!["overdue","today"].includes(e)),this.task_status=this.task_status.filter(e=>!["open","closed"].includes(e));break;case"assignee":this.selectedAssignees=[],this.watchers=[],this.setSelectedBoarMember();break;case"stage":this.filterStages=[];break;case"task_status":this.task_status=[];break;case"priority":this.priority=[];break;case"due_date":this.due_date=[],this.showMoreDueOptions=!1;break;case"crm_contacts":this.selectedContacts=[],this.selectedCrmContactId=[];break;case"labels":this.labels=[],this.showMoreLabels=!1;break;case"custom_fields":this.custom_fields=[];break;default:return}this.filter()},isQuickFilterActive(e){return this.hasFilterValue(this[e.target],e.value)},isAssigneeFilterActive(e){return this.hasFilterValue(this[e.target],e.value)},toggleQuickFilter(e){this.toggleFilterValue(e.target,e.value)},hasFilterValue:(e,t)=>Array.isArray(e)&&e.some(e=>String(e)===String(t)),toggleFilterValue(e,t){const s=Array.isArray(this[e])?this[e]:[];this.hasFilterValue(s,t)?this[e]=s.filter(e=>String(e)!==String(t)):this[e]=[...s,t],this.filter()},updateTotalNumber(){this.totalFilter=0,this.totalFilter+=this.selectedAssignees.length?1:0,this.appVars.fluent_crm_exists&&(this.totalFilter+=this.selectedContacts.length?1:0),this.totalFilter+=this.filterStages.length?1:0,this.totalFilter+=this.due_date.length?1:0,this.totalFilter+=this.task_status.length?1:0,this.totalFilter+=this.labels.length?1:0,this.totalFilter+=this.priority.length?1:0,this.totalFilter+=this.watchers.length?1:0,this.totalFilter+=this.custom_fields.length?1:0},getBoardMembers(){const e="fbs_board_members_"+this.board.id;if(window[e])return this.boardMembers=window[e].filter(e=>e.ID!=this.currentUser.id),void this.setSelectedBoarMember();this.fetchingMembers=!0,this.$get("projects/"+this.board.id+"/users",{board_id:this.board.id}).then(t=>{this.boardMembers=t.boardUsers.filter(e=>e.ID!=this.currentUser.id),window[e]=t.boardUsers,this.setSelectedBoarMember()}).catch(e=>{this.$handleError(e)}).finally(()=>{this.fetchingMembers=!1})},getCRMContacts(){this.$get("contacts/"+this.board.id).then(e=>{this.crmContacts=e,this.setSelectedCRMContacts()}).catch(e=>{this.$handleError(e)}).finally(()=>{})},handleCheckAllAssignee(e){this.selectedBoardMembersId=e?this.boardMembers.map(e=>e.ID):[],this.isIndeterminateAssignee=!1,this.setSelectedAssignee(this.selectedBoardMembersId)},handleAssigneeSelect(e){this.showAssigneeSelector=e.length>0||this.showAssigneeSelector;const t=e.length;this.checkAllAssignee=!!t&&t===this.boardMembers.length,this.isIndeterminateAssignee=t>0&&t<this.boardMembers.length,this.setSelectedAssignee(e)},handleAssigneeSelectorToggle(e){e||(this.selectedBoardMembersId=[],this.setSelectedAssignee([]))},removeSelectedAssignee(e){this.selectedBoardMembersId=this.selectedBoardMembersId.filter(t=>t!==e),this.handleAssigneeSelect(this.selectedBoardMembersId)},removeSelectedStage(e){this.filterStages=this.filterStages.filter(t=>String(t)!==String(e)),this.filter()},handleContactSelect(e){this.appVars.fluent_crm_exists&&this.setSelectedContacts(e)},removeSelectedContact(e){this.selectedCrmContactId=this.selectedCrmContactId.filter(t=>String(t)!==String(e)),this.handleContactSelect(this.selectedCrmContactId)},setSelectedAssignee(e=[]){let t=this.boardMembers.filter(t=>!e.includes(t.ID));e.forEach(e=>{this.selectedAssignees.includes(e)||this.selectedAssignees.push(e)}),this.selectedAssignees=this.selectedAssignees.filter(e=>!t.map(e=>e.ID).includes(e)),this.filter()},setSelectedContacts(e=[]){let t=this.crmContacts.filter(t=>!e.includes(t.id));e.forEach(e=>{this.selectedContacts.includes(e)||this.selectedContacts.push(e)}),this.selectedContacts=this.selectedContacts.filter(e=>!t.map(e=>e.id).includes(e)),this.filter()},setSelectedBoarMember(){this.selectedAssignees.length>0?(this.selectedBoardMembersId=this.boardMembers.filter(e=>this.selectedAssignees.includes(e.ID)).map(e=>e.ID),this.showAssigneeSelector=this.selectedBoardMembersId.length>0):(this.selectedBoardMembersId=[],this.checkAllAssignee=!1,this.isIndeterminateAssignee=!1,this.showAssigneeSelector=!1),this.handleAssigneeSelect(this.selectedBoardMembersId)},setSelectedCRMContacts(){this.appVars.fluent_crm_exists&&(this.selectedContacts.length>0?this.selectedCrmContactId=this.crmContacts.filter(e=>this.selectedContacts.includes(e.id)).map(e=>e.id):this.selectedCrmContactId=[],this.handleContactSelect(this.selectedCrmContactId))}}},ay={class:"icon"},iy={key:0,class:"fbs-filter-num"},oy={key:0,class:""},ly={key:1},ny={class:"el-drawer__title"},ry={class:"fbs_filter_segments"},dy={class:"fbs_filter_segment"},cy={class:"fbs_filter_segment_header"},hy={class:"fbs_filter_segment_heading"},uy={class:"fbs_filter_segment_title"},py={class:"d-flex flex-column gap-12"},my={key:0,class:"fbs_filter_assignee_select_block"},by={class:"fbs_filter_assignee_select_wrap"},gy={class:"fbs_filter_person_option"},fy=["src"],_y={key:0,class:"fbs_filter_select_placeholder"},ky={key:0,class:"fbs_filter_selected_assignees"},vy=["onClick"],yy=["src","alt"],wy={class:"fbs_filter_segment"},Cy={class:"fbs_filter_segment_header"},Ty={class:"fbs_filter_segment_heading"},Sy={class:"fbs_filter_segment_title"},$y={class:"fbs_filter_segment_body fbs_filter_stage_segment"},Vy={class:"fbs_filter_stage_select_wrap"},Ay={key:0,class:"fbs_filter_stage_placeholder"},Iy={key:0,class:"fbs_filter_selected_stages"},Dy=["title","onClick"],By={class:"fbs_filter_segment"},Ly={class:"fbs_filter_segment_header"},My={class:"fbs_filter_segment_heading"},xy={class:"fbs_filter_segment_title"},Py={class:"fbs_filter_segment_body fbs_filter_status_segment"},Fy={class:"fbs_filter_segment"},Ey={class:"fbs_filter_segment_header"},Uy={class:"fbs_filter_segment_heading"},Oy={class:"fbs_filter_segment_title"},Ry={class:"fbs_filter_segment_body fbs_filter_due_date_segment"},Ny={class:"fbs_filter_segment"},Hy={class:"fbs_filter_segment_header"},jy={class:"fbs_filter_segment_heading"},zy={class:"fbs_filter_segment_title"},Gy={class:"fbs_filter_segment_body fbs_filter_priority_segment"},qy={class:"icon"},Wy={class:"label"},Ky={key:0,class:"fbs_filter_segment"},Zy={class:"fbs_filter_segment_header"},Yy={class:"fbs_filter_segment_heading"},Jy={class:"fbs_filter_segment_title"},Qy={class:"fbs_filter_segment_body fbs_filter_crm_contact_options"},Xy={class:"fbs_filter_person_option"},ew=["src"],tw={key:0,class:"fbs_filter_selected_assignees"},sw=["onClick"],aw=["src","alt"],iw={key:1,class:"fbs_filter_segment"},ow={class:"fbs_filter_segment_header"},lw={class:"fbs_filter_segment_heading"},nw={class:"fbs_filter_segment_title"},rw={class:"fbs_filter_segment_body fbs_filter_labels_segment"},dw=["title"],cw={key:0},hw={key:2,class:"fbs_filter_segment"},uw={class:"fbs_filter_segment_header"},pw={class:"fbs_filter_segment_heading"},mw={class:"fbs_filter_segment_title"},bw={class:"fbs_filter_segment_body fbs_filter_custom_field_segment"};const gw=Ss(sy,[["render",function(e,t,u,p,m,g){const f=b("Icons"),_=ze,v=We,C=qe,T=Be,$=Le,V=Bt,A=Kt;return s(),a("div",null,[l(v,{effect:"dark",content:"Filters",placement:"top"},{default:n(()=>[l(_,{class:"fbs_task_filter_button only-icon-btn",slot:"reference",size:"small",onClick:t[0]||(t[0]=e=>g.handleShowFilter())},{default:n(()=>[i("span",ay,[l(f,{"icon-name":"filter"})]),m.totalFilter>0?(s(),a("p",iy,[m.totalFilter>9?(s(),a("span",oy,[...t[31]||(t[31]=[w("9",-1),i("sup",null,"+",-1)])])):(s(),a("span",ly,o(m.totalFilter),1))])):y("",!0)]),_:1})]),_:1}),l(A,{modelValue:m.isOpen,"onUpdate:modelValue":t[30]||(t[30]=e=>m.isOpen=e),title:"Filters",size:"100%",class:"fbs_filters_sidebar","append-to-body":"",direction:e.appVars.is_rtl?"ltr":"rtl"},{header:n(()=>[i("div",ny,o(g.$t("Filters")),1),l(_,{size:"small",onClick:g.clearAllFilter,disabled:0===m.totalFilter,class:"fbs_ml-auto fbs_mr_12"},{default:n(()=>[w(o(g.$t("Clear All")),1)]),_:1},8,["onClick","disabled"])]),default:n(()=>[i("div",ry,[i("section",dy,[i("div",cy,[i("span",hy,[i("span",uy,o(g.$t("Assignees")),1),g.getFilterSectionCount("assignee")?(s(),a("button",{key:0,type:"button",class:"fbs_filter_segment_clear",onClick:t[1]||(t[1]=h(e=>g.clearFilterSection("assignee"),["stop","prevent"]))},o(g.$t("Clear"))+" ("+o(g.getFilterSectionCount("assignee"))+") ",1)):y("",!0)])]),i("div",py,[(s(!0),a(r,null,d(g.assigneeFilterOptions,e=>(s(),c(C,{key:e.key,class:"fbs_mr_0 fbs_ml_0","model-value":g.isAssigneeFilterActive(e),onChange:t=>g.toggleFilterValue(e.target,e.value)},{default:n(()=>[w(o(e.label),1)]),_:2},1032,["model-value","onChange"]))),128)),l(C,{modelValue:m.showAssigneeSelector,"onUpdate:modelValue":t[2]||(t[2]=e=>m.showAssigneeSelector=e),class:"fbs_mr_0 fbs_ml_0",onChange:g.handleAssigneeSelectorToggle},{default:n(()=>[w(o(g.$t("Select Assignee")),1)]),_:1},8,["modelValue","onChange"]),m.showAssigneeSelector?(s(),a("div",my,[i("div",by,[l($,{modelValue:m.selectedBoardMembersId,"onUpdate:modelValue":t[3]||(t[3]=e=>m.selectedBoardMembersId=e),multiple:"",clearable:"","collapse-tags":"",filterable:"","popper-class":"fbs_filter_assignee_select_popper",placeholder:g.$t("Search or Select Assignee"),"max-collapse-tags":0,onChange:g.handleAssigneeSelect,onFocus:t[4]||(t[4]=e=>m.isAssigneeSelectFocused=!0),onBlur:t[5]||(t[5]=e=>m.isAssigneeSelectFocused=!1),onPaste:t[6]||(t[6]=h(()=>{},["stop"]))},{tag:n(()=>[...t[32]||(t[32]=[i("span",null,null,-1)])]),default:n(()=>[(s(!0),a(r,null,d(m.boardMembers,e=>(s(),c(T,{key:e.id,label:e.display_name,value:e.ID},{default:n(()=>[i("div",gy,[i("img",{width:"30px",height:"30px",src:e.photo},null,8,fy),i("p",null,o(e.display_name),1)])]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","placeholder","onChange"]),m.selectedBoardMembersId.length&&!m.isAssigneeSelectFocused?(s(),a("span",_y,o(g.$t("Search or Select Assignee")),1)):y("",!0)]),g.selectedAssigneeMembers.length?(s(),a("div",ky,[(s(!0),a(r,null,d(g.selectedAssigneeMembers,e=>(s(),a("button",{key:e.ID,type:"button",class:"fbs_filter_selected_assignee",onClick:t=>g.removeSelectedAssignee(e.ID)},[i("img",{src:e.photo,alt:e.display_name},null,8,yy),i("span",null,o(e.display_name),1),t[33]||(t[33]=i("span",{"aria-hidden":"true",class:"fbs_filter_selected_assignee_remove"},"×",-1))],8,vy))),128))])):y("",!0)])):y("",!0)])]),i("section",wy,[i("div",Cy,[i("span",Ty,[i("span",Sy,o(g.$t("Stage")),1),g.getFilterSectionCount("stage")?(s(),a("button",{key:0,type:"button",class:"fbs_filter_segment_clear",onClick:t[7]||(t[7]=h(e=>g.clearFilterSection("stage"),["stop","prevent"]))},o(g.$t("Clear"))+" ("+o(g.getFilterSectionCount("stage"))+") ",1)):y("",!0)])]),i("div",$y,[i("div",Vy,[l($,{modelValue:m.filterStages,"onUpdate:modelValue":t[8]||(t[8]=e=>m.filterStages=e),class:"fbs_filter_stage_select",filterable:"",multiple:"","collapse-tags":"","collapse-tags-tooltip":"","max-collapse-tags":0,placeholder:g.$t("Search or Select Stage"),onChange:g.filter,onFocus:t[9]||(t[9]=e=>m.isStageSelectFocused=!0),onBlur:t[10]||(t[10]=e=>m.isStageSelectFocused=!1),onPaste:t[11]||(t[11]=h(()=>{},["stop"]))},{tag:n(()=>[...t[34]||(t[34]=[i("span",null,null,-1)])]),default:n(()=>[(s(!0),a(r,null,d(e.stages,e=>{var t;return s(),c(T,{key:e.id,label:(null==(t=e.title)?void 0:t.length)>40?e.title.slice(0,40)+"...":e.title,value:e.id},null,8,["label","value"])}),128)),l(T,{label:g.$t("Archived"),value:"archived"},null,8,["label"])]),_:1},8,["modelValue","placeholder","onChange"]),g.selectedStageOptions.length&&!m.isStageSelectFocused?(s(),a("span",Ay,o(g.$t("Search or Select Stage")),1)):y("",!0)]),g.selectedStageOptions.length?(s(),a("div",Iy,[(s(!0),a(r,null,d(g.selectedStageOptions,e=>(s(),a("button",{key:e.value,type:"button",class:"fbs_filter_selected_stage",title:e.label,onClick:t=>g.removeSelectedStage(e.value)},[i("span",null,o(e.label),1),t[35]||(t[35]=i("span",{"aria-hidden":"true",class:"fbs_filter_selected_stage_remove"},"×",-1))],8,Dy))),128))])):y("",!0)])]),i("section",By,[i("div",Ly,[i("span",My,[i("span",xy,o(g.$t("Task Status")),1),g.getFilterSectionCount("task_status")?(s(),a("button",{key:0,type:"button",class:"fbs_filter_segment_clear",onClick:t[12]||(t[12]=h(e=>g.clearFilterSection("task_status"),["stop","prevent"]))},o(g.$t("Clear"))+" ("+o(g.getFilterSectionCount("task_status"))+") ",1)):y("",!0)])]),i("div",Py,[l(V,{modelValue:m.task_status,"onUpdate:modelValue":t[13]||(t[13]=e=>m.task_status=e),onChange:t[14]||(t[14]=e=>g.filter()),class:"d-flex flex-wrap gap-16"},{default:n(()=>[(s(!0),a(r,null,d(m.statusFilters,e=>(s(),c(C,{key:e.slug,class:"fbs_mr_0 fbs_ml_0",value:e.slug},{default:n(()=>[w(o(e.label),1)]),_:2},1032,["value"]))),128))]),_:1},8,["modelValue"])])]),i("section",Fy,[i("div",Ey,[i("span",Uy,[i("span",Oy,o(g.$t("Due Date")),1),g.getFilterSectionCount("due_date")?(s(),a("button",{key:0,type:"button",class:"fbs_filter_segment_clear",onClick:t[15]||(t[15]=h(e=>g.clearFilterSection("due_date"),["stop","prevent"]))},o(g.$t("Clear"))+" ("+o(g.getFilterSectionCount("due_date"))+") ",1)):y("",!0)])]),i("div",Ry,[l(V,{modelValue:m.due_date,"onUpdate:modelValue":t[16]||(t[16]=e=>m.due_date=e),onChange:t[17]||(t[17]=e=>g.filter()),class:"d-flex flex-column gap-12 fbs-w-full"},{default:n(()=>[(s(!0),a(r,null,d(m.dueDateFilters,e=>(s(),c(C,{key:e.slug,value:e.slug,class:"fbs_mr_0 fbs_ml_0"},{default:n(()=>[w(o(e.label),1)]),_:2},1032,["value"]))),128))]),_:1},8,["modelValue"])])]),i("section",Ny,[i("div",Hy,[i("span",jy,[i("span",zy,o(g.$t("Priority")),1),g.getFilterSectionCount("priority")?(s(),a("button",{key:0,type:"button",class:"fbs_filter_segment_clear",onClick:t[18]||(t[18]=h(e=>g.clearFilterSection("priority"),["stop","prevent"]))},o(g.$t("Clear"))+" ("+o(g.getFilterSectionCount("priority"))+") ",1)):y("",!0)])]),i("div",Gy,[l(V,{modelValue:m.priority,"onUpdate:modelValue":t[19]||(t[19]=e=>m.priority=e),onChange:t[20]||(t[20]=e=>g.filter()),class:"fbs_filter_priority_options"},{default:n(()=>[(s(!0),a(r,null,d(g.priorityFilterOptions,e=>(s(),c(C,{key:e.key,class:"fbs_mr_0 fbs_ml_0",value:e.key},{default:n(()=>[i("span",{class:k(["fbs_priority_badge","fbs_priority_badge_"+e.styleKey])},[i("span",qy,[l(f,{"icon-name":"priority-"+e.styleKey},null,8,["icon-name"])]),i("span",Wy,o(e.label),1)],2)]),_:2},1032,["value"]))),128))]),_:1},8,["modelValue"])])]),e.appVars.fluent_crm_exists?(s(),a("section",Ky,[i("div",Zy,[i("span",Yy,[i("span",Jy,o(g.$t("CRM Contacts")),1),g.getFilterSectionCount("crm_contacts")?(s(),a("button",{key:0,type:"button",class:"fbs_filter_segment_clear",onClick:t[21]||(t[21]=h(e=>g.clearFilterSection("crm_contacts"),["stop","prevent"]))},o(g.$t("Clear"))+" ("+o(g.getFilterSectionCount("crm_contacts"))+") ",1)):y("",!0)])]),i("div",Qy,[l($,{modelValue:m.selectedCrmContactId,"onUpdate:modelValue":t[22]||(t[22]=e=>m.selectedCrmContactId=e),multiple:"",clearable:"","collapse-tags":"",filterable:"","popper-class":"fbs_filter_assignee_select_popper",placeholder:g.$t("Search or Select Contact"),"max-collapse-tags":0,onChange:g.handleContactSelect,onPaste:t[23]||(t[23]=h(()=>{},["stop"]))},{tag:n(()=>[...t[36]||(t[36]=[i("span",null,null,-1)])]),default:n(()=>[(s(!0),a(r,null,d(m.crmContacts,e=>(s(),c(T,{key:e.id,label:e.display_name,value:e.id},{default:n(()=>[i("div",Xy,[i("img",{width:"30px",height:"30px",src:e.photo},null,8,ew),i("p",null,o(e.display_name),1)])]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","placeholder","onChange"]),g.selectedContactMembers.length?(s(),a("div",tw,[(s(!0),a(r,null,d(g.selectedContactMembers,e=>(s(),a("button",{key:e.id,type:"button",class:"fbs_filter_selected_assignee",onClick:t=>g.removeSelectedContact(e.id)},[i("img",{src:e.photo,alt:e.display_name},null,8,aw),i("span",null,o(e.display_name),1),t[37]||(t[37]=i("span",{"aria-hidden":"true",class:"fbs_filter_selected_assignee_remove"},"×",-1))],8,sw))),128))])):y("",!0)])])):y("",!0),m.boardLabels.length?(s(),a("section",iw,[i("div",ow,[i("span",lw,[i("span",nw,o(g.$t("Labels")),1),g.getFilterSectionCount("labels")?(s(),a("button",{key:0,type:"button",class:"fbs_filter_segment_clear",onClick:t[24]||(t[24]=h(e=>g.clearFilterSection("labels"),["stop","prevent"]))},o(g.$t("Clear"))+" ("+o(g.getFilterSectionCount("labels"))+") ",1)):y("",!0)])]),i("div",rw,[l(V,{modelValue:m.labels,"onUpdate:modelValue":t[25]||(t[25]=e=>m.labels=e),onChange:t[26]||(t[26]=e=>g.filter()),class:"d-flex flex-column gap-12 fbs-w-full"},{default:n(()=>[l(C,{value:"no-label",class:"fbs_mr_0 fbs_ml_0"},{default:n(()=>[...t[38]||(t[38]=[i("span",{class:"fbs_task_card_label fbs_task_card_label_empty"},null,-1)])]),_:1}),(s(!0),a(r,null,d(m.boardLabels,(e,t)=>(s(),c(C,{value:e.id,key:t,class:"fbs_ml_0 fbs_mr_0"},{default:n(()=>[l(v,{effect:"dark",content:e.title??"No title",placement:"top"},{default:n(()=>[i("div",{class:k(["fbs_task_card_label",{fbs_task_card_label_empty:!e.title}]),style:S({"--fbs-label-dot-color":e.bg_color||"var(--fbs-folder-accent)"}),title:e.title?e.title:g.$t("Title not found")},[e.title?(s(),a("span",cw,o(e.title),1)):y("",!0)],14,dw)]),_:2},1032,["content"])]),_:2},1032,["value"]))),128))]),_:1},8,["modelValue"])])])):y("",!0),e.appVars.has_pro&&e.board.custom_fields.length?(s(),a("section",hw,[i("div",uw,[i("span",pw,[i("span",mw,o(g.$t("Custom Fields")),1),g.getFilterSectionCount("custom_fields")?(s(),a("button",{key:0,type:"button",class:"fbs_filter_segment_clear",onClick:t[27]||(t[27]=h(e=>g.clearFilterSection("custom_fields"),["stop","prevent"]))},o(g.$t("Clear"))+" ("+o(g.getFilterSectionCount("custom_fields"))+") ",1)):y("",!0)])]),i("div",bw,[l(V,{modelValue:m.custom_fields,"onUpdate:modelValue":t[28]||(t[28]=e=>m.custom_fields=e),onChange:t[29]||(t[29]=e=>g.filter()),class:"d-flex flex-column gap-12 fbs-w-full"},{default:n(()=>[l(C,{value:"no-custom-field",class:"fbs_mr_0 fbs_ml_0"},{default:n(()=>[i("span",null,o(g.$t("No Custom Field")),1)]),_:1}),(s(!0),a(r,null,d(e.board.custom_fields,(e,t)=>(s(),c(C,{value:e.id,key:t,class:"fbs_mr_0 fbs_ml_0"},{default:n(()=>[i("span",null,o(e.title),1)]),_:2},1032,["value"]))),128))]),_:1},8,["modelValue"])])])):y("",!0)])]),_:1},8,["modelValue","direction"])])}]]),fw={key:0,class:"fbs_board_all_members"},_w={class:"fbs_board_members_section_title"},kw={class:"fbs_board_all_members_list"},vw={class:"fbs_board_member_img"},yw=["src","alt"],ww={class:"fbs_board_member_info"},Cw={class:"fbs_board_member_info_email"},Tw={key:0,class:"fbs_board_member_actions"},Sw=["onClick","title"],$w={key:1,class:"fbs_board_member_not_found"};const Vw={key:0,class:"fbs_board_all_members"},Aw={key:0,class:"fbs_pending_header"},Iw={class:"fbs_board_all_members_list"},Dw={class:"fbs_board_invitation_avatar"},Bw=["src","alt"],Lw={key:1,width:"22",height:"22",viewBox:"0 0 22 22",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false"},Mw={class:"fbs_invitation_email"},xw={class:"fbs_invitation_actions"},Pw=["aria-label"];const Fw={name:"BoardMembers",components:{ConfirmationDialog:Za,EmptyState:Vs,AssigneeTooltip:da,AdminList:Ss({name:"_AdminList",components:{AssigneeTooltip:da},props:["boardId","admins"],data:()=>({}),computed:{isBoardManagerOrAdmin(){return!!this.$isBoardManager(this.boardId)||!!this.$isAdmin()}},methods:{adminAccessLabel(e){return e.is_wpadmin?this.$t("WordPress Admin"):(e.is_super,this.$t("FBS Admin"))},addToBoardMemberOfParent(e){this.$parent.addToBoardMember(e)}}},[["render",function(e,t,n,c,h,u){const p=b("assignee-tooltip");return u.isBoardManagerOrAdmin?(s(),a("div",fw,[i("h3",_w,o(e.$t("Also Has Access")),1),i("div",kw,[n.admins.length?(s(!0),a(r,{key:0},d(n.admins,(n,r)=>(s(),a("div",{class:"fbs_board_member_card",key:r},[i("div",vw,[i("img",{src:n.photo,alt:n.display_name},null,8,yw),l(p,{img:n.photo,name:n.display_name,email:n.user_email,profileLink:"/member/"+n.ID},null,8,["img","name","email","profileLink"])]),i("div",ww,[i("p",null,o(n.display_name),1),i("span",Cw,o(n.email),1)]),e.appVars.has_pro?(s(),a("div",Tw,[i("button",{class:"fbs_board_access_badge",type:"button",onClick:e=>u.addToBoardMemberOfParent(n.ID),title:e.$t("Add to Board")},[t[0]||(t[0]=i("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false"},[i("path",{d:"M6 1L10 2.5V5.4C10 7.95 8.31 10.34 6 11C3.69 10.34 2 7.95 2 5.4V2.5L6 1ZM6 2.08L3 3.2V5.4C3 7.34 4.23 9.18 6 9.95C7.77 9.18 9 7.34 9 5.4V3.2L6 2.08ZM7.78 4.34L8.49 5.05L5.65 7.89L4.03 6.27L4.74 5.56L5.65 6.48L7.78 4.34Z",fill:"currentColor"})],-1)),w(" "+o(u.adminAccessLabel(n)),1)],8,Sw)])):y("",!0)]))),128)):(s(),a("div",$w,[i("span",null,o(e.$t("No Other Members")),1)]))])])):y("",!0)}]]),InviteExternal:Ss({name:"_InviteExternal",props:["boardId"],data:()=>({errorInvitation:!1,activeInvitations:[],loading:!1}),computed:{isBoardManagerOrAdmin(){return!!this.$isBoardManager(this.boardId)||!!this.$isAdmin()}},methods:{invitationName(e){var t,s;return(null==(t=null==e?void 0:e.value)?void 0:t.name)||(null==(s=null==e?void 0:e.value)?void 0:s.email)||this.$t("Pending Invitation")},invitationAvatar(e){var t,s;return(null==(t=null==e?void 0:e.value)?void 0:t.photo)||(null==(s=null==e?void 0:e.value)?void 0:s.avatar)||""},getActiveInvitations(){this.$get("projects/"+this.boardId+"/all-invitations").then(e=>{this.activeInvitations=null,this.activeInvitations=e.invitations}).catch(e=>{this.$handleError(e)}).finally(()=>{})},sendInvitation(e=null){this.$post("projects/"+this.boardId+"/send-invitation",{email:e}).then(e=>{this.$notify.success({title:this.$t("Success"),message:e.message}),this.emitter.emit("invitation-sent"),this.getActiveInvitations()}).catch(e=>{this.$handleError(e)}).finally(()=>{this.emitter.emit("invitation-sent")})},resendInvitation(e){this.sendInvitation(e)},deleteInvitation(e){this.$del("projects/"+this.boardId+"/invitation/"+e).then(e=>{this.$notify.success({title:"Success",message:e.message}),this.getActiveInvitations()}).catch(e=>{this.$handleError(e)}).finally(()=>{})}},mounted(){this.appVars.has_pro&&this.getActiveInvitations(),this.emitter.on("invitation-added",()=>{this.getActiveInvitations()})},beforeUnmount(){this.emitter.off("invitation-added")}},[["render",function(e,t,c,h,u,p){const m=xe,b=Me,g=Pe;return e.appVars.has_pro?(s(),a("div",Vw,[u.activeInvitations.length?(s(),a("div",Aw,[i("span",null,o(e.$t("Pending Invitation")),1)])):y("",!0),i("div",Iw,[(s(!0),a(r,null,d(u.activeInvitations,(r,d)=>(s(),a("div",{class:"fbs_board_invitation_card",key:d},[i("div",Dw,[p.invitationAvatar(r)?(s(),a("img",{key:0,src:p.invitationAvatar(r),alt:p.invitationName(r)},null,8,Bw)):(s(),a("svg",Lw,[...t[0]||(t[0]=[i("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M3.75 5.25L3 6V18L3.75 18.75H20.25L21 18V6L20.25 5.25H3.75ZM4.5 7.6955V17.25H19.5V7.69525L11.9999 14.5136L4.5 7.6955ZM18.3099 6.75H5.68986L11.9999 12.4864L18.3099 6.75Z",fill:"currentColor"},null,-1)])]))]),i("div",Mw,[i("p",null,o(p.invitationName(r)),1),i("span",null,o(r.value.email),1)]),i("div",xw,[l(g,{trigger:"click",placement:"bottom-start","popper-class":"fbs_board_invitation_dropdown"},{dropdown:n(()=>[l(b,null,{default:n(()=>[l(m,{icon:"RefreshLeft",onClick:e=>p.resendInvitation(r.value.email)},{default:n(()=>[w(o(e.$t("Resend")),1)]),_:1},8,["onClick"]),l(m,{icon:"Delete",onClick:e=>p.deleteInvitation(r.id)},{default:n(()=>[w(o(e.$t("Delete")),1)]),_:1},8,["onClick"])]),_:2},1024)]),default:n(()=>[i("button",{type:"button",class:"fbs_board_invitation_more","aria-label":e.$t("Pending Invitation")},[...t[1]||(t[1]=[i("svg",{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false"},[i("path",{d:"M10 3.25C9.38125 3.25 8.875 3.75625 8.875 4.375C8.875 4.99375 9.38125 5.5 10 5.5C10.6187 5.5 11.125 4.99375 11.125 4.375C11.125 3.75625 10.6187 3.25 10 3.25ZM10 14.5C9.38125 14.5 8.875 15.0063 8.875 15.625C8.875 16.2438 9.38125 16.75 10 16.75C10.6187 16.75 11.125 16.2438 11.125 15.625C11.125 15.0063 10.6187 14.5 10 14.5ZM10 8.875C9.38125 8.875 8.875 9.38125 8.875 10C8.875 10.6188 9.38125 11.125 10 11.125C10.6187 11.125 11.125 10.6188 11.125 10C11.125 9.38125 10.6187 8.875 10 8.875Z",fill:"#0E121B"})],-1)])],8,Pw)]),_:2},1024)])]))),128))])])):y("",!0)}]])},props:["boardId"],inject:["boardMemberUpdated"],data(){return{boardMembers:[],admins:[],members:[],current_member_ids:[],member_id:null,already_member:!1,IsAnyAdminInBoard:!1,myId:this.appVars.me.id,removeDialogVisible:!1,IdToRemove:null,showInviteEssentials:!1,showSearchResults:!1,activeInvitations:[],errorInvitation:!1,wordpressUser:[],wpUsersLoading:!1,boardUsersLoading:!1,addLoader:!1,removeMemberLoading:!1,invalidEmail:!1,searchBoardMembersInput:"",boardMemberSearchFuse:null,boardMemberSearchDebounce:C.debounce(this.searchBoardMembers,300),searching:!1,emailToInvite:"",selectedMemberEmail:"",selectedMember:null,selectedMemberRole:"manager",inviteRole:"manager",isViewerOnly:!1}},computed:{...m(js,["board","alreadyLabels"]),isBoardManagerOrAdmin(){return!!this.$isBoardManager(this.boardId)||!!this.$isAdmin()},isMemberOrViewer(){return!this.isBoardManagerOrAdmin},searchResultsTitle(){return this.appVars.has_pro?this.$t("WordPress Users"):this.$t("WordPress Admins")},noWordpressUserMessage(){return this.appVars.has_pro?"No user found with your query. Add email address to invite":"No user found with your query."},hasSelectedMember(){return!!this.selectedMember&&!!this.member_id&&this.emailToInvite===this.selectedMemberEmail},hasActiveAddState(){return this.hasSelectedMember||this.showInviteEssentials},boardMembersEmptyMessage(){return this.searching?"No Match Found":"No Board Members"},removeMemberConfirmationMessage(){return[this.$t("You are about to remove this member from board."),this.$t("User will be unable to access this board depending on their role. WP Admins & FluentBoards Admins can still access this board.")].join(" ")},removeMemberConfirmText(){return this.IdToRemove==this.appVars.me.id?this.$t("Leave board"):this.$t("Remove from Board")}},watch:{emailToInvite(e,t){e!==this.selectedMemberEmail&&(this.member_id=null,this.selectedMemberEmail="",this.selectedMember=null,this.selectedMemberRole="manager"),this.getWordpressUser(e)}},methods:{isVisibleDropdown(e){return!!this.isBoardManagerOrAdmin||this.appVars.me.id==e.ID},roleDisplayName(e){return"manager"===e?this.$t("Manager"):"viewer"===e?this.$t("Viewer"):"admin"===e?this.$t("Admin"):this.$t("Member")},rolePermissionDescription(e){return"manager"===e?this.$t("Full control of this board"):"viewer"===e?this.$t("View-only access"):this.$t("Can create and edit tasks")},setInviteRole(e){["manager","member","viewer"].includes(e)&&(this.inviteRole=e)},setSelectedMemberRole(e){["manager","member","viewer"].includes(e)&&(this.selectedMemberRole=e)},onFocusSearch(){this.showSearchResults=!0,this.getWordpressUser(this.emailToInvite)},onBlurSearch(e){"results"!=e&&setTimeout(()=>{this.showSearchResults=!1},200)},onClickEachResults(e){this.member_id=e.id,this.selectedMemberEmail=e.email,this.selectedMember=e,this.selectedMemberRole="manager",this.emailToInvite=e.email,this.showInviteEssentials=!1,this.showSearchResults=!1},addSelectedMember(){if(!this.hasSelectedMember||this.addLoader)return;this.boardMembers.some(e=>e.ID==this.member_id)?this.$notify.warning({title:this.$t("Warning"),message:this.$t("Already member!")}):(this.addLoader=!0,this.$post("projects/"+this.boardId+"/add-members/",{memberId:this.member_id,isViewerOnly:"viewer"===this.selectedMemberRole?"yes":null}).then(e=>"manager"!==this.selectedMemberRole?e:this.$post("projects/"+this.boardId+"/user/"+this.member_id+"/make-manager").then(()=>e)).then(e=>{this.$notify.success({title:this.$t("Success"),message:e.message}),this.getBoardUsers()}).catch(e=>{this.$handleError(e)}).finally(()=>{this.emailToInvite="",this.member_id=null,this.selectedMemberEmail="",this.selectedMember=null,this.selectedMemberRole="manager",this.addLoader=!1}))},addMembers(){var e;if(!this.isBoardManagerOrAdmin)return;if(this.member_id=null==(e=this.wordpressUser.find(e=>e.email===this.emailToInvite))?void 0:e.id,!this.member_id&&!this.isValidEmail(this.emailToInvite))return void this.$notify.warning({title:this.$t("Warning"),message:this.$t("Please select a member!")});const t=this.boardMembers.some(e=>e.ID==this.member_id);if(this.member_id&&t){let e=document.getElementById("each_member_div_"+this.member_id);return e.style.backgroundColor="#ffe20626",setTimeout(()=>{e.style.backgroundColor=""},2e3),void this.$notify.warning({title:this.$t("Warning"),message:this.$t("Already member!")})}!this.member_id&&this.isValidEmail(this.emailToInvite)?this.sendInvitation():this.addToBoardMember(this.member_id)},sendInvitation(){if(!this.appVars.has_pro)return this.$notify.warning({title:this.$t("Warning"),message:this.$t("This is a pro feature!")}),void(this.emailToInvite="");confirm(this.emailToInvite+this.$t(" is not registered user of this site. Are you sure to proceed?"))&&(this.addLoader=!0,this.$post("projects/"+this.boardId+"/send-invitation",{email:this.emailToInvite,role:this.inviteRole}).then(e=>{this.$notify.success({title:"Success",message:e.message}),this.emailToInvite="",this.getBoardUsers(),this.emitter.emit("invitation-added")}).catch(e=>{this.$handleError(e)}).finally(()=>{this.addLoader=!1}))},isValidEmail(e){return this.$validateEmail(e)},addToBoardMember(e){this.$post("projects/"+this.boardId+"/add-members/",{memberId:e,isViewerOnly:this.isViewerOnly?"yes":null}).then(e=>{this.$notify.success({title:"Success",message:e.message}),this.getBoardUsers()}).catch(e=>{this.$handleError(e)}).finally(()=>{this.emailToInvite="",this.member_id=null,this.selectedMemberEmail=""})},getWordpressUser(e){this.isBoardManagerOrAdmin&&(this.wpUsersLoading=!0,this.$get("ajax-options",{option_key:"users",search:e,board_id:this.boardId,values:this.member_id}).then(t=>{this.wordpressUser=t.options,this.wordpressUser.length&&(this.showInviteEssentials=!1),e&&!this.wordpressUser.length&&this.appVars.has_pro&&e.length>0&&(this.isValidEmail(e)?this.showInviteEssentials=!0:this.showInviteEssentials=!1),this.wpUsersLoading=!1}).catch(e=>{this.$handleError(e),this.wpUsersLoading=!1}))},getBoardUsers(){this.boardUsersLoading=!0,this.$get("projects/"+this.boardId+"/users").then(e=>{this.boardMembers=e.users,this.members=e.users,this.admins=e.global_admins,window["fbs_board_members_"+this.boardId]=e.users,window["fbs_board_admins_"+this.boardId]=e.global_admins,this.updateBoardUserInWindow()}).catch(e=>{this.$handleError(e)}).finally(()=>{this.setFuseForSearch(),this.searchBoardMembers(),this.boardUsersLoading=!1})},updateBoardUserInWindow(){this.current_member_ids=this.boardMembers.map(e=>e.ID),this.wordpressUser=this.wordpressUser.filter(e=>!this.current_member_ids.includes(e.id)),window["fbs_board_members_"+this.boardId]=this.boardMembers,this.boardMemberUpdated()},makeManager(e){this.appVars.has_pro&&this.$post("projects/"+this.boardId+"/user/"+e+"/make-manager").then(e=>{this.$notify.success({title:this.$t("Success"),message:e.message}),this.getBoardUsers()}).catch(e=>{this.$handleError(e)}).finally(()=>{})},removeManager(e){this.appVars.has_pro&&this.$post("projects/"+this.boardId+"/user/"+e+"/remove-manager").then(e=>{this.$notify.success({title:this.$t("Success"),message:e.message}),this.getBoardUsers()}).catch(e=>{this.$handleError(e)}).finally(()=>{})},removeDialogOpen(e){this.removeDialogVisible=!0,this.IdToRemove=e},removeMember(){this.removeMemberLoading||(this.removeMemberLoading=!0,this.$post("projects/"+this.boardId+"/user/"+this.IdToRemove+"/remove").then(e=>{this.$notify.success({title:this.$t("Success"),message:e.message}),this.removeDialogVisible=!1,this.removeBoardMember(this.IdToRemove),this.IdToRemove==this.appVars.me.id?this.$router.push({name:"boards",path:"\boards"}):this.getBoardUsers()}).catch(e=>{this.handleError(e)}).finally(()=>{this.removeMemberLoading=!1,this.IdToRemove!=this.appVars.me.id&&this.$router.push({path:this.$route.fullPath,query:{reload:!0}})}))},removeBoardMember(e){this.boardMembers=this.boardMembers.filter(t=>t.ID!=e),this.updateBoardUserInWindow()},cancelRemoveMember(){this.removeMemberLoading||(this.removeDialogVisible=!1,this.IdToRemove=null)},isManager:e=>"manager"==e.role,isViewer:e=>"viewer"===e.role,isMember:e=>"member"===e.role,clearSelect(){this.invalidEmail=!1,this.member_id=null},setFuseForSearch(){this.boardMemberSearchFuse=new T(this.boardMembers,{keys:["display_name","email"],threshold:.3})},searchBoardMembers(){if(this.searching=!0,""===this.searchBoardMembersInput.trim())this.members=this.boardMembers,this.searching=!1;else{let e=this.boardMemberSearchFuse.search(this.searchBoardMembersInput);this.members=e.map(e=>e.item)}},onInvitationSent(){this.addLoader=!1,this.emailToInvite="",this.showInviteEssentials=!1},makeViewer(e){this.appVars.has_pro&&this.$post("projects/"+this.boardId+"/user/"+e+"/make-viewer").then(e=>{this.$notify.success({title:"Success",message:e.message}),this.getBoardUsers()}).catch(e=>{this.handleError(e)}).finally(()=>{})},makeMember(e){this.appVars.has_pro&&this.$post("projects/"+this.boardId+"/user/"+e+"/make-member").then(e=>{this.$notify.success({title:"Success",message:e.message}),this.getBoardUsers()}).catch(e=>{this.handleError(e)}).finally(()=>{})}},created(){this.getWordpressUser=C.debounce(this.getWordpressUser,300)},mounted(){this.getBoardUsers(),this.emitter.on("invitation-sent",()=>{this.onInvitationSent()})},beforeUnmount(){this.emitter.off("invitation-sent")}},Ew={class:"fbs_board_members_container"},Uw={class:"fbs_board_members_scroll fbs_board_members_column"},Ow={key:0,class:"fbs_board_member_add_section"},Rw={class:"fbs_board_member_field_label",for:"fbs-board-member-search"},Nw={class:"fbs_board_member_add"},Hw=["disabled","placeholder"],jw={key:1,class:"fbs-user-search-list-group"},zw=["onClick"],Gw=["src","alt"],qw={key:0},Ww={key:2,class:"fbs_board_member_empty_search"},Kw={key:1,class:"fbs_board_invite_inline"},Zw={class:"fbs_board_invite_inline_text"},Yw={class:"fbs_board_invite_inline_actions"},Jw={type:"button",class:"fbs_board_invite_role_button"},Qw={class:"fbs_board_permission_option"},Xw={class:"fbs_board_permission_option_title"},eC={class:"fbs_board_permission_option_description"},tC={class:"fbs_board_permission_option"},sC={class:"fbs_board_permission_option_title"},aC={class:"fbs_board_permission_option_description"},iC={class:"fbs_board_permission_option"},oC={class:"fbs_board_permission_option_title"},lC={class:"fbs_board_permission_option_description"},nC=["disabled"],rC={key:2,class:"fbs_board_selected_member_card"},dC={class:"fbs_board_member_img"},cC=["src","alt"],hC={class:"fbs_board_member_info"},uC={class:"fbs_board_member_info_email"},pC={class:"fbs_board_member_actions"},mC={type:"button",class:"fbs_board_invite_role_button"},bC={class:"fbs_board_permission_option"},gC={class:"fbs_board_permission_option_title"},fC={class:"fbs_board_permission_option_description"},_C={class:"fbs_board_permission_option"},kC={class:"fbs_board_permission_option_title"},vC={class:"fbs_board_permission_option_description"},yC={class:"fbs_board_permission_option"},wC={class:"fbs_board_permission_option_title"},CC={class:"fbs_board_permission_option_description"},TC=["disabled"],SC={key:3,class:"fbs_board_members_section"},$C={class:"fbs_board_members_section_title"},VC={key:1,class:"fbs_board_all_members_list"},AC=["id"],IC={class:"fbs_board_member_img"},DC=["src","alt"],BC={class:"fbs_board_member_info"},LC={class:"fbs_board_member_info_email"},MC={key:0,class:"fbs_board_member_actions"},xC={type:"button",class:"fbs_board_share_button"},PC={key:0},FC={key:1},EC={key:1,class:"fbs_board_member_not_found"};const UC=Ss(Fw,[["render",function(e,t,h,u,p,m){const _=At,k=b("empty-state"),C=je,T=b("ArrowDownBold"),S=Ne,$=xe,V=Me,A=Pe,I=b("assignee-tooltip"),D=b("admin-list"),B=b("invite-external"),L=b("confirmation-dialog"),M=g("loading");return s(),a("div",Ew,[i("div",Uw,[e.board.archived_at?y("",!0):(s(),a("div",Ow,[i("label",Rw,[w(o(e.$t("Board Members"))+" ",1),t[7]||(t[7]=i("span",{"aria-hidden":"true"},"*",-1))]),l(C,{visible:p.showSearchResults&&!p.showInviteEssentials,placement:"bottom-start",width:"600","popper-class":"fbs-user-search-popover fbs-board-member-search-popover"},{reference:n(()=>[f((s(),a("div",Nw,[f(i("input",{id:"fbs-board-member-search",ref:"inviteMember","onUpdate:modelValue":t[0]||(t[0]=e=>p.emailToInvite=e),disabled:!m.isBoardManagerOrAdmin,placeholder:e.$t("Search members or invite by email"),type:"text",class:"fbs-board-member-input",onFocus:t[1]||(t[1]=(...e)=>m.onFocusSearch&&m.onFocusSearch(...e)),onBlur:t[2]||(t[2]=e=>m.onBlurSearch("input"))},null,40,Hw),[[v,p.emailToInvite]])])),[[M,p.addLoader]])]),default:n(()=>[i("div",{ref:"searchResultsDiv",class:"fbs_board_member_search_results",onMouseout:t[3]||(t[3]=e=>m.onBlurSearch("results"))},[i("h3",null,o(m.searchResultsTitle),1),p.wpUsersLoading?(s(),c(_,{key:0,animated:"",rows:3,throttle:300})):y("",!0),p.wordpressUser.length>0?(s(),a("ul",jw,[(s(!0),a(r,null,d(p.wordpressUser,e=>(s(),a("li",{key:e.id,class:"fb-search-user-list",onClick:t=>m.onClickEachResults(e)},[i("img",{width:"30",height:"30",src:e.photo,alt:e.name},null,8,Gw),i("span",null,o(e.name),1),e.email?(s(),a("span",qw,"("+o(e.email)+")",1)):y("",!0)],8,zw))),128))])):(s(),a("div",Ww,[l(k,{message:m.noWordpressUserMessage,"icon-width":72,"icon-height":56},null,8,["message"])]))],544)]),_:1},8,["visible"])])),p.showInviteEssentials?(s(),a("div",Kw,[i("div",Zw,o(e.$t("Invite"))+" “"+o(p.emailToInvite)+"” "+o(e.$t("as")),1),i("div",Yw,[l(A,{trigger:"click",placement:"bottom-start","popper-class":"fbs_popover fbs_board_invite_role_dropdown",onCommand:m.setInviteRole},{dropdown:n(()=>[l(V,null,{default:n(()=>[l($,{command:"manager"},{default:n(()=>[i("span",Qw,[i("span",Xw,o(e.$t("Manager")),1),i("span",eC,o(m.rolePermissionDescription("manager")),1)])]),_:1}),l($,{command:"member"},{default:n(()=>[i("span",tC,[i("span",sC,o(e.$t("Member")),1),i("span",aC,o(m.rolePermissionDescription("member")),1)])]),_:1}),l($,{command:"viewer"},{default:n(()=>[i("span",iC,[i("span",oC,o(e.$t("Viewer")),1),i("span",lC,o(m.rolePermissionDescription("viewer")),1)])]),_:1})]),_:1})]),default:n(()=>[i("button",Jw,[i("span",null,o(m.roleDisplayName(p.inviteRole)),1),l(S,null,{default:n(()=>[l(T)]),_:1})])]),_:1},8,["onCommand"]),i("button",{type:"button",class:"fbs_board_invite_submit",disabled:p.addLoader,onClick:t[4]||(t[4]=(...e)=>m.sendInvitation&&m.sendInvitation(...e))},o(e.$t("Invite")),9,nC)])])):y("",!0),m.hasSelectedMember?(s(),a("div",rC,[i("div",dC,[i("img",{src:p.selectedMember.photo,alt:p.selectedMember.name},null,8,cC)]),i("div",hC,[i("p",null,o(p.selectedMember.name),1),i("span",uC,o(p.selectedMember.email),1)]),i("div",pC,[l(A,{trigger:"click",placement:"bottom-start","popper-class":"fbs_popover fbs_board_invite_role_dropdown",onCommand:m.setSelectedMemberRole},{dropdown:n(()=>[l(V,null,{default:n(()=>[l($,{command:"manager"},{default:n(()=>[i("span",bC,[i("span",gC,o(e.$t("Manager")),1),i("span",fC,o(m.rolePermissionDescription("manager")),1)])]),_:1}),l($,{command:"member"},{default:n(()=>[i("span",_C,[i("span",kC,o(e.$t("Member")),1),i("span",vC,o(m.rolePermissionDescription("member")),1)])]),_:1}),l($,{command:"viewer"},{default:n(()=>[i("span",yC,[i("span",wC,o(e.$t("Viewer")),1),i("span",CC,o(m.rolePermissionDescription("viewer")),1)])]),_:1})]),_:1})]),default:n(()=>[i("button",mC,[i("span",null,o(m.roleDisplayName(p.selectedMemberRole)),1),l(S,null,{default:n(()=>[l(T)]),_:1})])]),_:1},8,["onCommand"]),i("button",{type:"button",class:"fbs_board_invite_submit fbs_board_add_member_submit",disabled:p.addLoader,onClick:t[5]||(t[5]=(...e)=>m.addSelectedMember&&m.addSelectedMember(...e))},o(e.$t("Add member")),9,TC)])])):y("",!0),m.hasActiveAddState?y("",!0):(s(),a("div",SC,[i("h3",$C,o(e.$t("Members")),1),p.boardUsersLoading?(s(),c(_,{key:0,animated:"",rows:6})):(s(),a("div",VC,[p.members.length?(s(!0),a(r,{key:0},d(p.members,t=>(s(),a("div",{id:"each_member_div_"+t.ID,key:t.ID,class:"fbs_board_member_card"},[i("div",IC,[i("img",{src:t.photo,alt:t.display_name},null,8,DC),l(I,{img:t.photo,name:t.display_name,email:t.user_email,profileLink:"/member/"+t.ID},null,8,["img","name","email","profileLink"])]),i("div",BC,[i("p",null,o(t.display_name),1),i("span",LC,o(t.email),1)]),e.appVars.has_pro&&!e.board.archived_at&&m.isVisibleDropdown(t)?(s(),a("div",MC,[l(A,{trigger:"click",placement:"bottom-start","popper-class":"fbs_popover fbs_board_member_role_dropdown",title:e.appVars.has_pro?"":e.$t("This is a pro feature"),disabled:e.board.isUserOnlyViewer},{dropdown:n(()=>[m.isBoardManagerOrAdmin?(s(),c(V,{key:0},{default:n(()=>[!m.isManager(t)&&m.isBoardManagerOrAdmin?(s(),c($,{key:0,onClick:e=>m.makeManager(t.ID)},{default:n(()=>[w(o(e.$t("Promote to Manager")),1)]),_:1},8,["onClick"])):y("",!0),m.isManager(t)&&m.isBoardManagerOrAdmin?(s(),c($,{key:1,onClick:e=>m.removeManager(t.ID)},{default:n(()=>[w(o(e.$t("Demote from Manager")),1)]),_:1},8,["onClick"])):y("",!0),!m.isMember(t)&&m.isBoardManagerOrAdmin?(s(),c($,{key:2,onClick:e=>m.makeMember(t.ID)},{default:n(()=>[w(o(e.$t("Make Member")),1)]),_:1},8,["onClick"])):y("",!0),!m.isViewer(t)&&m.isBoardManagerOrAdmin?(s(),c($,{key:3,onClick:e=>m.makeViewer(t.ID)},{default:n(()=>[w(o(e.$t("Make Viewer")),1)]),_:1},8,["onClick"])):y("",!0),l($,{onClick:e=>m.removeDialogOpen(t.ID)},{default:n(()=>[this.appVars.me.id==t.ID?(s(),a("span",PC,o(e.$t("Leave board")),1)):(s(),a("span",FC,o(e.$t("Remove from Board")),1))]),_:2},1032,["onClick"])]),_:2},1024)):(s(),c(V,{key:1},{default:n(()=>[this.appVars.me.id==t.ID?(s(),c($,{key:0,onClick:e=>m.removeDialogOpen(t.ID)},{default:n(()=>[i("span",null,o(e.$t("Leave board")),1)]),_:1},8,["onClick"])):(s(),c($,{key:1},{default:n(()=>[i("span",null,o(m.roleDisplayName(t.role)),1)]),_:2},1024))]),_:2},1024))]),default:n(()=>[i("button",xC,[i("span",null,o(m.roleDisplayName(t.role)),1),l(S,null,{default:n(()=>[l(T)]),_:1})])]),_:2},1032,["title","disabled"])])):y("",!0)],8,AC))),128)):(s(),a("div",EC,[l(k,{message:m.boardMembersEmptyMessage,"icon-width":72,"icon-height":56},null,8,["message"])]))]))])),!m.hasActiveAddState&&p.admins.length>0?(s(),c(D,{key:4,boardId:h.boardId,admins:p.admins},null,8,["boardId","admins"])):y("",!0),!m.hasActiveAddState&&m.isBoardManagerOrAdmin?(s(),c(B,{key:5,boardId:h.boardId},null,8,["boardId"])):y("",!0)]),l(L,{"dialog-visible":p.removeDialogVisible,loading:p.removeMemberLoading,title:e.$t("Confirmation Required"),message:m.removeMemberConfirmationMessage,"confirm-text":m.removeMemberConfirmText,onConfirm:m.removeMember,onCancel:t[6]||(t[6]=e=>m.cancelRemoveMember())},null,8,["dialog-visible","loading","title","message","confirm-text","onConfirm"])])}]]),OC={name:"GradientPicker",components:{ColorPicker:yi},props:{modelValue:{type:String,required:!0,default:""},dialogVisible:{type:Boolean,required:!0}},data:()=>({gradientType:"linear",linearAngle:90,radialShape:"ellipse",radialSize:"farthest-corner",conicAngle:0,colorStops:[{color:"#ff0000",position:0},{color:"#0000ff",position:100}],activeColorStopIndex:null,recommendedColors:["#6B7280","#335CFF","#F97316","#FF3B4A","#25C16F","#F2B51D","#7C4DFF","#47B6E8"]}),methods:{addColorStop(e){const t=this.colorStops[e]||{position:0},s=this.colorStops[e+1]||{position:100},a=Math.round((Number(t.position)+Number(s.position))/2);this.colorStops.splice(e+1,0,{color:"#FFFFFF",position:a}),this.updateGradient(),this.activeColorStopIndex=e+1},removeColorStop(e){this.colorStops.length<=2||(this.colorStops.splice(e,1),this.activeColorStopIndex===e?this.activeColorStopIndex=null:this.activeColorStopIndex>e&&(this.activeColorStopIndex-=1),this.updateGradient())},updateGradient(){const e=this.colorStops.map(e=>`${e.color} ${e.position}%`).join(", ");let t="";"linear"===this.gradientType?t=`linear-gradient(${this.linearAngle}deg, ${e})`:"radial"===this.gradientType?t=`radial-gradient(${this.radialShape} ${this.radialSize}, ${e})`:"conic"===this.gradientType&&(t=`conic-gradient(from ${this.conicAngle}deg, ${e})`),this.$emit("update:modelValue",t)},handleColorStopPopoverVisibleChange(e,t){t?this.activeColorStopIndex=e:this.activeColorStopIndex===e&&(this.activeColorStopIndex=null)},updateGradientStopColor(e,t){null!==e&&this.colorStops[e]&&(this.colorStops[e].color=t,this.updateGradient())},getStopColorPreview:e=>e||"#FFFFFF",handleCommandGradientType(e){this.gradientType=e,this.updateGradient()},handleCommandRadialShape(e){this.radialShape=e,this.updateGradient()},handleCommandRadialSize(e){this.radialSize=e,this.updateGradient()},capitalizeFirstLetter:e=>e.replace(/\b\w/g,function(e){return e.toUpperCase()}).replace(/-/g," ")},watch:{dialogVisible(e){e?this.updateGradient():this.activeColorStopIndex=null}},mounted(){this.updateGradient()}},RC={class:"fbs-gradient-picker"},NC={class:"fbs-gradient-controls"},HC={class:"fbs-gradient-type-label"},jC={key:0,class:"fbs-gradient-controls fbs-gradient-angle-control"},zC={class:"fbs-gradient-controls-angle fbs-gradient-type-label"},GC={key:1,class:"fbs-gradient-controls fbs-gradient-radial-control"},qC={class:"fbs-gradient-type-label"},WC={class:"fbs-gradient-capitalize"},KC={class:"fbs-gradient-type-label fbs-gradient-size-label"},ZC={class:"fbs-gradient-capitalize"},YC={key:2,class:"fbs-gradient-controls fbs-gradient-angle-control"},JC={for:"conic-angle",class:"fbs-gradient-controls-angle"},QC={class:"fbs-color-stop-inputs"},XC=["aria-label"];const eT=Ss(OC,[["render",function(e,t,c,h,u,p){const m=b("arrow-down"),g=Ne,f=xe,_=Me,v=Pe,C=Zt,T=Ct,$=b("color-picker"),V=b("Remove"),A=ze,I=b("CirclePlus");return s(),a("div",RC,[i("div",{class:"fbs-gradient-preview",style:S({background:c.modelValue})},null,4),i("div",NC,[i("p",HC,o(e.$t("Gradient Type"))+":",1),l(v,{trigger:"click",onCommand:p.handleCommandGradientType,class:"fbs-gradient-type"},{dropdown:n(()=>[l(_,null,{default:n(()=>[l(f,{command:"linear",disabled:"linear"===u.gradientType},{default:n(()=>[w(o(e.$t("Linear")),1)]),_:1},8,["disabled"]),l(f,{command:"radial",disabled:"radial"===u.gradientType},{default:n(()=>[w(o(e.$t("Radial")),1)]),_:1},8,["disabled"]),l(f,{command:"conic",disabled:"conic"===u.gradientType},{default:n(()=>[w(o(e.$t("Conic")),1)]),_:1},8,["disabled"])]),_:1})]),default:n(()=>[i("span",null,[w(o(p.capitalizeFirstLetter(u.gradientType))+" ",1),l(g,null,{default:n(()=>[l(m)]),_:1})])]),_:1},8,["onCommand"])]),"linear"===u.gradientType?(s(),a("div",jC,[i("p",zC,o(e.$t("Angle"))+":",1),l(C,{modelValue:u.linearAngle,"onUpdate:modelValue":t[0]||(t[0]=e=>u.linearAngle=e),onInput:p.updateGradient,min:0,max:360},null,8,["modelValue","onInput"]),l(T,{modelValue:u.linearAngle,"onUpdate:modelValue":t[1]||(t[1]=e=>u.linearAngle=e),min:0,max:360,onChange:p.updateGradient},null,8,["modelValue","onChange"])])):y("",!0),"radial"===u.gradientType?(s(),a("div",GC,[i("p",qC,o(e.$t("Shape"))+":",1),l(v,{trigger:"click",onCommand:p.handleCommandRadialShape,class:"fbs-gradient-type"},{dropdown:n(()=>[l(_,null,{default:n(()=>[l(f,{command:"ellipse",disabled:"ellipse"===u.radialShape},{default:n(()=>[w(o(e.$t("Ellipse")),1)]),_:1},8,["disabled"]),l(f,{command:"circle",disabled:"circle"===u.radialShape},{default:n(()=>[w(o(e.$t("Circle")),1)]),_:1},8,["disabled"])]),_:1})]),default:n(()=>[i("span",WC,[w(o(u.radialShape)+" ",1),l(g,null,{default:n(()=>[l(m)]),_:1})])]),_:1},8,["onCommand"]),i("p",KC,o(e.$t("Size"))+":",1),l(v,{trigger:"click",onCommand:p.handleCommandRadialSize,class:"fbs-gradient-type"},{dropdown:n(()=>[l(_,null,{default:n(()=>[l(f,{command:"closest-side",disabled:"closest-side"===u.radialSize},{default:n(()=>[w(o(e.$t("Closest Side")),1)]),_:1},8,["disabled"]),l(f,{command:"closest-corner",disabled:"closest-corner"===u.radialSize},{default:n(()=>[w(o(e.$t("Closest Corner")),1)]),_:1},8,["disabled"]),l(f,{command:"farthest-side",disabled:"farthest-side"===u.radialSize},{default:n(()=>[w(o(e.$t("Farthest Side")),1)]),_:1},8,["disabled"]),l(f,{command:"farthest-corner",disabled:"farthest-corner"===u.radialSize},{default:n(()=>[w(o(e.$t("Farthest Corner")),1)]),_:1},8,["disabled"])]),_:1})]),default:n(()=>[i("span",ZC,[w(o(p.capitalizeFirstLetter(u.radialSize))+" ",1),l(g,null,{default:n(()=>[l(m)]),_:1})])]),_:1},8,["onCommand"])])):y("",!0),"conic"===u.gradientType?(s(),a("div",YC,[i("label",JC,o(e.$t("Starting Angle"))+":",1),l(C,{modelValue:u.conicAngle,"onUpdate:modelValue":t[2]||(t[2]=e=>u.conicAngle=e),onInput:p.updateGradient,min:0,max:360},null,8,["modelValue","onInput"]),l(T,{modelValue:u.conicAngle,"onUpdate:modelValue":t[3]||(t[3]=e=>u.conicAngle=e),min:0,max:360,onChange:p.updateGradient,onBlur:p.updateGradient},null,8,["modelValue","onChange","onBlur"])])):y("",!0),i("div",QC,[(s(!0),a(r,null,d(u.colorStops,(t,o)=>(s(),a("div",{key:o,class:"fbs-color-stop"},[l($,{"model-value":t.color,visible:u.activeColorStopIndex===o,placement:e.appVars.is_rtl?"left":"right",teleported:!0,"fallback-color":"#FF0000","recommended-colors":u.recommendedColors,"onUpdate:visible":e=>p.handleColorStopPopoverVisibleChange(o,e),"onUpdate:modelValue":e=>p.updateGradientStopColor(o,e)},{reference:n(()=>[i("button",{type:"button",class:k(["fbs-gradient-stop-color-button",{"is-active":u.activeColorStopIndex===o}]),"aria-label":e.$t("Select Color")},[i("span",{class:"fbs-gradient-stop-color-swatch",style:S({background:p.getStopColorPreview(t.color)})},null,4)],10,XC)]),_:2},1032,["model-value","visible","placement","recommended-colors","onUpdate:visible","onUpdate:modelValue"]),l(C,{modelValue:t.position,"onUpdate:modelValue":e=>t.position=e,onInput:p.updateGradient},null,8,["modelValue","onUpdate:modelValue","onInput"]),l(A,{onClick:e=>p.removeColorStop(o),disabled:u.colorStops.length<=2},{default:n(()=>[l(g,null,{default:n(()=>[l(V)]),_:1})]),_:1},8,["onClick","disabled"]),l(A,{onClick:e=>p.addColorStop(o)},{default:n(()=>[l(g,null,{default:n(()=>[l(I)]),_:1})]),_:1},8,["onClick"])]))),128))])])}]]),tT={class:"fbs_bg_theme_preview"},sT={class:"fbs_bg_theme_preview__title"},aT={class:"fbs_bg_theme_preview__subtitle"},iT={class:"fbs_bg_theme_preview__frames"},oT={class:"fbs_bg_theme_preview__item"},lT={class:"fbs_bg_theme_preview__caption"},nT={class:"fbs_bg_theme_preview__item"},rT={class:"fbs_bg_theme_preview__caption"};const dT=Ss({name:"BoardBackgroundThemePreview",props:{lightColor:{type:String,required:!0},darkColor:{type:String,required:!0}}},[["render",function(e,t,l,n,c,h){return s(),a("div",tT,[i("p",sT,o(e.$t("Preview")),1),i("p",aT,o(e.$t("Only applies to predefined colors and gradients")),1),i("div",iT,[i("div",oT,[i("div",{class:"fbs_bg_theme_preview__frame fbs_bg_theme_preview__frame--light",style:S({background:l.lightColor})},[(s(),a(r,null,d(3,e=>i("div",{key:"light-"+e,class:"fbs_bg_theme_preview__col"},[(s(),a(r,null,d(4,t=>i("span",{key:"light-"+e+"-"+t,class:"fbs_bg_theme_preview__card"})),64))])),64))],4),i("p",lT,o(e.$t("Light")),1)]),i("div",nT,[i("div",{class:"fbs_bg_theme_preview__frame fbs_bg_theme_preview__frame--dark fbs-dark",style:S({background:l.darkColor})},[(s(),a(r,null,d(3,e=>i("div",{key:"dark-"+e,class:"fbs_bg_theme_preview__col"},[(s(),a(r,null,d(4,t=>i("span",{key:"dark-"+e+"-"+t,class:"fbs_bg_theme_preview__card"})),64))])),64))],4),i("p",rT,o(e.$t("Dark")),1)])])])}]]),cT="fluent_theme_mode",hT="onFbsThemeChange",uT=class e{static getSystemTheme(){return window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?this.MODE_DARK:this.MODE_LIGHT}static getCurrentTheme(){const e=[this.MODE_LIGHT,this.MODE_DARK,this.MODE_SYSTEM];try{const t=localStorage.getItem(cT);if(t){if(t.startsWith("system"))return this.MODE_SYSTEM;if(e.includes(t))return t}}catch(t){}return this.MODE_LIGHT}static isSystem(){return this.getCurrentTheme()===this.MODE_SYSTEM}static apply(e){const t=e,s=e===this.MODE_SYSTEM?this.getSystemTheme():e,a=s===this.MODE_DARK;document.body.classList.toggle("fluent_boards_theme_dark",a),document.body.classList.toggle("fbs-dark",a),document.body.classList.toggle("fbs-light",!a),document.documentElement.classList.toggle("fluent_boards_theme_dark",a),document.documentElement.classList.toggle("fbs-dark",a),document.documentElement.classList.toggle("fbs-light",!a),document.documentElement.style.colorScheme=a?"dark":"light";try{const a=e===this.MODE_SYSTEM?`system:${s}`:t;localStorage.setItem(cT,a)}catch(i){}window.dispatchEvent(new CustomEvent(hT,{detail:{theme:t,effective:s}}))}listenForSystemChange(){if(!window.matchMedia)return;const t=window.matchMedia("(prefers-color-scheme: dark)"),s=()=>{e.isSystem()&&e.apply(e.MODE_SYSTEM)};t.addEventListener?t.addEventListener("change",s):t.addListener&&t.addListener(s)}init(){this.listenForSystemChange(),e.apply(e.getCurrentTheme())}};t(uT,"MODE_LIGHT","light"),t(uT,"MODE_DARK","dark"),t(uT,"MODE_SYSTEM","system");let pT=uT;(new pT).init();const mT={data:()=>({boardThemeVersion:0}),computed:{isBoardDark(){this.boardThemeVersion;const e=pT.getCurrentTheme();return(e===pT.MODE_SYSTEM?pT.getSystemTheme():e)===pT.MODE_DARK}},mounted(){this.onBoardThemeChange=()=>{this.boardThemeVersion+=1},window.addEventListener(hT,this.onBoardThemeChange)},beforeUnmount(){this.onBoardThemeChange&&window.removeEventListener(hT,this.onBoardThemeChange)}},bT={name:"BoardBackgroundChanger",emits:["closeDrawer"],mixins:[mT],components:{Icons:$s,FileUpload:_r,GradientPicker:eT,BoardBackgroundThemePreview:dT,ColorPicker:yi,ProBadge:O_},data:()=>({solidColors:[],gradients:[],defaultColorLoading:!1,dialogVisible:!1,customGradient:"",customSolidColor:"",customColorPickerVisible:!1,recommendedColors:["#6B7280","#335CFF","#F97316","#FF3B4A","#25C16F","#F2B51D","#7C4DFF","#47B6E8"],backgroundChanging:!1,currentBoardBackground:{id:null,is_image:!1,color:"",image_url:""}}),computed:{...m(js,["boardBackground","board"]),selectedPredefinedSolid(){return this.solidColors.find(e=>e.id===this.boardBackground.id)||null},selectedPredefinedGradient(){return this.gradients.find(e=>e.id===this.boardBackground.id)||null},selectedPredefinedBackground(){return this.selectedPredefinedSolid||this.selectedPredefinedGradient},customSolidPickerColor(){var e;return this.customSolidColor||(null==(e=this.boardBackground)?void 0:e.color)||"#335CFF"}},mounted(){this.getDefaultBackgroundColor()},methods:{...M(js,["setBoardBackground"]),solidSwatchColor(e){return this.isBoardDark&&e.dark_value?e.dark_value:e.value},gradientSwatchColor(e){return this.isBoardDark&&e.dark_value?e.dark_value:e.value},gradientColorPickerDialogOpen(){this.appVars.has_pro&&(this.dialogVisible=!0)},applyCustomSolidColor(e){this.customSolidColor=e,this.changeBackgroundColor("custom_solid_color",this.customSolidColor)},changeBackgroundColor(e,t){t&&(this.currentBoardBackground=this.board.background,this.backgroundChanging?this.$notify({type:"warning",message:this.$t("Updating board background, please wait...")}):(this.backgroundChanging=!0,this.setBoardBackground({id:e,is_image:!1,color:t}),this.$put("projects/"+this.board.id+"/upload/background",{id:e,color:t}).then(e=>{this.boardBackgroundUpdated(e)}).catch(e=>{this.handleBackgroundChangeError(e)}).finally(()=>{this.backgroundChanging=!1})))},showPreview(e){let t={};t=e?{is_image:!1,color:e}:this.board.background,this.setBoardBackground(t)},boardBackgroundUpdated(e){this.customSolidColor="",this.customGradient="",this.board.background=e.background,this.setBoardBackground(e.background)},openMedia(){this.appVars.has_pro&&setTimeout(()=>{this.$refs.boardBackgroundImageUpload.uploadClick()},0)},getDefaultBackgroundColor(){this.defaultColorLoading=!0,this.$get("projects/get-default-board-colors").then(e=>{this.solidColors=e.solidColors,this.gradients=e.gradients}).catch(e=>{this.handleError(e)}).finally(()=>{this.defaultColorLoading=!1})},handleUploadSuccess(e){this.boardBackgroundUpdated(e)},resetToDefaultBackground(){this.currentBoardBackground=this.board.background,this.backgroundChanging?this.$notify({type:"warning",message:this.$t("Updating board background, please wait...")}):(this.backgroundChanging=!0,this.setBoardBackground(""),this.$put("projects/"+this.board.id+"/upload/background",{reset:!0}).then(e=>{this.boardBackgroundUpdated(e)}).catch(e=>{this.handleBackgroundChangeError(e)}).finally(()=>{this.backgroundChanging=!1}))},handleBackgroundChangeError(e){this.backgroundChanging=!1,this.setBoardBackground(this.currentBoardBackground),this.$notify({type:"error",message:(null==e?void 0:e.message)||this.$t("An error occurred while updating the board background.")})}}},gT={class:"fbs-board-background-panel"},fT={class:"fbs-board-background-section"},_T={class:"fbs-board-background-title-row"},kT={class:"fbs-board-background-items-title"},vT={class:"fbs-board-background-image-row"},yT=["aria-label"],wT={class:"fbs-board-background-selected-icon"},CT=["aria-label"],TT={class:"icon fbs-board-background-image-add-icon"},ST={key:0,class:"fbs-board-background-section"},$T={class:"fbs-board-background-items-title"},VT={class:"fbs-board-background-items-container"},AT=["aria-label","onClick"],IT={key:0,class:"fbs-board-background-selected-icon"},DT=["aria-label"],BT={class:"fbs-board-background-selected-icon"},LT=["aria-label"],MT={class:"icon fbs-board-background-image-add-icon"},xT={class:"fbs-dialog-footer"},PT={key:1,class:"fbs-board-background-section"},FT={class:"fbs-board-background-items-title"},ET={class:"fbs-board-background-items-container"},UT=["aria-label","onClick"],OT={key:0,class:"fbs-board-background-selected-icon"},RT=["aria-label"],NT={class:"fbs-board-background-selected-icon"},HT=["disabled","aria-label"],jT={class:"icon fbs-board-background-image-add-icon"},zT={key:3,class:"fbs-board-background-loading"};const GT=Ss(bT,[["render",function(e,t,h,u,p,m){const _=b("ProBadge"),v=b("Icons"),C=b("file-upload"),T=b("gradient-picker"),$=ze,V=Ge,A=b("color-picker"),I=b("board-background-theme-preview"),D=g("loading");return s(),a("div",gT,[i("div",fT,[i("div",_T,[i("p",kT,o(e.$t("Image")),1),e.appVars.has_pro?y("",!0):(s(),c(_,{key:0,size:"small"}))]),i("div",vT,[e.boardBackground.is_image&&e.boardBackground.image_url?(s(),a("button",{key:0,type:"button",class:"fbs-board-background-dot fbs-board-background-image-dot fbs-board-background-current-image is-selected",style:S({background:`url(${e.boardBackground.image_url}) center / cover no-repeat`}),"aria-label":e.$t("Current Image"),disabled:""},[i("span",wT,[l(v,{"icon-name":"plus"})])],12,yT)):y("",!0),i("button",{type:"button",class:k(["fbs-board-background-dot fbs-board-background-image-dot",{"is-disabled":!e.appVars.has_pro}]),"aria-label":e.$t("Upload Image"),onClick:t[0]||(t[0]=(...e)=>m.openMedia&&m.openMedia(...e))},[i("span",TT,[e.appVars.has_pro?(s(),c(v,{key:1,"icon-name":"image"})):(s(),c(v,{key:0,"icon-name":"crown"}))])],10,CT)]),e.appVars.has_pro?(s(),c(C,{key:0,ref:"boardBackgroundImageUpload","is-image":!0,"for-board-file":!0,url:"upload/background-image",onOnFileUploadSuccess:m.handleUploadSuccess,style:{display:"none !important"}},null,8,["onOnFileUploadSuccess"])):y("",!0)]),p.gradients.length>0?(s(),a("div",ST,[i("p",$T,o(e.$t("Gradients")),1),i("div",VT,[(s(!0),a(r,null,d(p.gradients,(t,i)=>(s(),a("button",{type:"button",key:i,class:k(["fbs-board-background-dot",t.id==e.boardBackground.id?"is-selected":""]),style:S({background:m.gradientSwatchColor(t)}),"aria-label":e.$t("Select Gradient"),onClick:e=>m.changeBackgroundColor(t.id,t.value)},[t.id==e.boardBackground.id?(s(),a("span",IT,[l(v,{"icon-name":"selected-background"})])):y("",!0)],14,AT))),128)),"custom_gradient"===e.boardBackground.id?(s(),a("button",{key:0,type:"button",class:"fbs-board-background-dot is-selected",style:S({background:e.boardBackground.color}),"aria-label":e.$t("Custom Gradient"),onClick:t[1]||(t[1]=(...e)=>m.gradientColorPickerDialogOpen&&m.gradientColorPickerDialogOpen(...e))},[i("span",BT,[l(v,{"icon-name":"selected-background"})])],12,DT)):y("",!0),i("button",{type:"button",class:k(["fbs-board-background-add-dot",{"is-disabled":!e.appVars.has_pro}]),"aria-label":e.$t("Add Gradient"),onClick:t[2]||(t[2]=(...e)=>m.gradientColorPickerDialogOpen&&m.gradientColorPickerDialogOpen(...e))},[i("span",MT,[e.appVars.has_pro?(s(),c(v,{key:1,"icon-name":"plus"})):(s(),c(v,{key:0,"icon-name":"crown"}))])],10,LT)]),l(V,{modelValue:p.dialogVisible,"onUpdate:modelValue":t[6]||(t[6]=e=>p.dialogVisible=e),width:"460","show-close":!1,class:"fbs-gradient-color-picker"},{footer:n(()=>[i("div",xT,[l($,{onClick:t[4]||(t[4]=e=>p.dialogVisible=!1),class:"fbs-cancel-btn"},{default:n(()=>[w(o(e.$t("Cancel")),1)]),_:1}),l($,{type:"primary",onClick:t[5]||(t[5]=e=>{p.dialogVisible=!1,m.changeBackgroundColor("custom_gradient",p.customGradient)}),class:"fbs-save-btn"},{default:n(()=>[w(o(e.$t("Confirm")),1)]),_:1})])]),default:n(()=>[l(T,{modelValue:p.customGradient,"onUpdate:modelValue":t[3]||(t[3]=e=>p.customGradient=e),dialogVisible:p.dialogVisible},null,8,["modelValue","dialogVisible"])]),_:1},8,["modelValue"])])):y("",!0),p.solidColors.length>0?(s(),a("div",PT,[i("p",FT,o(e.$t("Color")),1),i("div",ET,[(s(!0),a(r,null,d(p.solidColors,t=>(s(),a("button",{type:"button",key:t.id,class:k(["fbs-board-background-dot",t.id==e.boardBackground.id?"is-selected":""]),style:S({background:m.solidSwatchColor(t)}),"aria-label":e.$t("Select Color"),onClick:e=>m.changeBackgroundColor(t.id,t.value)},[t.id==e.boardBackground.id?(s(),a("span",OT,[l(v,{"icon-name":"selected-background"})])):y("",!0)],14,UT))),128)),"custom_solid_color"===e.boardBackground.id?(s(),a("button",{key:0,type:"button",class:"fbs-board-background-dot is-selected",style:S({background:e.boardBackground.color}),"aria-label":e.$t("Custom Color")},[i("span",NT,[l(v,{"icon-name":"selected-background"})])],12,RT)):y("",!0),l(A,{"model-value":m.customSolidPickerColor,visible:p.customColorPickerVisible,"onUpdate:visible":t[7]||(t[7]=e=>p.customColorPickerVisible=e),placement:e.appVars.is_rtl?"right":"left",teleported:!0,"recommended-colors":p.recommendedColors,"onUpdate:modelValue":t[8]||(t[8]=e=>p.customSolidColor=e),onChange:m.applyCustomSolidColor},{reference:n(()=>[i("button",{type:"button",class:k(["fbs-board-background-add-dot",{"is-disabled":!e.appVars.has_pro}]),disabled:!e.appVars.has_pro,"aria-label":e.$t("Add Color")},[i("span",jT,[e.appVars.has_pro?(s(),c(v,{key:1,"icon-name":"plus"})):(s(),c(v,{key:0,"icon-name":"crown"}))])],10,HT)]),_:1},8,["model-value","visible","placement","recommended-colors","onChange"])])])):y("",!0),m.selectedPredefinedBackground?(s(),c(I,{key:2,"light-color":m.selectedPredefinedBackground.value,"dark-color":m.selectedPredefinedBackground.dark_value||m.selectedPredefinedBackground.value},null,8,["light-color","dark-color"])):y("",!0),i("button",{type:"button",class:"fbs-board-background-reset-button",onClick:t[9]||(t[9]=(...e)=>m.resetToDefaultBackground&&m.resetToDefaultBackground(...e))},[l(v,{"icon-name":"reset-icon"}),w(" "+o(e.$t("Reset To Default")),1)]),p.defaultColorLoading?f((s(),a("div",zT,null,512)),[[D,p.defaultColorLoading]]):y("",!0)])}]]),qT={name:"ArchiveTasks",inject:["eventBus"],components:{TaskDeleteDialog:fg,Warning:Yt,EmptyState:Vs,Icons:$s},data:()=>({searchInput:"",archivedTasks:[],pagination:{current_page:0},filterDate:"",shortcuts:[{text:"Last week",value:()=>{const e=new Date,t=new Date;return t.setTime(t.getTime()-6048e5),[t,e]}},{text:"Last month",value:()=>{const e=new Date,t=new Date;return t.setTime(t.getTime()-2592e6),[t,e]}},{text:"Last 3 months",value:()=>{const e=new Date,t=new Date;return t.setTime(t.getTime()-7776e6),[t,e]}}],fuse:null,fuseOptions:{keys:["title"]},taskLoading:!1,previousSearchResult:[],previousSearchInput:"",isNoMoreTasks:!1,deleteDialogVisible:!1,deleteLoading:!1,taskToDelete:null,selectedTasks:[],selectAll:!1,bulkDeleteDialogVisible:!1,bulkDeleteLoading:!1,bulkRestoreLoading:!1}),created(){this.debouncedSearch=Se(this.searchByName,600)},beforeUnmount(){this.debouncedSearch.cancel()},watch:{searchInput(e){e.length>0?this.debouncedSearch():this.searchByName()},selectedTasks(e){e.length===this.archivedTasks.length&&this.archivedTasks.length>0?this.selectAll=!0:this.selectAll=!1}},computed:{...m(Sr,["currentUserWpOrSuperAdmin","currentUserBoardAdmin"]),...m(js,["board"]),isVisible(){return!(!this.currentUserWpOrSuperAdmin&&!this.currentUserBoardAdmin)},canManageArchivedItems(){return!!this.board&&!this.board.archived_at&&!this.board.isUserOnlyViewer},isIndeterminate(){return this.selectedTasks.length>0&&this.selectedTasks.length<this.archivedTasks.length},selectionLabel(){return this.selectedTasks.length>0?`${this.selectedTasks.length} ${this.$t("selected")}`:this.$t("Select All")},archivedTaskCountLabel(){const e=Number.isFinite(Number(this.pagination.total))?Number(this.pagination.total):this.archivedTasks.length;return`${e} ${1===e?this.$t("item"):this.$t("items")}`},bulkDeleteMessage(){const e=this.selectedTasks.length;return 1===e?this.$t("You are about to delete this task."):this.$t("You are about to delete")+` ${e} `+this.$t("tasks")+"."},bulkDeleteButtonText(){const e=this.selectedTasks.length;return 1===e?this.$t("Delete Task"):this.$t("Delete")+` ${e} `+this.$t("Tasks")}},mounted(){this.getArchivedTasks()},methods:{searchByName(){this.getArchivedTasks()},archivedByName(e){var t;return(null==(t=null==e?void 0:e.archived_by)?void 0:t.display_name)||this.$t("Unknown user")},archivedByPhoto(e){var t;return(null==(t=null==e?void 0:e.archived_by)?void 0:t.photo)||""},archivedByInitial(e){return this.archivedByName(e).trim().charAt(0).toUpperCase()||"?"},archivedOnText(e){const t=null==e?void 0:e.archived_at,s=this.$t("Archived on");return t?`${s} ${this.$formatDate(t)||this.$t("Unknown date")}`:`${s} ${this.$t("Unknown date")}`},getArchivedTasks(e={}){this.taskLoading=!0,this.searchInput.trim()&&(e.searchInput=this.searchInput.trim()),this.$get("projects/"+this.board.id+"/archived-tasks",e).then(e=>{this.setArchivedTasks(e.tasks.data),this.pagination=e.tasks,this.isNoMoreTasks=this.pagination.last_page&&this.pagination.current_page>=this.pagination.last_page}).catch(e=>{this.handleError(e)}).finally(()=>{this.taskLoading=!1})},sendToBoard(e){const t=this.getArchiveTaskIndex(e);this.removeArchivedTask(e),this.eventBus.emit("change-task-property",{task:e,property:"archived_at",value:null,onSuccess:e=>{},onError:s=>{this.$notify.error({title:this.$t("Error"),message:(null==s?void 0:s.message)||s||this.$t("Task couldn't be restored. Please try again.")}),this.handleSendToBoardDeleteTaskError(e,t)}})},showDeleteDialog(e){this.taskToDelete=e,this.deleteDialogVisible=!0},deleteTask(){if(!this.taskToDelete)return;this.deleteLoading=!0;const e=this.taskToDelete,t=this.getArchiveTaskIndex(e);this.removeArchivedTask(e),this.$del("projects/"+e.board_id+"/tasks/"+e.id).then(e=>{this.$notify({message:e.message,type:"success"}),this.deleteDialogVisible=!1}).catch(s=>{this.handleSendToBoardDeleteTaskError(e,t),this.handleError(s)}).finally(()=>{this.deleteLoading=!1,this.taskToDelete=null})},getArchiveTaskIndex(e){return this.archivedTasks.findIndex(t=>t.id==e.id)},removeArchivedTask(e){this.archivedTasks=this.archivedTasks.filter(t=>t.id!=e.id),this.selectedTasks=this.selectedTasks.filter(t=>t!=e.id)},handleSendToBoardDeleteTaskError(e,t){const s=t>=0?t:this.archivedTasks.length;this.archivedTasks.splice(s,0,e)},handleScroll(){const e=this.$refs.archivedTasksContainer;if(e){const{scrollTop:t,scrollHeight:s,clientHeight:a}=e;if(t+a>=s-200){if(this.isNoMoreTasks||this.taskLoading)return;const e={page:this.pagination.current_page+1};this.getArchivedTasks(e)}}},setArchivedTasks(e){if(this.searchInput.trim().length>0){if(this.searchInput.trim()===this.previousSearchInput){const t=[...this.archivedTasks,...e];this.archivedTasks=this.deduplicateTasksById(t)}else this.archivedTasks=e;this.previousSearchResult=e}else if(this.previousSearchInput.length>0)this.archivedTasks=e,this.previousSearchResult=[];else{const t=[...this.archivedTasks,...e];this.archivedTasks=this.deduplicateTasksById(t),this.previousSearchResult=[]}this.previousSearchInput=this.searchInput.trim()},deduplicateTasksById(e){const t=new Map;return e.forEach(e=>{t.set(e.id,e)}),Array.from(t.values())},toggleSelectAll(e){this.selectedTasks=e?this.archivedTasks.map(e=>e.id):[]},bulkRestore(){0===this.selectedTasks.length||this.bulkDeleteLoading||this.bulkRestoreLoading||(this.bulkRestoreLoading=!0,this.archivedTasks.filter(e=>this.selectedTasks.includes(e.id)),this.$put("projects/"+this.board.id+"/bulk-restore-tasks",{task_ids:this.selectedTasks}).then(e=>{if(e.restored_count>0){this.selectedTasks.filter(t=>!(e.failed_tasks&&e.failed_tasks.length>0)||!e.failed_tasks.some(e=>e.id===t)).forEach(e=>{const t=this.archivedTasks.find(t=>t.id===e);t&&this.removeArchivedTask(t)}),e.updatedTasks&&this.eventBus.emit("update-tasks",e.updatedTasks)}this.selectedTasks=[],this.selectAll=!1,e.failed_count>0?(this.$notify.warning({title:this.$t("Partial Success"),message:e.message,duration:5e3}),e.failed_tasks&&e.failed_tasks.length):this.$notify.success({title:this.$t("Success"),message:e.message})}).catch(e=>{this.handleError(e),this.selectedTasks=[],this.selectAll=!1}).finally(()=>{this.bulkRestoreLoading=!1}))},showBulkDeleteDialog(){0!==this.selectedTasks.length&&(this.bulkDeleteDialogVisible=!0)},handleBulkAction(e){"restore"===e?this.bulkRestore():"delete"===e&&this.showBulkDeleteDialog()},bulkDelete(){0===this.selectedTasks.length||this.bulkDeleteLoading||(this.bulkDeleteLoading=!0,this.archivedTasks.filter(e=>this.selectedTasks.includes(e.id)),this.$del("projects/"+this.board.id+"/bulk-delete-tasks",{task_ids:this.selectedTasks}).then(e=>{if(e.deleted_count>0){this.selectedTasks.filter(t=>!(e.failed_tasks&&e.failed_tasks.length>0)||!e.failed_tasks.some(e=>e.id===t)).forEach(e=>{const t=this.archivedTasks.find(t=>t.id===e);t&&this.removeArchivedTask(t)})}this.selectedTasks=[],this.selectAll=!1,this.bulkDeleteDialogVisible=!1,e.failed_count>0?(this.$notify.warning({title:this.$t("Partial Success"),message:e.message,duration:5e3}),e.failed_tasks&&e.failed_tasks.length):this.$notify.success({title:this.$t("Success"),message:e.message})}).catch(e=>{this.handleError(e),this.selectedTasks=[],this.selectAll=!1,this.bulkDeleteDialogVisible=!1}).finally(()=>{this.bulkDeleteLoading=!1}))}}},WT={class:"fbs_archived_tasks_panel"},KT={class:"fbs_completed_tasks_filter_or_search"},ZT={key:0,class:"fbs_archived_selection_bar"},YT={class:"fbs_archived_selection_meta"},JT={key:0,class:"fbs_archived_bulk_actions"},QT={class:"icon"},XT={class:"icon"},eS={class:"fbs_archived_items_count"},tS={key:1,class:"fbs_board_archived_no_tasks"},sS={class:"fbs_archived_card_container fbs_archived_tasks_container"},aS={class:"fbs_archived_card fbs_archived_task_card"},iS={class:"fbs_archived_card_content"},oS={class:"fbs_archived_task_details"},lS=["href"],nS={class:"fbs_archived_task_archive_meta"},rS={class:"fbs_archived_task_actor"},dS=["src","alt","title"],cS=["title"],hS={class:"fbs_archived_task_archive_date"},uS={key:0,class:"fbs_archived_card_actions"},pS={class:"icon"},mS={class:"icon"},bS={key:0,class:"fbs_archived_loading_row"},gS={key:1,class:"fbs_no_more_tasks"},fS={class:"fbs_delete_dialog_header"},_S={class:"fbs_delete_dialog_body"},kS={class:"fbs_delete_dialog_message"},vS={style:{"font-size":"11px"}},yS={class:"fbs_delete_dialog-footer"};const wS=Ss(qT,[["render",function(e,t,u,p,m,_){const k=He,v=qe,C=b("Icons"),T=ze,S=We,$=b("empty-state"),V=Bt,A=b("task-delete-dialog"),I=b("Warning"),D=Ne,B=Ge,L=g("loading");return s(),a("div",WT,[i("div",KT,[l(k,{modelValue:m.searchInput,"onUpdate:modelValue":t[0]||(t[0]=e=>m.searchInput=e),class:"fbs_search_completed_task_by_name",placeholder:e.$t("Search task"),clearable:"","prefix-icon":"Search"},null,8,["modelValue","placeholder"])]),m.archivedTasks.length>0&&_.canManageArchivedItems?(s(),a("div",ZT,[l(v,{"model-value":m.selectAll,onChange:_.toggleSelectAll,indeterminate:_.isIndeterminate,class:"fbs_task_checkbox"},{default:n(()=>[w(o(_.selectionLabel),1)]),_:1},8,["model-value","onChange","indeterminate"]),i("div",YT,[m.selectedTasks.length>0?(s(),a("div",JT,[l(T,{type:"primary",size:"small",loading:m.bulkRestoreLoading,disabled:m.bulkDeleteLoading,onClick:_.bulkRestore},{default:n(()=>[i("span",QT,[l(C,{"icon-name":"restore"})]),w(" "+o(e.$t("Restore Selected")),1)]),_:1},8,["loading","disabled","onClick"]),_.isVisible?(s(),c(S,{key:0,effect:"dark",content:e.$t("Delete Selected"),placement:"top"},{default:n(()=>[l(T,{plain:"",size:"small",type:"danger","aria-label":e.$t("Delete Selected"),disabled:m.bulkDeleteLoading||m.bulkRestoreLoading,onClick:_.showBulkDeleteDialog,class:"only-icon-btn fbs_mr_0 fbs_ml_0"},{default:n(()=>[i("span",XT,[l(C,{"icon-name":"trash"})])]),_:1},8,["aria-label","disabled","onClick"])]),_:1},8,["content"])):y("",!0)])):y("",!0),i("span",eS,o(_.archivedTaskCountLabel),1)])])):y("",!0),0==m.archivedTasks.length?f((s(),a("div",tS,[l($,{message:"No archived tasks!","icon-width":130,"icon-height":160})])),[[L,m.taskLoading]]):(s(),a("div",{key:2,class:"fbs_archived_tasks_wrapper",onScroll:t[3]||(t[3]=(...e)=>_.handleScroll&&_.handleScroll(...e)),ref:"archivedTasksContainer"},[l(V,{modelValue:m.selectedTasks,"onUpdate:modelValue":t[2]||(t[2]=e=>m.selectedTasks=e)},{default:n(()=>[i("ul",sS,[(s(!0),a(r,null,d(m.archivedTasks,(r,d)=>(s(),a("li",{key:r.id||d},[i("div",aS,[i("div",iS,[_.canManageArchivedItems?(s(),c(v,{key:0,value:r.id,class:"fbs_task_checkbox fbs_archived_task_checkbox",onClick:t[1]||(t[1]=h(()=>{},["stop"]))},null,8,["value"])):y("",!0),i("div",oS,[i("a",{href:e.$getTaskUrl(r),class:"fbs_archived_card_titles"},o(r.title),9,lS),i("div",nS,[i("div",rS,[_.archivedByPhoto(r)?(s(),a("img",{key:0,src:_.archivedByPhoto(r),alt:_.archivedByName(r),title:_.archivedByName(r)},null,8,dS)):(s(),a("span",{key:1,class:"fbs_archived_task_actor_avatar_fallback",title:_.archivedByName(r)},o(_.archivedByInitial(r)),9,cS)),i("span",null,o(_.archivedByName(r)),1)]),t[8]||(t[8]=i("span",{class:"fbs_archived_task_meta_separator","aria-hidden":"true"},"•",-1)),i("span",hS,o(_.archivedOnText(r)),1)])])]),_.canManageArchivedItems?(s(),a("div",uS,[l(S,{effect:"dark",content:e.$t("Restore"),placement:"top"},{default:n(()=>[l(T,{class:"mini only-icon-btn","aria-label":e.$t("Restore"),onClick:h(e=>_.sendToBoard(r),["stop"])},{default:n(()=>[i("span",pS,[l(C,{"icon-name":"restore"})])]),_:1},8,["aria-label","onClick"])]),_:2},1032,["content"]),_.isVisible?(s(),c(S,{key:0,effect:"dark",content:e.$t("Delete"),placement:"top"},{default:n(()=>[l(T,{plain:"",class:"mini only-icon-btn fbs_mr_0 fbs_ml_0",type:"danger","aria-label":e.$t("Delete"),onClick:h(e=>_.showDeleteDialog(r),["stop"])},{default:n(()=>[i("span",mS,[l(C,{"icon-name":"trash"})])]),_:1},8,["aria-label","onClick"])]),_:2},1032,["content"])):y("",!0)])):y("",!0)])]))),128)),m.taskLoading?f((s(),a("li",bS,null,512)),[[L,!0]]):y("",!0),m.isNoMoreTasks?(s(),a("li",gS,o(e.$t("No more tasks")),1)):y("",!0)])]),_:1},8,["modelValue"])],544)),l(A,{dialogVisible:m.deleteDialogVisible,loading:m.deleteLoading,onConfirm:_.deleteTask,onCancel:t[4]||(t[4]=e=>m.deleteDialogVisible=!1)},null,8,["dialogVisible","loading","onConfirm"]),l(B,{modelValue:m.bulkDeleteDialogVisible,"onUpdate:modelValue":t[6]||(t[6]=e=>m.bulkDeleteDialogVisible=e),width:"424px","min-width":"424px","close-on-click-modal":!0,"modal-class":"fbs__delete_confirm_modal_class",class:"fbs__delete_confirm_modal","append-to-body":"",center:"",onClosed:t[7]||(t[7]=e=>m.bulkDeleteDialogVisible=!1)},{footer:n(()=>[i("div",null,[i("div",fS,[i("p",null,[l(D,null,{default:n(()=>[l(I)]),_:1})]),i("p",null,o(e.$t("Confirmation Required")),1)]),i("div",_S,[i("div",kS,[i("p",null,o(_.bulkDeleteMessage),1),i("p",null,o(e.$t("Note"))+": "+o(e.$t("This action cannot be undone.")),1)]),i("small",vS,o(e.$t("Are you sure you want to proceed"))+"? ",1)]),f((s(),a("div",yS,[l(T,{onClick:t[5]||(t[5]=e=>m.bulkDeleteDialogVisible=!1),size:"small",class:"fbs_cancel_button"},{default:n(()=>[w(o(e.$t("No")),1)]),_:1}),l(T,{type:"danger",onClick:_.bulkDelete,size:"small",class:"fbs"},{default:n(()=>[w(o(_.bulkDeleteButtonText),1)]),_:1},8,["onClick"])])),[[L,m.bulkDeleteLoading]])])]),_:1},8,["modelValue"])])}]]),CS={class:"fbs_task_list_row"},TS={class:"fbs_task_list_row__content"},SS={class:"fbs_task_list_row__title"},$S={key:0,class:"fbs_task_list_row__description"},VS={key:0,class:"fbs_task_list_row__right_actions"};const AS=Ss({name:"TaskListRow"},[["render",function(e,t,o,l,n,r){return s(),a("div",CS,[i("div",TS,[i("div",SS,[_(e.$slots,"title")]),e.$slots.description?(s(),a("div",$S,[_(e.$slots,"description")])):y("",!0)]),e.$slots["right-actions"]?(s(),a("div",VS,[_(e.$slots,"right-actions")])):y("",!0)])}]]),IS={name:"NotificationPreference",components:{TaskListRow:AS},props:{boardId:{type:Number,default:null},showWatchPreferences:{type:Boolean,default:!1}},data:()=>({}),mounted(){},computed:{...m(js,["board","currentNotificationSettings"]),isArchived(){return!!this.board.archived_at}},watch:{"currentNotificationSettings.watch_on_creating_task"(e){this.updateNotificationSettings({key:"watch_on_creating_task",value:e})},"currentNotificationSettings.watch_on_commenting"(e){this.updateNotificationSettings({key:"watch_on_commenting",value:e})},"currentNotificationSettings.watch_on_assigning"(e){this.updateNotificationSettings({key:"watch_on_assigning",value:e})},"currentNotificationSettings.email_after_comment"(e){this.updateNotificationSettings({key:"email_after_comment",value:e})},"currentNotificationSettings.email_after_task_assign"(e){this.updateNotificationSettings({key:"email_after_task_assign",value:e})},"currentNotificationSettings.email_after_task_stage_change"(e){this.updateNotificationSettings({key:"email_after_stage_change",value:e})},"currentNotificationSettings.email_after_task_due_date_change"(e){this.updateNotificationSettings({key:"email_after_due_date_change",value:e})},"currentNotificationSettings.email_after_remove_from_task"(e){this.updateNotificationSettings({key:"email_after_remove_from_task",value:e})},"currentNotificationSettings.email_after_task_archive"(e){this.updateNotificationSettings({key:"email_after_task_archive",value:e})}},methods:{...M(js,["updateNotificationSettings"])}},DS={class:"fbs_notification_preference fbs_layout_preference"};const BS=Ss(IS,[["render",function(e,t,i,d,c,h){const u=Jt,p=b("task-list-row");return s(),a("div",DS,[i.showWatchPreferences?(s(),a(r,{key:0},[l(p,null,{title:n(()=>[w(o(e.$t("Watch created tasks")),1)]),description:n(()=>[w(o(e.$t("Subscribe for notifications for cards you create")),1)]),"right-actions":n(()=>[l(u,{size:"small",modelValue:e.currentNotificationSettings.watch_on_creating_task,"onUpdate:modelValue":t[0]||(t[0]=t=>e.currentNotificationSettings.watch_on_creating_task=t)},null,8,["modelValue"])]),_:1}),l(p,null,{title:n(()=>[w(o(e.$t("Watch on commenting")),1)]),description:n(()=>[w(o(e.$t("Subscribe for notifications for a task if you comment or reply on it")),1)]),"right-actions":n(()=>[l(u,{size:"small",modelValue:e.currentNotificationSettings.watch_on_commenting,"onUpdate:modelValue":t[1]||(t[1]=t=>e.currentNotificationSettings.watch_on_commenting=t)},null,8,["modelValue"])]),_:1}),l(p,null,{title:n(()=>[w(o(e.$t("Watch on assigning")),1)]),description:n(()=>[w(o(e.$t("Subscribe for notifications for a task if you assign someone to it")),1)]),"right-actions":n(()=>[l(u,{size:"small",modelValue:e.currentNotificationSettings.watch_on_assigning,"onUpdate:modelValue":t[2]||(t[2]=t=>e.currentNotificationSettings.watch_on_assigning=t)},null,8,["modelValue"])]),_:1})],64)):y("",!0),l(p,null,{title:n(()=>[w(o(e.$t("Comment")),1)]),description:n(()=>[w(o(e.$t("Comment_description")),1)]),"right-actions":n(()=>[l(u,{size:"small",disabled:h.isArchived,modelValue:e.currentNotificationSettings.email_after_comment,"onUpdate:modelValue":t[3]||(t[3]=t=>e.currentNotificationSettings.email_after_comment=t)},null,8,["disabled","modelValue"])]),_:1}),l(p,null,{title:n(()=>[w(o(e.$t("Stage Changed")),1)]),description:n(()=>[w(o(e.$t("Stage_Changed_description")),1)]),"right-actions":n(()=>[l(u,{size:"small",disabled:h.isArchived,modelValue:e.currentNotificationSettings.email_after_task_stage_change,"onUpdate:modelValue":t[4]||(t[4]=t=>e.currentNotificationSettings.email_after_task_stage_change=t)},null,8,["disabled","modelValue"])]),_:1}),l(p,null,{title:n(()=>[w(o(e.$t("Assigned to a task")),1)]),description:n(()=>[w(o(e.$t("assign_description")),1)]),"right-actions":n(()=>[l(u,{size:"small",disabled:h.isArchived,modelValue:e.currentNotificationSettings.email_after_task_assign,"onUpdate:modelValue":t[5]||(t[5]=t=>e.currentNotificationSettings.email_after_task_assign=t)},null,8,["disabled","modelValue"])]),_:1}),l(p,null,{title:n(()=>[w(o(e.$t("Dates")),1)]),description:n(()=>[w(o(e.$t("due_date_description")),1)]),"right-actions":n(()=>[l(u,{size:"small",disabled:h.isArchived,modelValue:e.currentNotificationSettings.email_after_task_due_date_change,"onUpdate:modelValue":t[6]||(t[6]=t=>e.currentNotificationSettings.email_after_task_due_date_change=t)},null,8,["disabled","modelValue"])]),_:1}),l(p,null,{title:n(()=>[w(o(e.$t("Task Archived")),1)]),description:n(()=>[w(o(e.$t("archived_description")),1)]),"right-actions":n(()=>[l(u,{size:"small",disabled:h.isArchived,modelValue:e.currentNotificationSettings.email_after_task_archive,"onUpdate:modelValue":t[7]||(t[7]=t=>e.currentNotificationSettings.email_after_task_archive=t)},null,8,["disabled","modelValue"])]),_:1}),l(p,null,{title:n(()=>[w(o(e.$t("Removed from a task")),1)]),description:n(()=>[w(o(e.$t("Remove from task")),1)]),"right-actions":n(()=>[l(u,{size:"small",disabled:h.isArchived,modelValue:e.currentNotificationSettings.email_after_remove_from_task,"onUpdate:modelValue":t[8]||(t[8]=t=>e.currentNotificationSettings.email_after_remove_from_task=t)},null,8,["disabled","modelValue"])]),_:1})])}]]),LS={name:"MenuDrawerFooter",emits:["secondary","primary"],props:{secondaryText:{type:String,required:!0},primaryText:{type:String,required:!0},primaryLoading:{type:Boolean,default:!1},primaryDisabled:{type:Boolean,default:!1},secondaryDisabled:{type:Boolean,default:!1}}},MS={class:"fbs_menu_drawer_footer"};const xS=Ss(LS,[["render",function(e,t,i,r,d,c){const h=ze;return s(),a("div",MS,[_(e.$slots,"default",{},()=>[l(h,{disabled:i.secondaryDisabled,onClick:t[0]||(t[0]=t=>e.$emit("secondary")),size:"small"},{default:n(()=>[w(o(i.secondaryText),1)]),_:1},8,["disabled"]),l(h,{type:"primary",size:"small",disabled:i.primaryDisabled,loading:i.primaryLoading,onClick:t[1]||(t[1]=t=>e.$emit("primary"))},{default:n(()=>[w(o(i.primaryText),1)]),_:1},8,["disabled","loading"])])])}]]),PS={name:"NotificationSettings",props:["boardId"],components:{NotificationPreference:BS,MenuDrawerFooter:xS},data:()=>({loading:!1,oldSettings:null,sameAsGlobal:!1}),computed:{...m(js,["board","currentNotificationSettings","notificationCheckAll"]),isArchived(){return!!this.board.archived_at},baseUrl(){var e;return(null==(e=window.fluentAddonVars)?void 0:e.siteUrl)||""},userId(){var e,t;return(null==(t=null==(e=window.fluentAddonVars)?void 0:e.me)?void 0:t.id)||1}},mounted(){"1"===localStorage.getItem(`sameAsGlobal_${this.boardId}`)?(this.sameAsGlobal=!0,this.getGlobalNotificationSetting()):this.getUserNotificationSetting()},methods:{...M(js,["loadNotificationSettings","updateNotificationSettings"]),checkAllEmailNotification(){this.updateNotificationSettings({key:"all",value:null})},getUserNotificationSetting(){this.loading=!0,this.$get("projects/"+this.boardId+"/notification-settings").then(e=>{this.oldSettings=e.currentSettings,this.loadNotificationSettings(this.oldSettings)}).catch(e=>{this.handleError(e)}).finally(()=>{this.loading=!1})},getGlobalNotificationSetting(){return this.$get("get-global-notification-settings").then(e=>{this.oldSettings=e.currentSettings,this.loadNotificationSettings(this.oldSettings)}).catch(e=>(this.handleError(e),Promise.reject(e)))},onSameAsGlobalChange(e){localStorage.setItem(`sameAsGlobal_${this.boardId}`,e?"1":"0"),e?this.getGlobalNotificationSetting():this.getUserNotificationSetting()},updateSettings(){if(!window["fbs_board_members_"+this.boardId].some(e=>e.ID===window.fluentAddonVars.me.id))return confirm("To update notification you need to be a member of the board. Do you want to join the board?")?void this.addToBoardMember():void this.cancelUpdateSettings();this.changeNotificationSettings()},changeNotificationSettings(){this.loading=!0,this.$put("projects/"+this.boardId+"/update-notification-settings",{updatedSettings:this.currentNotificationSettings}).then(e=>{this.$notify({message:e.message,type:"success"})}).catch(e=>{this.handleError(e)}).finally(()=>{this.loading=!1,this.getUserNotificationSetting()})},cancelUpdateSettings(){this.loadNotificationSettings(this.oldSettings)},addToBoardMember(){this.$post("projects/"+this.boardId+"/add-members/",{memberId:window.fluentAddonVars.me.id}).then(e=>{this.changeNotificationSettings(),window["fbs_board_members_"+this.boardId].push({ID:window.fluentAddonVars.me.id,email:window.fluentAddonVars.me.email,display_name:window.fluentAddonVars.me.display_name,photo:window.fluentAddonVars.me.photo})}).catch(e=>{this.cancelUpdateSettings(),this.$handleError(e)})}}},FS={class:"fbs_notification_settings_global"},ES={class:"fbs-global_settings_notification_contents"},US={class:"fbs-notification-settings-global-row"},OS=["href"],RS={key:0,class:"fbs-notification-settings-panel"},NS={class:"fbs-notification-settings-header"},HS={class:"fbs-notification-settings-header__action"},jS={class:"fbs_primary_text"},zS={class:"fbs-notification-settings-preference-body"};const GS=Ss(PS,[["render",function(e,t,n,r,d,h){const u=Jt,p=b("notification-preference"),m=b("menu-drawer-footer"),_=g("loading");return f((s(),a("div",FS,[i("div",ES,[i("div",US,[l(u,{class:"fbs-notification-settings-global-row__switch",modelValue:d.sameAsGlobal,"onUpdate:modelValue":t[0]||(t[0]=e=>d.sameAsGlobal=e),"inactive-text":e.$t("Same as Global Settings"),onChange:h.onSameAsGlobalChange},null,8,["modelValue","inactive-text","onChange"]),i("a",{class:"fbs-notification-settings-global-row__link",href:`${h.baseUrl}/wp-admin/admin.php?page=fluent-boards#/member/${h.userId}/preferences`,target:"_blank",rel:"noopener"},o(e.$t("Go to Settings")),9,OS)]),d.sameAsGlobal?y("",!0):(s(),a("section",RS,[i("div",NS,[i("p",null,o(e.$t("Email Notification Preferences")),1),i("div",HS,[i("div",jS,o(e.$t("Enable All")),1),l(u,{disabled:h.isArchived,modelValue:e.notificationCheckAll,"onUpdate:modelValue":t[1]||(t[1]=t=>e.notificationCheckAll=t),size:"small",onChange:h.checkAllEmailNotification},null,8,["disabled","modelValue","onChange"])])]),i("div",zS,[l(p,{boardId:n.boardId,"show-watch-preferences":!0},null,8,["boardId"])])]))]),d.sameAsGlobal||h.isArchived?y("",!0):(s(),c(m,{key:0,"secondary-text":e.$t("Cancel"),"primary-text":e.$t("Save"),"primary-loading":d.loading,"primary-disabled":d.loading,"secondary-disabled":d.loading,onSecondary:h.cancelUpdateSettings,onPrimary:h.updateSettings},null,8,["secondary-text","primary-text","primary-loading","primary-disabled","secondary-disabled","onSecondary","onPrimary"]))])),[[_,d.loading]])}]]);const qS=Ss({name:"DeleteBoardDialog",components:{ConfirmationDialog:Za},emits:["cancel","closed","confirm"],props:{dialogVisible:{type:Boolean,required:!0},loading:{type:Boolean,default:!1}}},[["render",function(e,t,a,i,o,l){const n=b("confirmation-dialog");return s(),c(n,{"dialog-visible":a.dialogVisible,loading:a.loading,title:e.$t("Confirmation Required"),message:e.$t("Deleting this board will also delete all tasks under it. This action cannot be undone. Are you sure you want to delete this board?"),"confirm-text":e.$t("Delete Board"),onConfirm:t[0]||(t[0]=t=>e.$emit("confirm")),onCancel:t[1]||(t[1]=t=>e.$emit("cancel")),onClosed:t[2]||(t[2]=t=>e.$emit("closed"))},null,8,["dialog-visible","loading","title","message","confirm-text"])}]]),WS={class:"fbs-associated-crm-contacts"},KS={class:"fbs-associated-crm-contacts__intro"},ZS={key:0,class:"fbs-associated-crm-contacts__board-list"},YS={class:"fbs-crm-contact-info-holder"},JS={class:"fbs-crm-profile-photo"},QS=["src","alt"],XS={class:"fbs-crm-contact-name-email"},e$={class:"fbs-crm-contact-name"},t$={key:0,class:"fbs-crm-contact-email"},s$={key:1,class:"fbs-crm-contact-profile-actions"},a$=["href","aria-label","title"],i$={class:"icon"},o$={class:"fbs-crm-contact-meta-sections"},l$={class:"fbs-crm-profile-tag-wrap"},n$={class:"fbs-heading"},r$={class:"fbs-crm-profile-tags"},d$={class:"label"},c$={key:0,class:"fbs-crm-contact-empty-segment"},h$={class:"fbs-crm-profile-tag-wrap"},u$={class:"fbs-heading"},p$={class:"fbs-crm-profile-tags"},m$={class:"label"},b$={key:0,class:"fbs-crm-contact-empty-segment"},g$={class:"fbs-associated-crm-contacts__task-section-title"},f$={key:0,class:"fbs-task-crm-contact-info-container"},_$={class:"fbs-permission-author"},k$=["src","title","alt"],v$={class:"fbs-permission-author-content"},y$={class:"author-name"},w$={class:"author-email"},C$={class:"fbs-associate-contact-task-panel"},T$={class:"fbs-associate-contact-task-text"},S$={class:"fbs-associate-contact-task-lists"},$$=["href"],V$={key:1,class:"fbs_not-found"},A$={key:3,class:"fbs-task-crm-contact-info-container"},I$={class:"fbs-permission-author"},D$=["src","title","alt"],B$={class:"fbs-permission-author-content"},L$={class:"author-name"},M$={class:"author-email"},x$={class:"fbs-associate-contact-task-panel"},P$={class:"fbs-associate-contact-task-text"},F$={class:"fbs-associate-contact-task-lists"},E$=["href"],U$={key:4,class:"fbs_not-found"};const O$=Ss({name:"AssociatedCRMContact",components:{Icons:$s},props:["boardId"],data:()=>({contact_id:"",loading:!1,associatedContacts:[],currentContact:null,activeContact:"",taskSectionActive:[],searchInput:""}),computed:{contactList(){return Array.isArray(this.associatedContacts)?this.associatedContacts:Object.values(this.associatedContacts||{})},hasContacts(){return this.contactList.length>0},hasBoardContacts(){return this.boardContacts.length>0},hasTaskContacts(){return this.taskContacts.length>0},showRegularTaskContacts(){return!this.hasBoardContacts&&this.hasTaskContacts},boardContacts(){return this.contactList.filter(e=>e.is_board_contact)},taskContacts(){return this.contactList.filter(e=>this.hasContactTasks(e))},filteredTaskContacts(){return this.filterContacts(this.taskContacts)},introText(){return this.hasBoardContacts?this.$t("CRM contact associated with this board."):this.$t("CRM contacts associated with this board's tasks.")},showEmptyState(){return!this.loading&&!this.hasBoardContacts&&!this.filteredTaskContacts.length},emptyMessage(){return this.hasContacts?this.$t("No contacts match your search."):this.$t("No CRM contacts are associated with this board yet.")}},watch:{searchInput(){this.syncActiveContact()}},mounted(){this.getAssociatedContacts(),this.emitter.on("adjustContact",e=>{this.adjustContact(e)})},methods:{getTaskUrl:Al,filterContacts(e){const t=this.searchInput.trim().toLowerCase();return t?e.filter(e=>[e.full_name,e.name,e.email,e.status,e.contact_type,...Array.isArray(e.tags)?e.tags.map(e=>e.title):[],...Array.isArray(e.lists)?e.lists.map(e=>e.title):[],...Array.isArray(e.tasks)?e.tasks.map(e=>e.title):[]].some(e=>String(e||"").toLowerCase().includes(t))):e},adjustContact(e){e&&(this.currentContact=null,this.contact_id="")},getAssociatedContacts(){this.loading=!0,this.$get("projects/"+this.boardId+"/crm-contacts").then(e=>{this.associatedContacts=e.associatedContacts,this.setDefaultActiveContact()}).catch(e=>{this.handleError(e)}).finally(()=>{this.loading=!1})},setDefaultActiveContact(){const e=this.taskContacts[0];this.activeContact=e?String(e.id):""},syncActiveContact(){if(!this.filteredTaskContacts.length)return void(this.activeContact="");this.filteredTaskContacts.some(e=>String(e.id)===String(this.activeContact))||(this.activeContact=String(this.filteredTaskContacts[0].id))},taskTitle(e){const t=String(e.title||"");return t.length<85?t:t.substring(0,85)+"..."},hasContactTasks:e=>Array.isArray(e.tasks)&&e.tasks.length>0,contactName(e){return e.full_name||e.name||e.email||this.$t("CRM Contact")},contactBadges:e=>[e.status,e.contact_type].filter(Boolean),badgeClass:e=>"subscribed"===String(e||"").toLowerCase()?"fbs-crm-contact-badge-success":"",segmentItems:(e,t)=>e&&Array.isArray(e[t])?e[t]:[],getContactURL:e=>window.fluentAddonVars.crm_base_url+`subscribers/${e.id}/boards`,update(){this.currentContact&&this.currentContact.id==this.contact_id?this.$notify.warning({title:"Warning",message:"Already associated with the board!"}):(this.loading=!0,this.$post("projects/"+this.boardId+"/crm-contact",{value:this.contact_id}).then(e=>{this.getCrmContact()}).catch(e=>{this.handleError(e)}).finally(()=>{this.loading=!1}))},cancelContactUpdate(){this.contact_id=""}},beforeUnmount(){this.emitter.off("adjustContact")}},[["render",function(e,t,h,u,p,m){const _=b("Icons"),v=He,w=Qt,C=Xt,T=g("loading");return f((s(),a("div",WS,[i("div",KS,[i("h4",null,o(e.$t("Board Contact")),1),i("p",null,o(m.introText),1)]),m.hasBoardContacts?(s(),a("div",ZS,[(s(!0),a(r,null,d(m.boardContacts,t=>(s(),a("div",{key:"board-contact-"+t.id,class:"fbs-associated-crm-contacts__board-card"},[i("div",YS,[i("div",JS,[i("img",{class:"fbs-crm-photo-holder",src:t.photo,alt:m.contactName(t)},null,8,QS)]),i("div",XS,[i("h5",e$,o(m.contactName(t)),1),t.email?(s(),a("p",t$,o(t.email),1)):y("",!0),m.contactBadges(t).length?(s(),a("div",s$,[(s(!0),a(r,null,d(m.contactBadges(t),e=>(s(),a("span",{key:e,class:k(["fbs-crm-contact-badge",m.badgeClass(e)])},o(e),3))),128))])):y("",!0)]),i("a",{class:"fbs-associated-crm-contacts__profile-link",target:"_blank",rel:"noopener noreferrer",href:m.getContactURL(t),"aria-label":e.$t("Open CRM contact"),title:e.$t("Open CRM contact")},[i("span",i$,[l(_,{"icon-name":"external-link"})])],8,a$)]),i("div",o$,[i("div",l$,[i("span",n$,o(e.$t("Tags")),1),i("div",r$,[(s(!0),a(r,null,d(m.segmentItems(t,"tags"),e=>(s(),a("span",{class:"fbs_priority_badge",key:e.id},[i("span",d$,o(e.title),1)]))),128)),m.segmentItems(t,"tags").length?y("",!0):(s(),a("span",c$,o(e.$t("No tags")),1))])]),i("div",h$,[i("span",u$,o(e.$t("Lists")),1),i("div",p$,[(s(!0),a(r,null,d(m.segmentItems(t,"lists"),e=>(s(),a("span",{class:"fbs_priority_badge",key:e.id},[i("span",m$,o(e.title),1)]))),128)),m.segmentItems(t,"lists").length?y("",!0):(s(),a("span",b$,o(e.$t("No lists")),1))])])])]))),128))])):y("",!0),m.showRegularTaskContacts?(s(),c(v,{key:1,modelValue:p.searchInput,"onUpdate:modelValue":t[0]||(t[0]=e=>p.searchInput=e),class:"fbs-associated-crm-contacts__search",placeholder:e.$t("Search"),"prefix-icon":"Search",clearable:""},null,8,["modelValue","placeholder"])):y("",!0),m.hasBoardContacts&&m.hasTaskContacts?(s(),c(C,{key:2,modelValue:p.taskSectionActive,"onUpdate:modelValue":t[3]||(t[3]=e=>p.taskSectionActive=e),class:"fbs-associated-crm-contacts__task-section"},{default:n(()=>[l(w,{name:"task_contacts"},{title:n(()=>[i("div",g$,[i("span",null,o(e.$t("Task Contacts")),1),i("span",null,o(m.taskContacts.length),1)])]),default:n(()=>[l(v,{modelValue:p.searchInput,"onUpdate:modelValue":t[1]||(t[1]=e=>p.searchInput=e),class:"fbs-associated-crm-contacts__search",placeholder:e.$t("Search"),"prefix-icon":"Search",clearable:""},null,8,["modelValue","placeholder"]),m.filteredTaskContacts.length?(s(),a("div",f$,[l(C,{modelValue:p.activeContact,"onUpdate:modelValue":t[2]||(t[2]=e=>p.activeContact=e),accordion:""},{default:n(()=>[(s(!0),a(r,null,d(m.filteredTaskContacts,t=>(s(),c(w,{key:t.id,name:String(t.id)},{title:n(()=>[i("div",_$,[i("img",{src:t.photo,title:t.name,alt:t.name},null,8,k$),i("div",v$,[i("span",y$,o(t.name),1),i("span",w$,o(t.email),1)])])]),default:n(()=>[i("div",C$,[i("p",T$,o(e.$t("Tasks")),1),i("ul",S$,[(s(!0),a(r,null,d(t.tasks,e=>(s(),a("li",{key:e.id},[i("a",{href:m.getTaskUrl(e)},o(m.taskTitle(e)),9,$$)]))),128))])])]),_:2},1032,["name"]))),128))]),_:1},8,["modelValue"])])):(s(),a("div",V$,o(e.$t("No contacts match your search.")),1))]),_:1})]),_:1},8,["modelValue"])):y("",!0),m.showRegularTaskContacts&&m.filteredTaskContacts.length?(s(),a("div",A$,[l(C,{modelValue:p.activeContact,"onUpdate:modelValue":t[4]||(t[4]=e=>p.activeContact=e),accordion:""},{default:n(()=>[(s(!0),a(r,null,d(m.filteredTaskContacts,t=>(s(),c(w,{key:t.id,name:String(t.id)},{title:n(()=>[i("div",I$,[i("img",{src:t.photo,title:t.name,alt:t.name},null,8,D$),i("div",B$,[i("span",L$,o(t.name),1),i("span",M$,o(t.email),1)])])]),default:n(()=>[i("div",x$,[i("p",P$,o(e.$t("Tasks")),1),i("ul",F$,[(s(!0),a(r,null,d(t.tasks,e=>(s(),a("li",{key:e.id},[i("a",{href:m.getTaskUrl(e)},o(m.taskTitle(e)),9,E$)]))),128))])])]),_:2},1032,["name"]))),128))]),_:1},8,["modelValue"])])):m.showEmptyState?(s(),a("div",U$,o(m.emptyMessage),1)):y("",!0)])),[[T,p.loading]])}]]),R$={name:"ArchiveStages",inject:["eventBus"],components:{EmptyState:Vs,Icons:$s},data:()=>({archivedStages:[],pagination:{current_page:0},isNoMoreStages:!1,stageLoading:!1}),computed:{...m(Sr,["currentUserWpOrSuperAdmin","currentUserBoardAdmin"]),...m(js,["board"]),isVisible(){return!(!this.currentUserWpOrSuperAdmin&&!this.currentUserBoardAdmin)},canManageArchivedItems(){return!!this.board&&!this.board.archived_at&&!this.board.isUserOnlyViewer}},methods:{archivedByName(e){var t;return(null==(t=null==e?void 0:e.archived_by)?void 0:t.display_name)||this.$t("Unknown user")},archivedByPhoto(e){var t;return(null==(t=null==e?void 0:e.archived_by)?void 0:t.photo)||""},archivedByInitial(e){return this.archivedByName(e).trim().charAt(0).toUpperCase()||"?"},archivedOnText(e){const t=null==e?void 0:e.archived_at,s=this.$t("Archived on");return t?`${s} ${this.$formatDate(t)||this.$t("Unknown date")}`:`${s} ${this.$t("Unknown date")}`},getArchivedStages(e={}){this.stageLoading=!0,this.$get("projects/"+this.board.id+"/archived-stages",e).then(e=>{const t=[...this.archivedStages,...e.stages.data];this.archivedStages=this.deduplicateStagesById(t),this.pagination=e.stages,this.isNoMoreStages="last_page"in this.pagination&&this.pagination.last_page<=this.pagination.current_page}).catch(e=>{this.handleError(e)}).finally(()=>{this.stageLoading=!1})},restoreToBoard(e){const t=this.getArchiveStageIndex(e);this.removeArchivedStage(e),this.$put("projects/"+this.board.id+"/restore-stage/"+e.id).then(e=>{this.emitter.emit("updateBoard",this.board.id),this.$notify({message:e.message,type:"success"})}).catch(s=>{this.handleError(s),this.handleSendToBoardDeleteStageError(e,t)}).finally(e=>{this.loading=!1,this.$router.push({path:this.$route.fullPath,query:{reload:!0}})})},getArchiveStageIndex(e){return this.archivedStages.findIndex(t=>t.id==e.id)},removeArchivedStage(e){this.archivedStages=this.archivedStages.filter(t=>t.id!=e.id)},handleSendToBoardDeleteStageError(e,t){this.archivedStages.splice(t,0,e)},handleScroll(){const e=this.$refs.archivedStageContainer;if(e){const{scrollTop:t,scrollHeight:s,clientHeight:a}=e;if(t+a>=s-200){if(this.isNoMoreStages||this.stageLoading)return;const e={page:this.pagination.current_page+1};this.getArchivedStages(e)}}},deduplicateStagesById(e){const t=new Map;return e.forEach(e=>{t.set(e.id,e)}),Array.from(t.values())}},mounted(){this.getArchivedStages()}},N$={class:"fbs_archived_stages_panel"},H$={key:0,class:"fbs_board_archived_no_tasks"},j$={class:"fbs_archived_card_container fbs_archived_stages_container"},z$={class:"fbs_archived_card fbs_archived_stage_card"},G$={class:"fbs_archived_card_content"},q$={class:"fbs_archived_task_details"},W$={class:"fbs_archived_card_titles"},K$={class:"fbs_archived_task_archive_meta"},Z$={class:"fbs_archived_task_actor"},Y$=["src","alt","title"],J$=["title"],Q$={class:"fbs_archived_task_archive_date"},X$={key:0,class:"fbs_archived_card_actions"},eV=["aria-label","onClick"],tV={key:0,class:"fbs_archived_loading_row"},sV={key:1,class:"fbs_no_more_tasks"};const aV=Ss(R$,[["render",function(e,t,c,u,p,m){const _=b("empty-state"),k=b("Icons"),v=We,w=g("loading");return s(),a("div",N$,[0==p.archivedStages.length?f((s(),a("div",H$,[l(_,{message:"No archived stages!","icon-width":130,"icon-height":160})])),[[w,p.stageLoading]]):(s(),a("div",{key:1,onScroll:t[0]||(t[0]=(...e)=>m.handleScroll&&m.handleScroll(...e)),ref:"archivedStageContainer",class:"fbs_archived_stages_wrapper"},[i("ul",j$,[(s(!0),a(r,null,d(p.archivedStages,(r,d)=>(s(),a("li",{key:r.id||d},[i("div",z$,[i("div",G$,[i("div",q$,[i("p",W$,o(r.title),1),i("div",K$,[i("div",Z$,[m.archivedByPhoto(r)?(s(),a("img",{key:0,src:m.archivedByPhoto(r),alt:m.archivedByName(r),title:m.archivedByName(r)},null,8,Y$)):(s(),a("span",{key:1,class:"fbs_archived_task_actor_avatar_fallback",title:m.archivedByName(r)},o(m.archivedByInitial(r)),9,J$)),i("span",null,o(m.archivedByName(r)),1)]),t[1]||(t[1]=i("span",{class:"fbs_archived_task_meta_separator","aria-hidden":"true"},"•",-1)),i("span",Q$,o(m.archivedOnText(r)),1)])])]),m.canManageArchivedItems?(s(),a("div",X$,[l(v,{effect:"dark",content:e.$t("Restore"),placement:"top"},{default:n(()=>[i("button",{type:"button",class:"fbs_archived_action_button fbs_archived_restore_icon_button","aria-label":e.$t("Restore"),onClick:h(e=>m.restoreToBoard(r),["stop"])},[l(k,{"icon-name":"restore"})],8,eV)]),_:2},1032,["content"])])):y("",!0)])]))),128)),p.stageLoading?f((s(),a("li",tV,null,512)),[[w,!0]]):y("",!0),p.isNoMoreStages?(s(),a("li",sV,o(e.$t("No more stages")),1)):y("",!0)])],544))])}]]),iV={name:"Labels",inject:["eventBus"],components:{LabelDeleteDialog:Ya,LabelManager:Pi},data:()=>({deleteDialogVisible:!1,deleteLoading:!1,labelToDelete:null}),computed:{...m(js,["board"]),canManageLabels(){return!this.board.archived_at&&!this.board.isUserOnlyViewer}},methods:{saveLabelToBoard(e){this.$post("projects/"+this.board.id+"/labels",{bg_color:e.bg_color,color:e.color,label:e.label}).then(e=>{this.eventBus.emit("add-board-labels",e.label),this.$notify({message:e.message,type:"success"})}).catch(e=>{this.handleError(e)})},updateBoardLabel({label:e,changes:t}){null!=e.id&&this.$put("projects/"+this.board.id+"/labels/"+e.id,{label:t.title??e.title,bg_color:t.bg_color??e.bg_color,color:t.color??e.color}).then(e=>{this.eventBus.emit("updated-board-label",e.label)}).catch(e=>{this.handleError(e)})},showDeleteDialog(e){this.labelToDelete=e,this.deleteDialogVisible=!0},closeDeleteDialog(){this.deleteDialogVisible=!1},onDeleteDialogClosed(){this.deleteLoading=!1,this.labelToDelete=null},deleteLabel(){var e;if(!(null==(e=this.labelToDelete)?void 0:e.id))return void this.closeDeleteDialog();const t=this.labelToDelete.id;this.deleteLoading=!0,this.$del("projects/"+this.board.id+"/labels/"+t).then(e=>{this.$notify({message:e.message,type:e.type}),this.eventBus.emit("delete-board-labels",t)}).catch(e=>{this.handleError(e),this.deleteLoading=!1}).finally(()=>{this.deleteLoading&&this.closeDeleteDialog()})}}},oV={class:"fbs_board_labels fbs_board_menu_labels"};const lV=Ss(iV,[["render",function(e,t,i,o,n,r){const d=b("label-manager"),c=b("label-delete-dialog");return s(),a("div",oV,[l(d,{labels:e.board.labels||[],"label-color":e.board.labelColor||{},"label-color-text":e.board.labelColorText||{},"can-manage-labels":r.canManageLabels,"show-add-button":"","variant-class":"fbs_board_menu_labels",onCreateLabel:r.saveLabelToBoard,onUpdateLabel:r.updateBoardLabel,onRequestDeleteLabel:r.showDeleteDialog},null,8,["labels","label-color","label-color-text","can-manage-labels","onCreateLabel","onUpdateLabel","onRequestDeleteLabel"]),l(c,{"dialog-visible":n.deleteDialogVisible,loading:n.deleteLoading,onCancel:r.closeDeleteDialog,onClosed:r.onDeleteDialogClosed,onConfirm:r.deleteLabel},null,8,["dialog-visible","loading","onCancel","onClosed","onConfirm"])])}]]),nV={class:"fbs_activity_message"},rV={class:"fbs_activity_message__user"},dV={key:0},cV={key:1},hV={key:2},uV=["href"],pV={key:1},mV={key:3},bV=["href"],gV=["href"],fV=["href"],_V={key:3},kV={key:4},vV={key:5},yV={key:4},wV=["href"],CV=["href"],TV={key:3},SV={key:5},$V=["href"],VV=["href"],AV=["href"],IV=["href"],DV={key:5},BV={key:6},LV={key:0};const MV=Ss({name:"ActivityMessage",props:{activity:{type:Object,required:!0}},computed:{isFluentCrmAutomationActivity(){var e;return"fluentcrm_automation"===(null==(e=this.activity.settings)?void 0:e.source)}}},[["render",function(e,t,l,n,d,c){var h,u,p,m,b;return s(),a("span",nV,[i("strong",rV,o(c.isFluentCrmAutomationActivity?e.$t("System"):(null==(h=l.activity.user)?void 0:h.display_name)||e.$t("Guest User")),1),c.isFluentCrmAutomationActivity?(s(),a("span",dV,o(" "+e.$t("created board from FluentCRM automation")),1)):"description"===l.activity.column?(s(),a("span",cV,o(" "+e.$t("Updated description")),1)):l.activity.old_value||l.activity.new_value?!l.activity.old_value&&l.activity.new_value?(s(),a("span",mV,[w(o(" "+l.activity.action+" "+l.activity.column+" ")+" ",1),"created"===l.activity.action&&"task"===l.activity.column&&l.activity.task?(s(),a("a",{key:0,href:e.$getTaskUrl(l.activity.task),class:"fbs_activity_message__link"},o(l.activity.new_value),9,bV)):"task_activity"===l.activity.object_type&&l.activity.task?(s(),a("a",{key:1,href:e.$getTaskUrl(l.activity.task),class:"fbs_activity_message__link"},[i("strong",null,o(l.activity.new_value),1),w(" "+o(e.$t("in"))+" "+o(l.activity.task.title),1)],8,gV)):"board_activity"===l.activity.object_type&&l.activity.board?(s(),a("a",{key:2,href:e.$getBoardUrl(l.activity.board),class:"fbs_activity_message__link"},[i("strong",null,o(l.activity.new_value),1),w(" "+o(e.$t("in"))+" "+o(l.activity.board.title),1)],8,fV)):(s(),a("strong",_V,o(l.activity.new_value),1)),l.activity.task||l.activity.board||!(null==(u=l.activity.description)?void 0:u.includes("on stage"))?l.activity.task||l.activity.board||!l.activity.description?y("",!0):(s(),a("strong",vV,o(" "+l.activity.description),1)):(s(),a("span",kV,[w(o(" "+e.$t("on stage"))+" ",1),i("strong",null,o(l.activity.description.replace("on stage ","")),1)]))])):l.activity.old_value&&!l.activity.new_value?(s(),a("span",yV,[w(o(" "+l.activity.action+" "+l.activity.column+" ")+" ",1),i("strong",null,o(l.activity.old_value),1),l.activity.task||l.activity.board?(s(),a(r,{key:0},[w(o(" "+e.$t("in")+" "),1)],64)):y("",!0),"task_activity"===l.activity.object_type&&l.activity.task?(s(),a("a",{key:1,href:e.$getTaskUrl(l.activity.task),class:"fbs_activity_message__link"},o(l.activity.task.title),9,wV)):"board_activity"===l.activity.object_type&&l.activity.board?(s(),a("a",{key:2,href:e.$getBoardUrl(l.activity.board),class:"fbs_activity_message__link"},o(l.activity.board.title),9,CV)):l.activity.description?(s(),a("strong",TV,o(" "+l.activity.description),1)):y("",!0)])):(s(),a("span",SV,[w(o(" "+l.activity.action+" "+l.activity.column+" ")+" ",1),l.activity.old_value?(s(),a(r,{key:0},[w(o(e.$t("from"))+" ",1),i("strong",null,o(l.activity.old_value),1),w(" "+o(e.$t("to"))+"  ",1)],64)):y("",!0),"updated"===l.activity.action&&"title"===l.activity.column&&"task_activity"===l.activity.object_type&&l.activity.task?(s(),a("a",{key:1,href:e.$getTaskUrl(l.activity.task),class:"fbs_activity_message__link"},o(l.activity.new_value),9,$V)):"updated"===l.activity.action&&"title"===l.activity.column&&"board_activity"===l.activity.object_type&&l.activity.board?(s(),a("a",{key:2,href:e.$getBoardUrl(l.activity.board),class:"fbs_activity_message__link"},o(l.activity.new_value),9,VV)):"task_activity"===l.activity.object_type&&l.activity.task?(s(),a("a",{key:3,href:e.$getTaskUrl(l.activity.task),class:"fbs_activity_message__link"},[i("strong",null,o(l.activity.new_value),1),w(" "+o(e.$t("in"))+" "+o(l.activity.task.title),1)],8,AV)):"board_activity"===l.activity.object_type&&l.activity.board?(s(),a("a",{key:4,href:e.$getBoardUrl(l.activity.board),class:"fbs_activity_message__link"},[i("strong",null,o(l.activity.new_value),1),w(" "+o(e.$t("in"))+" "+o(l.activity.board.title),1)],8,IV)):(s(),a("strong",DV,o(l.activity.new_value),1)),l.activity.task||l.activity.board||!l.activity.description?y("",!0):(s(),a("strong",BV,o(" "+l.activity.description),1))])):(s(),a("span",hV,[w(o(" "+l.activity.action+" "+l.activity.column)+" ",1),"created"===l.activity.action&&"board"===l.activity.column&&l.activity.board?(s(),a("a",{key:0,href:e.$getBoardUrl(l.activity.board),class:"fbs_activity_message__link"},o(l.activity.description),9,uV)):l.activity.description?(s(),a("strong",pV,o(" "+l.activity.description),1)):y("",!0)])),"label"===l.activity.column?(s(),a("span",{key:6,class:k(["fbs_activity_message__label_badge",{"fbs_activity_message__label_badge--empty":!(null==(p=l.activity.settings)?void 0:p.title)}]),style:S({"--fbs-label-dot-color":(null==(m=l.activity.settings)?void 0:m.bg_color)||"var(--fbs-folder-accent)"})},[(null==(b=l.activity.settings)?void 0:b.title)?(s(),a("span",LV,o(l.activity.settings.title),1)):y("",!0)],6)):y("",!0)])}]]),xV={name:"BoardActivities",components:{ActivityListItem:km,ActivityMessage:MV,EmptyState:Vs},data:()=>({loading:!1,activities:[],pagination:{current_page:0},noMoreActivity:!1}),computed:{...m(js,["board"])},mounted(){this.fetchActivities()},methods:{fetchActivities(e={}){this.loading=!0,this.$get("projects/"+this.board.id+"/activities",e).then(e=>{this.pagination=e.activities,this.activities=[...this.activities,...e.activities.data],this.noMoreActivity="last_page"in this.pagination&&this.pagination.current_page>=this.pagination.last_page}).catch(e=>{this.$handleError(e)}).finally(()=>{this.loading=!1})},handleScroll(){const e=this.$refs.boardActivity;if(e){const{scrollTop:t,scrollHeight:s,clientHeight:a}=e;if(t+a>=s-200){if(this.noMoreActivity||this.loading)return;const e={page:this.pagination.current_page+1};this.fetchActivities(e)}}}}},PV={class:"fbs_board_activity_history_container"},FV={key:0,class:"fbs_member_activities__list"},EV={key:1,class:"fbs_board_activity_loading"},UV={key:2,class:"fbs_no_more_board_activities"};const OV=Ss(xV,[["render",function(e,t,h,u,p,m){const _=b("ActivityMessage"),v=We,w=b("ActivityListItem"),C=b("empty-state"),T=g("loading");return s(),a("div",PV,[f((s(),a("div",{ref:"boardActivity",class:k(["fbs-task-activities-wrap",{"fbs-task-activities-wrap--empty":!p.loading&&!p.activities.length}]),onScroll:t[0]||(t[0]=(...e)=>m.handleScroll&&m.handleScroll(...e))},[p.activities.length?(s(),a("div",FV,[(s(!0),a(r,null,d(p.activities,(t,a)=>(s(),c(w,{key:t.id,last:a===p.activities.length-1},{title:n(()=>[l(_,{activity:t},null,8,["activity"])]),date:n(()=>[l(v,{effect:"dark",content:e.$formatDate(t.created_at,"MMM D, YYYY, h:mm A"),placement:"bottom","show-after":750},{default:n(()=>[i("span",null,o(e.$humanTimeDiff(t.created_at)),1)]),_:2},1032,["content"])]),_:2},1032,["last"]))),128))])):y("",!0),p.loading&&p.activities.length?f((s(),a("p",EV,null,512)),[[T,!0]]):y("",!0),p.noMoreActivity&&p.activities.length?(s(),a("p",UV,o(e.$t("No more activities")),1)):y("",!0),p.loading||p.activities.length?y("",!0):(s(),c(C,{key:3,message:"No activity found","icon-width":130,"icon-height":160}))],34)),[[T,p.loading&&!p.activities.length]])])}]]),RV={class:"fbs_board_about_card"};const NV=Ss({name:"BoardAboutCard"},[["render",function(e,t,i,o,l,n){return s(),a("section",RV,[_(e.$slots,"default")])}]]),HV={name:"BoardAboutEditButton",components:{Icons:$s},emits:["click"],props:{ariaLabel:{type:String,required:!0},disabled:{type:Boolean,default:!1}}},jV=["aria-label","title","disabled"];const zV=Ss({name:"BoardAboutEditableHeading",components:{BoardAboutEditButton:Ss(HV,[["render",function(e,t,i,o,n,r){const d=b("Icons");return s(),a("button",{type:"button",class:"fbs_board_about_edit_button","aria-label":i.ariaLabel,title:i.ariaLabel,disabled:i.disabled,onClick:t[0]||(t[0]=t=>e.$emit("click"))},[l(d,{"icon-name":"pen"})],8,jV)}]])},emits:["edit"],props:{text:{type:String,required:!0},variant:{type:String,default:"label",validator:e=>["title","label"].includes(e)},canEdit:{type:Boolean,default:!1},editLabel:{type:String,required:!0}},computed:{tagName(){return"title"===this.variant?"h2":"span"}},methods:{handleTextClick(){this.canEdit&&this.$emit("edit")}}},[["render",function(e,t,i,l,r,d){const h=b("board-about-edit-button");return s(),a("div",{class:k(["fbs_board_about_editable_heading",[`fbs_board_about_editable_heading--${i.variant}`,i.canEdit?"is-editable":""]])},[(s(),c(K(d.tagName),{class:"fbs_board_about_editable_heading__text",onClick:d.handleTextClick},{default:n(()=>[w(o(i.text),1)]),_:1},8,["onClick"])),i.canEdit?(s(),c(h,{key:0,"aria-label":i.editLabel,onClick:t[0]||(t[0]=t=>e.$emit("edit"))},null,8,["aria-label"])):y("",!0)],2)}]]);const GV=Ss({name:"ItemCopierButton",components:{Check:Ht,CustomIcon:ml},props:{text:{type:[String,Number],default:""},ariaLabel:{type:String,default:""},buttonType:{type:String,default:"primary"},disabled:{type:Boolean,default:!1},notify:{type:Boolean,default:!0},resetAfter:{type:Number,default:5e3},successMessage:{type:String,default:""},errorMessage:{type:String,default:""},iconName:{type:String,default:"file-copy-line"}},emits:["copied","failed"],data:()=>({copySuccess:!1,resetTimer:null}),computed:{resolvedAriaLabel(){return this.ariaLabel||this.$t("Copy item")}},methods:{copyItem(){const e=`${this.text??""}`;e?navigator.clipboard&&navigator.clipboard.writeText?navigator.clipboard.writeText(e).then(()=>{this.showCopySuccess()}).catch(()=>{this.fallbackCopyText(e)?this.showCopySuccess():this.showCopyError()}):this.fallbackCopyText(e)?this.showCopySuccess():this.showCopyError():this.showCopyError()},fallbackCopyText(e){if(window.clipboardData&&window.clipboardData.setData)return window.clipboardData.setData("Text",e),!0;if(!document.queryCommandSupported||!document.queryCommandSupported("copy"))return!1;const t=document.createElement("textarea");t.value=e,t.style.position="fixed",t.style.top="-9999px",t.style.left="-9999px",document.body.appendChild(t),t.focus(),t.select();try{return document.execCommand("copy")}catch(s){return!1}finally{document.body.removeChild(t)}},showCopySuccess(){this.copySuccess=!0,this.$emit("copied"),this.resetTimer&&clearTimeout(this.resetTimer),this.resetTimer=setTimeout(()=>{this.copySuccess=!1},this.resetAfter),this.notify&&this.$notify({message:this.successMessage||this.$t("Copied to your clipboard"),position:this.appVars.is_rtl?"bottom-left":"bottom-right",customClass:this.appVars.is_rtl?"bottom_left":"bottom_right",type:"success"})},showCopyError(){this.$emit("failed"),this.notify&&this.$notify({message:this.errorMessage||this.$t("Your Browser does not support JS copy. Please copy manually"),position:this.appVars.is_rtl?"bottom-left":"bottom-right",customClass:this.appVars.is_rtl?"bottom_left":"bottom_right",type:"error"})}},beforeUnmount(){this.resetTimer&&clearTimeout(this.resetTimer)}},[["render",function(e,t,a,i,o,r){const d=b("Check"),h=Ne,u=b("custom-icon"),p=ze;return s(),c(p,{class:k(["fbs-item-copier-button",{"is-copied":o.copySuccess}]),type:a.buttonType,"native-type":"button",disabled:a.disabled||o.copySuccess,"aria-label":r.resolvedAriaLabel,onClick:r.copyItem},{default:n(()=>[o.copySuccess?(s(),c(h,{key:0},{default:n(()=>[l(d)]),_:1})):(s(),c(u,{key:1,"icon-name":a.iconName},null,8,["icon-name"]))]),_:1},8,["class","type","disabled","aria-label","onClick"])}]]),qV={name:"BoardAboutShortcodeField",components:{ItemCopierButton:GV},props:{label:{type:String,required:!0},value:{type:String,required:!0},copyAriaLabel:{type:String,required:!0},indented:{type:Boolean,default:!1}}},WV={class:"fbs_board_about_shortcode_field__label"},KV={class:"fbs_board_about_shortcode_field__control"},ZV=["title"];const YV=Ss(qV,[["render",function(e,t,n,r,d,c){const h=b("item-copier-button");return s(),a("div",{class:k(["fbs_board_about_shortcode_field",{"fbs_board_about_shortcode_field--indented":n.indented}])},[i("label",WV,o(n.label),1),i("div",KV,[i("span",{class:"fbs_board_about_shortcode_field__value",title:n.value},o(n.value),9,ZV),l(h,{class:"fbs_board_about_shortcode_field__copy",text:n.value,"aria-label":n.copyAriaLabel,"success-message":e.$t("Shortcode copied successfully."),"error-message":e.$t("Something went wrong!!")},null,8,["text","aria-label","success-message","error-message"])])],2)}]]);G.setOptions({breaks:!0});const JV={name:"BoardAbout",inject:["eventBus"],props:{boardData:{type:Object,default:null}},components:{BoardAboutCard:NV,BoardAboutEditableHeading:zV,BoardAboutShortcodeField:YV,CustomIcon:ml,Icons:$s,MilkdownEditor:Kb},data:()=>({folders:[],selectedFolderId:"",publicAccessEnabled:!1,publicAccessLoading:!1,editingTitle:!1,updatingTitle:!1,boardTitle:"",editingDescription:!1,boardDescription:"",pendingTitleRequest:null,pendingDescriptionRequest:null}),computed:{...m(js,["board","stages","tasks"]),currentBoard(){var e;return(null==(e=this.board)?void 0:e.id)?this.board:this.boardData},owner(){var e;return null==(e=this.currentBoard)?void 0:e.owner},ownerName(){var e,t;return(null==(e=this.owner)?void 0:e.display_name)||(null==(t=this.owner)?void 0:t.user_login)||this.$t("Unknown")},ownerInitials(){return this.ownerName.trim().split(/\s+/).slice(0,2).map(e=>e.charAt(0)).join("").toUpperCase()||"?"},ownerRole(){var e,t,s;const a=(null==(e=this.owner)?void 0:e.ID)||(null==(t=this.owner)?void 0:t.id),i=((null==(s=this.currentBoard)?void 0:s.users)||[]).find(e=>{const t=(null==e?void 0:e.ID)||(null==e?void 0:e.id);return a&&String(t)===String(a)});return(null==i?void 0:i.role)||"Admin"},createdOnDate(){var e;return(null==(e=this.currentBoard)?void 0:e.createdOn)?this.$formatDate(this.currentBoard.createdOn,"D MMM, YYYY")||this.currentBoard.createdOn:""},boardDetailItems(){var e,t,s,a,i;const o=this.currentBoard||{};return[{key:"tasks",icon:"task",label:"Tasks",value:Number((null==(e=o.settings)?void 0:e.tasks_count)??(null==(t=this.tasks)?void 0:t.length)??0)||0},{key:"stages",icon:"stage",label:"Stages",value:Array.isArray(o.stages)?o.stages.length:(null==(s=this.stages)?void 0:s.length)||0},{key:"labels",icon:"label",label:"Labels",value:(null==(a=o.labels)?void 0:a.length)||0},{key:"members",icon:"users",label:"Members",value:(null==(i=o.users)?void 0:i.length)||0}]},boardTitleText(){var e;return(null==(e=this.currentBoard)?void 0:e.title)||this.$t("Untitled Board")},canEditBoardTitle(){var e,t,s;return!!(null==(e=this.currentBoard)?void 0:e.id)&&!(null==(t=this.currentBoard)?void 0:t.archived_at)&&!(null==(s=this.currentBoard)?void 0:s.isUserOnlyViewer)},canEditBoardDescription(){var e,t,s;return!!(null==(e=this.currentBoard)?void 0:e.id)&&!(null==(t=this.currentBoard)?void 0:t.archived_at)&&!(null==(s=this.currentBoard)?void 0:s.isUserOnlyViewer)},renderedBoardDescription(){var e;const t=(null==(e=this.currentBoard)?void 0:e.description)||"";return t?Z.sanitize(G(Fs(t)?Es(t):t)):""},hasBoardDescriptionChanges(){var e;return(this.boardDescription||"")!==((null==(e=this.currentBoard)?void 0:e.description)||"")},shortcode(){var e;return`[fluent_board id="${(null==(e=this.currentBoard)?void 0:e.id)||""}"]`},publicShortcode(){var e;return`[fluent_board_public id="${(null==(e=this.currentBoard)?void 0:e.id)||""}"]`},roadmapShortcode(){var e;return`[fluent-roadmap id="${(null==(e=this.currentBoard)?void 0:e.id)||""}"]`},reportUrl(){var e;const t=null==(e=this.currentBoard)?void 0:e.id;return"admin"===this.appVars.render_in?`${this.appVars.admin_url}?page=fluent-boards#/reports/tasks?board_id=${t}`:`${this.appVars.base_url}reports/tasks?board_id=${t}`},roadmapReportUrl(){var e;const t=null==(e=this.currentBoard)?void 0:e.id;return"admin"===this.appVars.render_in?`${this.appVars.admin_url}?page=fluent-boards#/reports/roadmap?board_id=${t}`:`${this.appVars.base_url}reports/roadmap?board_id=${t}`},isAdmin(){return this.$isAdmin()}},methods:{...M(js,["setBoard"]),editBoardTitle(){var e;this.canEditBoardTitle&&(this.boardTitle=(null==(e=this.currentBoard)?void 0:e.title)||"",this.editingTitle=!0,this.$nextTick(()=>{var e;null==(e=this.$refs.boardTitleInput)||e.focus()}))},updateBoardTitle(){var e,t,s;if(this.updatingTitle||!this.editingTitle)return this.pendingTitleRequest||Promise.resolve();const a=this.boardTitle.trim();return a?a===((null==(t=this.currentBoard)?void 0:t.title)||"").trim()?(this.editingTitle=!1,Promise.resolve()):(this.editingTitle=!1,this.updatingTitle=!0,this.pendingTitleRequest=this.$put("projects/"+this.currentBoard.id,{title:a,description:(null==(s=this.currentBoard)?void 0:s.description)||""}).then(e=>{this.setBoard(e.board),this.eventBus.emit("board-updated",e.board),this.$notify({message:e.message,type:"success"})}).catch(e=>{var t;this.$handleError(e),this.boardTitle=(null==(t=this.currentBoard)?void 0:t.title)||""}).finally(()=>{this.updatingTitle=!1,this.pendingTitleRequest=null}),this.pendingTitleRequest):(this.$notify.error({title:this.$t("Error"),message:this.$t("Title cannot be empty")}),this.boardTitle=(null==(e=this.currentBoard)?void 0:e.title)||"",this.editingTitle=!1,Promise.resolve())},editBoardDescription(){var e;this.canEditBoardDescription&&(this.boardDescription=(null==(e=this.currentBoard)?void 0:e.description)||"",this.editingDescription=!0)},cancelBoardDescriptionEdit(){var e;this.pendingDescriptionRequest||(this.boardDescription=(null==(e=this.currentBoard)?void 0:e.description)||"",this.editingDescription=!1)},updateBoardDescription(){var e;if(!this.editingDescription||this.pendingDescriptionRequest)return this.pendingDescriptionRequest||Promise.resolve();const t=this.boardDescription||"";return this.hasBoardDescriptionChanges?(this.pendingDescriptionRequest=this.$put("projects/"+this.currentBoard.id,{title:(null==(e=this.currentBoard)?void 0:e.title)||"",description:t}).then(e=>{this.setBoard(e.board),this.eventBus.emit("board-updated",e.board),this.editingDescription=!1,this.$notify({message:e.message,type:"success"})}).catch(e=>{var t;this.$handleError(e),this.boardDescription=(null==(t=this.currentBoard)?void 0:t.description)||""}).finally(()=>{this.pendingDescriptionRequest=null}),this.pendingDescriptionRequest):(this.editingDescription=!1,Promise.resolve())},savePendingChanges(){const e=[];return this.editingTitle?e.push(this.updateBoardTitle()):this.pendingTitleRequest&&e.push(this.pendingTitleRequest),this.pendingDescriptionRequest&&e.push(this.pendingDescriptionRequest),Promise.all(e)},refreshBoard(){var e;(null==(e=this.currentBoard)?void 0:e.id)&&this.$get("projects/"+this.currentBoard.id).then(e=>{this.setBoard(e.board),this.eventBus.emit("board-updated",e.board),this.selectedFolderId=e.board.folder?e.board.folder.id:"",this.appVars.has_pro&&this.fetchPublicAccessSettings()}).catch(e=>{this.$handleError(e)})},fetchPublicAccessSettings(){this.$get("projects/"+this.currentBoard.id+"/public-access-settings").then(e=>{this.publicAccessEnabled=e.enabled}).catch(()=>{})},togglePublicAccess(e){this.publicAccessLoading=!0,this.$put("projects/"+this.currentBoard.id+"/toggle-public-access",{enabled:e}).then(e=>{this.publicAccessEnabled=e.enabled,this.$notify({message:e.message,type:"success"})}).catch(t=>{this.publicAccessEnabled=!e,this.$handleError(t)}).finally(()=>{this.publicAccessLoading=!1})},getFolders(){this.$get("admin/folders").then(e=>{var t;this.folders=[{id:-1,title:this.$t("No Folder")},...e.folders],this.selectedFolderId=(null==(t=this.currentBoard)?void 0:t.folder)?this.currentBoard.folder.id:""}).catch(e=>{this.$handleError(e)})},updateFolderSelection(){var e;-1!==this.selectedFolderId?this.addToFolder():(null==(e=this.currentBoard)?void 0:e.folder)&&this.removeFromFolder()},addToFolder(){var e;if(!this.selectedFolderId)return;const t=this.selectedFolderId,s=(null==(e=this.currentBoard)?void 0:e.folder)?this.currentBoard.folder.id:"";this.$post(`admin/folders/${t}/add-board`,{board_ids:[this.currentBoard.id]}).then(e=>{const s=this.folders.find(e=>e.id===t),a={...this.currentBoard,folder:s};this.setBoard(a),this.eventBus.emit("board-updated",a),this.selectedFolderId=(null==s?void 0:s.id)||"",this.$notify({message:e.message,type:"success"})}).catch(e=>{this.selectedFolderId===t&&(this.selectedFolderId=s),this.$handleError(e)})},removeFromFolder(){var e;if(!(null==(e=this.currentBoard)?void 0:e.folder))return;const t=this.currentBoard.folder.id;this.$post(`admin/folders/${t}/remove-board`,{board_id:this.currentBoard.id}).then(e=>{const t={...this.currentBoard,folder:null};this.setBoard(t),this.eventBus.emit("board-updated",t),this.$notify({message:e.message,type:"success"})}).catch(e=>{-1===this.selectedFolderId&&(this.selectedFolderId=t),this.$handleError(e)})}},mounted(){this.refreshBoard(),this.getFolders()}},QV={class:"fbs_board_about"},XV={class:"fbs_board_about_content"},eA={class:"fbs_board_about_description_block"},tA=["innerHTML"],sA={key:1,class:"fbs_board_about_description_editor_wrap"},aA={class:"fbs_board_about_description_actions"},iA={class:"fbs_board_about_created"},oA={class:"fbs_board_about_section_title"},lA={class:"fbs_board_about_created_content"},nA={class:"fbs_board_about_creator"},rA=["src","alt"],dA={key:1,class:"fbs_board_about_creator_avatar fbs_board_about_creator_avatar--fallback","aria-hidden":"true"},cA={class:"fbs_board_about_creator_text"},hA={key:0},uA={class:"fbs_board_about_creator_role"},pA={class:"fbs_board_about_details"},mA={class:"fbs_board_about_section_title"},bA={class:"fbs_board_about_detail_list"},gA={class:"icon"},fA={class:"label"},_A={class:"fbs_board_about_public_access"},kA={class:"fbs_board_about_public_access__copy"},vA={class:"fbs_board_about_folder"},yA=["href"];const wA=Ss(JV,[["render",function(e,t,u,p,m,g){var f,_,v;const C=b("board-about-editable-heading"),T=He,S=b("milkdown-editor"),V=ze,A=b("board-about-card"),I=b("Icons"),D=b("board-about-shortcode-field"),B=Jt,L=b("icons"),M=Be,x=Le,P=b("custom-icon");return s(),a("div",QV,[i("div",XV,[l(A,{class:"fbs_board_about_card--intro"},{default:n(()=>[m.editingTitle?(s(),c(T,{key:1,ref:"boardTitleInput",modelValue:m.boardTitle,"onUpdate:modelValue":t[0]||(t[0]=e=>m.boardTitle=e),class:"fbs_board_about_title_input",placeholder:e.$t("Board title"),disabled:m.updatingTitle,onKeyup:$(h(g.updateBoardTitle,["prevent"]),["enter"]),onChange:g.updateBoardTitle,onBlur:g.updateBoardTitle,onFocusout:g.updateBoardTitle},null,8,["modelValue","placeholder","disabled","onKeyup","onChange","onBlur","onFocusout"])):(s(),c(C,{key:0,text:g.boardTitleText,variant:"title","can-edit":g.canEditBoardTitle,"edit-label":e.$t("Edit board title"),onEdit:g.editBoardTitle},null,8,["text","can-edit","edit-label","onEdit"])),i("div",eA,[m.editingDescription?(s(),a("div",sA,[l(S,{modelValue:m.boardDescription,"onUpdate:modelValue":t[2]||(t[2]=e=>m.boardDescription=e),class:"fbs_board_about_description_editor",autofocus:!0,"disable-image-upload":!0,"save-on-blur":!1,placeholder:e.$t("Add a description for this board..."),onSave:g.updateBoardDescription},null,8,["modelValue","placeholder","onSave"]),i("div",aA,[l(V,{size:"small",disabled:!!m.pendingDescriptionRequest,onClick:g.cancelBoardDescriptionEdit},{default:n(()=>[w(o(e.$t("Cancel")),1)]),_:1},8,["disabled","onClick"]),l(V,{type:"primary",size:"small",loading:!!m.pendingDescriptionRequest,disabled:!g.hasBoardDescriptionChanges,onClick:g.updateBoardDescription},{default:n(()=>[w(o(e.$t("Save")),1)]),_:1},8,["loading","disabled","onClick"])])])):(s(),a("div",{key:0,class:k(["fbs_board_about_description","fbs-task-description-rendered",g.canEditBoardDescription?"is-editable":""]),onClick:t[1]||(t[1]=(...e)=>g.editBoardDescription&&g.editBoardDescription(...e)),innerHTML:g.renderedBoardDescription||e.$t("No description")},null,10,tA))])]),_:1}),i("section",iA,[i("h3",oA,o(e.$t("Created By")),1),i("div",lA,[i("div",nA,[(null==(f=g.owner)?void 0:f.photo)?(s(),a("img",{key:0,class:"fbs_board_about_creator_avatar",src:g.owner.photo,alt:g.ownerName},null,8,rA)):(s(),a("span",dA,o(g.ownerInitials),1)),i("span",cA,[i("strong",null,o(g.ownerName),1),g.createdOnDate?(s(),a("small",hA,o(e.$t("Created on"))+" "+o(g.createdOnDate),1)):y("",!0)])]),i("span",uA,o(e.$t(g.ownerRole)),1)])]),i("section",pA,[i("h3",mA,o(e.$t("Board Details")),1),i("ul",bA,[(s(!0),a(r,null,d(g.boardDetailItems,t=>(s(),a("li",{key:t.key,class:"fbs_priority_badge"},[i("span",gA,[l(I,{"icon-name":t.icon},null,8,["icon-name"])]),i("span",fA,o(e.$t(t.label))+": "+o(t.value),1)]))),128))])]),e.appVars.has_pro?(s(),c(A,{key:0,class:"fbs_board_about_card--shortcodes"},{default:n(()=>{var a;return[l(D,{label:e.$t("Shortcode"),value:g.shortcode,"copy-aria-label":e.$t("Copy shortcode")},null,8,["label","value","copy-aria-label"]),m.publicAccessEnabled?(s(),c(D,{key:0,label:e.$t("Shortcode"),value:g.publicShortcode,"copy-aria-label":e.$t("Copy public shortcode")},null,8,["label","value","copy-aria-label"])):y("",!0),"roadmap"===(null==(a=g.currentBoard)?void 0:a.type)?(s(),c(D,{key:1,label:e.$t("Roadmap Shortcode"),value:g.roadmapShortcode,"copy-aria-label":e.$t("Copy roadmap shortcode")},null,8,["label","value","copy-aria-label"])):y("",!0),i("div",_A,[l(B,{modelValue:m.publicAccessEnabled,"onUpdate:modelValue":t[3]||(t[3]=e=>m.publicAccessEnabled=e),class:"fbs-settings-switch fbs_board_about_public_switch",loading:m.publicAccessLoading,size:"small",onChange:g.togglePublicAccess},null,8,["modelValue","loading","onChange"]),i("span",kA,[i("span",null,o(e.$t("Public Access")),1),i("small",null,"("+o(e.$t("Anyone with the link can view"))+")",1)])])]}),_:1})):y("",!0),i("div",vA,[l(L,{class:"fbs_board_about_folder_icon","icon-name":"folder"}),l(x,{modelValue:m.selectedFolderId,"onUpdate:modelValue":t[4]||(t[4]=e=>m.selectedFolderId=e),class:"fbs_board_about_folder_select",disabled:!g.isAdmin,placeholder:e.$t("Select Folder"),filterable:"","popper-class":"fbs-tasks-view-popover",onChange:g.updateFolderSelection},{default:n(()=>[(s(!0),a(r,null,d(m.folders,e=>(s(),c(M,{key:e.id,label:e.title,value:e.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue","disabled","placeholder","onChange"])]),e.appVars.has_pro?(s(),a("a",{key:1,class:"fbs_board_about_report_link",href:"roadmap"===(null==(_=g.currentBoard)?void 0:_.type)?g.roadmapReportUrl:g.reportUrl},[l(P,{class:"fbs_board_about_report_icon","icon-name":"file-chart-line"}),i("span",null,o("roadmap"===(null==(v=g.currentBoard)?void 0:v.type)?e.$t("View Roadmap Report"):e.$t("View Report")),1)],8,yA)):y("",!0)])])}]]),CA={name:"DuplicateBoard",components:{MenuDrawerFooter:xS},props:["boardId"],emits:["closeDrawer","cancelDuplicate"],data:()=>({newBoard:{title:"",type:"to-do"},boardError:{title:!1},stageCheckAll:!0,withTasks:!0,withLabels:!0,withTemplates:!1,stages:[],selectedStages:[],allStagesData:[],selectedStagesData:[],loading:!1}),watch:{"newBoard.title"(e){""!=e&&(this.boardError.title=!1)}},computed:{...m(js,["board"])},mounted(){this.board&&this.initializeBoardTitle()},methods:{initializeBoardTitle(){this.newBoard.title=this.board.title+" - Copy"},defineSelectedStages(){this.stages=this.board.stages.map(e=>e.title),this.selectedStages=Object.assign(this.selectedStages,this.stages),this.allStagesData=this.board.stages.map(e=>({id:e.id,title:e.title,status:e.settings.default_task_status})),this.selectedStagesData=Object.assign([],this.allStagesData),this.stageCheckAll=!0},changeStage(e){const t=e.length;if(0==t)return void this.selectedStages.push(this.stages[0]);this.stageCheckAll=t===this.stages.length;let s=this.allStagesData.filter(t=>e.includes(t.title));this.selectedStagesData=Object.assign([],s)},confirmCopy(){this.$isAdmin()&&(""!=this.newBoard.title?(this.loading=!0,this.$post("projects/"+this.board.id+"/duplicate-board",{board:this.newBoard,isWithLabels:this.withLabels?"yes":"no",isWithTasks:this.withTasks?"yes":"no",isWithTemplates:this.withTemplates?"yes":"no"}).then(e=>{this.$router.push({name:"board",params:{id:e.board.id}})}).catch(e=>{this.handleError(e)}).finally(()=>{this.loading=!1,this.$emit("closeDrawer")})):this.boardError.title=!0)},cancel(){this.$emit("cancelDuplicate")},changeCheckAllStage(e){this.selectedStages=e?this.stages:[this.stages[0]],this.allStagesData=this.board.stages.map(e=>({title:e.title,status:e.settings.default_task_status})),this.selectedStagesData=Object.assign([],this.allStagesData)}}},TA={class:"fbs-copy-board"},SA={class:"fbs-copy-board__content"},$A={class:"fbs-copy-board-item fbs-copy-board-title"},VA={class:"fbs-copy-board-item-label"},AA={key:0,class:"fbs-warning"},IA={class:"fbs-copy-board-item fbs-options"},DA={class:"fbs-copy-board-item-label"},BA={class:"fbs-copy-board-checkbox-list"};const LA=Ss(CA,[["render",function(e,t,n,r,d,h){const u=He,p=qe,m=b("menu-drawer-footer"),_=g("loading");return f((s(),a("div",TA,[i("div",SA,[i("div",$A,[i("p",VA,o(e.$t("Title"))+"*",1),l(u,{modelValue:d.newBoard.title,"onUpdate:modelValue":t[0]||(t[0]=e=>d.newBoard.title=e),size:"large",placeholder:e.$t("Please Input")},null,8,["modelValue","placeholder"]),d.boardError.title?(s(),a("p",AA,o(e.$t("Title is required")),1)):y("",!0)]),i("div",IA,[i("p",DA,o(e.$t("Options")),1),i("div",BA,[l(p,{class:"fbs-copy-board-checkbox",modelValue:d.withTasks,"onUpdate:modelValue":t[1]||(t[1]=e=>d.withTasks=e),size:"large",label:e.$t("Keep Tasks")},null,8,["modelValue","label"]),l(p,{class:"fbs-copy-board-checkbox",modelValue:d.withLabels,"onUpdate:modelValue":t[2]||(t[2]=e=>d.withLabels=e),size:"large",label:e.$t("Keep Labels")},null,8,["modelValue","label"]),e.hasPro?(s(),c(p,{key:0,class:"fbs-copy-board-checkbox",modelValue:d.withTemplates,"onUpdate:modelValue":t[3]||(t[3]=e=>d.withTemplates=e),size:"large",label:e.$t("Keep Templates")},null,8,["modelValue","label"])):y("",!0)])])]),l(m,{"secondary-text":e.$t("Cancel"),"primary-text":e.$t("Duplicate"),"primary-loading":d.loading,"primary-disabled":d.loading,"secondary-disabled":d.loading,onSecondary:h.cancel,onPrimary:h.confirmCopy},null,8,["secondary-text","primary-text","primary-loading","primary-disabled","secondary-disabled","onSecondary","onPrimary"])])),[[_,d.loading]])}]]);const MA=Ss({name:"ArchiveBoardDialog",components:{ConfirmationDialog:Za},emits:["confirm","cancel"],props:{dialogVisible:{type:Boolean,required:!0},loading:{type:Boolean,default:!1}}},[["render",function(e,t,a,i,o,l){const n=b("confirmation-dialog");return s(),c(n,{"dialog-visible":a.dialogVisible,loading:a.loading,title:e.$t("Confirmation Required"),message:e.$t("Archived boards can be restored at any time, but they will no longer appear in your active boards list. Are you sure you want to archive this board?"),"confirm-text":e.$t("Archive This Board"),onConfirm:t[0]||(t[0]=t=>e.$emit("confirm")),onCancel:t[1]||(t[1]=t=>e.$emit("cancel"))},null,8,["dialog-visible","loading","title","message","confirm-text"])}]]);const xA=Ss({name:"RestoreBoardDialog",components:{ConfirmationDialog:Za},emits:["confirm","cancel"],props:{dialogVisible:{type:Boolean,required:!0},loading:{type:Boolean,default:!1}}},[["render",function(e,t,a,i,o,l){const n=b("confirmation-dialog");return s(),c(n,{"dialog-visible":a.dialogVisible,loading:a.loading,title:e.$t("Confirmation Required"),message:e.$t("Are you sure you want to restore the board"),"confirm-text":e.$t("Restore Board"),onConfirm:t[0]||(t[0]=t=>e.$emit("confirm")),onCancel:t[1]||(t[1]=t=>e.$emit("cancel"))},null,8,["dialog-visible","loading","title","message","confirm-text"])}]]),PA={class:"fbs_export_menu"},FA={class:"fbs_board_setting_list_container fbs_export_menu__list"},EA={class:"fbs_board_menu_item_main"},UA={class:"fbs_board_menu_item_icon"},OA={class:"fbs_board_menu_item_label"},RA={class:"fbs_board_menu_item_main"},NA={class:"fbs_board_menu_item_icon"},HA={class:"fbs_board_menu_item_label"},jA={key:0,class:"fbs-csv-progress-container"},zA={class:"fbs-csv-progress"},GA={key:1,class:"fbs-csv-progress-container"},qA={class:"fbs-csv-progress"};const WA=Ss({name:"Export",components:{CustomIcon:ml},data:()=>({csvFileDownloading:!1,jsonFileDownloading:!1,csvProgressPercentage:0,jsonProgressPercentage:0,colors:[{color:"#f56c6c",percentage:20},{color:"#e6a23c",percentage:40},{color:"#5cb87a",percentage:60},{color:"#1989fa",percentage:80},{color:"#6f7ad3",percentage:100}],boardExporting:!1}),methods:{exportBoardData(){this.startExport("json")},exportBoardInCsv(){this.startExport("csv")},startExport(e){if(!this.appVars.has_pro&&"json"!==e)return this.$notify.error(this.$t(`Export as ${e.toUpperCase()} file is only available on pro version`)),!1;const t={action:`fluent_boards_export_${e}`,board_id:this.$route.params.id};this[`${e}FileDownloading`]=!0,this.boardExporting=!0,jQuery.ajax({url:window.fluentAddonVars.ajaxurl,method:"POST",data:t,success:function(t){t.success&&(this[`${e}ProgressPercentage`]=0,this.pollExportStatus(e))}.bind(this),error:function(t,s,a){this[`${e}ProgressPercentage`]=0,this[`${e}FileDownloading`]=!1,this.boardExporting=!1}.bind(this)})},pollExportStatus(e){const t={action:`fluent_boards_export_${e}_status`,board_id:this.$route.params.id};jQuery.ajax({url:window.fluentAddonVars.ajaxurl,method:"POST",data:t,success:function(t){if(t.success&&"succeed"===t.data.status)this.downloadFile(e);else if(t.success&&t.data.status.startsWith("preparing")){const s=t.data.progress,a=t.data.totalTasks;let i=Math.round(s/a*100);isNaN(i)&&(i=0),this[`${e}ProgressPercentage`]=i,setTimeout(()=>this.pollExportStatus(e),5e3)}else this[`${e}ProgressPercentage`]=0,this[`${e}FileDownloading`]=!1,this.boardExporting=!1}.bind(this),error:function(t,s,a){this[`${e}ProgressPercentage`]=0,this[`${e}FileDownloading`]=!1,this.boardExporting=!1}.bind(this)})},downloadFile(e){const t={action:`fluent_boards_export_${e}_file_download`,board_id:this.$route.params.id};jQuery.ajax({url:window.fluentAddonVars.ajaxurl,method:"POST",data:t,success:function(t,s,a){const i=a.getResponseHeader("Content-Type");if(i&&i.includes("application/json"))try{const s="string"==typeof t?JSON.parse(t):t;if(s.hasOwnProperty("success"))s.success?"preparing"===s.status&&setTimeout(()=>this.downloadFile(e),5e3):(this.$notify.error(s.message),this[`${e}ProgressPercentage`]=0,this[`${e}FileDownloading`]=!1,this.boardExporting=!1);else{const s=a.getResponseHeader("Content-Disposition"),i=s&&s.match(/filename="([^"]+)"/),o=i?i[1]:`export.${e}`,l=new Blob([JSON.stringify(t,null,2)],{type:"application/json"}),n=window.URL.createObjectURL(l),r=document.createElement("a");r.style.display="none",r.href=n,r.download=o,document.body.appendChild(r),r.click(),window.URL.revokeObjectURL(n),document.body.removeChild(r),this[`${e}ProgressPercentage`]=0,this[`${e}FileDownloading`]=!1,this.boardExporting=!1}}catch(o){this[`${e}ProgressPercentage`]=0,this[`${e}FileDownloading`]=!1,this.boardExporting=!1}else if(i&&(i.includes(`application/${e}`)||i.includes("text/csv"))){const s=a.getResponseHeader("Content-Disposition"),o=s&&s.match(/filename="([^"]+)"/),l=o?o[1]:`export.${e}`,n=new Blob([t],{type:i}),r=window.URL.createObjectURL(n),d=document.createElement("a");d.href=r,d.setAttribute("download",l),document.body.appendChild(d),d.click(),document.body.removeChild(d),window.URL.revokeObjectURL(r),this[`${e}ProgressPercentage`]=0,this[`${e}FileDownloading`]=!1,this.boardExporting=!1}else this[`${e}ProgressPercentage`]=0,this[`${e}FileDownloading`]=!1,this.boardExporting=!1}.bind(this),error:function(t,s,a){this[`${e}ProgressPercentage`]=0,this[`${e}FileDownloading`]=!1,this.boardExporting=!1}})}}},[["render",function(e,t,r,d,c,h){const u=b("custom-icon"),p=ze,m=ot;return s(),a("div",PA,[i("ul",FA,[i("li",null,[l(p,{disabled:c.jsonFileDownloading,onClick:t[0]||(t[0]=e=>h.exportBoardData()),class:"fbs_board_setting_list"},{default:n(()=>[i("span",EA,[i("span",UA,[l(u,{"icon-name":"export"})]),i("span",OA,o(e.$t("Export as JSON")),1)])]),_:1},8,["disabled"])]),i("li",null,[l(p,{disabled:c.csvFileDownloading,onClick:t[1]||(t[1]=e=>h.exportBoardInCsv()),class:"fbs_board_setting_list"},{default:n(()=>[i("span",RA,[i("span",NA,[l(u,{"icon-name":"export"})]),i("span",HA,o(e.$t("Export as CSV")),1)])]),_:1},8,["disabled"])]),c.jsonFileDownloading?(s(),a("li",jA,[i("div",zA,[l(m,{type:"dashboard",percentage:c.jsonProgressPercentage,color:c.colors},null,8,["percentage","color"])]),i("span",null,o(e.$t("JSON file is being prepared. Don't close or leave this drawer")),1)])):y("",!0),c.csvFileDownloading?(s(),a("li",GA,[i("div",qA,[l(m,{type:"dashboard",percentage:c.csvProgressPercentage,color:c.colors},null,8,["percentage","color"])]),i("span",null,o(e.$t("File is being prepared. Don't close or leave this drawer")),1)])):y("",!0)])])}]]),KA={task_created:"success",task_archived:"neutral",comment_created:"info",task_closed:"danger"};function ZA(e){return"inactive"===e?"inactive":"active"}const YA={key:0,class:"fbs-webhook-board-view"},JA={class:"fbs-webhook-board-intro"},QA={class:"fbs-webhook-board-intro__title"},XA={class:"fbs-webhook-board-intro__description"},eI={class:"fbs-webhook-board-intro__link",href:"https://fluentboards.com/docs/outgoing-webhook/",target:"_blank",rel:"noopener"},tI={key:1,class:"fbs-webhook-board-list"},sI={class:"fbs-webhook-board-card__header"},aI={class:"fbs-webhook-board-card__name"},iI={class:"fbs-webhook-board-card__title"},oI={class:"fbs-webhook-board-url"},lI=["title"],nI={class:"fbs-webhook-board-url__actions"},rI=["href","aria-label"],dI={class:"fbs-webhook-board-events"},cI={class:"fbs-webhook-board-events__title"},hI={key:0,class:"fbs-webhook-board-events__chips"},uI={key:1,class:"fbs-settings-chip fbs-webhook-board-event-chip fbs-webhook-board-event-chip--neutral"},pI={key:2,class:"fbs-webhook-board-empty"},mI={key:1},bI={class:"fbs-settings-page-body fbs-webhook-settings-wrapper"},gI={class:"fbs-webhook-info"},fI={class:"fbs-webhook-info__text"},_I={class:"fbs-webhook-info__link",href:"https://fluentboards.com/docs/outgoing-webhook/",target:"_blank",rel:"noopener"},kI={class:"icon"},vI={class:"fbs_table_wrapper"},yI={key:0,class:"fbs_table_header"},wI={class:"fbs_table_header_inner"},CI={class:"fbs_table_header_inner_left"},TI={class:"icon"},SI={class:"fbs_table_header_inner_actions"},$I={class:"icon"},VI={class:"fbs_table_body"},AI={class:"fbs-webhook-table-empty"},II={key:0,class:"fbs-webhook-event-tags d-flex flex-wrap gap-6 items-start"},DI={class:"label"},BI={class:"screen-reader-text"},LI={class:"d-flex flex-wrap items-center gap-4 justify-end"},MI={class:"icon"},xI={class:"icon"},PI={class:"fbs_secondary_text fbs_mb_20"},FI={class:"fbs-webhook-outgoing-status fbs_mb_20"},EI={class:"fbs-webhook-outgoing-status__content"},UI={class:"fbs_primary_text font-medium"},OI={class:"fbs_secondary_text small"},RI={class:"fbs-webhook-outgoing-row"},NI={class:"fbs-webhook-outgoing-section"},HI={class:"fbs-webhook-outgoing-section__label"},jI={id:"fbs-webhook-header-type-label",class:"fbs_primary_text font-medium"},zI={key:0,class:"fbs-webhook-outgoing-headers fbs_mb_20"},GI={class:"fbs-webhook-outgoing-headers__table"},qI={class:"fbs-webhook-outgoing-headers__head"},WI={class:"fbs-webhook-outgoing-headers__head"},KI={class:"fbs-webhook-outgoing-headers__cell"},ZI={class:"fbs-webhook-outgoing-headers__cell"},YI={class:"fbs-webhook-outgoing-headers__cell fbs-webhook-outgoing-headers__action-cell flex-none"},JI={class:"icon"},QI={class:"icon"},XI={class:"fbs-webhook-outgoing-section fbs-webhook-outgoing-events"},eD={class:"fbs-webhook-outgoing-section__label"},tD={id:"fbs-webhook-event-mode-label",class:"fbs_primary_text font-medium"},sD={class:"dialog-footer justify-end"};const aD=Ss({name:"OutgoingWebhook",components:{ConfirmationDialog:Za,CustomIcon:ml,EmptyState:Vs,Icons:$s},props:{boardId:{type:[Number,String],default:null}},data(){return{loading:!1,deleteDialogVisible:!1,webhookIdToDelete:null,deletingWebhook:!1,isEditing:!1,search:"",showWebhookForm:!1,formTitle:"",eventMode:"individual",webhook:{name:"",url:"",board_id:null,method:"POST",format:"JSON",header_type:"no_headers",headers:[],triggered_events:[],status:"active"},webhooks:[],boards:[],id:null,all:"all",eventOptions:[{label:this.$t("Task Created"),value:"task_created"},{label:this.$t("Task Stage Changed"),value:"task_stage_changed"},{label:this.$t("Task Closed"),value:"task_closed"},{label:this.$t("Task Archived"),value:"task_archived"},{label:this.$t("Task Date Changed"),value:"task_date_changed"},{label:this.$t("Task Priority Changed"),value:"task_priority_changed"},{label:this.$t("Task Label Added"),value:"task_label_added"},{label:this.$t("Stage Added"),value:"stage_added"},{label:this.$t("Comment Added"),value:"comment_created"},{label:this.$t("Assignee Added"),value:"assignee_added"}]}},computed:{isBoardMode(){return!!this.boardId}},methods:{getEventTone:e=>function(e){return KA[e]||"neutral"}(e),getStatusTone:e=>ZA(e),getStatusLabel(e){const t=function(e){return"inactive"===ZA(e)?"Inactive":"Active"}(e);return"Inactive"===t?this.$t("Inactive"):this.$t("Active")},onEventModeChange(e){"everything"===e&&(this.webhook.triggered_events=[])},addHeader(){this.webhook.headers.push({name:"",value:""})},removeHeader(e){this.webhook.headers.splice(e,1)},openAddWebhookForm(){this.isEditing=!1,this.webhook={name:"",url:"",board_id:this.boardId?[parseInt(this.boardId)]:null,method:"POST",format:"JSON",header_type:"no_headers",headers:[],triggered_events:[],status:"active"},this.eventMode="individual",this.formTitle=this.$t("Create Webhook"),this.showWebhookForm=!0},closeWebhookForm(){this.showWebhookForm=!1,this.isEditing=!1},edit(e,t=null){let s;this.id=t,this.isEditing=!0,this.showWebhookForm=!0,this.formTitle="Edit Webhook: "+e.name,s=e.board_id&&0!==e.board_id.length?Array.from(new Set(e.board_id.map(e=>Number(e)))):["all"],this.webhook={...e,status:e.status||"active",headers:e.headers||[],board_id:s},this.eventMode=this.webhook.triggered_events&&this.webhook.triggered_events.length?"individual":"everything"},addWebhook(){if(!this.webhook.name)return void this.$notify.error({title:"Error",message:"Please enter webhook name to identify this webhook!"});if(!this.webhook.url||!(e=>{try{return new URL(e),!0}catch(t){return!1}})(this.webhook.url))return void this.$notify.error({title:"Error",message:"Please enter a valid Payload URL"});if(!this.webhook.board_id||0===this.webhook.board_id.length)return void this.$notify.error({title:"Error",message:"Please select at least one board"});if("with_headers"===this.webhook.header_type){if(!this.webhook.headers||0===this.webhook.headers.length)return void this.$notify.error({title:"Error",message:'Please add at least one header when "With Headers" is selected!'});if(this.webhook.headers.some(e=>!(e.name&&e.name.trim()&&e.value&&e.value.trim())))return void this.$notify.error({title:"Error",message:"Please fill in both header name and value for all headers!"})}if("individual"===this.eventMode&&(!this.webhook.triggered_events||0===this.webhook.triggered_events.length))return void this.$notify.error({title:"Error",message:"Please select at least one triggered event!"});let e=this.webhook.board_id;e=Array.isArray(e)&&e.includes("all")?null:Array.isArray(e)?Array.from(new Set(e.map(e=>Number(e)))):e?[parseInt(e)]:null;const t=this.eventOptions.map(e=>e.value),s={...this.webhook,triggered_events:"everything"===this.eventMode?t:this.webhook.triggered_events,board_id:this.webhook.board_id?Array.isArray(this.webhook.board_id)?this.webhook.board_id:[parseInt(this.webhook.board_id)]:null};this.$post("outgoing-webhooks",s).then(e=>{this.webhooks=e.webhooks,this.$notify.success({title:this.$t("Success"),message:e.message}),this.showWebhookForm=!1}).catch(e=>{this.$handleError(e)})},update(){if(!this.webhook.name)return void this.$notify.error({title:"Error",message:"Please enter webhook name to identify this webhook!"});if(!this.webhook.url||!(e=>{try{return new URL(e),!0}catch(t){return!1}})(this.webhook.url))return void this.$notify.error({title:"Error",message:"Please enter a valid Payload URL"});if(!this.webhook.board_id||0===this.webhook.board_id.length)return void this.$notify.error({title:"Error",message:"Please select at least one board"});if("individual"===this.eventMode&&(!this.webhook.triggered_events||0===this.webhook.triggered_events.length))return void this.$notify.error({title:"Error",message:"Please select at least one triggered event!"});let e=this.webhook.board_id;e=Array.isArray(e)&&e.includes("all")?null:Array.isArray(e)?Array.from(new Set(e.map(e=>Number(e)))):e?[parseInt(e)]:null;const t=this.eventOptions.map(e=>e.value),s={...this.webhook,triggered_events:"everything"===this.eventMode?t:this.webhook.triggered_events,board_id:this.webhook.board_id?Array.isArray(this.webhook.board_id)?this.webhook.board_id:[parseInt(this.webhook.board_id)]:null};this.$put(`outgoing-webhooks/${this.id}`,s).then(e=>{this.webhooks=e.webhooks,this.$notify.success({title:this.$t("Success"),message:e.message}),this.showWebhookForm=!1}).catch(e=>{this.$handleError(e)})},getWebhooks(){this.loading=!0;const e={search:this.search};this.boardId&&(e.board_id=this.boardId),this.$get("outgoing-webhooks",e).then(e=>{this.webhooks=e.webhooks}).catch(()=>{}).finally(()=>{this.loading=!1})},getBoards(){this.$get("projects").then(e=>{this.boards=e.boards.data}).catch(e=>{})},getBoardName(e){if(!e)return this.$t("All Boards");if(Array.isArray(e)){if(0===e.length)return this.$t("All Boards");return e.map(e=>{const t=this.boards.find(t=>t.id==e);return t?t.title:this.$t("Unknown Board")}).join(", ")}const t=this.boards.find(t=>t.id==e);return t?t.title:this.$t("Unknown Board")},getEventLabel(e){const t=this.eventOptions.find(t=>t.value===e);return t?t.label:e},async copySmartUrl(e){let t=!1;if(navigator.clipboard&&window.isSecureContext)try{await navigator.clipboard.writeText(e),t=!0}catch(s){t=!1}if(!t&&window.clipboardData&&window.clipboardData.setData&&(window.clipboardData.setData("Text",e),t=!0),!t&&document.queryCommandSupported&&document.queryCommandSupported("copy")){const s=document.createElement("textarea");s.textContent=e,s.style.position="fixed",s.style.opacity="0",document.body.appendChild(s),s.select();try{document.execCommand("copy"),t=!0}catch(a){t=!1}finally{document.body.removeChild(s)}}t?this.$notify({message:this.$t("Copied to your clipboard"),position:this.appVars.is_rtl?"bottom-left":"bottom-right",customClass:this.appVars.is_rtl?"bottom_left":"bottom_right",type:"success"}):this.$notify({message:this.$t("Your Browser does not support JS copy. Please copy manually"),position:this.appVars.is_rtl?"bottom-left":"bottom-right",customClass:this.appVars.is_rtl?"bottom_left":"bottom_right",type:"error"})},requestDeleteWebhook(e){this.webhookIdToDelete=e,this.deleteDialogVisible=!0},confirmDeleteWebhook(){this.deletingWebhook||null===this.webhookIdToDelete||(this.deletingWebhook=!0,this.$del("outgoing-webhooks/"+this.webhookIdToDelete).then(e=>{this.webhooks=e.webhooks,this.$notify.success({title:this.$t("Success"),message:this.$t("Webhook removed successfully!")}),this.deleteDialogVisible=!1}).catch(e=>{this.$handleError(e)}).finally(()=>{this.deletingWebhook=!1}))},cancelDeleteWebhook(){this.deletingWebhook||(this.deleteDialogVisible=!1)},resetDeleteWebhookDialog(){this.deletingWebhook||(this.webhookIdToDelete=null)}},mounted(){this.getWebhooks(),this.isBoardMode||this.getBoards()},watch:{"webhook.board_id":function(e){e&&e.includes("all")&&(this.webhook.board_id=["all"])},"webhook.header_type"(e){"with_headers"===e&&0===this.webhook.headers.length&&this.addHeader()}}},[["render",function(e,t,h,u,p,m){const g=At,f=b("custom-icon"),_=ze,v=We,C=b("empty-state"),T=b("Icons"),S=He,V=es,A=ts,I=ss,D=Jt,B=gt,L=Be,M=Le,x=xt,P=Mt,F=qe,E=Bt,U=bt,O=Kt,R=b("confirmation-dialog");return s(),a("div",{class:k(["fbs-webhook-settings-panel",{"fbs-webhook-settings-panel--board":m.isBoardMode}])},[m.isBoardMode?(s(),a("div",YA,[i("section",JA,[i("h4",QA,o(e.$t("Outgoing Webhook List")),1),i("p",XA,o(e.$t("Webhooks notify external services when specified events occur. We send a POST request to each configured URL.")),1),i("a",eI,o(e.$t("Learn more in our Webhooks Guide.")),1)]),p.loading?(s(),c(g,{key:0,class:"fbs-webhook-board-skeleton",animated:"",rows:6})):p.webhooks.length?(s(),a("div",tI,[(s(!0),a(r,null,d(p.webhooks,c=>(s(),a("article",{key:c.id,class:"fbs-webhook-board-card"},[i("header",sI,[i("div",aI,[i("span",{class:k(["fbs-webhook-board-card__status-dot","fbs-webhook-board-card__status-dot--"+m.getStatusTone(c.value.status)]),"aria-hidden":"true"},null,2),i("h5",iI,o(c.value.name),1)]),i("span",{class:k(["fbs-webhook-board-card__status-pill","fbs-webhook-board-card__status-pill--"+m.getStatusTone(c.value.status)])},o(m.getStatusLabel(c.value.status)),3)]),t[13]||(t[13]=i("div",{class:"fbs-webhook-board-card__divider","aria-hidden":"true"},null,-1)),i("div",oI,[i("code",{class:"fbs-webhook-board-url__text",title:c.value.url},o(c.value.url),9,lI),i("div",nI,[l(v,{effect:"dark",content:e.$t("Copy Payload URL"),placement:"top"},{default:n(()=>[l(_,{text:"",class:"fbs-webhook-board-url__action","aria-label":e.$t("Copy Payload URL"),onClick:e=>m.copySmartUrl(c.value.url)},{default:n(()=>[l(f,{class:"fbs-webhook-board-url__custom-icon","icon-name":"webhook-copy"})]),_:1},8,["aria-label","onClick"])]),_:2},1032,["content"]),l(v,{effect:"dark",content:e.$t("Open Payload URL"),placement:"top"},{default:n(()=>[i("a",{class:"fbs-webhook-board-url__action fbs-webhook-board-url__action-link",href:c.value.url,target:"_blank",rel:"noopener","aria-label":e.$t("Open Payload URL")},[l(f,{class:"fbs-webhook-board-url__custom-icon","icon-name":"webhook-open-link"})],8,rI)]),_:2},1032,["content"])])]),i("section",dI,[i("h6",cI,o(e.$t("Triggered Events")),1),c.value.triggered_events&&c.value.triggered_events.length?(s(),a("div",hI,[(s(!0),a(r,null,d(c.value.triggered_events,e=>(s(),a("span",{key:e,class:k(["fbs-settings-chip fbs-webhook-board-event-chip","fbs-webhook-board-event-chip--"+m.getEventTone(e)])},o(m.getEventLabel(e)),3))),128))])):(s(),a("span",uI,o(e.$t("No triggered events")),1))])]))),128))])):(s(),a("div",pI,[l(C,{message:"No outgoing webhook","icon-width":84,"icon-height":64})]))])):(s(),a("div",mI,[i("div",bI,[i("div",gI,[t[14]||(t[14]=i("span",{class:"fbs-webhook-info__icon","aria-hidden":"true"},"i",-1)),i("p",fI,o(e.$t("Webhooks send automatic POST requests to your URLs when selected events occur.")),1),i("a",_I,[w(o(e.$t("Learn More"))+" ",1),i("span",kI,[l(f,{"icon-name":"external-link"})])])]),i("div",vI,[h.boardId?y("",!0):(s(),a("div",yI,[i("div",wI,[i("div",CI,[l(S,{modelValue:p.search,"onUpdate:modelValue":t[0]||(t[0]=e=>p.search=e),"aria-label":e.$t("Search fields by label..."),placeholder:e.$t("Search fields by label..."),onKeyup:$(m.getWebhooks,["enter"]),onChange:m.getWebhooks,onClear:m.getWebhooks,size:"small",clearable:""},{prefix:n(()=>[i("span",TI,[l(T,{"icon-name":"search"})])]),_:1},8,["modelValue","aria-label","placeholder","onKeyup","onChange","onClear"])]),i("div",SI,[l(_,{type:"primary",size:"small",onClick:m.openAddWebhookForm},{default:n(()=>[i("span",$I,[l(T,{"icon-name":"plus"})]),w(" "+o(e.$t("Create Webhook")),1)]),_:1},8,["onClick"])])])])),i("div",VI,[p.loading?(s(),c(g,{key:0,animated:"",rows:6})):(s(),c(I,{key:1,data:p.webhooks},{empty:n(()=>[i("div",AI,[l(C,{message:e.$t("No outgoing webhook"),"icon-width":84,"icon-height":64},null,8,["message"])])]),default:n(()=>[l(V,{"min-width":100,label:e.$t("Name")},{default:n(e=>[w(o(e.row.value.name),1)]),_:1},8,["label"]),l(V,{"min-width":250,label:e.$t("Payload URL")},{default:n(e=>[w(o(e.row.value.url),1)]),_:1},8,["label"]),l(V,{"min-width":180,label:e.$t("Triggered Events")},{default:n(e=>[e.row.value.triggered_events&&e.row.value.triggered_events.length>0?(s(),a("div",II,[(s(!0),a(r,null,d(e.row.value.triggered_events,e=>(s(),a("span",{key:e,class:"fbs_priority_badge"},[i("span",DI,o(m.getEventLabel(e)),1)]))),128))])):y("",!0)]),_:1},8,["label"]),h.boardId?y("",!0):(s(),c(V,{key:0,"min-width":150,label:e.$t("Board")},{default:n(e=>[w(o(m.getBoardName(e.row.value.board_id)),1)]),_:1},8,["label"])),l(V,{"min-width":100,label:e.$t("Status")},{default:n(e=>[l(A,{type:"active"===e.row.value.status?"success":"danger",size:"small"},{default:n(()=>[w(o("active"===e.row.value.status?"Active":"Inactive"),1)]),_:2},1032,["type"])]),_:1},8,["label"]),h.boardId?y("",!0):(s(),c(V,{key:1,width:"100",align:"center","header-align":"center"},{header:n(()=>[i("span",BI,o(e.$t("Actions")),1)]),default:n(t=>[i("div",LI,[l(_,{text:"",class:"fbs_mr_0 fbs_ml_0 only-icon-btn","aria-label":e.$t("Edit Webhook"),onClick:e=>m.edit(t.row.value,t.row.id),size:"small"},{default:n(()=>[i("span",MI,[l(T,{"icon-name":"pen"})])]),_:1},8,["aria-label","onClick"]),l(_,{size:"small",text:"",class:"fbs_mr_0 fbs_ml_0 only-icon-btn","aria-label":e.$t("Delete Webhook"),onClick:e=>m.requestDeleteWebhook(t.row.id)},{default:n(()=>[i("span",xI,[l(T,{"icon-name":"delete"})])]),_:1},8,["aria-label","onClick"])])]),_:1}))]),_:1},8,["data"]))])])])])),m.isBoardMode?y("",!0):(s(),c(O,{key:2,class:"fbs_right_sidebar fbs-webhook-create-drawer fbs-webhook-outgoing-drawer",modelValue:p.showWebhookForm,"onUpdate:modelValue":t[11]||(t[11]=e=>p.showWebhookForm=e),"show-close":!0,title:p.isEditing?p.formTitle:e.$t("Create New Outgoing Webhook"),size:"min(640px, 100vw)","append-to-body":"","body-class":"fbs-settings-drawer-body fbs-webhook-create-drawer__body","footer-class":"fbs-settings-drawer-footer fbs-webhook-create-drawer__footer",direction:e.appVars.is_rtl?"ltr":"rtl",onClosed:t[12]||(t[12]=e=>p.isEditing=!1)},{footer:n(()=>[i("div",sD,[l(_,{onClick:m.closeWebhookForm},{default:n(()=>[w(o(e.$t("Cancel")),1)]),_:1},8,["onClick"]),l(_,{type:"primary",onClick:t[10]||(t[10]=e=>p.isEditing?m.update():m.addWebhook())},{default:n(()=>[w(o(p.isEditing?e.$t("Update"):e.$t("Create Webhook")),1)]),_:1})])]),default:n(()=>[l(U,{"require-asterisk-position":"right","label-position":"top",model:p.webhook},{default:n(()=>[i("div",PI,o(e.$t("We'll send a POST request to this URL when subscribed events occur. Choose your preferred payload format (JSON, form-data, etc). See the developer docs for details.")),1),i("div",FI,[l(D,{modelValue:p.webhook.status,"onUpdate:modelValue":t[1]||(t[1]=e=>p.webhook.status=e),class:"fbs-settings-switch","active-value":"active","inactive-value":"inactive"},null,8,["modelValue"]),i("div",EI,[i("div",UI,o(e.$t("Status")),1),i("div",OI,o(e.$t("Send webhook requests when subscribed events occur.")),1)])]),i("div",null,[l(B,{label:e.$t("Name"),required:""},{default:n(()=>[l(S,{modelValue:p.webhook.name,"onUpdate:modelValue":t[2]||(t[2]=e=>p.webhook.name=e),type:"text",placeholder:e.$t("Webhook feed name here..")},null,8,["modelValue","placeholder"])]),_:1},8,["label"]),l(B,{label:e.$t("Payload URL"),required:""},{default:n(()=>[l(S,{modelValue:p.webhook.url,"onUpdate:modelValue":t[3]||(t[3]=e=>p.webhook.url=e),type:"text",placeholder:e.$t("Webhook URL")},{prefix:n(()=>[l(f,{class:"icon","icon-name":"webhook-link"})]),_:1},8,["modelValue","placeholder"])]),_:1},8,["label"]),h.boardId?y("",!0):(s(),c(B,{key:0,label:e.$t("Board"),required:""},{default:n(()=>[l(M,{modelValue:p.webhook.board_id,"onUpdate:modelValue":t[4]||(t[4]=e=>p.webhook.board_id=e),placeholder:e.$t("Select Board"),multiple:"",filterable:""},{default:n(()=>[(s(!0),a(r,null,d(p.boards,e=>(s(),c(L,{key:e.id,label:e.title,value:e.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])]),_:1},8,["label"])),i("div",RI,[l(B,{label:e.$t("Request Method"),required:""},{default:n(()=>[l(M,{modelValue:p.webhook.method,"onUpdate:modelValue":t[5]||(t[5]=e=>p.webhook.method=e),placeholder:"POST"},{default:n(()=>[l(L,{label:"POST",value:"POST"}),l(L,{label:"GET",value:"GET"})]),_:1},8,["modelValue"])]),_:1},8,["label"]),l(B,{label:e.$t("Request Format"),required:""},{default:n(()=>[l(M,{modelValue:p.webhook.format,"onUpdate:modelValue":t[6]||(t[6]=e=>p.webhook.format=e),placeholder:"FORM"},{default:n(()=>[l(L,{label:"FORM",value:"FORM"}),l(L,{label:"JSON",value:"JSON"})]),_:1},8,["modelValue"])]),_:1},8,["label"])]),i("section",NI,[i("div",HI,[i("div",jI,o(e.$t("Request Header")),1)]),l(P,{modelValue:p.webhook.header_type,"onUpdate:modelValue":t[7]||(t[7]=e=>p.webhook.header_type=e),"aria-labelledby":"fbs-webhook-header-type-label",class:"d-flex flex-column items-start gap-8 fbs_mb_20"},{default:n(()=>[l(x,{class:"fbs_mr_0 h-auto",value:"no_headers"},{default:n(()=>[w(o(e.$t("No Headers")),1)]),_:1}),l(x,{class:"fbs_mr_0 h-auto",value:"with_headers"},{default:n(()=>[w(o(e.$t("With Headers")),1)]),_:1})]),_:1},8,["modelValue"]),"with_headers"===p.webhook.header_type?(s(),a("div",zI,[i("div",GI,[i("div",qI,o(e.$t("Header Name")),1),i("div",WI,o(e.$t("Header Value")),1),t[15]||(t[15]=i("div",{class:"fbs-webhook-outgoing-headers__head fbs-webhook-outgoing-headers__action-head"},null,-1)),(s(!0),a(r,null,d(p.webhook.headers,(t,o)=>(s(),a(r,{key:o},[i("div",KI,[l(S,{class:"fbs-settings-control fbs-webhook-create-control",modelValue:t.name,"onUpdate:modelValue":e=>t.name=e,placeholder:e.$t("Content-Type")},null,8,["modelValue","onUpdate:modelValue","placeholder"])]),i("div",ZI,[l(S,{class:"fbs-settings-control fbs-webhook-create-control",modelValue:t.value,"onUpdate:modelValue":e=>t.value=e,placeholder:e.$t("Application/Json")},null,8,["modelValue","onUpdate:modelValue","placeholder"])]),i("div",YI,[p.webhook.headers.length>1?(s(),c(_,{key:0,text:"",class:"mini only-icon-btn","aria-label":e.$t("Remove Header"),onClick:e=>m.removeHeader(o)},{default:n(()=>[i("span",JI,[l(T,{"icon-name":"delete"})])]),_:1},8,["aria-label","onClick"])):y("",!0)])],64))),128))]),l(_,{link:"",onClick:m.addHeader,class:"no-underline hover-underline"},{default:n(()=>[i("span",QI,[l(T,{"icon-name":"plus"})]),w(" "+o(e.$t("Add More")),1)]),_:1},8,["onClick"])])):y("",!0)]),i("section",XI,[i("div",eD,[i("div",tD,o(e.$t("Events to Trigger")),1)]),l(P,{modelValue:p.eventMode,"onUpdate:modelValue":t[8]||(t[8]=e=>p.eventMode=e),onChange:m.onEventModeChange,"aria-labelledby":"fbs-webhook-event-mode-label",class:"d-flex flex-column items-start gap-8"},{default:n(()=>[l(x,{class:"fbs_mr_0 h-auto",value:"everything"},{default:n(()=>[w(o(e.$t("Send Everything")),1)]),_:1}),l(x,{class:"fbs_mr_0 h-auto",value:"individual"},{default:n(()=>[w(o(e.$t("Select Individual Event")),1)]),_:1})]),_:1},8,["modelValue","onChange"]),"individual"===p.eventMode?(s(),c(E,{key:0,modelValue:p.webhook.triggered_events,"onUpdate:modelValue":t[9]||(t[9]=e=>p.webhook.triggered_events=e),class:"fbs-webhook-outgoing-event-grid"},{default:n(()=>[(s(!0),a(r,null,d(p.eventOptions,e=>(s(),c(F,{key:e.value,class:"fbs-settings-checkbox fbs-webhook-outgoing-event-option",value:e.value},{default:n(()=>[w(o(e.label),1)]),_:2},1032,["value"]))),128))]),_:1},8,["modelValue"])):y("",!0)])])]),_:1},8,["model"])]),_:1},8,["modelValue","title","direction"])),l(R,{"dialog-visible":p.deleteDialogVisible,loading:p.deletingWebhook,title:e.$t("Confirmation Required"),message:e.$t("Are you sure you want to delete this webhook?"),"confirm-text":e.$t("Delete Webhook"),onConfirm:m.confirmDeleteWebhook,onCancel:m.cancelDeleteWebhook,onClosed:m.resetDeleteWebhookDialog},null,8,["dialog-visible","loading","title","message","confirm-text","onConfirm","onCancel","onClosed"])],2)}]]),iD={class:"fbs-settings-pro-notice","aria-labelledby":"fbs-settings-pro-notice-title"},oD={class:"fbs-settings-pro-notice__content"},lD={id:"fbs-settings-pro-notice-title"},nD=["href"];const rD=Ss({name:"SettingsProNotice",components:{ProBadge:O_},props:{title:{type:String,required:!0},description:{type:String,required:!0},utmContent:{type:String,required:!0},buttonLabel:{type:String,required:!0}},computed:{upgradeUrl(){return this.$getUpgradeUrl(this.utmContent)}}},[["render",function(e,t,n,r,d,c){const h=b("ProBadge");return s(),a("section",iD,[l(h,{class:"fbs-settings-pro-notice__badge",size:"notice","icon-name":"pro-notice","show-label":!1,"aria-hidden":"true"}),i("div",oD,[i("h2",lD,o(n.title),1),i("p",null,o(n.description),1)]),i("a",{class:"fbs-settings-pro-notice__button",href:c.upgradeUrl,target:"_blank",rel:"noopener noreferrer"},o(n.buttonLabel),9,nD)])}]]),dD={key:1,class:"outgoing-webhook-container"};const cD=Ss({name:"OutgoingWebhookPage",components:{OutgoingWebhook:aD,SettingsProNotice:rD},props:{boardId:{type:[Number,String],default:null}}},[["render",function(e,t,i,o,n,r){const d=b("SettingsProNotice"),h=b("outgoing-webhook",!0);return e.appVars.has_pro?(s(),a("div",dD,[l(h,{boardId:i.boardId},null,8,["boardId"])])):(s(),c(d,{key:0,title:e.$t("Outgoing Webhooks"),description:e.$t("Send task and board events to external services with Fluent Boards Pro webhooks."),"utm-content":"feature_lock_outgoing_webhook","button-label":e.$t("Upgrade to Pro")},null,8,["title","description","button-label"]))}]]),hD={name:"MenuDrawerHeader",components:{Icons:$s},emits:["back","close"],props:{title:{type:String,required:!0},showBack:{type:Boolean,default:!1},backLabel:{type:String,default:""},closeLabel:{type:String,default:""}},computed:{resolvedBackLabel(){return this.backLabel||this.$t("Back to Board Menu")},resolvedCloseLabel(){return this.closeLabel||this.$t("Close")}}},uD={class:"fbs_right_sidebar_header fbs_menu_drawer_header"},pD={class:"fbs_right_sidebar_header_top fbs_menu_drawer_header__inner"},mD={class:"fbs_menu_drawer_header__title_wrap"},bD=["aria-label"],gD={class:"icon"},fD={class:"fbs_menu_drawer_header__title"},_D={key:0,class:"fbs_menu_drawer_header__actions"},kD=["aria-label"];const vD="project-management",yD={name:"BoardSettings",inject:["eventBus"],props:["board","shortcodeId","forceAppendToBody"],components:{Icons:$s,BoardAbout:wA,BoardActivities:OV,BoardMembers:UC,BoardBackgroundChanger:GT,ArchiveTasks:wS,NotificationSettings:GS,DeleteBoardDialog:qS,AssociatedCRMContact:O$,ArchiveStages:aV,Labels:lV,DuplicateBoard:LA,ArchiveBoardDialog:MA,RestoreBoardDialog:xA,Export:WA,CustomField:Uh,OutgoingWebhook:cD,MenuDrawerHeader:Ss(hD,[["render",function(e,t,r,d,c,h){const u=b("Icons"),p=b("Close"),m=Ne;return s(),a("div",uD,[i("div",pD,[i("div",mD,[r.showBack?(s(),a("button",{key:0,type:"button",class:"fbs_menu_drawer_header__back","aria-label":h.resolvedBackLabel,onClick:t[0]||(t[0]=t=>e.$emit("back"))},[i("span",gD,[l(u,{"icon-name":"angle-arrow-right"})])],8,bD)):y("",!0),i("h3",fD,o(r.title),1)]),e.$slots.actions?(s(),a("div",_D,[_(e.$slots,"actions")])):y("",!0),i("button",{type:"button",class:"fbs_menu_drawer_header__close","aria-label":h.resolvedCloseLabel,onClick:t[1]||(t[1]=t=>e.$emit("close"))},[l(m,null,{default:n(()=>[l(p)]),_:1})],8,kD)])])}]]),ProBadge:O_},data:()=>({deleteDialogVisible:!1,boardArchiveDialogVisible:!1,restoreDialogVisible:!1,customDialogVisible:!1,templateDescription:"",templateCategory:vD,templateDescriptionLimit:200,loading:!1,drawer:!1,showButtons:!0,currentSettingsItem:"",drawerSize:"440px",allMenuItems:[],views:{showBoardInfo:!1,showActivity:!1,showMembers:!1,showNotificationSettings:!1,showCRMContact:!1,showBoardLabels:!1,showCustomFields:!1,showDuplicateBoard:!1,showExport:!1,showWebhooks:!1,showMakeTemplate:!1,boardBackgroundChanger:!1,archiveItems:!1,showArchivedTasks:!1,showArchivedStages:!1},customHtmlContent:"",customDialogWidth:"600px"}),watch:{showButtons:function(e){e&&this.resetViews()},"views.archiveItems"(e){e||(this.views.showArchivedTasks=!1,this.views.showArchivedStages=!1)}},computed:{...m(js,["boardBackground"]),...m(Sr,["currentUserWpOrSuperAdmin","currentUserBoardAdmin"]),headerSettingsItem(){return"About This Board"===this.currentSettingsItem?this.$t("About This Board"):this.currentSettingsItem},menuDrawerTitle(){return this.showButtons?this.$t("Board Menu"):this.headerSettingsItem},usesMenuListLayout(){return this.showButtons||this.views.showExport},templateDescriptionLength(){return this.templateDescription?this.templateDescription.length:0}},methods:{...M(js,["setBoard"]),resetViews(){Object.keys(this.views).forEach(e=>{this.views[e]=!1})},resetMakeTemplateForm(){this.templateDescription="",this.templateCategory=vD},setArchiveTab(e){this.views.showArchivedTasks="tasks"===e,this.views.showArchivedStages="stages"===e},checkForActiveOperations(){var e,t,s,a;return(null==(t=null==(e=this.$refs)?void 0:e.boardExport)?void 0:t.boardExporting)?(this.$notify({type:"warning",message:this.$t("Exporting Board, please wait...")}),!0):!!(null==(a=null==(s=this.$refs)?void 0:s.boardBackgroundChangerRef)?void 0:a.backgroundChanging)&&(this.$notify({type:"warning",message:this.$t("Updating board background, please wait...")}),!0)},resetToMenuView(){this.currentSettingsItem="",this.showButtons=!0,this.views.showBoardInfo=!1,this.resetViews(),this.drawerSize="440px",this.customDialogVisible=!1,this.customDialogWidth="600px",this.customHtmlContent=""},saveActiveViewChanges(){var e;return this.views.showBoardInfo&&(null==(e=this.$refs.boardAboutRef)?void 0:e.savePendingChanges)?this.$refs.boardAboutRef.savePendingChanges():Promise.resolve()},isMenuVisible:function(e){if(!e)return!1;if(!this.validateMenuItemSecurity(e))return!1;if(!this.isMenuItemVisibleForBoardStatus(e))return!1;const t=e.role||"";return!("admin"===t&&!this.$isAdmin())&&!("manager"===t&&!this.$isAdmin()&&!this.$isBoardManager(this.board.id))},isMenuItemVisibleForBoardStatus:function(e){var t;if(!this.board)return!0;const s=null!==this.board.archived_at&&void 0!==this.board.archived_at&&""!==this.board.archived_at&&!1!==this.board.archived_at,a=!0===(null==(t=this.board.settings)?void 0:t.is_template);switch(e.key){case"archive_board":return!s;case"restore_board":case"delete_board":return s;case"make_template":return!a;case"convert_to_board":return a;default:return!0}},validateMenuItemSecurity:function(e){if(!e.key||!e.label||!e.type)return!1;if(!["default","custom"].includes(e.type))return!1;const t=["about_this_board","board_activity","board_labels","custom_fields","notification_settings","board_members","associated_crm_contacts","archived_items","change_background","duplicate_board","make_template","convert_to_board","archive_board","restore_board","delete_board","export","webhooks"];if(t.includes(e.key)){if("default"!==e.type)return!1}else if("custom"!==e.type)return!1;if(t.includes(e.key)){const t={custom_fields:{role:"",requires_pro:!0},delete_board:{role:"admin",requires_pro:!1},change_background:{role:"manager",requires_pro:!1},duplicate_board:{role:"manager",requires_pro:!1},make_template:{role:"manager",requires_pro:!0},convert_to_board:{role:"manager",requires_pro:!0},archive_board:{role:"admin",requires_pro:!1},restore_board:{role:"admin",requires_pro:!1},export:{role:"manager",requires_pro:!0},webhooks:{role:"manager",requires_pro:!0}}[e.key];if(t){t.requires_pro&&(e.requires_pro=!0);const s=t.role||"";if("admin"===s&&!this.$isAdmin())return!1;if("manager"===s&&!this.$isAdmin()&&!this.$isBoardManager(this.board.id))return!1}}return!0},openSettings(){this.drawer=!0,this.board?this.loadMenuItems():this.fetchBoardById(this.$route.params.id??this.shortcodeId),this.emitter.emit("superAdminCheck")},deleteBoard(){this.$isAdmin()&&(this.loading=!0,this.$del("projects/"+this.board.id).then(e=>{this.$router.push({path:"/boards"}),this.$notify({message:e.message,type:"success"}),this.deleteDialogVisible=!1}).catch(e=>{this.handleError(e)}).finally(()=>{this.$emit("boardSettingsEvent",{event:"board_deleted"}),this.loading=!1}))},closeArchive(){this.checkForActiveOperations()||this.saveActiveViewChanges().finally(()=>{this.resetToMenuView()})},fetchBoardById(e){this.$get("projects/"+e).then(e=>{this.board=e.board,this.board&&this.loadMenuItems()})},loadMenuItems(){this.allMenuItems=window.fluentAddonVars.board_menu_items},setSettingsMenu(e){switch(this.currentSettingsItem=e.label,this.showButtons=!1,e.key){case"archived_items":this.views.archiveItems=!0,this.views.showArchivedTasks=!0,this.drawerSize="440px";break;case"about_this_board":this.views.showBoardInfo=!0,this.drawerSize="440px";break;case"board_labels":this.views.showBoardLabels=!0;break;case"custom_fields":this.hasPro?this.views.showCustomFields=!0:this.$notify({type:"warning",message:this.$t("This feature requires FluentBoards Pro")});break;case"board_activity":this.views.showActivity=!0,this.drawerSize="440px";break;case"board_members":this.currentSettingsItem=this.$t("Add member"),this.views.showMembers=!0,this.drawerSize="640px";break;case"change_background":this.views.boardBackgroundChanger=!0,this.drawerSize="440px";break;case"notification_settings":this.views.showNotificationSettings=!0,this.drawerSize="440px";break;case"archive_board":this.showButtons=!0,this.boardArchiveDialogVisible=!0;break;case"restore_board":this.showButtons=!0,this.restoreDialogVisible=!0;break;case"delete_board":this.showButtons=!0,this.deleteDialogVisible=!0;break;case"duplicate_board":this.views.showDuplicateBoard=!0;break;case"make_template":this.hasPro?(this.resetMakeTemplateForm(),this.views.showMakeTemplate=!0,this.drawerSize="440px"):this.$notify({type:"warning",message:this.$t("This feature requires FluentBoards Pro")});break;case"convert_to_board":this.hasPro?(this.showButtons=!0,this.convertToBoardBoard()):this.$notify({type:"warning",message:this.$t("This feature requires FluentBoards Pro")});break;case"associated_crm_contacts":this.views.showCRMContact=!0,this.drawerSize="440px";break;case"export":this.hasPro?this.views.showExport=!0:this.$notify({type:"warning",message:this.$t("This feature requires FluentBoards Pro")});break;case"webhooks":this.hasPro?(this.views.showWebhooks=!0,this.drawerSize="440px"):this.$notify({type:"warning",message:this.$t("This feature requires FluentBoards Pro")})}},closeDrawer(e){this.checkForActiveOperations()||this.saveActiveViewChanges().finally(()=>{this.drawer=!1,this.resetToMenuView(),"function"==typeof e&&e()})},cancelDuplicateBoard(){this.showButtons=!0,this.views.showDuplicateBoard=!1},cancelMakeTemplate(){this.closeArchive()},makeTemplate(){(this.$isAdmin()||this.$isBoardManager(this.board.id))&&(this.loading=!0,this.$put("projects/"+this.board.id+"/make-template",{template_description:this.templateDescription,template_category:this.templateCategory}).then(e=>{this.$notify({message:e.message,type:"success"}),this.resetMakeTemplateForm(),this.eventBus.emit("board-updated",e.board),this.closeDrawer()}).catch(e=>{this.handleError(e)}).finally(()=>{this.loading=!1}))},convertToBoardBoard(){(this.$isAdmin()||this.$isBoardManager(this.board.id))&&confirm(this.$t("Are you sure you want to convert this template back to a regular board?"))&&(this.loading=!0,this.$put("projects/"+this.board.id+"/convert-to-board").then(e=>{this.$notify({message:e.message,type:"success"}),this.eventBus.emit("board-updated",e.board),this.closeDrawer()}).catch(e=>{this.handleError(e)}).finally(()=>{this.loading=!1}))},archiveBoard(){this.$isAdmin()&&(this.loading=!0,this.$put("projects/"+this.board.id+"/archive-board").then(e=>{this.$notify({message:e.message,type:"success"}),this.closeDrawer(),this.boardArchiveDialogVisible=!1,this.eventBus.emit("board-updated",e.board)}).catch(e=>{this.handleError(e)}).finally(()=>{this.loading=!1}))},restoreArchivedBoard(e){this.$isAdmin()&&!this.loading&&(this.loading=!0,this.$put("projects/"+e+"/restore-board").then(e=>{this.$notify({title:this.$t("Success"),message:e.message,type:"success"}),this.drawer=!1,this.restoreDialogVisible=!1,this.eventBus.emit("board-updated",e.board),location.reload()}).catch(e=>{this.handleError(e)}).finally(()=>{this.loading=!1}))},formatMenuText:e=>e.toLowerCase().replace(/\s+/g,"_"),handleMenuItemClick(e){this.validateMenuItemSecurity(e)?this.validateSensitiveOperation(e)?"default"===e.type?this.setSettingsMenu(e):this.handleCustomMenuItem(e):this.$notify({type:"error",message:"Access denied: Insufficient permissions"}):this.$notify({type:"error",message:"Access denied: Invalid menu item"})},validateSensitiveOperation:function(e){const t={delete_board:()=>this.$isAdmin(),archive_board:()=>this.$isAdmin(),restore_board:()=>this.$isAdmin(),duplicate_board:()=>this.$isAdmin()||this.$isBoardManager(this.board.id),make_template:()=>this.hasPro&&(this.$isAdmin()||this.$isBoardManager(this.board.id)),convert_to_board:()=>this.hasPro&&(this.$isAdmin()||this.$isBoardManager(this.board.id)),custom_fields:()=>this.hasPro,export:()=>this.hasPro&&(this.$isAdmin()||this.$isBoardManager(this.board.id)),webhooks:()=>this.hasPro&&(this.$isAdmin()||this.$isBoardManager(this.board.id))}[e.key];return!t||t()},handleCustomMenuItem(e){if(!this.validateCustomMenuItem(e))return void this.$notify({type:"error",message:"Access denied: Invalid custom menu item"});"modal"===(e.render_in||"drawer")&&e.html?(this.currentSettingsItem=e.label,this.customHtmlContent=e.html,e.width?this.customDialogWidth=e.width:this.customDialogWidth="600px",this.customDialogVisible=!0,this.$nextTick(()=>{this.executeScriptsInHtml()})):(this.currentSettingsItem=e.label,this.showButtons=!1,this.customHtmlContent=e.html||"",e.width?this.drawerSize=e.width:this.drawerSize="600px",this.$nextTick(()=>{this.executeScriptsInHtml()}))},validateCustomMenuItem:function(e){if("custom"!==e.type)return!1;return!["about_this_board","board_activity","board_labels","custom_fields","notification_settings","board_members","associated_crm_contacts","archived_items","change_background","duplicate_board","archive_board","restore_board","delete_board","export"].includes(e.key)&&!!e.html},closeCustomDialog(){this.customDialogVisible=!1,this.currentSettingsItem="",this.customDialogWidth="600px"},executeScriptsInHtml(){if(!this.$refs.customHtmlContainer)return;const e=this.customHtmlContent,t=document.createElement("div");t.innerHTML=e;t.querySelectorAll("style").forEach(e=>{const t=`custom-style-${this.hashCode(e.textContent)}`;if(!document.getElementById(t)){const s=e.cloneNode(!0);s.id=t,document.head.appendChild(s)}});t.querySelectorAll("script").forEach(e=>{const t=document.createElement("script");t.textContent=e.textContent,document.head.appendChild(t),setTimeout(()=>{document.head.contains(t)&&document.head.removeChild(t)},100)}),this.$nextTick(()=>{void 0!==window.FluentBoardsMenuExtender&&window.FluentBoardsMenuExtender.initializeStageLoading&&window.FluentBoardsMenuExtender.initializeStageLoading()})},hashCode(e){let t=0;if(0===e.length)return t;for(let s=0;s<e.length;s++){t=(t<<5)-t+e.charCodeAt(s),t&=t}return Math.abs(t)}},mounted(){this.emitter.on("board-restore",e=>{this.restoreDialogVisible=!0})},beforeUnmount(){this.emitter.off("board-restore")}},wD={class:"fbs_settings_sidebar"},CD={class:"icon"},TD={key:0,class:"fbs_board_setting_list_container"},SD=["id"],$D={class:"fbs_board_menu_item_main"},VD={class:"fbs_board_menu_item_icon"},AD=["innerHTML"],ID={class:"fbs_board_menu_item_text"},DD={class:"fbs_board_menu_item_label"},BD=["aria-label"],LD=["aria-selected"],MD=["aria-selected"],xD={key:15,class:"fbs_make_template_panel"},PD={class:"fbs_make_template_notice"},FD={class:"fbs_make_template_form_group"},ED={class:"fbs_make_template_label",for:"fbs-make-template-description"},UD={class:"fbs_make_template_textarea_wrap"},OD={class:"fbs_make_template_counter"},RD={class:"fbs_make_template_form_group fbs_make_template_form_group_category"},ND={class:"fbs_make_template_label",for:"fbs-make-template-category"},HD=["innerHTML"],jD={key:0,class:"fbs_menu_drawer_footer fbs_make_template_footer"},zD=["innerHTML"];const GD=Ss(yD,[["render",function(e,t,h,u,p,m){const g=b("Icons"),f=ze,_=We,v=b("menu-drawer-header"),C=b("ProBadge"),T=b("board-about"),$=b("board-activities"),V=b("archive-tasks"),A=b("archive-stages"),I=b("board-background-changer"),D=b("board-members"),B=b("notification-settings"),L=b("associated-c-r-m-contact"),M=b("labels"),x=b("custom-field"),P=b("duplicate-board"),F=b("export"),E=b("outgoing-webhook"),U=He,O=Be,R=Le,N=Kt,H=Ge,j=b("archive-board-dialog"),z=b("restore-board-dialog"),G=b("delete-board-dialog");return s(),a("div",wD,[l(_,{effect:"dark",content:e.$t("Menu"),placement:"top-end"},{default:n(()=>[l(f,{text:"",onClick:m.openSettings,class:"only-icon-btn",size:"small","aria-label":e.$t("Board Menu")},{default:n(()=>[i("span",CD,[l(g,{"icon-name":"dots"})])]),_:1},8,["onClick","aria-label"])]),_:1},8,["content"]),l(N,{modelValue:p.drawer,"onUpdate:modelValue":t[4]||(t[4]=e=>p.drawer=e),class:k(["fbs_right_sidebar","fbs_board_menu_drawer",m.usesMenuListLayout?"fbs_board_menu_drawer_list_view":"",p.views.showBoardInfo?"fbs_board_menu_drawer_about":""]),"before-close":m.closeDrawer,"with-header":!1,size:p.drawerSize,"append-to-body":"",direction:e.appVars.is_rtl?"ltr":"rtl"},{default:n(()=>[l(v,{class:k(e.appVars.isFrontView?"fbs_padding_top_zero_important":""),style:S(e.appVars.isFrontView?"margin-top: 14px":""),title:m.menuDrawerTitle,"show-back":!p.showButtons,onBack:m.closeArchive,onClose:m.closeDrawer},null,8,["class","style","title","show-back","onBack","onClose"]),i("div",{class:k(["fbs_board_menu_body",m.usesMenuListLayout?"fbs_board_menu_body_list":"",p.views.showBoardInfo?"fbs_board_menu_body_about":"",p.views.showNotificationSettings?"fbs_board_menu_body_notification_settings":"",p.views.showDuplicateBoard?"fbs_board_menu_body_duplicate":"",p.views.archiveItems?"fbs_board_menu_body_archive":"",p.views.showMakeTemplate?"fbs_board_menu_body_make_template":"",p.views.showMembers?"fbs_board_menu_body_members":""])},[p.showButtons?(s(),a("ul",TD,[(s(!0),a(r,null,d(p.allMenuItems,(t,d)=>(s(),a(r,{key:t.key||d},[m.isMenuVisible(t)?(s(),a("li",{key:0,id:"fbs_board_setting_menu_"+(t.key||m.formatMenuText(t.label))},[l(f,{class:"fbs_board_setting_list",size:"small",onClick:e=>m.handleMenuItemClick(t),disabled:t.requires_pro&&!e.hasPro},{default:n(()=>[i("span",$D,[i("span",VD,["default"===t.type?(s(),a(r,{key:0},[(null==t?void 0:t.icon_name)?(s(),c(g,{key:0,"icon-name":t.icon_name},null,8,["icon-name"])):(s(),c(g,{key:1,"icon-name":t.key},null,8,["icon-name"]))],64)):t.icon?(s(),a("span",{key:1,innerHTML:t.icon},null,8,AD)):y("",!0)]),i("span",ID,[i("span",DD,o(t.label),1),t.requires_pro&&!e.hasPro?(s(),c(C,{key:0,size:"small"})):y("",!0)])]),l(g,{"icon-class":"fbs_board_menu_item_chevron","icon-name":"arrow-right"})]),_:2},1032,["onClick","disabled"])],8,SD)):y("",!0)],64))),128))])):y("",!0),p.views.showBoardInfo?(s(),c(T,{key:1,ref:"boardAboutRef","board-data":h.board},null,8,["board-data"])):y("",!0),p.views.showActivity?(s(),c($,{key:2})):y("",!0),p.views.archiveItems?(s(),a("div",{key:3,class:"fbs_archived_items_tabs",role:"tablist","aria-label":e.$t("Archived Items")},[i("button",{type:"button",class:k(["fbs_archived_items_tab",p.views.showArchivedTasks?"fbs_active_tab":""]),"aria-selected":p.views.showArchivedTasks?"true":"false",role:"tab",onClick:t[0]||(t[0]=e=>m.setArchiveTab("tasks"))},o(e.$t("Archived Tasks")),11,LD),i("button",{type:"button",class:k(["fbs_archived_items_tab",p.views.showArchivedStages?"fbs_active_tab":""]),"aria-selected":p.views.showArchivedStages?"true":"false",role:"tab",onClick:t[1]||(t[1]=e=>m.setArchiveTab("stages"))},o(e.$t("Archived Stages")),11,MD)],8,BD)):y("",!0),p.views.showArchivedTasks?(s(),c(V,{key:4})):y("",!0),p.views.showArchivedStages?(s(),c(A,{key:5})):y("",!0),p.views.boardBackgroundChanger?(s(),c(I,{key:6,ref:"boardBackgroundChangerRef",onCloseDrawer:m.closeDrawer},null,8,["onCloseDrawer"])):y("",!0),p.views.showMembers?(s(),c(D,{key:7,boardId:h.board.id,onCloseDrawer:m.closeDrawer},null,8,["boardId","onCloseDrawer"])):y("",!0),p.views.showNotificationSettings?(s(),c(B,{key:8,boardId:h.board.id},null,8,["boardId"])):y("",!0),p.views.showCRMContact?(s(),c(L,{key:9,boardId:h.board.id},null,8,["boardId"])):y("",!0),p.views.showBoardLabels?(s(),c(M,{key:10})):y("",!0),p.views.showCustomFields?(s(),c(x,{key:11,boardId:h.board.id,fromMenu:!0,onCloseDrawer:m.closeDrawer},null,8,["boardId","onCloseDrawer"])):y("",!0),p.views.showDuplicateBoard?(s(),c(P,{key:12,boardId:h.board.id,onCancelDuplicate:m.cancelDuplicateBoard,onCloseDrawer:m.closeDrawer},null,8,["boardId","onCancelDuplicate","onCloseDrawer"])):y("",!0),p.views.showExport?(s(),c(F,{key:13,ref:"boardExport",onCloseDrawer:m.closeDrawer},null,8,["onCloseDrawer"])):y("",!0),p.views.showWebhooks?(s(),c(E,{key:14,boardId:h.board.id},null,8,["boardId"])):y("",!0),p.views.showMakeTemplate?(s(),a("div",xD,[i("p",PD,o(e.$t("Converting this board to a template will allow you to create new boards based on its structure.")),1),i("div",FD,[i("label",ED,o(e.$t("Template Descriptions")),1),i("div",UD,[l(U,{id:"fbs-make-template-description",modelValue:p.templateDescription,"onUpdate:modelValue":t[2]||(t[2]=e=>p.templateDescription=e),type:"textarea",maxlength:p.templateDescriptionLimit,placeholder:e.$t("Describe what this template is for"),resize:"none"},null,8,["modelValue","maxlength","placeholder"]),i("span",OD,o(m.templateDescriptionLength)+"/"+o(p.templateDescriptionLimit),1)])]),i("div",RD,[i("label",ND,o(e.$t("Category")),1),l(R,{id:"fbs-make-template-category",modelValue:p.templateCategory,"onUpdate:modelValue":t[3]||(t[3]=e=>p.templateCategory=e),placeholder:e.$t("Select")},{default:n(()=>[l(O,{label:e.$t("Project Management"),value:"project-management"},null,8,["label"]),l(O,{label:e.$t("Development"),value:"development"},null,8,["label"]),l(O,{label:e.$t("Marketing"),value:"marketing"},null,8,["label"]),l(O,{label:e.$t("Sales"),value:"sales"},null,8,["label"]),l(O,{label:e.$t("HR"),value:"hr"},null,8,["label"]),l(O,{label:e.$t("Design"),value:"design"},null,8,["label"]),l(O,{label:e.$t("Other"),value:"other"},null,8,["label"])]),_:1},8,["modelValue","placeholder"])])])):y("",!0),p.customHtmlContent&&!p.showButtons?(s(),a("div",{key:16,class:"custom-html-container",innerHTML:p.customHtmlContent,ref:"customHtmlContainer"},null,8,HD)):y("",!0)],2),p.views.showMakeTemplate?(s(),a("div",jD,[l(f,{onClick:m.cancelMakeTemplate,size:"small"},{default:n(()=>[w(o(e.$t("Cancel")),1)]),_:1},8,["onClick"]),l(f,{type:"primary",size:"small",loading:p.loading,onClick:m.makeTemplate},{default:n(()=>[w(o(e.$t("Make Template")),1)]),_:1},8,["loading","onClick"])])):y("",!0)]),_:1},8,["modelValue","class","before-close","size","direction"]),l(H,{modelValue:p.customDialogVisible,"onUpdate:modelValue":t[5]||(t[5]=e=>p.customDialogVisible=e),title:p.currentSettingsItem,width:p.customDialogWidth,"before-close":m.closeCustomDialog,"append-to-body":"",class:"custom-menu-dialog"},{default:n(()=>[p.customHtmlContent?(s(),a("div",{key:0,class:"custom-html-container",innerHTML:p.customHtmlContent,ref:"customHtmlContainer"},null,8,zD)):y("",!0)]),_:1},8,["modelValue","title","width","before-close"]),l(j,{dialogVisible:p.boardArchiveDialogVisible,loading:p.loading,onConfirm:m.archiveBoard,onCancel:t[6]||(t[6]=e=>p.boardArchiveDialogVisible=!1)},null,8,["dialogVisible","loading","onConfirm"]),e.$isAdmin()?(s(),c(z,{key:0,dialogVisible:p.restoreDialogVisible,loading:p.loading,onConfirm:t[7]||(t[7]=e=>m.restoreArchivedBoard(h.board.id)),onCancel:t[8]||(t[8]=e=>p.restoreDialogVisible=!1)},null,8,["dialogVisible","loading"])):y("",!0),e.$isAdmin()?(s(),c(G,{key:1,dialogVisible:p.deleteDialogVisible,loading:p.loading,onConfirm:m.deleteBoard,onCancel:t[9]||(t[9]=e=>p.deleteDialogVisible=!1)},null,8,["dialogVisible","loading","onConfirm"])):y("",!0)])}]]),qD={name:"ReorderStages",emits:["cancel","onSave"],inject:["eventBus"],components:{draggable:P,CustomIcon:ml},data:()=>({dragging:!1,localStages:[],saving:!1}),computed:{...m(js,["board","stages"]),hasOrderChanged(){return this.localStages.map(e=>e.id).join(",")!==this.stages.map(e=>e.id).join(",")}},mounted(){this.resetLocalStages()},watch:{stages:{deep:!0,handler(){this.dragging||this.saving||this.resetLocalStages()}}},methods:{resetLocalStages(){this.localStages=(this.stages||[]).map(e=>({...e}))},dragEndHandler(){this.dragging=!1},cancel(){this.resetLocalStages(),this.$emit("cancel")},moveStage(){this.hasOrderChanged?(this.saving=!0,this.$put(`projects/${this.board.id}/re-position-stages`,{list:this.localStages.map(e=>e.id)}).then(e=>{this.eventBus.emit("update-stages",e.updatedStages),this.$notify.success({title:this.$t("Success"),message:e.message}),this.$emit("onSave")}).catch(e=>{this.handleError(e)}).finally(()=>{this.saving=!1})):this.$emit("onSave")}}},WD={class:"fbs-reorder-stages"},KD=["data-stage-id"],ZD=["aria-label"],YD={class:"fbs-reorder-stage-title fbs_primary_text font-medium"},JD={class:"fbs-reorder-stage-footer"};const QD=Ss(qD,[["render",function(e,t,d,h,u,p){const m=b("custom-icon"),_=b("draggable"),v=ze,y=g("loading");return s(),a(r,null,[i("div",WD,[l(_,{list:u.localStages,disabled:u.saving,class:"fbs-reorder-stage-list",handle:".fbs-reorder-stage-handle","ghost-class":"fbs-reorder-stage-ghost","drag-class":"fbs-reorder-stage-dragging","item-key":"id",onStart:t[0]||(t[0]=e=>u.dragging=!0),onEnd:p.dragEndHandler},{item:n(({element:t})=>[i("div",{class:k(["fbs-reorder-stage-item",{"is-dragging":u.dragging}]),"data-stage-id":t.id},[i("span",{class:"fbs-reorder-stage-handle","aria-label":e.$t("Drag stage"),role:"button"},[l(m,{"icon-name":"drag"})],8,ZD),i("span",YD,o(t.title),1)],10,KD)]),_:1},8,["list","disabled","onEnd"])]),i("div",JD,[l(v,{onClick:p.cancel},{default:n(()=>[w(o(e.$t("Cancel")),1)]),_:1},8,["onClick"]),f((s(),c(v,{disabled:u.saving,onClick:p.moveStage,type:"primary"},{default:n(()=>[w(o(e.$t("Save")),1)]),_:1},8,["disabled","onClick"])),[[y,u.saving]])])],64)}]]),XD={name:"StageDefaultAssignees",inject:["eventBus","boardMemberUpdated"],props:{stage:{type:Object,required:!0},isDisabled:{type:Boolean,default:!1},placement:{type:String,default:"bottom"},numberOfAvatars:{type:Number,default:3}},components:{Icons:$s,AssigneeTooltip:da,EmptyState:Vs},data(){var e,t;return{assigneeIdToAddOrRemove:null,isPopoverOpen:!1,willMountOptions:!1,saving:!1,showAssignee:!1,showAssigneeSelector:!1,boardMembers:{data:[],has_more:!1},admins:{data:[],has_more:!1},fetchingMembers:!1,assigneeIds:(null==(e=this.stage.settings)?void 0:e.default_task_assignees)??[],watcherIds:(null==(t=this.stage.settings)?void 0:t.default_task_watchers)??[],fuse:null,searchInput:"",searchResults:[],searching:!1,isAssigneeDisabled:!1,defaultAssignees:[],defaultWatchers:[],activeTab:"assignees"}},computed:{...m(js,["board"]),effectiveWatcherIds(){return Array.from(new Set([...this.watcherIds,...this.assigneeIds]))},selectedIds(){return"assignees"===this.activeTab?this.assigneeIds:this.effectiveWatcherIds},remainingUsers(){const e=this.searching?this.searchResults:this.boardMembers.data;return this.filterAvailableMembers(e)},remainingAdmins(){return this.filterAvailableMembers(this.admins.data)}},watch:{},mounted(){this.board.archived_at&&(this.isAssigneeDisabled=!0),this.assigneeIds=this.assigneeIds.map(e=>parseInt(e)),this.watcherIds=this.watcherIds.map(e=>parseInt(e))},methods:{onVisible(){this.getBoardMembers()},setDefaultAssignees(){this.defaultAssignees=this.boardMembers.data.filter(e=>this.assigneeIds.includes(e.ID))},setDefaultWatchers(){this.defaultWatchers=this.boardMembers.data.filter(e=>this.effectiveWatcherIds.includes(e.ID))},updateStageAssignees(){this.$put("projects/"+this.board.id+"/stage/"+this.stage.id+"/default-assignees",{assigneeIds:this.assigneeIds}).then(e=>{var t;this.assigneeIds=(null==(t=e.stage.settings)?void 0:t.default_task_assignees)??[],this.assigneeIds=this.assigneeIds.map(e=>parseInt(e)),this.defaultAssignees=[],this.defaultWatchers=[],this.setDefaultAssignees(),this.setDefaultWatchers(),this.eventBus.emit("fetch-board-tasks",e.stage.board_id)}).catch(e=>{this.$handleError(e)}).finally(()=>{})},updateStageWatchers(){this.$put("projects/"+this.board.id+"/stage/"+this.stage.id+"/default-watchers",{watcherIds:this.watcherIds}).then(e=>{var t;this.watcherIds=(null==(t=e.stage.settings)?void 0:t.default_task_watchers)??[],this.watcherIds=this.watcherIds.map(e=>parseInt(e)),this.defaultWatchers=[],this.setDefaultWatchers(),this.eventBus.emit("fetch-board-tasks",e.stage.board_id)}).catch(e=>{this.$handleError(e)}).finally(()=>{})},removeAssignee(e){if("assignees"===this.activeTab){let t=this.assigneeIds.indexOf(e);t>=0&&this.assigneeIds.splice(t,1),this.updateStageAssignees()}else{let t=this.watcherIds.indexOf(e);t>=0&&this.watcherIds.splice(t,1),this.updateStageWatchers()}},getBoardMembers(){const e="fbs_board_members_"+this.board.id,t="fbs_board_admins_"+this.board.id;if(window[e]&&window[t])return this.boardMembers.data=window[e],this.admins.data=window[t],this.setDefaultAssignees(),this.setDefaultWatchers(),void this.setFuseForSearch();this.fetchingMembers=!0,this.$get("projects/"+this.board.id+"/users").then(s=>{this.boardMembers.data=s.users,this.admins.data=s.global_admins,window[e]=s.users,window[t]=s.global_admins,this.setDefaultAssignees(),this.setDefaultWatchers()}).catch(e=>{this.$handleError(e)}).finally(()=>{this.fetchingMembers=!1,this.setFuseForSearch()})},addAssignee(e,t="board_members"){const s=parseInt(e);this.selectedIds.includes(s)||("assignees"===this.activeTab?this.assigneeIds.push(s):this.watcherIds.push(s),"other"==t&&this.$post("projects/"+this.board.id+"/add-members/",{memberId:s}).then(e=>{}).catch(e=>{this.$handleError(e)}).finally(()=>{const e=this.admins.data.find(e=>e.ID==s);window["fbs_board_members_"+this.board.id].push(e)}),"assignees"===this.activeTab?this.updateStageAssignees():this.updateStageWatchers())},searchBoardMembers(){if(this.searching=!0,""===this.searchInput.trim())this.searchResults=this.boardMembers.data;else{let e=this.fuse.search(this.searchInput);this.searchResults=e.map(e=>e.item)}},filterAvailableMembers(e){return e.filter(e=>!this.selectedIds.includes(parseInt(e.ID)))},setFuseForSearch(){this.searching=!1,this.searchInput="";this.fuse=new T(this.boardMembers.data,{keys:["display_name"],threshold:.3})}},created(){this.debouncedSearch=C.debounce(this.searchBoardMembers,300)}},eB={class:"fbs_stage_default_panel"},tB={class:"fbs_task_assignees_wrap"},sB={class:"fbs_task_members fbs_members"},aB={key:0,class:"fbs_task_assignees_container fbs_stage_selected_defaults"},iB=["onClick"],oB={class:"content_inner d-flex flex-column gap-2"},lB={class:"fbs-assignee-name fbs_primary_text"},nB={class:"fbs-assignee-email fbs_secondary_text small"},rB={class:"fbs_stage_default_remove_icon","aria-hidden":"true"},dB={key:1,class:"fbs_task_assignees_container fbs_stage_selected_defaults"},cB=["onClick"],hB={class:"content_inner d-flex flex-column gap-2"},uB={class:"fbs-assignee-name fbs_primary_text"},pB={class:"fbs-assignee-email fbs_secondary_text small"},mB={class:"fbs_stage_default_remove_icon","aria-hidden":"true"},bB={key:2,class:"fbs_empty fbs_stage_default_empty"},gB={class:"fbs_members"},fB={class:"fbs_primary_text font-medium fbs_mb_8 fbs_pl_8"},_B={key:0,class:"fbs_task_assignees_container"},kB=["onClick"],vB={class:"content_inner d-flex flex-column gap-2"},yB={class:"fbs-assignee-name fbs_primary_text"},wB={class:"fbs-assignee-email fbs_secondary_text small"},CB={class:"fbs_stage_default_remove_icon","aria-hidden":"true"},TB={key:1,class:"fbs_empty"},SB={key:0,class:"fbs_board_members fbs_members"},$B={class:"fbs_primary_text font-medium fbs_mb_8 fbs_pl_8"},VB={class:"fbs_task_assignees_container"},AB=["onClick"],IB={class:"content_inner d-flex flex-column gap-2"},DB={class:"fbs-assignee-name fbs_primary_text"},BB={class:"fbs-assignee-email fbs_secondary_text small"},LB={class:"fbs_stage_default_remove_icon","aria-hidden":"true"};const MB={name:"StageHeader",inject:["eventBus"],props:{taskGroup:{type:Object,required:!0},isListView:{type:Boolean,default:!1},isKanbanView:{type:Boolean,default:!1},taskGroups:{type:Array,required:!0},index:{type:Number,required:!1}},components:{Icons:$s,AjaxSelector:Dr,CustomIcon:ml,ReorderStages:QD,SuccessFilled:os,ArrowLeft:ct,Close:dt,StageDefaultAssignees:Ss(XD,[["render",function(e,t,c,u,p,m){const _=as,k=is,v=rt,w=b("Icons"),C=b("assignee-tooltip"),T=b("empty-state"),S=He,$=g("loading");return s(),a("div",eB,[i("div",tB,[i("div",sB,[l(k,{modelValue:p.activeTab,"onUpdate:modelValue":t[0]||(t[0]=e=>p.activeTab=e),class:"fbs_stage_default_tab_header"},{default:n(()=>[l(_,{label:e.$t("Default Assignees"),name:"assignees"},null,8,["label"]),l(_,{label:e.$t("Default Watchers"),name:"watchers"},null,8,["label"])]),_:1},8,["modelValue"]),"assignees"===p.activeTab&&p.defaultAssignees.length?(s(),a("ul",aB,[(s(!0),a(r,null,d(p.defaultAssignees,e=>(s(),a("li",{class:"fbs_show_assignee",key:e.ID},[l(v,{size:32,src:e.photo,alt:e.display_name},null,8,["src","alt"]),i("div",{class:"content d-flex justify-between items-center gap-2",onClick:h(t=>m.removeAssignee(e.ID),["stop"])},[i("div",oB,[i("span",lB,o(e.display_name),1),i("span",nB,o(e.email),1)]),i("span",rB,[l(w,{"icon-name":"close"})])],8,iB),l(C,{img:e.photo,name:e.display_name,email:e.user_email||e.email,profileLink:"/member/"+e.ID},null,8,["img","name","email","profileLink"])]))),128))])):"watchers"===p.activeTab&&p.defaultWatchers.length?(s(),a("ul",dB,[(s(!0),a(r,null,d(p.defaultWatchers,e=>(s(),a("li",{class:"fbs_show_assignee",key:e.ID},[l(v,{size:32,src:e.photo,alt:e.display_name},null,8,["src","alt"]),i("div",{class:"content d-flex justify-between items-center gap-2",onClick:h(t=>m.removeAssignee(e.ID),["stop"])},[i("div",hB,[i("span",uB,o(e.display_name),1),i("span",pB,o(e.email),1)]),i("span",mB,[l(w,{"icon-name":"close"})])],8,cB),l(C,{img:e.photo,name:e.display_name,email:e.user_email||e.email,profileLink:"/member/"+e.ID},null,8,["img","name","email","profileLink"])]))),128))])):(s(),a("div",bB,[l(T,{message:"assignees"===p.activeTab?"No default assignees yet":"No default watchers yet","icon-width":52,"icon-height":40},null,8,["message"])]))]),f((s(),a("div",gB,[i("div",fB,o(e.$t("Board Members")),1),l(S,{modelValue:p.searchInput,"onUpdate:modelValue":t[1]||(t[1]=e=>p.searchInput=e),class:"fbs_mb_8",placeholder:e.$t("Search or jump to"),onInput:m.searchBoardMembers,onPaste:t[2]||(t[2]=h(()=>{},["stop"]))},{prefix:n(()=>[...t[3]||(t[3]=[i("svg",{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false"},[i("path",{d:"M9.25 15.25C5.93629 15.25 3.25 12.5637 3.25 9.25C3.25 5.93629 5.93629 3.25 9.25 3.25C12.5637 3.25 15.25 5.93629 15.25 9.25C15.25 10.6375 14.7791 11.9149 13.9884 12.9312L16.5303 15.4697L15.4697 16.5303L12.9312 13.9884C11.9149 14.7791 10.6375 15.25 9.25 15.25ZM9.25 13.75C11.7353 13.75 13.75 11.7353 13.75 9.25C13.75 6.76472 11.7353 4.75 9.25 4.75C6.76472 4.75 4.75 6.76472 4.75 9.25C4.75 11.7353 6.76472 13.75 9.25 13.75Z",fill:"currentColor"})],-1)])]),_:1},8,["modelValue","placeholder","onInput"]),m.remainingUsers.length?(s(),a("ul",_B,[(s(!0),a(r,null,d(m.remainingUsers,e=>(s(),a("li",{class:"fbs_show_assignee",key:e.ID},[l(v,{size:32,src:e.photo,alt:e.display_name},null,8,["src","alt"]),i("div",{class:"content d-flex justify-between items-center gap-2",onClick:h(t=>m.addAssignee(e.ID),["stop"])},[i("div",vB,[i("span",yB,o(e.display_name),1),i("span",wB,o(e.email),1)]),i("span",CB,[l(w,{"icon-name":"plus"})])],8,kB)]))),128))])):(s(),a("div",TB,[l(T,{message:"No members assigned yet","icon-width":52,"icon-height":40})]))])),[[$,p.fetchingMembers]]),m.remainingAdmins.length?f((s(),a("div",SB,[i("div",$B,o(e.$t("Other users who have access to this board")),1),i("ul",VB,[(s(!0),a(r,null,d(m.remainingAdmins,e=>(s(),a("li",{class:"fbs_show_assignee",key:e.ID},[l(v,{size:32,src:e.photo,alt:e.display_name},null,8,["src","alt"]),i("div",{class:"content d-flex justify-between items-center gap-2",onClick:h(t=>m.addAssignee(e.ID,"other"),["stop"])},[i("div",IB,[i("span",DB,o(e.display_name),1),i("span",BB,o(e.email),1)]),i("span",LB,[l(w,{"icon-name":"plus"})])],8,AB)]))),128))])])),[[$,p.fetchingMembers]]):y("",!0)])])}]]),ColorPicker:yi},emits:["showTaskAddAtTop","collapsed","createStageLeft","editing-stage"],mounted(){this.taskGroup.settings&&"is_template"in this.taskGroup.settings&&(this.isTemplate=this.taskGroup.settings.is_template)},data(){var e;return{editingStage:!1,loading:!1,stageBackgroundUpdating:!1,selectedStage:{},stageName:this.taskGroup.title,stageStatus:null==(e=this.taskGroup.settings)?void 0:e.default_task_status,isTemplate:!1,moveStageVisible:!1,newStage:{title:"",position:null,board_id:null},copyStageDialogVisible:!1,sortData:[{label:this.$t("Date Created"),slug:"created_at"},{label:this.$t("Priority"),slug:"priority"},{label:this.$t("Task Name"),slug:"title"},{label:this.$t("Due Date"),slug:"due_at"}],headerTitle:this.$t("Stage Actions"),showButtons:!1,isOpen:!1,isSortOptionsOpen:!1,isShowStages:!1,isCollapse:!1,showStageCoverSettings:!1,coverColors:{alice_blue:{backgroundColor:"#e9edf6"},green:{backgroundColor:"#4bce97"},yellow:{backgroundColor:"#e2b203"},orange:{backgroundColor:"#faa53d"},red:{backgroundColor:"#f87462"},purple:{backgroundColor:"#9f8fef"},blue:{backgroundColor:"#579dff"},sky:{backgroundColor:"#60c6d2"},lime:{backgroundColor:"#6DECA9"},pink:{backgroundColor:"#e774bb"}},query:{order:"",orderBy:"ASC"},showStageDefaultAssignees:!1,memberIds:[],errorUsers:!1,popoverWidth:215,isKeyboardComposing:!1,customStageColor:this.taskGroup.bg_color?this.taskGroup.bg_color:"#f51505",customColorPickerVisible:!1,recommendedColors:["#6B7280","#335CFF","#F97316","#FF3B4A","#25C16F","#F2B51D","#7C4DFF","#47B6E8"]}},computed:{...m(js,["board","stages","filterByStageActive"]),isAdmin(){return this.$isAdmin()},isLastStage(){return this.taskGroups.length-1===this.index},addTaskLabel(){var e;return"roadmap"===(null==(e=this.board)?void 0:e.type)?this.$t("Add Idea"):this.$t("Add Task")},stageVisibilityTooltip(){var e,t;return(null==(t=null==(e=this.taskGroup)?void 0:e.settings)?void 0:t.is_public)?this.$t("Public stage"):this.$t("Private stage")},stageActionsPopoverClass(){return["fbs-stage-actions-popover",this.showStageDefaultAssignees?"fbs-stage-default-popover":""].filter(Boolean).join(" ")},customStagePickerColor(){var e;return this.customStageColor||(null==(e=this.taskGroup)?void 0:e.bg_color)||"#335CFF"}},watch:{showButtons(e){e&&(this.showStageCoverSettings=!1)}},methods:{isReadOnlyView(){return this.appVars.public_mode||this.board.archived_at||this.board.isUserOnlyViewer},onShowPopover(){this.$refs.myInnerComponent.onVisible()},updateStageProperty(){if(this.isReadOnlyView()||this.loading||this.stageBackgroundUpdating)return;const e=String(this.board.id),t=this.taskGroup.id;this.loading=!0,this.$put("projects/"+e+"/update-stage-property/"+t,{property:"status",value:"open"==this.stageStatus?"closed":"open"}).then(s=>{this.isCurrentStagePropertyContext(e,t,s.stage)&&(this.stageStatus=s.stage.settings.default_task_status,this.$notify({message:s.message,type:"success"}))}).catch(s=>{this.isCurrentStagePropertyContext(e,t)&&this.handleError(s)}).finally(()=>{this.loading=!1})},updateStageTitle(){if(this.isReadOnlyView()||this.loading||this.stageBackgroundUpdating)return;if(this.isKeyboardComposing)return;const e=this.stageName.trim();if(!e)return this.$notify({message:this.$t("Stage name can not be empty"),type:"error"}),void this.setEditingState(!1);const t=String(this.board.id),s=this.taskGroup.id;this.loading=!0,this.$put("projects/"+t+"/update-stage-property/"+s,{property:"title",value:e}).then(e=>{this.isCurrentStagePropertyContext(t,s,e.stage)&&(this.stageName=e.stage.title,this.eventBus.emit("update-stages",[{id:e.stage.id,title:e.stage.title}]),this.$notify({message:e.message,type:"success"}),this.setEditingState(!1))}).catch(e=>{this.isCurrentStagePropertyContext(t,s)&&this.handleError(e)}).finally(()=>{this.loading=!1})},blurStageInput(e){this.editingStage&&this.setEditingState(!1)},onFocus(){this.editingStage=!0},editStage(){this.isReadOnlyView()||this.loading||this.stageBackgroundUpdating||(this.stageName=this.taskGroup.title,this.setEditingState(!0),this.$nextTick(()=>{this.$refs.stName.focus()}))},archiveStage(){this.isReadOnlyView()||(this.closePopOver(),this.$put("projects/"+this.board.id+"/archive-stage/"+this.taskGroup.id).then(e=>{this.eventBus.emit("stage-removed",this.taskGroup.id),this.$notify({message:e.message,type:"success"})}).catch(e=>{this.handleError(e)}).finally(e=>{this.$router.push({path:this.$route.fullPath,query:{reload:!0}})}))},updateStageUserView(e){this.isReadOnlyView()||this.$put("projects/"+e.board_id+"/stage-view/"+e.id).then(e=>{this.eventBus.emit("update-stages",[e.stage])}).catch(e=>{this.handleError(e)})},handleSaveChangesOnMoveStage(){this.moveStageVisible=!1},openMoveStageDialog(){this.isReadOnlyView()||(this.closePopOver(),this.moveStageVisible=!0)},copyStageData(e){this.isReadOnlyView()||(this.newStage.title=e.title+" - Copy",this.newStage.position=parseInt(e.position)+1,this.newStage.board_id=parseInt(e.board_id),this.showButtons=!1,this.createStage())},createStage(){this.isReadOnlyView()||(this.isOpen=!1,this.newStage.title.trim()?this.$post("projects/"+this.newStage.board_id+"/stage-create",this.newStage).then(e=>{this.eventBus.emit("update-stages",e.updatedStages),this.$notify({title:this.$t("Success"),message:this.$t("Stage Copied"),type:"success"})}).catch(e=>{this.handleError(e)}).finally(()=>{this.newStage.title="",this.newStage.position=null,this.newStage.board_id=null}):this.$notify({message:this.$t("Stage name can not be empty"),type:"error"}))},sortStageTasks(){this.isReadOnlyView()||(this.closePopOver(),this.$put("projects/"+this.taskGroup.board_id+"/stage/"+this.taskGroup.id+"/sort-task",{order:this.query.order,orderBy:this.query.orderBy}).then(e=>{let t=this.sortData.find(e=>e.slug===this.query.order);this.eventBus.emit("update-tasks",e.updatedTasks),this.$notify({title:this.$t("Success"),message:this.$t("Tasks sorted by ")+t.label,type:"success"})}).catch(e=>{this.handleError(e)}))},moveTaskFormStage(e){if(this.isReadOnlyView())return;if(this.closePopOver(),this.taskGroup.id==e.id)return;const t={newStageId:e.id,oldStageId:this.taskGroup.id};this.$put("projects/"+this.taskGroup.board_id+"/stage-move-all-task",t).then(t=>{this.eventBus.emit("update-tasks",t.updatedTasks),this.$notify({title:this.$t("Success"),message:`All tasks moved from ${this.taskGroup.title} to ${e.title}`,type:"success"})}).catch(e=>{this.handleError(e)})},updateStageTemplate(){this.isReadOnlyView()||this.appVars.has_pro&&this.$put("projects/"+this.taskGroup.board_id+"/stage/"+this.taskGroup.id+"/update-stage-template").then(e=>{this.isTemplate=e.stage.settings.is_template}).catch(e=>{this.handleError(e)})},archiveAllTask(){this.isReadOnlyView()||(this.closePopOver(),this.$put("projects/"+this.taskGroup.board_id+"/stage/"+this.taskGroup.id+"/archive-all-task").then(e=>{this.eventBus.emit("update-tasks",e.updatedTasks),this.$notify({title:"Success",message:`All tasks archived in ${this.taskGroup.title} stage`,type:"success"})}).catch(e=>{this.handleError(e)}))},toggleComponent(){this.isOpen=!this.isOpen,this.isOpen?(this.showButtons=!0,setTimeout(()=>{document.addEventListener("click",this.handleClickOutside)},0)):document.removeEventListener("click",this.handleClickOutside)},handleClickOutside(e){var t;const s=Array.from(document.querySelectorAll(".fbs-board-background-picker-popover")).some(t=>t.contains(e.target));(null==(t=this.$refs.fbsStageActions)?void 0:t.contains(e.target))||s||this.closePopOver()},closePopOver(){this.isOpen=!1,this.showButtons=!1,this.isSortOptionsOpen=!1,this.isShowStages=!1,this.showStageDefaultAssignees=!1,this.popoverWidth=280,this.copyStageDialogVisible&&(this.copyStageDialogVisible=!1,this.newStage={title:"",position:null,board_id:null}),document.removeEventListener("click",this.handleClickOutside)},backToMenu(){this.headerTitle=this.$t("Stage Actions"),this.isSortOptionsOpen=!1,this.isShowStages=!1,this.showButtons=!0,this.showStageCoverSettings=!1,this.showStageDefaultAssignees=!1,this.copyStageDialogVisible&&(this.copyStageDialogVisible=!1,this.newStage={title:"",position:null,board_id:null}),this.popoverWidth=280},showSortOption(){this.headerTitle=this.$t("Sort Options"),this.showButtons=!1,this.isSortOptionsOpen=!0},showStageTitle(){this.headerTitle=this.$t("Move all card in stage"),this.showButtons=!1,this.isShowStages=!0},isDueAt:e=>e.some(e=>null!==e.due_at),showTaskAddAtTop(){this.$emit("showTaskAddAtTop",this.taskGroup)},showTask(e){this.eventBus.emit("show-task",e)},handleCollapse(e){this.isCollapse=!this.isCollapse,this.$emit("collapsed",e)},stageCoverSettings(){this.isReadOnlyView()||(this.headerTitle=this.$t("Stage Background"),this.showStageCoverSettings=!0,this.showButtons=!1,this.popoverWidth=294)},changeCoverColor(e,t=!0){this.persistStageBackground(e,t)},persistStageBackground(e,t=!0){if(this.isReadOnlyView()||this.stageBackgroundUpdating||this.loading)return;const s=String(this.board.id),a=this.taskGroup.id;this.stageBackgroundUpdating=!0,this.$put("projects/"+s+"/update-stage-property/"+a,{property:"bg_color",value:e}).then(e=>{if(!this.isCurrentStagePropertyContext(s,a,e.stage))return;const i=e.stage.bg_color||"";i&&this.isPresetColor(i)||(this.customStageColor=i),this.eventBus.emit("update-stages",[{id:e.stage.id,bg_color:i}]),this.$notify({message:e.message,type:"success"}),t&&this.backToMenu()}).catch(e=>{this.isCurrentStagePropertyContext(s,a)&&this.handleError(e)}).finally(()=>{this.stageBackgroundUpdating=!1})},resetStageBackground(){this.isReadOnlyView()||this.stageBackgroundUpdating||this.loading||(this.customColorPickerVisible=!1,this.persistStageBackground("",!0))},isCurrentStagePropertyContext(e,t,s=null){const a=String(this.$route.params.id??""),i=String(t),o=this.stages.some(t=>String(t.id)===i&&String(t.board_id)===e);return!(a!==e||!o)&&(!s||String(s.board_id??"")===e&&String(s.id??"")===i)},createStageLeft(e){this.isReadOnlyView()||(this.closePopOver(),this.$emit("createStageLeft",e))},stageDefaultAssignees(){this.isReadOnlyView()||this.appVars.has_pro&&(this.headerTitle=this.$t("Set Default"),this.popoverWidth=440,this.showStageDefaultAssignees=!0,this.showButtons=!1)},isPresetColor(e){return Object.values(this.coverColors).some(t=>t.backgroundColor.toLowerCase()===(null==e?void 0:e.toLowerCase()))},openStageColorPicker(){this.stageBackgroundUpdating||this.loading||(this.customColorPickerVisible=!0)},applyCustomStageColor(e){this.stageBackgroundUpdating||this.loading||(this.customStageColor=e,this.changeCoverColor(this.customStageColor,!1))},setEditingState(e){this.editingStage=e,this.$emit("editing-stage",e)}}},xB={class:"fbs_board_section__header"},PB={class:"fbs_stage_title"},FB={key:0,class:"fbs_stage_items_counter"},EB=["aria-label"],UB={class:"fbs_table_view_header"},OB={class:"fbs_table_view_header_menu_trigger d-flex items-center"},RB=["title"],NB={class:"fbs_template_text"},HB={ref:"fbsStageActions"},jB={key:0,class:"fbs_stage_action_header"},zB={class:"icon"},GB={class:"icon"},qB={key:1,class:"fbs_stage_acton_field"},WB={class:"fbs_stage_action_icon","aria-hidden":"true"},KB={class:"fbs_stage_action_text"},ZB={class:"fbs_stage_action_icon","aria-hidden":"true"},YB={class:"icon"},JB={class:"fbs_stage_action_text"},QB={class:"fbs_stage_action_icon","aria-hidden":"true"},XB={class:"fbs_stage_action_text"},eL={class:"fbs_stage_action_icon","aria-hidden":"true"},tL={class:"fbs_stage_action_text"},sL={class:"fbs_stage_action_icon","aria-hidden":"true"},aL={class:"fbs_stage_action_text"},iL={class:"fbs_stage_action_icon","aria-hidden":"true"},oL=["title"],lL={key:0,class:"fbs-small-pro-badge"},nL={class:"fbs_stage_action_icon","aria-hidden":"true"},rL=["title"],dL={class:"fbs_stage_action_icon","aria-hidden":"true"},cL={class:"fbs_stage_action_text"},hL=["title"],uL=["title"],pL={key:0,class:"fbs-small-pro-badge"},mL={class:"fbs_stage_action_icon","aria-hidden":"true"},bL={class:"fbs_stage_action_text"},gL={class:"fbs_stage_action_icon","aria-hidden":"true"},fL={class:"fbs_stage_action_text"},_L={class:"fbs_stage_action_icon","aria-hidden":"true"},kL={class:"fbs_stage_action_text"},vL={key:2,class:"fbs_stage_acton_field"},yL={class:"d-flex items-center gap-8 justify-end fbs-w-full"},wL={key:3,class:"fbs_stage_acton_field"},CL={class:"fbs_stage_move_target_title"},TL={key:4},SL={key:5,class:"fbs_stage_cover_settings"},$L={class:"fbs-board-background-items-container"},VL=["aria-label","disabled","onClick"],AL={key:0,class:"fbs-board-background-selected-icon"},IL=["aria-label","disabled"],DL={class:"fbs-board-background-selected-icon"},BL=["aria-label","disabled"],LL={class:"icon"},ML=["disabled"],xL={class:"icon"},PL={class:"icon"};const FL=Ss(MB,[["render",function(e,t,u,p,m,_){const C=b("Icons"),T=We,V=b("custom-icon"),A=ze,I=xt,D=Mt,B=He,L=b("color-picker"),M=b("stage-default-assignees"),x=je,P=b("reorder-stages"),F=Ge,E=g("loading");return s(),a("div",xB,[f((s(),a("div",{class:k(["fbs_stage_header",{editing:m.editingStage}])},[i("div",PB,[u.isListView?(s(),a("div",{key:0,class:k([m.isCollapse?"rotate":"","fbs_stage_collapse_icon cursor_pointer"]),onClick:t[0]||(t[0]=e=>_.handleCollapse(u.taskGroup.id))},[l(C,{"icon-name":"arrow-down","icon-class":"d-block"})],2)):y("",!0),l(T,{content:u.taskGroup.title,class:"box-item",effect:"dark",placement:"top"},{default:n(()=>[f(i("span",{class:"fbs_stage_title_content",onClick:t[1]||(t[1]=(...e)=>_.editStage&&_.editStage(...e))},o(u.taskGroup.title),513),[[U,!m.editingStage]])]),_:1},8,["content"]),e.board.archived_at||e.board.isUserOnlyViewer||!m.editingStage?y("",!0):f((s(),a("input",{key:1,ref:"stName","onUpdate:modelValue":t[2]||(t[2]=e=>m.stageName=e),maxlength:"30",type:"text",onChange:t[3]||(t[3]=(...e)=>_.updateStageTitle&&_.updateStageTitle(...e)),onFocus:t[4]||(t[4]=e=>_.onFocus()),onBlur:t[5]||(t[5]=e=>_.blurStageInput(u.taskGroup.id)),onCompositionstart:t[6]||(t[6]=e=>m.isKeyboardComposing=!0),onCompositionend:t[7]||(t[7]=e=>m.isKeyboardComposing=!1),onPaste:t[8]||(t[8]=h(()=>{},["stop"])),onInput:t[9]||(t[9]=e=>_.setEditingState(!0))},null,544)),[[v,m.stageName]])]),m.editingStage||u.taskGroup.tasksLoading?y("",!0):(s(),a("span",FB,o(u.taskGroup.total_count??u.taskGroup.tasks.length),1)),"roadmap"==e.board.type?(s(),c(T,{key:1,content:_.stageVisibilityTooltip,effect:"dark",placement:"top"},{default:n(()=>{var e,t;return[i("div",{class:"fbs_stage_header_template fbs_stage_visibility_badge","aria-label":_.stageVisibilityTooltip,tabindex:"0"},[(null==(t=null==(e=u.taskGroup)?void 0:e.settings)?void 0:t.is_public)?(s(),c(C,{key:0,"icon-name":"glob","icon-class":"fbs_stage_action_svg"})):(s(),c(V,{key:1,"icon-name":"roadmap-stage-privet"}))],8,EB)]}),_:1},8,["content"])):y("",!0)],2)),[[E,m.loading]]),i("div",UB,[i("div",OB,[m.isTemplate?(s(),a("div",{key:0,title:e.$t("This is a template stage"),class:"fbs_stage_header_template"},[i("span",NB,o(e.$t("Template")),1)],8,RB)):y("",!0),l(x,{visible:m.isOpen,placement:"bottom","popper-class":_.stageActionsPopoverClass,width:m.popoverWidth,onShow:_.onShowPopover},{reference:n(()=>[e.board.isUserOnlyViewer?y("",!0):(s(),c(A,{key:0,text:"",ref:"buttonRefMoreFiled",class:"extra-small only-icon-btn fbs_ml_0 fbs_mr_0",tabindex:"0","aria-label":e.$t("Stage Actions"),onClick:_.toggleComponent,onKeydown:[$(h(_.toggleComponent,["prevent"]),["enter"]),$(h(_.toggleComponent,["prevent"]),["space"])]},{default:n(()=>[i("span",xL,[l(C,{"icon-name":"horizontal-dots"})])]),_:1},8,["aria-label","onClick","onKeydown"]))]),default:n(()=>[i("div",HB,[m.showButtons?y("",!0):(s(),a("div",jB,[m.showButtons?y("",!0):(s(),c(A,{key:0,class:"only-icon-btn",text:"",size:"small",onClick:h(_.backToMenu,["stop"])},{default:n(()=>[i("span",zB,[l(C,{"icon-name":"arrow-left-small"})])]),_:1},8,["onClick"])),i("h4",null,o(m.headerTitle),1),m.showButtons?y("",!0):(s(),c(A,{key:1,class:"only-icon-btn fbs_ml-auto",text:"",size:"small",onClick:h(_.closePopOver,["stop"])},{default:n(()=>[i("span",GB,[l(C,{"icon-name":"close"})])]),_:1},8,["onClick"]))])),m.showButtons?(s(),a("div",qB,[e.board.archived_at?y("",!0):(s(),c(A,{key:0,class:"fbs_stage_action",onClick:t[10]||(t[10]=h(e=>_.copyStageData(u.taskGroup),["stop"]))},{default:n(()=>[i("span",WB,[l(C,{"icon-name":"copy","icon-class":"fbs_stage_action_svg"})]),i("span",KB,o(e.$t("Copy Stage")),1)]),_:1})),e.board.archived_at?y("",!0):(s(),c(A,{key:1,class:"fbs_stage_action",onClick:t[11]||(t[11]=e=>_.updateStageProperty())},{default:n(()=>[i("span",ZB,[i("span",YB,["open"===m.stageStatus?(s(),c(C,{key:0,"icon-name":"circle-check"})):(s(),c(C,{key:1,"icon-name":"circle-check-fill"}))])]),i("span",JB,o(e.$t("Set Status"))+" "+o("open"===m.stageStatus?e.$t("Closed"):e.$t("Open")),1)]),_:1})),e.board.archived_at?y("",!0):(s(),c(A,{key:2,class:"fbs_stage_action",onClick:_.openMoveStageDialog},{default:n(()=>[i("span",QB,[l(C,{"icon-name":"reorder"})]),i("span",XB,o(e.$t("Reorder Stages")),1)]),_:1},8,["onClick"])),e.board.archived_at?y("",!0):(s(),c(A,{key:3,class:"fbs_stage_action",onClick:h(_.showSortOption,["stop"])},{default:n(()=>[i("span",eL,[l(C,{"icon-name":"sort"})]),i("span",tL,o(e.$t("Sort By")),1)]),_:1},8,["onClick"])),e.board.archived_at?y("",!0):(s(),c(A,{key:4,class:"fbs_stage_action",onClick:h(_.showStageTitle,["stop"])},{default:n(()=>[i("span",sL,[l(C,{"icon-name":"arrow-top-right-up","icon-class":"fbs_stage_action_svg"})]),i("span",aL,o(e.$t("Move All Tasks")),1)]),_:1},8,["onClick"])),l(A,{disabled:!e.appVars.has_pro,title:e.appVars.has_pro?"":e.$t("This is a pro feature"),class:"fbs_stage_action",onClick:_.updateStageTemplate},{default:n(()=>[m.isTemplate?(s(),a(r,{key:1},[i("span",nL,[l(C,{"icon-name":"template","icon-class":"fbs_stage_action_svg"})]),i("span",{class:"fbs_stage_action_text",title:e.appVars.has_pro?e.$t("Make this stage back to normal"):e.$t("This is a pro feature")},o(e.$t("Remove Template")),9,rL)],64)):(s(),a(r,{key:0},[i("span",iL,[l(C,{"icon-name":"template","icon-class":"fbs_stage_action_svg"})]),i("span",{class:"fbs_stage_action_text",title:e.appVars.has_pro?e.$t("make template"):e.$t("This is a pro feature")},[w(o(e.$t("Make template"))+" ",1),e.appVars.has_pro?y("",!0):(s(),a("span",lL,o(e.$t("Pro")),1))],8,oL)],64))]),_:1},8,["disabled","title","onClick"]),e.board.archived_at?y("",!0):(s(),c(A,{key:5,class:"fbs_stage_action",onClick:h(_.stageCoverSettings,["stop"])},{default:n(()=>[i("span",dL,[l(C,{"icon-name":"picture","icon-class":"fbs_stage_action_svg"})]),i("span",cL,o(e.$t("Change Background")),1)]),_:1},8,["onClick"])),e.board.archived_at?y("",!0):(s(),c(A,{key:6,disabled:!e.appVars.has_pro,class:"fbs_stage_action",onClick:h(_.stageDefaultAssignees,["stop"])},{default:n(()=>[i("span",{class:"fbs_stage_action_icon",title:e.appVars.has_pro?e.$t("select defaults"):e.$t("This is a pro feature")},[l(C,{"icon-name":"check","icon-class":"fbs_stage_action_svg"})],8,hL),i("span",{class:"fbs_stage_action_text",title:e.appVars.has_pro?e.$t("select defaults"):e.$t("This is a pro feature")},[w(o(e.$t("Set Default"))+" ",1),e.appVars.has_pro?y("",!0):(s(),a("span",pL,o(e.$t("Pro")),1))],8,uL)]),_:1},8,["disabled","onClick"])),e.board.archived_at?y("",!0):(s(),c(A,{key:7,class:"fbs_stage_action",onClick:_.archiveAllTask},{default:n(()=>[i("span",mL,[l(C,{"icon-name":"archive","icon-class":"fbs_stage_action_svg"})]),i("span",bL,o(e.$t("Archive All Tasks")),1)]),_:1},8,["onClick"])),e.board.archived_at?y("",!0):(s(),c(A,{key:8,class:"fbs_stage_action",onClick:t[12]||(t[12]=e=>_.archiveStage())},{default:n(()=>[i("span",gL,[l(C,{"icon-name":"archive","icon-class":"fbs_stage_action_svg"})]),i("span",fL,o(e.$t("Archive This Stage")),1)]),_:1})),_.isAdmin&&"roadmap"===e.board.type?(s(),c(A,{key:9,class:"fbs_stage_action",onClick:t[13]||(t[13]=h(e=>_.updateStageUserView(u.taskGroup),["stop"]))},{default:n(()=>[i("span",_L,[l(C,{"icon-name":"glob","icon-class":"fbs_stage_action_svg"})]),i("span",kL,o(u.taskGroup.settings.is_public?e.$t("Make This Stage Private"):e.$t("Make This Stage Public")),1)]),_:1})):y("",!0)])):y("",!0),m.isSortOptionsOpen?(s(),a("div",vL,[l(D,{modelValue:m.query.order,"onUpdate:modelValue":t[14]||(t[14]=e=>m.query.order=e),class:"d-flex flex-column gap-12 items-start fbs_mb_16 fbs_mt_16"},{default:n(()=>[(s(!0),a(r,null,d(m.sortData,e=>(s(),c(I,{key:e.slug,label:e.slug,class:"h-auto fbs_mr_0 fbs_ml_0"},{default:n(()=>[w(o(e.label),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"]),l(D,{modelValue:m.query.orderBy,"onUpdate:modelValue":t[15]||(t[15]=e=>m.query.orderBy=e),class:"fbs_sort_order_group"},{default:n(()=>[l(I,{label:"ASC",size:"large"},{default:n(()=>[w(o(e.$t("Ascending")),1)]),_:1}),l(I,{label:"DESC",size:"large"},{default:n(()=>[w(o(e.$t("Descending")),1)]),_:1})]),_:1},8,["modelValue"]),i("div",yL,[l(A,{type:"primary",onClick:_.sortStageTasks},{default:n(()=>[w(o(e.$t("Apply")),1)]),_:1},8,["onClick"])])])):y("",!0),m.isShowStages?(s(),a("div",wL,[(s(!0),a(r,null,d(e.stages,e=>(s(),a("div",{key:e.id,style:{width:"100%"}},[l(A,{disabled:e.id==u.taskGroup.id,class:"fbs_stage_action fbs_stage_move_target",title:e.title,onClick:h(t=>_.moveTaskFormStage(e),["stop"])},{default:n(()=>[i("span",CL,o(e.title),1)]),_:2},1032,["disabled","title","onClick"])]))),128))])):y("",!0),m.copyStageDialogVisible?(s(),a("div",TL,[l(B,{modelValue:m.newStage.title,"onUpdate:modelValue":t[16]||(t[16]=e=>m.newStage.title=e),style:{"min-height":"50px"}},null,8,["modelValue"]),l(A,{style:{"margin-top":"10px"},type:"primary",onClick:_.createStage},{default:n(()=>[w(o(e.$t("Confirm")),1)]),_:1},8,["onClick"])])):y("",!0),m.showStageCoverSettings?(s(),a("div",SL,[i("div",$L,[(s(!0),a(r,null,d(m.coverColors,(t,i)=>(s(),a("button",{key:i,type:"button",class:k(["fbs-board-background-dot",{"is-selected":u.taskGroup.bg_color&&u.taskGroup.bg_color===t.backgroundColor}]),style:S({background:t.backgroundColor}),"aria-label":e.$t("Select Color"),disabled:m.stageBackgroundUpdating||m.loading,onClick:e=>_.changeCoverColor(t.backgroundColor)},[u.taskGroup.bg_color&&u.taskGroup.bg_color===t.backgroundColor?(s(),a("span",AL,[l(C,{"icon-name":"selected-background"})])):y("",!0)],14,VL))),128)),u.taskGroup.bg_color&&!_.isPresetColor(u.taskGroup.bg_color)?(s(),a("button",{key:0,type:"button",class:"fbs-board-background-dot is-selected",style:S({background:u.taskGroup.bg_color}),"aria-label":e.$t("Custom Color"),disabled:m.stageBackgroundUpdating||m.loading,onClick:t[17]||(t[17]=(...e)=>_.openStageColorPicker&&_.openStageColorPicker(...e))},[i("span",DL,[l(C,{"icon-name":"selected-background"})])],12,IL)):y("",!0),l(L,{"model-value":_.customStagePickerColor,visible:m.customColorPickerVisible,"onUpdate:visible":t[18]||(t[18]=e=>m.customColorPickerVisible=e),placement:e.appVars.is_rtl?"right":"left",teleported:!0,disabled:m.stageBackgroundUpdating||m.loading,"recommended-colors":m.recommendedColors,"onUpdate:modelValue":t[19]||(t[19]=e=>m.customStageColor=e),onChange:_.applyCustomStageColor},{reference:n(()=>[i("button",{type:"button",class:"fbs-board-background-add-dot","aria-label":e.$t("Add Color"),disabled:m.stageBackgroundUpdating||m.loading},[i("span",LL,[l(C,{"icon-name":"plus"})])],8,BL)]),_:1},8,["model-value","visible","placement","disabled","recommended-colors","onChange"])]),i("button",{type:"button",class:"fbs-board-background-reset-button",disabled:m.stageBackgroundUpdating||m.loading||!u.taskGroup.bg_color,onClick:t[20]||(t[20]=(...e)=>_.resetStageBackground&&_.resetStageBackground(...e))},[l(C,{"icon-name":"reset-icon"}),w(" "+o(e.$t("Reset To Default")),1)],8,ML)])):y("",!0),f(l(M,{ref:"myInnerComponent",stage:u.taskGroup},null,8,["stage"]),[[U,m.showStageDefaultAssignees]])],512)]),_:1},8,["visible","popper-class","width","onShow"]),e.board.archived_at||e.board.isUserOnlyViewer?y("",!0):(s(),c(T,{key:1,content:_.addTaskLabel,class:"box-item",effect:"dark",placement:"top"},{default:n(()=>[e.board.archived_at||e.board.isUserOnlyViewer?y("",!0):(s(),c(A,{key:0,text:"",class:"extra-small only-icon-btn fbs_ml_0 fbs_mr_0","aria-label":_.addTaskLabel,onClick:_.showTaskAddAtTop},{default:n(()=>[i("span",PL,[l(C,{"icon-name":"plus"})])]),_:1},8,["aria-label","onClick"]))]),_:1},8,["content"]))])]),e.board.archived_at||e.board.isUserOnlyViewer||!u.isKanbanView||_.isLastStage?y("",!0):(s(),a("div",{key:0,class:"fbs_add_stage_hover",onClick:t[21]||(t[21]=e=>_.createStageLeft(u.index+1))},[i("span",null,o(e.$t("Add Stage")),1)])),l(F,{modelValue:m.moveStageVisible,"onUpdate:modelValue":t[23]||(t[23]=e=>m.moveStageVisible=e),"append-to-body":"","close-on-click-modal":!1,"destroy-on-close":!0,title:e.$t("Reorder Stages"),width:"440px",class:"fbs_reorder_stage_modal fbs_smal_modal"},{default:n(()=>[l(P,{onCancel:t[22]||(t[22]=e=>m.moveStageVisible=!1),onOnSave:_.handleSaveChangesOnMoveStage},null,8,["onOnSave"])]),_:1},8,["modelValue","title"])])}]]),EL={name:"TaskFieldButtons",inject:["eventBus"],components:{JoinAndLeaveTask:Fd,BoardLabels:Ji,PriorityBadge:sa,TaskAssignees:Ha,Icons:$s,TaskCoverSettings:dm,CloneTaskDialog:hg,TaskMoverPanel:Xr},props:{task:{type:Object,required:!0}},emits:["showTask","popover-open","popover-close"],computed:{...m(js,["board","stages"]),currentStage(){return this.stages.find(e=>parseInt(e.id)===parseInt(this.task.stage_id))||{}}},data:()=>({visible:!1,childVisible:!1,subtask:{title:"",parent_id:null,due_at:"",id:""},show_subtask_form:!1,isCopied:!1,isChildComponentOpen:!1,showCloneDialog:!1,stageMoverVisible:!1}),watch:{visible(e){e?(this.childVisible=e,this.$emit("popover-open")):(this.$emit("popover-close"),setTimeout(()=>{this.childVisible=e},200))},stageMoverVisible(e){this.childComponentToggle(e)}},methods:{showTask(e){const t=`/boards/${e.board_id}/tasks/${e.id}-${Ll(e.title)}`;this.$router.push({path:t}),this.visible=!1},closeStageMover(){this.stageMoverVisible=!1,this.childComponentToggle(!1)},archiveTask(){this.visible=!1,this.eventBus.emit("change-task-property",{task:this.task,property:"archived_at",value:"AUTO_SET_TIMESTAMP",onSuccess:e=>{this.eventBus.emit("fluent-boards-task-removed",e.task.id)},onError:e=>{this.$notify.error({title:"Error",message:"Task due date couldn't be updated. Please try again."})}})},toggleComponent(){this.visible=!this.visible,this.visible?setTimeout(()=>{document.addEventListener("click",this.handleClickOutside)},0):document.removeEventListener("click",this.handleClickOutside)},handleClickOutside(e){var t;(null==(t=this.$refs.kanbanTaskFieldButton)?void 0:t.contains(e.target))||this.isChildComponentOpen||(document.removeEventListener("click",this.handleClickOutside),this.visible=!1)},childComponentToggle(e){this.isChildComponentOpen=e},openCloneDialog(){this.visible=!1,this.showCloneDialog=!0},createSubTask(){this.$post("projects/"+this.task.board_id+"/tasks/"+this.task.id+"/subtasks",{title:this.subtask.title,due_at:this.subtask.due_at}).then(e=>{this.subtask={title:"",parent_id:null,due_at:"",id:""},this.emitter.emit("subtask-updated",{taskId:this.task.id,operation:"add"}),this.closeSubtaskForm(),this.visible=!1,this.$notify({message:e.message,type:"success"})}).catch(e=>{this.handleError(e)})},toggleAddSubtaskForm(){this.show_subtask_form=!this.show_subtask_form,this.childComponentToggle(this.show_subtask_form)},closeSubtaskForm(){this.show_subtask_form=!1,this.childComponentToggle(!1)},copyCurrentUrl(){const e=`/boards/${this.task.board_id}/tasks/${this.task.id}-${Ll(this.task.title)}`,t=`${window.location.origin}${window.location.pathname}?page=fluent-boards#${e}`;this.copyToClipboard(t)},copyToClipboard(e){navigator.clipboard&&navigator.clipboard.writeText?navigator.clipboard.writeText(e).then(()=>this.showCopySuccess()).catch(()=>this.showCopyError()):this.fallbackCopyTextToClipboard(e)},fallbackCopyTextToClipboard(e){const t=document.createElement("textarea");t.value=e,t.style.position="fixed",document.body.appendChild(t),t.focus(),t.select();try{document.execCommand("copy")?this.showCopySuccess():this.showCopyError()}catch(s){this.showCopyError()}document.body.removeChild(t)},showCopySuccess(){this.isCopied=!0,setTimeout(()=>{this.isCopied=!1},5e3),this.$notify.success({title:this.$t("Success"),message:this.$t("Link copied to clipboard")})},showCopyError(){this.$notify.error({title:this.$t("Error"),message:this.$t("Failed to copy link to clipboard")})}}},UL={key:0,class:"fbs_kanban_view_task_more_fields fbs_stage_acton_field",ref:"kanbanTaskFieldButton"},OL={class:"fbs_stage_action_icon"},RL={class:"fbs_stage_action_text"},NL={class:"fbs_stage_action_icon"},HL={class:"fbs_stage_action_text"},jL={class:"fbs_stage_action_icon"},zL={class:"fbs_stage_action_text"},GL={class:"fbs_stage_action_icon"},qL={class:"fbs_stage_action_text"},WL={class:"fbs_stage_action_icon"},KL={class:"fbs_stage_action_text"},ZL={class:"fbs_stage_action_icon"},YL={class:"fbs_stage_action_text"},JL={class:"fbs_stage_action_icon"},QL={class:"fbs_stage_action_text"},XL={class:"fbs_stage_action_icon"},eM={class:"fbs_stage_action_text"},tM={class:"icon"};const sM=Ss(EL,[["render",function(e,t,d,u,p,m){const g=b("Icons"),f=ze,_=b("board-labels"),k=b("join-and-leave-task"),v=b("priority-badge"),w=b("task-mover-panel"),C=je,T=b("task-cover-settings"),S=b("clone-task-dialog");return s(),a(r,null,[l(C,{visible:p.visible,placement:e.appVars.is_rtl?"left-start":"right-start",trigger:"click",width:215,"popper-class":"fbs-stage-actions-popover fbs-task-actions-popover"},{reference:n(()=>[l(f,{text:"",class:"only-icon-btn mini","aria-label":e.$t("Task Actions"),onClick:t[3]||(t[3]=h(e=>this.toggleComponent(),["stop"])),onKeydown:[t[4]||(t[4]=$(h(e=>this.toggleComponent(),["prevent","stop"]),["enter"])),t[5]||(t[5]=$(h(e=>this.toggleComponent(),["prevent","stop"]),["space"]))]},{default:n(()=>[i("span",tM,[l(g,{"icon-name":"dots"})])]),_:1},8,["aria-label"])]),default:n(()=>[p.childVisible?(s(),a("div",UL,[l(f,{class:"fbs_stage_action fbs_task_action",onClick:t[0]||(t[0]=e=>m.showTask(d.task))},{default:n(()=>[i("span",OL,[l(g,{"icon-name":"task-open","icon-class":"fbs_stage_action_svg"})]),i("span",RL,o(e.$t("Open Task")),1)]),_:1}),l(f,{class:"fbs_stage_action fbs_task_action",onClick:m.copyCurrentUrl},{default:n(()=>[i("span",NL,[l(g,{"icon-name":"task-link","icon-class":"fbs_stage_action_svg"})]),i("span",HL,o(e.$t(p.isCopied?"Copied!":"Copy Task Link")),1)]),_:1},8,["onClick"]),e.board.archived_at?y("",!0):(s(),c(f,{key:0,class:"fbs_stage_action fbs_task_action",onClick:m.openCloneDialog},{default:n(()=>[i("span",jL,[l(g,{"icon-name":"task-clone","icon-class":"fbs_stage_action_svg"})]),i("span",zL,o(e.$t("Clone Task")),1)]),_:1},8,["onClick"])),e.board.archived_at?y("",!0):(s(),c(_,{key:1,class:"fbs_task_action_control",task:d.task,hideLabels:!0,showButtonAddText:!0,onComponentToggle:m.childComponentToggle},{trigger:n(({open:t})=>[l(f,{class:"fbs_stage_action fbs_task_action",onClick:t},{default:n(()=>[i("span",GL,[l(g,{"icon-name":"task-label","icon-class":"fbs_stage_action_svg"})]),i("span",qL,o(e.$t("Add label")),1)]),_:1},8,["onClick"])]),_:1},8,["task","onComponentToggle"])),e.board.archived_at?y("",!0):(s(),c(k,{key:2,task:d.task},null,8,["task"])),e.board.archived_at?y("",!0):(s(),c(v,{key:3,class:"fbs_task_action_control",hideLabel:!0,task:d.task,onComponentToggle:m.childComponentToggle},{trigger:n(()=>[l(f,{class:"fbs_stage_action fbs_task_action"},{default:n(()=>[i("span",WL,[l(g,{"icon-name":"task-priority","icon-class":"fbs_stage_action_svg"})]),i("span",KL,o(e.$t("Set Priority")),1)]),_:1})]),_:1},8,["task","onComponentToggle"])),e.board.archived_at?y("",!0):(s(),c(C,{key:4,visible:p.stageMoverVisible,"onUpdate:visible":t[2]||(t[2]=e=>p.stageMoverVisible=e),class:"fbs_task_action_control",placement:e.appVars.is_rtl?"left-start":"right-start",trigger:"click",width:240,"popper-class":"fbs_task_move_popover"},{reference:n(()=>[l(f,{class:"fbs_stage_action fbs_task_action",onClick:t[1]||(t[1]=h(()=>{},["stop"]))},{default:n(()=>[i("span",ZL,[l(g,{"icon-name":"task-stage","icon-class":"fbs_stage_action_svg"})]),i("span",YL,o(e.$t("Change Stage")),1)]),_:1})]),default:n(()=>[p.stageMoverVisible?(s(),c(w,{key:0,task:d.task,stage:m.currentStage,"task-board":e.board,"allow-change-board":!1,onClose:m.closeStageMover},null,8,["task","stage","task-board","onClose"])):y("",!0)]),_:1},8,["visible","placement"])),e.board.archived_at?y("",!0):(s(),c(T,{key:5,class:"fbs_task_action_control",task:d.task,variant:"action",onChildComponentOpen:m.childComponentToggle},{trigger:n(({showPopOver:t})=>[l(f,{class:"fbs_stage_action fbs_task_action",onClick:t},{default:n(()=>[i("span",JL,[l(g,{"icon-name":"image","icon-class":"fbs_stage_action_svg"})]),i("span",QL,o(e.$t("Change Cover")),1)]),_:1},8,["onClick"])]),_:1},8,["task","onChildComponentOpen"])),e.board.archived_at?y("",!0):(s(),c(f,{key:6,class:"fbs_stage_action fbs_task_action",onClick:m.archiveTask},{default:n(()=>[i("span",XL,[l(g,{"icon-name":"archive","icon-class":"fbs_stage_action_svg"})]),i("span",eM,o(e.$t("Archive Task")),1)]),_:1},8,["onClick"]))],512)):y("",!0)]),_:1},8,["visible","placement"]),l(S,{modelValue:p.showCloneDialog,"onUpdate:modelValue":t[6]||(t[6]=e=>p.showCloneDialog=e),"task-id":d.task.id,"board-id":e.board.id},null,8,["modelValue","task-id","board-id"])],64)}]]),aM={name:"TaskCardLabels",inject:["eventBus"],mixins:[Fi],components:{Icons:$s,LabelManager:Pi,LabelDeleteDialog:Ya},props:{task:{type:Object,required:!0},showEmptyTrigger:{type:Boolean,default:!1}},data:()=>({managerVisible:!1,triggerEl:null,outsideListenerAttached:!1}),computed:{...m(js,["board"]),resolvedTaskLabels(){const e=this.board.labels||[];return this.taskLabels.map(t=>{const s=parseInt(t.id??t);return e.find(e=>parseInt(e.id)===s)||t})},visibleLabels(){return this.resolvedTaskLabels.slice(0,5)},overflowLabels(){return this.resolvedTaskLabels.slice(5)},overflowDotColors(){return this.overflowLabels.slice(0,5)},showEmptyLabelTrigger(){return this.showEmptyTrigger&&this.canManageLabels&&!this.taskLabels.length},overflowLabelsAriaLabel(){return this.showEmptyLabelTrigger?this.$t("Add label"):this.overflowLabels.length+" "+this.$t("more labels")}},mounted(){this.setTaskLabelIds()},beforeUnmount(){this.detachOutsideListener()},methods:{hasLabelTitle:e=>Boolean(((null==e?void 0:e.title)||"").toString().trim()),onChipClick(e){if(!this.canManageLabels)return;e.stopPropagation(),e.preventDefault();const t=e.currentTarget;this.managerVisible&&this.triggerEl===t?this.closeManager():(this.triggerEl=t,this.$nextTick(()=>{this.managerVisible=!0,this.$nextTick(this.attachOutsideListener)}))},closeManager(){this.managerVisible=!1},onPopoverClosed(){this.detachOutsideListener()},attachOutsideListener(){this.outsideListenerAttached||(document.addEventListener("click",this.handleOutsideClick,!0),this.outsideListenerAttached=!0)},detachOutsideListener(){this.outsideListenerAttached&&(document.removeEventListener("click",this.handleOutsideClick,!0),this.outsideListenerAttached=!1)},handleOutsideClick(e){if(!this.managerVisible)return;e.target.closest(".el-popper, .el-overlay, .fbs_task_card_label, .fbs_task_card_label_more")||this.closeManager()}}},iM={key:0},oM=["title","aria-label"],lM={key:0,class:"fbs-cbp-dot-stack","aria-hidden":"true"},nM={key:1,class:"fbs_task_card_label_more_count","aria-hidden":"true"},rM={key:2,class:"icon","aria-hidden":"true"};const dM={name:"EachTaskCard",inject:["eventBus"],components:{Icons:$s,DateChanger:ln,TaskCardLabels:Ss(aM,[["render",function(e,t,i,h,u,p){const m=b("Icons"),g=b("label-manager"),f=je,_=b("label-delete-dialog");return s(),a(r,null,[(s(!0),a(r,null,d(p.visibleLabels,(i,l)=>(s(),c(K(e.canManageLabels?"button":"div"),{type:e.canManageLabels?"button":null,class:k(["fbs_task_card_label",{fbs_task_card_label_empty:!p.hasLabelTitle(i),"fbs_task_card_label--clickable":e.canManageLabels}]),key:i.id||l,"aria-label":e.canManageLabels?e.$t("Edit task labels"):null,style:S({"--fbs-label-dot-color":i.bg_color||"var(--fbs-folder-accent)"}),title:p.hasLabelTitle(i)?i.title:e.$t("Title not found"),onClick:t[0]||(t[0]=e=>p.onChipClick(e))},{default:n(()=>[p.hasLabelTitle(i)?(s(),a("span",iM,o(i.title),1)):y("",!0)]),_:2},1032,["type","class","aria-label","style","title"]))),128)),p.overflowLabels.length||p.showEmptyLabelTrigger?(s(),a("button",{key:0,type:"button",class:k(["fbs_task_card_label_more",{"fbs_task_card_label_more--empty":p.showEmptyLabelTrigger}]),title:p.overflowLabelsAriaLabel,"aria-label":p.overflowLabelsAriaLabel,"aria-haspopup":"true",onClick:t[1]||(t[1]=e=>p.onChipClick(e))},[p.overflowLabels.length?(s(),a("span",lM,[(s(!0),a(r,null,d(p.overflowDotColors,(e,t)=>(s(),a("span",{key:e.id||t,class:"fbs-cbp-dot",style:S({background:e.bg_color||"var(--fbs-folder-accent)"})},null,4))),128))])):y("",!0),p.overflowLabels.length?(s(),a("span",nM,"+"+o(p.overflowLabels.length),1)):(s(),a("span",rM,[l(m,{"icon-name":"plus"})]))],10,oM)):y("",!0),l(f,{"virtual-triggering":"","virtual-ref":u.triggerEl,visible:u.managerVisible,persistent:!1,placement:"bottom-start",width:300,"popper-class":"fbs-task-add-popover-box fbs-task-label-popover",onAfterLeave:p.onPopoverClosed},{default:n(()=>[u.managerVisible?(s(),c(g,{key:0,class:"fbs-task-sidebar-popover-box",labels:e.board.labels||[],"label-color":e.board.labelColor||{},"label-color-text":e.board.labelColorText||{},"can-manage-labels":e.canManageLabels,"selected-label-ids":e.taskLabelIds,selectable:!0,"teleported-color-picker":!0,"variant-class":"fbs_task_label_menu",onCreateLabel:e.saveLabelToBoard,onUpdateLabel:e.updateBoardLabel,onRequestDeleteLabel:e.showDeleteDialog,onSelectLabel:e.selectLabelForTask,onDeselectLabel:e.deleteLabelForTask},null,8,["labels","label-color","label-color-text","can-manage-labels","selected-label-ids","onCreateLabel","onUpdateLabel","onRequestDeleteLabel","onSelectLabel","onDeselectLabel"])):y("",!0)]),_:1},8,["virtual-ref","visible","onAfterLeave"]),e.deleteDialogVisible||e.deleteLoading||e.labelToDelete?(s(),c(_,{key:1,"dialog-visible":e.deleteDialogVisible,loading:e.deleteLoading,onCancel:e.closeDeleteDialog,onClosed:e.onDeleteDialogClosed,onConfirm:e.deleteLabel},null,8,["dialog-visible","loading","onCancel","onClosed","onConfirm"])):y("",!0)],64)}]]),TaskFieldButtons:sM,TaskAssignees:Ha,Refresh:Dt,Loading:Re,Histogram:ls,ElTooltip:We},props:{task:{type:Object,required:!0},stages:{type:Array,required:!0}},data(){return{totalSubtasks:this.task.settings?this.task.settings.subtask_count:0,totalCompletedSubtasks:this.task.settings&&!isNaN(this.task.settings.subtask_completed_count)?parseInt(this.task.settings.subtask_completed_count):0,showTaskFieldButton:!1,totalComments:this.task.comments_count>0?parseInt(this.task.comments_count):0,totalNotifications:this.task.notifications,totalAttachment:this.task.settings?this.task.settings.attachment_count:0,priorities:window.fluentAddonVars.priorities,pinLoading:!1}},computed:{...m(Xi,["dashboardViewSettings"]),...m(js,["board","tasks","boardDependencies"]),appVars:()=>window.fluentAddonVars||{},dependencySummary(){const e=parseInt(this.task.id),t=this.boardDependencies.filter(t=>parseInt(t.successor_id)===e).length,s=this.boardDependencies.filter(t=>parseInt(t.predecessor_id)===e).length;return{predecessors:t,successors:s,total:t+s}},dependencyTooltip(){const{predecessors:e,successors:t}=this.dependencySummary,s=[];return e&&s.push(this.$t("Waiting on")+": "+e),t&&s.push(this.$t("Blocking")+": "+t),s.join(" · ")},isBlocked(){if(!this.appVars.has_pro||!this.boardDependencies.length)return!1;const e=parseInt(this.task.id),t=this.boardDependencies.filter(t=>parseInt(t.successor_id)===e).map(e=>parseInt(e.predecessor_id));return!!t.length&&t.some(e=>{const t=this.tasks.find(t=>parseInt(t.id)===e);return t&&"open"===t.status})},taskCover(){var e;return(null==(e=this.task.settings)?void 0:e.cover)||{}},hasCover(){return Boolean(this.taskCover.backgroundColor||this.taskCover.backgroundImage)},hasCoverImage(){return Boolean(this.taskCover.backgroundImage)},coverStyle(){return{"--fbs-task-card-cover-bg":this.taskCover.backgroundColor||"var(--fbs-light-bg)"}},taskLabels(){return this.task.labels&&this.board.labels?this.task.labels.filter(e=>this.board.labels.some(t=>t.id===e.id)):[]},showCardLabelEditor(){return this.dashboardViewSettings.dashboard_view_label&&this.taskLabels.length},canPinTask(){return!this.board.isUserOnlyViewer&&!this.board.archived_at&&!this.task.parent_id},displayTaskTitle(){const e=(this.task.title||"").toString();if(e.length<=96)return e;return(e.slice(0,96).replace(/\s+\S*$/,"")||e.slice(0,96)).trimEnd()+"..."},taskPriorityValue(){return(this.task.priority||"").toString().toLowerCase()},taskPriorityForClass(){return["","urgent","high","medium","low"].includes(this.taskPriorityValue)?this.taskPriorityValue||"none":"custom"}},mounted(){this.emitter.on("subtask-updated",e=>{this.task.id==e.taskId&&this.updateSubtaskNumberWithCompleted(e.operation)}),setTimeout(()=>{this.showTaskFieldButton=!0},1),this.emitter.on("comment-updated",e=>{this.task.id==e.taskId&&this.updateCommentNumber(e)}),this.emitter.on("update-notification-in-card",e=>{this.task.id==e?this.updateNotificationNumber(e):e||(this.totalNotifications=0)})},beforeUnmount(){this.emitter.off("subtask-updated"),this.emitter.off("comment-updated"),this.emitter.off("update-notification-in-card")},methods:{priorityIconName(e){const t=String(e||"").toLowerCase();return["","urgent","high","medium","low"].includes(t)?`priority-${t||"none"}`:"priority-none"},showTask(e){this.eventBus.emit("show-task",e)},toggleTaskPinned(e){if(e&&(e.preventDefault(),e.stopPropagation()),this.pinLoading||this.board.isUserOnlyViewer||this.board.archived_at||this.task.parent_id)return;this.pinLoading=!0;const t=!this.task.is_pinned;this.$put("projects/"+this.task.board_id+"/tasks/"+this.task.id+"/pin",{pinned:t}).then(e=>{this.eventBus.emit("update-tasks",e.updatedTasks),this.$notify.success({title:this.$t("Success"),message:e.message})}).catch(e=>{this.$notify.error({title:this.$t("Error"),message:(null==e?void 0:e.message)||this.$t("Could not update pin state. Please try again.")})}).finally(()=>{this.pinLoading=!1})},updateTaskStatus(e){e.status="closed"===e.status?"open":"closed",this.eventBus.emit("change-task-property",{task:e,property:"status",value:e.status,onSuccess:e=>{this.$emit("taskUpdated",e.task)},onError:e=>{this.$notify.error({title:"Error",message:`task ${data.property} couldn't be updated. Please try again.`})}})},updateSubtaskNumberWithCompleted(e){switch(e){case"add":this.totalSubtasks+=1;break;case"delete":this.totalSubtasks>0&&(this.totalSubtasks-=1);break;case"open":this.totalCompletedSubtasks>0&&(this.totalCompletedSubtasks-=1);break;case"closed":this.totalCompletedSubtasks+=1}},updateCommentNumber(e){if("add"==e.operation)this.totalComments+=1;else if("delete"==e.operation)if(e.numberOfReplies){let t=1+e.numberOfReplies;this.totalComments-=t}else this.totalComments-=1},updateNotificationNumber(){this.totalNotifications>0&&(this.totalNotifications-=1)},labelName(e){return this.priorities[e]||e||this.$t("No priority")}}},cM={class:"fbs_task_card__inner"},hM={class:"fbs_task_card__body"},uM=["href","aria-label"],pM=["src","alt"],mM={class:"fbs_task_card__content"},bM={class:"fbs_task_card__title_wrap"},gM={class:"fbs_task_card__title_main"},fM=["href","title"],_M={class:"fbs_task_card__title_inner"},kM=["aria-label"],vM={class:"fbs_task_card__title_actions"},yM={key:0,class:"icon"},wM={class:"icon fbs_board_card__pin__icon"},CM={class:"icon fbs_board_card__pin__icon_outline"},TM={class:"fbs_task_card__header"},SM={class:"fbs_task_card__header_left"},$M={class:"fbs_priority_badge fbs_w_24 fbs_h_24"},VM={class:"icon"},AM={class:"fbs_priority_badge fbs_w_24 fbs_h_24"},IM=["title"],DM={class:"icon"},BM={class:"fbs_task_card__footer"},LM={class:"fbs_task_card__footer_left"},MM={class:"fbs-card-footer-assignees"},xM={class:"fbs_task_card__footer_actions"},PM=["title"],FM={class:"icon"},EM=["title"],UM={class:"icon"},OM=["title"],RM={class:"icon"};const NM=Ss(dM,[["render",function(e,t,d,u,p,m){var g;const f=b("Icons"),_=We,v=b("Loading"),C=Ne,T=b("task-field-buttons"),$=b("date-changer"),V=b("task-card-labels"),A=b("task-assignees");return s(),a("div",{class:k(["fbs_task_card",{fbs_task_card__pinned:d.task.is_pinned}]),onClick:t[4]||(t[4]=h(e=>m.showTask(d.task),["prevent"]))},[i("div",cM,[i("div",hM,[m.hasCover?(s(),a("a",{key:0,href:e.$getTaskUrl(d.task),class:k(["fbs_task_card__cover",{"fbs_task_card__cover--image":m.hasCoverImage,"fbs_task_card__cover--color":!m.hasCoverImage}]),style:S(m.coverStyle),"aria-label":d.task.title,onClick:t[0]||(t[0]=h(e=>m.showTask(d.task),["stop","prevent"]))},[m.hasCoverImage?(s(),a("img",{key:0,class:"fbs_task_card__cover_image",src:m.taskCover.backgroundImage,alt:d.task.title},null,8,pM)):y("",!0)],14,uM)):y("",!0),i("div",mM,[i("div",bM,[i("div",gM,[e.isTouchScreen?(s(),a("span",{key:0,onClick:t[1]||(t[1]=h(()=>{},["stop"])),class:"fbs_task_drag_and_drop_touch_screen","aria-hidden":"true"},[...t[5]||(t[5]=[i("svg",{class:"d-block",width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[i("path",{d:"M7.8125 6.875C8.33027 6.875 8.75 6.45527 8.75 5.9375C8.75 5.41973 8.33027 5 7.8125 5C7.29473 5 6.875 5.41973 6.875 5.9375C6.875 6.45527 7.29473 6.875 7.8125 6.875ZM7.8125 10.9375C8.33027 10.9375 8.75 10.5177 8.75 10C8.75 9.48225 8.33027 9.0625 7.8125 9.0625C7.29473 9.0625 6.875 9.48225 6.875 10C6.875 10.5177 7.29473 10.9375 7.8125 10.9375ZM8.75 14.0625C8.75 14.5802 8.33027 15 7.8125 15C7.29473 15 6.875 14.5802 6.875 14.0625C6.875 13.5448 7.29473 13.125 7.8125 13.125C8.33027 13.125 8.75 13.5448 8.75 14.0625ZM12.1875 6.875C12.7052 6.875 13.125 6.45527 13.125 5.9375C13.125 5.41973 12.7052 5 12.1875 5C11.6698 5 11.25 5.41973 11.25 5.9375C11.25 6.45527 11.6698 6.875 12.1875 6.875ZM13.125 10C13.125 10.5177 12.7052 10.9375 12.1875 10.9375C11.6698 10.9375 11.25 10.5177 11.25 10C11.25 9.48225 11.6698 9.0625 12.1875 9.0625C12.7052 9.0625 13.125 9.48225 13.125 10ZM12.1875 15C12.7052 15 13.125 14.5802 13.125 14.0625C13.125 13.5448 12.7052 13.125 12.1875 13.125C11.6698 13.125 11.25 13.5448 11.25 14.0625C11.25 14.5802 11.6698 15 12.1875 15Z",fill:"currentColor"})],-1)])])):y("",!0),i("a",{class:"fbs_task_card__title",href:e.$getTaskUrl(d.task),title:d.task.title,onClick:t[2]||(t[2]=h(e=>m.showTask(d.task),["stop","prevent"]))},["closed"==d.task.status?(s(),a("span",{key:0,class:k(["fbs_tv_current_status_"+d.task.status,"fbs_tv_status"])},[l(f,{"icon-name":"circle-check-fill"})],2)):y("",!0),i("span",_M,[w(o(m.displayTaskTitle)+" ",1),m.isBlocked?(s(),c(_,{key:0,content:m.dependencyTooltip,placement:"top","show-after":50},{default:n(()=>[i("span",{class:"fbs-blocked-indicator fbs-task-title-blocked-indicator","aria-label":e.$t("Blocked")},[...t[6]||(t[6]=[i("svg",{xmlns:"http://www.w3.org/2000/svg",width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2.5","stroke-linecap":"round","stroke-linejoin":"round"},[i("circle",{cx:"12",cy:"12",r:"10"}),i("line",{x1:"4.93",y1:"4.93",x2:"19.07",y2:"19.07"})],-1)])],8,kM)]),_:1},8,["content"])):y("",!0)])],8,fM)]),i("div",vM,[e.board.isUserOnlyViewer?y("",!0):(s(),a(r,{key:0},[m.canPinTask?(s(),c(_,{key:0,content:d.task.is_pinned?e.$t("Unpin task"):e.$t("Pin task"),placement:"top","show-after":50},{default:n(()=>[i("button",{type:"button",class:k(["fbs_board_card__pin",{"fbs_board_card__pin--pinned":d.task.is_pinned}]),onClick:t[3]||(t[3]=h(e=>m.toggleTaskPinned(e),["stop","prevent"]))},[p.pinLoading?(s(),a("span",yM,[l(C,{class:"is-loading"},{default:n(()=>[l(v)]),_:1})])):(s(),a(r,{key:1},[i("span",wM,[l(f,{"icon-name":"pin-fill","aria-hidden":"true"})]),i("span",CM,[l(f,{"icon-name":"pin","aria-hidden":"true"})])],64))],2)]),_:1},8,["content"])):y("",!0),p.showTaskFieldButton?(s(),c(T,{key:1,task:d.task,onShowTask:m.showTask},null,8,["task","onShowTask"])):y("",!0)],64))])]),i("div",TM,[i("div",SM,[d.task.repeat_task_meta?(s(),c(_,{key:0,content:e.$t("Recurring Task"),placement:"top","show-after":50},{default:n(()=>[i("div",$M,[i("span",VM,[l(f,{"icon-name":"refresh"})])])]),_:1},8,["content"])):y("",!0),"yes"===(null==(g=d.task.meta)?void 0:g.is_template)?(s(),c(_,{key:1,content:e.$t("This is a template task"),placement:"top"},{default:n(()=>[i("div",AM,[l(f,{"icon-name":"template"})])]),_:1},8,["content"])):y("",!0),e.dashboardViewSettings.dashboard_view_priority?(s(),c(_,{key:2,content:m.labelName(m.taskPriorityValue),placement:"top"},{default:n(()=>[i("span",{class:k(["fbs_priority_badge fbs_w_24 fbs_h_24","fbs_priority_badge_"+m.taskPriorityForClass]),title:e.$t("Priority")},[i("span",DM,[l(f,{"icon-name":m.priorityIconName(d.task.priority)},null,8,["icon-name"])])],10,IM)]),_:1},8,["content"])):y("",!0),e.dashboardViewSettings.dashboard_view_due_date&&p.showTaskFieldButton?(s(),c($,{key:3,task:d.task,column:"due_at",date_format:"MMM DD",placement:m.appVars.is_rtl?"left-start":"right-start",popoverClass:"fbs_task_date_changer_popover",popoverWidth:300,"empty-date-label":"Set Date","trigger-date-display":"end"},null,8,["task","placement"])):y("",!0),m.showCardLabelEditor?(s(),c(V,{key:4,task:d.task},null,8,["task"])):y("",!0)])])]),i("div",BM,[i("div",LM,[i("div",MM,[e.dashboardViewSettings.dashboard_view_assignee&&p.showTaskFieldButton?(s(),c(A,{key:0,placement:"bottom",task:d.task,"number-of-avatars":3,is_multiple:!0},null,8,["task"])):y("",!0)])]),i("div",xM,[e.dashboardViewSettings.dashboard_view_subtask&&p.totalSubtasks>0?(s(),a("div",{key:0,title:e.$t("Sub Tasks Count"),class:"fbs_task_card__footer_meta_item"},[i("span",FM,[l(f,{"icon-name":"subtask","aria-hidden":"true"})]),w(" "+o(p.totalCompletedSubtasks)+"/"+o(p.totalSubtasks),1)],8,PM)):y("",!0),e.dashboardViewSettings.dashboard_view_attachment&&p.totalAttachment>0?(s(),a("div",{key:1,title:e.$t("Attachment Count"),class:"fbs_task_card__footer_meta_item"},[i("span",UM,[l(f,{"icon-name":"paper-clip"})]),w(" "+o(p.totalAttachment),1)],8,EM)):y("",!0),e.dashboardViewSettings.dashboard_view_comment&&p.totalComments>0?(s(),a("div",{key:2,title:e.$t("Total Comments"),class:"fbs_task_card__footer_meta_item"},[i("span",RM,[l(f,{"icon-name":"comment-line"})]),w(" "+o(p.totalComments),1)],8,OM)):y("",!0)])])])])],2)}]]),HM=(e,t,s,a)=>{var i;const o=a.find(t=>t.id===e),l=o.tasks.length;switch(t){case"initial":s=jM(20,l,s,o,e);break;case"updated":let t,a;if(l>20&&(!s[e]||!(null==(i=s[e])?void 0:i.length))){s=jM(20,l,s,o,e);break}l>20&&o.tasks.length>20?(t=o.tasks.findIndex(t=>t.id===s[e][0])-1,a=o.tasks.findIndex(t=>t.id===s[e][s[e].length-1])+1):(t=0,a=o.tasks.length-1),t<0&&(t=0),a>=o.tasks.length&&(a=o.tasks.length-1);const n=o.tasks.slice(t,a+1);s[e]=s[e]||[];const r=n.map(e=>e.id);s[e]=[...new Set([...s[e],...r])];break;case"bottom":const d=s[e][s[e].length-1],c=o.tasks.findIndex(e=>e.id===d);if(-1===c||c===l-1)break;const h=o.tasks.slice(c+1,c+1+5);if(s[e]=s[e].concat(h.map(e=>e.id)),s[e].length>25)for(;s[e].length>20;)s[e].shift();break;case"top":const u=s[e][0],p=o.tasks.findIndex(e=>e.id===u);if(-1===p||0===p)break;const m=o.tasks.slice(Math.max(0,p-5),p);if(s[e]=m.map(e=>e.id).concat(s[e]),s[e].length>25)for(;s[e].length>20;)s[e].pop()}return s},jM=(e,t,s,a,i)=>{const o=Math.min(e,t),l=a.tasks.slice(0,o);return s[i]=s[i]||[],s[i]=s[i].concat(l.map(e=>e.id)),s},zM={name:"ShowTemplateInStage",inject:["eventBus"],components:{Icons:$s,EmptyState:Vs,TemplateView:Df,Close:dt,Postcard:ns},props:{taskGroup:{type:Object,required:!0},referenceLabel:{type:String,default:""},referenceClass:{type:String,default:""},placement:{type:String,default:""}},data:()=>({visible:!1,templateTasks:[],showTemplate:!1,task:{},showAddTemplate:!1,searchQuery:"",newTemplateTitle:"",creatingTemplate:!1,isKeyboardComposing:!1}),computed:{...m(js,["board","tasks"]),popoverPlacement(){return this.placement||(this.referenceLabel?"top":"right")},filteredTemplateTasks(){const e=this.searchQuery.trim().toLowerCase();return e?this.templateTasks.filter(t=>{const s=t.title?String(t.title).toLowerCase():"",a=this.templateDescription(t).toLowerCase();return s.includes(e)||a.includes(e)}):this.templateTasks},canCreateTemplate(){return!!this.newTemplateTitle.trim()&&!this.creatingTemplate}},methods:{toggleComponent(){this.showTemplate=!1,this.task={},this.visible=!this.visible,this.visible?(this.searchQuery="",this.templateCreated(),setTimeout(()=>{document.addEventListener("click",this.handleClickOutside)},0)):(this.resetCreateTemplateForm(),document.removeEventListener("click",this.handleClickOutside))},handleClickOutside(e){var t;(null==(t=this.$refs.templateCards)?void 0:t.contains(e.target))||(document.removeEventListener("click",this.handleClickOutside),this.visible=!1,this.resetCreateTemplateForm())},handleTemplateBack(){if(this.showTemplate)return this.showTemplate=!1,void(this.task={});this.toggleComponent()},showTaskTemplate(e){this.showAddTemplate=!1,this.task=e,this.showTemplate=!0},showCreateTemplateForm(){this.showAddTemplate=!0,this.$nextTick(()=>{var e;null==(e=this.$refs.templateTitleInput)||e.focus()})},closeCreateTemplateForm(){this.creatingTemplate||this.resetCreateTemplateForm()},resetCreateTemplateForm(){this.showAddTemplate=!1,this.newTemplateTitle="",this.isKeyboardComposing=!1},handleTemplateTitleEnter(){this.isKeyboardComposing||this.createTemplate()},createTemplate(){const e=this.newTemplateTitle.trim();if(!e||this.creatingTemplate)return;const t=parseInt(this.taskGroup.board_id,10),s=parseInt(this.taskGroup.id,10);this.creatingTemplate=!0,this.$post("projects/"+t+"/tasks",{task:{title:e,description:"",priority:"",due_date:"",stage_id:s,assign_myself:"no",board_id:t,is_template:"yes"}}).then(e=>{var t;null==(t=this.eventBus)||t.emit("update-tasks",e.updatedTasks),this.resetCreateTemplateForm(),this.templateCreated()}).catch(e=>{this.handleError(e)}).finally(()=>{this.creatingTemplate=!1})},templateCreated(){this.$get("projects/get-template-tasks/").then(e=>{this.templateTasks=e}).catch(e=>{this.handleError(e)})},templateTitle(e){const t=String((null==e?void 0:e.title)||"");return t.length>150?t.substring(0,150)+"...":t},templateDescription(e){const t=(null==e?void 0:e.description)||(null==e?void 0:e.content)||"";return t?String(t).replace(/<[^>]*>/g," ").replace(/\s+/g," ").trim():""},templateAttachmentCount(e){var t;return parseInt((null==(t=null==e?void 0:e.settings)?void 0:t.attachment_count)||(null==e?void 0:e.attachment_count)||(null==e?void 0:e.attachments_count)||0,10)||0},templateCommentCount:e=>parseInt((null==e?void 0:e.comments_count)||(null==e?void 0:e.comment_count)||0,10)||0,hasTemplateMeta(e){return this.templateAttachmentCount(e)>0||this.templateCommentCount(e)>0}},mounted(){}},GM={ref:"templateCards",class:"fbs-task-template-shell"},qM={class:"fbs-task-template-header"},WM={class:"fbs-task-template-heading"},KM={class:"icon"},ZM={class:"fbs_primary_text font-medium"},YM={class:"icon"},JM={class:"fbs-task-template-search"},QM=["placeholder"],XM={class:"fbs-task-templates-parent-container"},ex={key:0,class:"fbs-task-templates-container"},tx=["onClick"],sx={class:"fbs-task-template__content"},ax={class:"fbs_primary_text font-medium fbs-task-template__title"},ix={key:0,class:"fbs_secondary_text small fbs-task-template__description"},ox={key:1,class:"fbs-task-template__meta"},lx={key:0,class:"fbs-task-template__meta-item"},nx={key:1,class:"fbs-task-template__meta-item"},rx={class:"fbs-task-template-bottom"},dx={class:"fbs-task-template-form-actions"},cx={key:1},hx={class:"icon"};const ux=Ss(zM,[["render",function(e,t,u,p,m,g){const _=b("Icons"),C=ze,T=b("empty-state"),V=He,A=b("template-view"),I=b("Postcard"),D=Ne,B=je;return s(),c(B,{visible:m.visible,placement:g.popoverPlacement,"popper-class":"fbs-template-popover fbs-task-templates-popper",width:376},{reference:n(()=>[u.referenceLabel?(s(),c(C,{key:0,link:"",class:k(u.referenceClass),onClick:g.toggleComponent},{default:n(()=>[i("span",hx,[l(_,{"icon-name":"layout"})]),w(" "+o(u.referenceLabel),1)]),_:1},8,["class","onClick"])):(s(),c(D,{key:1,onClick:g.toggleComponent},{default:n(()=>[l(I)]),_:1},8,["onClick"]))]),default:n(()=>[i("div",GM,[i("div",qM,[i("div",WM,[l(C,{text:"",size:"small",class:"only-icon-btn","aria-label":m.showTemplate?e.$t("Back"):e.$t("Close"),onClick:g.handleTemplateBack},{default:n(()=>[i("span",KM,[l(_,{"icon-name":"arrow-left-small"})])]),_:1},8,["aria-label","onClick"]),i("div",ZM,o(m.showTemplate?e.$t("Template"):e.$t("Task Templates")),1)]),l(C,{text:"",size:"small",class:"only-icon-btn","aria-label":e.$t("Close"),onClick:g.toggleComponent},{default:n(()=>[i("span",YM,[l(_,{"icon-name":"close"})])]),_:1},8,["aria-label","onClick"])]),m.showTemplate?y("",!0):(s(),a(r,{key:0},[i("div",JM,[t[8]||(t[8]=i("svg",{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true"},[i("path",{d:"M9.25 2.5C12.976 2.5 16 5.524 16 9.25C16 12.976 12.976 16 9.25 16C5.524 16 2.5 12.976 2.5 9.25C2.5 5.524 5.524 2.5 9.25 2.5ZM9.25 14.5C12.1502 14.5 14.5 12.1502 14.5 9.25C14.5 6.349 12.1502 4 9.25 4C6.349 4 4 6.349 4 9.25C4 12.1502 6.349 14.5 9.25 14.5ZM15.6137 14.5532L17.7355 16.6742L16.6742 17.7355L14.5532 15.6137L15.6137 14.5532Z",fill:"#99A0AE"})],-1)),f(i("input",{"onUpdate:modelValue":t[0]||(t[0]=e=>m.searchQuery=e),type:"search",placeholder:e.$t("Search templates"),onClick:t[1]||(t[1]=h(()=>{},["stop"])),onKeydown:t[2]||(t[2]=h(()=>{},["stop"]))},null,40,QM),[[v,m.searchQuery]])]),i("div",XM,[g.filteredTemplateTasks.length?(s(),a("div",ex,[(s(!0),a(r,null,d(g.filteredTemplateTasks,e=>{var t,n;return s(),a("button",{key:e.id,type:"button",class:"fbs-task-template",onClick:h(t=>g.showTaskTemplate(e),["stop","prevent"])},[(null==(n=null==(t=e.settings)?void 0:t.cover)?void 0:n.backgroundColor)?(s(),a("span",{key:0,class:"fbs-task-template__cover",style:S({backgroundColor:e.settings.cover.backgroundColor})},null,4)):y("",!0),i("span",sx,[i("span",ax,o(g.templateTitle(e)),1),g.templateDescription(e)?(s(),a("span",ix,o(g.templateDescription(e)),1)):y("",!0)]),g.hasTemplateMeta(e)?(s(),a("span",ox,[g.templateAttachmentCount(e)?(s(),a("span",lx,[l(_,{"icon-name":"paper-clip"}),w(" "+o(g.templateAttachmentCount(e)),1)])):y("",!0),g.templateCommentCount(e)?(s(),a("span",nx,[l(_,{"icon-name":"comment"}),w(" "+o(g.templateCommentCount(e)),1)])):y("",!0)])):y("",!0)],8,tx)}),128))])):(s(),c(T,{key:1,message:"No template yet"}))]),i("div",rx,[m.showAddTemplate?y("",!0):(s(),c(C,{key:0,size:"small",onClick:g.toggleComponent},{default:n(()=>[w(o(e.$t("Cancel")),1)]),_:1},8,["onClick"])),e.board.archived_at||m.showAddTemplate?y("",!0):(s(),c(C,{key:1,type:"primary",size:"small",onClick:h(g.showCreateTemplateForm,["stop","prevent"])},{default:n(()=>[w(o(e.$t("Create a New Template")),1)]),_:1},8,["onClick"])),m.showAddTemplate?(s(),a("div",{key:2,class:"fbs-task-template-create-form",onClick:t[7]||(t[7]=h(()=>{},["stop"]))},[l(V,{ref:"templateTitleInput",modelValue:m.newTemplateTitle,"onUpdate:modelValue":t[3]||(t[3]=e=>m.newTemplateTitle=e),type:"textarea",autosize:{minRows:1,maxRows:4},placeholder:e.$t("Template Title"),class:"fbs-task-template-title-input",onKeydown:$(h(g.handleTemplateTitleEnter,["prevent"]),["enter"]),onCompositionstart:t[4]||(t[4]=e=>m.isKeyboardComposing=!0),onCompositionend:t[5]||(t[5]=e=>m.isKeyboardComposing=!1),onPaste:t[6]||(t[6]=h(()=>{},["stop"]))},null,8,["modelValue","placeholder","onKeydown"]),i("div",dx,[l(C,{type:"primary",loading:m.creatingTemplate,disabled:!g.canCreateTemplate,onClick:h(g.createTemplate,["stop","prevent"])},{default:n(()=>[w(o(e.$t("Create")),1)]),_:1},8,["loading","disabled","onClick"]),l(C,{disabled:m.creatingTemplate,onClick:h(g.closeCreateTemplateForm,["stop","prevent"])},{default:n(()=>[w(o(e.$t("Close")),1)]),_:1},8,["disabled","onClick"])])])):y("",!0)])],64)),m.showTemplate?(s(),a("div",cx,[l(A,{"predefine-stage":u.taskGroup.id,task:m.task,visible:m.showTemplate,onCloseTemplatesView:g.toggleComponent},null,8,["predefine-stage","task","visible","onCloseTemplatesView"])])):y("",!0)],512)]),_:1},8,["visible","placement"])}]]),px={name:"CreateTaskModal",inject:["eventBus"],emits:["task-created"],components:{Icons:$s,BoardLabels:Ji,DateChanger:ln,PriorityBadge:sa,ShowTemplateInStage:ux,TaskAssignees:Ha,TaskCoverSettings:dm,MilkdownEditor:Kb},data(){return{dialogVisible:!1,isDialogClosed:!0,isFullscreen:!1,saving:!1,pendingCreatedTask:null,descriptionEditorKey:0,task:this.freshTask()}},computed:{...m(js,["board","stages"]),modalWidth:()=>"700px",selectedStageTitle(){const e=this.stages.find(e=>parseInt(e.id)===parseInt(this.task.stage_id));return(null==e?void 0:e.title)||this.$t("Stage")},isRoadmapBoard(){var e;return"roadmap"===(null==(e=this.board)?void 0:e.type)},taskTitlePlaceholder(){return this.isRoadmapBoard?this.$t("Idea title"):this.$t("Task title")},createButtonLabel(){return this.isRoadmapBoard?this.$t("Create Idea"):this.$t("Create Task")},breadcrumbTaskTitle(){return this.task.title.trim()||(this.isRoadmapBoard?this.$t("New Idea"):this.$t("New Task"))},selectedTaskGroup(){return this.stages.find(e=>parseInt(e.id)===parseInt(this.task.stage_id))},taskCoverStyle(){var e,t;const s=null==(t=null==(e=this.task.settings)?void 0:e.cover)?void 0:t.backgroundColor;return s?{backgroundColor:s}:null}},methods:{freshTask:()=>({title:"",description:"",priority:"",stage_id:"",board_id:"",started_at:"",due_at:"",reminder_type:null,remind_at:null,position:null,assignees:[],labels:[],watchers:[],settings:{cover:{}}}),openDialog(e={}){var t;this.isDialogClosed=!1,this.task={...this.freshTask(),board_id:this.board.id,stage_id:e.stage_id??(null==(t=this.stages[0])?void 0:t.id)??"",position:e.position??null,started_at:e.started_at??"",due_at:e.due_at??""},this.descriptionEditorKey+=1,this.dialogVisible=!0,this.$nextTick(()=>{this.resizeTitle(),this.focusTaskTitle()})},createTask(){this.task.title.trim()?this.task.stage_id?this.saveTask():this.$notify({title:this.$t("Warning!"),message:this.$t("Please select a stage"),type:"warning"}):this.$notify({title:this.$t("Warning!"),message:this.$t("Title can't be empty"),type:"warning"})},saveTask(){var e,t;const s=parseInt(this.$route.params.id),a={...this.task,title:this.task.title.trim(),assignees:this.task.assignees.map(e=>parseInt(e.ID||e)).filter(Boolean),labels:this.task.labels.map(e=>parseInt(e.id||e)).filter(Boolean)};(null==(t=null==(e=a.settings)?void 0:e.cover)?void 0:t.backgroundColor)||delete a.settings,a.position||delete a.position,this.saving=!0,this.$post("projects/"+s+"/tasks",{task:a}).then(e=>{this.eventBus.emit("update-tasks",e.updatedTasks),this.$emit("task-created",e.updatedTasks),this.$notify({title:this.$t("Success!"),message:e.message,type:"success"}),this.isDialogClosed?this.showCreatedTask(e.task):(this.pendingCreatedTask=e.task,this.dialogVisible=!1)}).catch(e=>{this.$handleError(e)}).finally(()=>{this.saving=!1})},resizeTitle(){const e=this.$refs.taskTitle;e&&(e.style.height="auto",e.style.height=Math.min(e.scrollHeight,120)+"px")},focusTaskTitle(){this.$nextTick(()=>{window.setTimeout(()=>{var e;null==(e=this.$refs.taskTitle)||e.focus()},50)})},toggleFullscreen(){this.isFullscreen=!this.isFullscreen},updateTaskCreateDate({started_at:e,due_at:t,reminder_type:s=null,remind_at:a=null}){this.task.started_at=e,this.task.due_at=t,this.task.reminder_type=s,this.task.remind_at=a},showCreatedTask(e){this.$nextTick(()=>{this.eventBus.emit("show-task",e)})},handleClose(){const e=this.pendingCreatedTask;this.isDialogClosed=!0,this.pendingCreatedTask=null,this.task=this.freshTask(),this.isFullscreen=!1,e&&this.showCreatedTask(e)}}},mx={class:"el-dialog__title d-flex items-center gap-6"},bx={class:"icon d-block"},gx={class:"fbs_action_buttons"},fx={class:"icon"},_x={class:"icon"},kx={class:"fbs_create_task_modal__shell"},vx={class:"fbs_create_task_modal__body"},yx=["placeholder"],wx={class:"fbs_create_task_modal__properties"},Cx={type:"button",class:"fbs_priority_badge"},Tx={class:"label"},Sx={class:"fbs_create_task_modal__popover_field"},$x={class:"fbs_primary_text font-medium fbs_mb_6"},Vx={class:"fbs_create_task_modal__priority"},Ax={class:"fbs_create_task_modal__assignees"},Ix={class:"fbs_create_task_modal__labels"},Dx={class:"fbs_create_task_modal__date_chip"},Bx={class:"dialog-footer justify-between flex-wrap"},Lx={key:1};const Mx=Ss(px,[["render",function(e,t,u,p,m,g){const _=b("Icons"),C=ze,T=b("milkdown-editor"),$=Be,V=Le,A=je,I=b("priority-badge"),D=b("task-assignees"),B=b("board-labels"),L=b("task-cover-settings"),M=b("date-changer"),x=b("show-template-in-stage"),P=Ge;return s(),c(P,{modelValue:m.dialogVisible,"onUpdate:modelValue":t[6]||(t[6]=e=>m.dialogVisible=e),"append-to-body":"",width:g.modalWidth,"show-close":!1,"close-on-click-modal":!1,class:k(["fbs_create_modal","fbs_create_task_modal",{fbs_create_task_modal__fullscreen:m.isFullscreen,fbs_create_task_modal__has_cover:g.taskCoverStyle}]),"modal-class":"fbs_create_task_modal__backdrop",onOpened:g.focusTaskTitle,onClosed:g.handleClose},{header:n(()=>[i("div",mx,[w(o(e.board.title||e.$t("Board"))+" ",1),i("span",bx,[l(_,{"icon-name":"arrow-right",class:"d-block"})]),w(" "+o(g.breadcrumbTaskTitle),1)]),i("div",gx,[l(C,{text:"","aria-label":m.isFullscreen?e.$t("Collapse"):e.$t("Expand"),onClick:g.toggleFullscreen,size:"small",class:"only-icon-btn"},{default:n(()=>[i("span",fx,[l(_,{"icon-name":"expend"})])]),_:1},8,["aria-label","onClick"]),l(C,{text:"","aria-label":e.$t("Close"),onClick:t[0]||(t[0]=e=>m.dialogVisible=!1),size:"small",class:"only-icon-btn"},{default:n(()=>[i("span",_x,[l(_,{"icon-name":"close"})])]),_:1},8,["aria-label"])])]),footer:n(()=>[i("div",Bx,[g.selectedTaskGroup?(s(),c(x,{key:0,taskGroup:g.selectedTaskGroup,"reference-label":e.$t("Start From Template"),"reference-class":"fbs-modal-start-from-template no-underline hover-underline",placement:e.appVars.is_rtl?"left-end":"right-end"},null,8,["taskGroup","reference-label","placement"])):(s(),a("span",Lx)),l(C,{type:"primary",loading:m.saving,onClick:g.createTask},{default:n(()=>[w(o(g.createButtonLabel),1)]),_:1},8,["loading","onClick"])])]),default:n(()=>[i("div",kx,[g.taskCoverStyle?(s(),a("div",{key:0,class:"fbs_create_task_modal__cover",style:S(g.taskCoverStyle)},null,4)):y("",!0),i("main",vx,[f(i("textarea",{ref:"taskTitle",autofocus:"","onUpdate:modelValue":t[1]||(t[1]=e=>m.task.title=e),class:"fbs_create_modal__textarea fbs_create_task_modal__title",placeholder:g.taskTitlePlaceholder,maxlength:"250",rows:"1",onInput:t[2]||(t[2]=(...e)=>g.resizeTitle&&g.resizeTitle(...e)),onPaste:t[3]||(t[3]=h(()=>{},["stop"]))},null,40,yx),[[v,m.task.title]]),(s(),c(T,{key:m.descriptionEditorKey,modelValue:m.task.description,"onUpdate:modelValue":t[4]||(t[4]=e=>m.task.description=e),class:"fbs_create_task_modal__description_editor",task:m.task,board:e.board,autofocus:!1,plain:!0,"disable-image-upload":!0,"fixed-slash-menu":!0,"save-on-blur":!1,placeholder:e.$t("Type / for commands or start writing...")},null,8,["modelValue","task","board","placeholder"]))]),i("div",wx,[l(A,{placement:"top-start",trigger:"click",width:260,"popper-class":"fbs_create_task_modal__popover"},{reference:n(()=>[i("button",Cx,[l(_,{"icon-name":"stage"}),i("span",Tx,o(g.selectedStageTitle),1)])]),default:n(()=>[i("div",Sx,[i("div",$x,o(e.$t("Stage")),1),l(V,{modelValue:m.task.stage_id,"onUpdate:modelValue":t[5]||(t[5]=e=>m.task.stage_id=e),placeholder:e.$t("Select Stage"),filterable:""},{default:n(()=>[(s(!0),a(r,null,d(e.stages,e=>(s(),c($,{key:e.id,label:e.title,value:e.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])]),_:1}),i("div",Vx,[l(I,{task:m.task,disable_save:!0},null,8,["task"])]),i("div",Ax,[l(D,{task:m.task,placement:"top","number-of-avatars":3,disable_save:!0},null,8,["task"])]),i("div",Ix,[l(B,{task:m.task,hideLabels:!0,"sidebar-labels-layout":!0,disable_save:!0,"create-modal-chip":!0,placement:e.appVars.is_rtl?"left":"right"},null,8,["task","placement"])]),l(L,{task:m.task,variant:"create","local-only":!0},null,8,["task"]),i("div",Dx,[l(M,{task:m.task,column:"due_at",date_format:"MMM DD, HH:mm",placement:e.appVars.is_rtl?"left":"right",isUsedForCreateTask:!0,emptyLabel:e.$t("Set Dates"),hideReferenceIcon:!1,onUpdateTaskCreateDate:g.updateTaskCreateDate},null,8,["task","placement","emptyLabel","onUpdateTaskCreateDate"])])])])]),_:1},8,["modelValue","width","class","onOpened","onClosed"])}]]),xx={name:"CreateStageDialog",inject:["eventBus"],components:{EmptyState:Vs,Icons:$s},data(){return{dialogVisible:!1,templateMode:!1,saving:!1,loadingTemplates:!1,position:null,stage:this.freshStage(),stageTemplates:[],selectedTemplateStage:null,templateSearchQuery:""}},computed:{...m(js,["board"]),canUseTemplate(){return!!this.appVars.has_pro},statusOptions(){return[{value:"open",label:this.$t("Open")},{value:"closed",label:this.$t("Closed")}]},stageDialogTitle(){return this.stage.title.trim().replace(/\s+/g," ")||this.$t("Create New Stage")},selectedStatusLabel(){const e=this.statusOptions.find(e=>e.value===this.stage.status);return(null==e?void 0:e.label)||this.$t("Select Type")},createButtonDisabled(){return!!this.saving||this.templateMode&&!this.selectedTemplateIsVisible},filteredStageTemplates(){const e=this.templateSearchQuery.trim().toLowerCase();return e?this.stageTemplates.filter(t=>{var s;const a=String(t.title||"").toLowerCase(),i=String((null==(s=t.board)?void 0:s.title)||"").toLowerCase();return a.includes(e)||i.includes(e)}):this.stageTemplates},selectedTemplateIsVisible(){const e=parseInt(this.selectedTemplateStage,10);return!!e&&this.filteredStageTemplates.some(t=>parseInt(t.id,10)===e)}},methods:{freshStage:()=>({title:"",status:""}),openDialog(e={}){this.resetForm(),this.position=e.position??null,this.dialogVisible=!0,this.$nextTick(()=>{var e;this.resizeTitle(),null==(e=this.$refs.stageTitle)||e.focus()})},submitStage(){this.saving||(this.templateMode?this.importTemplateStage():this.createManualStage())},createManualStage(){const e=this.stage.title.trim().replace(/\s+/g," ");if(!e)return void this.$notify({title:this.$t("Warning!"),message:this.$t("Stage name can not be empty"),type:"warning"});const t={title:e,status:this.stage.status||"open"};this.position&&(t.position=this.position),this.saving=!0,this.$post("projects/"+this.board.id+"/stage-create",t).then(e=>{this.eventBus.emit("update-stages",e.updatedStages),this.$notify({title:this.$t("Success"),message:this.$t("New Stage Created"),type:"success"}),this.dialogVisible=!1}).catch(e=>{this.$handleError(e)}).finally(()=>{this.saving=!1})},importTemplateStage(){if(!this.selectedTemplateIsVisible)return void this.$notify({title:this.$t("Warning!"),message:this.$t("Stage is required"),type:"warning"});const e={selectedStages:[parseInt(this.selectedTemplateStage,10)]};this.position&&(e.position=this.position),this.saving=!0,this.$post("projects/"+this.board.id+"/import-from-board",e).then(e=>{this.emitter.emit("updateBoard",this.board.id),this.$notify({title:this.$t("Success"),message:e.message||this.$t("Import successfully"),type:"success"}),this.dialogVisible=!1}).catch(e=>{this.$handleError(e)}).finally(()=>{this.saving=!1})},toggleTemplateMode(){this.templateMode=!this.templateMode,this.templateMode&&!this.stageTemplates.length&&this.fetchTemplateStages(),this.templateMode||this.$nextTick(()=>{var e;this.resizeTitle(),null==(e=this.$refs.stageTitle)||e.focus()})},fetchTemplateStages(){this.loadingTemplates=!0,this.$get("projects/template-stages").then(e=>{this.stageTemplates=e.stages||[]}).catch(e=>{this.$handleError(e)}).finally(()=>{this.loadingTemplates=!1})},selectStatus(e){this.stage.status=e},resizeTitle(){const e=this.$refs.stageTitle;e&&(e.style.height="auto",e.style.height=Math.min(e.scrollHeight,120)+"px")},resetForm(){this.templateMode=!1,this.saving=!1,this.loadingTemplates=!1,this.position=null,this.stage=this.freshStage(),this.selectedTemplateStage=null,this.templateSearchQuery=""},handleClosed(){this.resetForm()}}},Px={class:"el-dialog__title d-flex items-center gap-6"},Fx={class:"icon"},Ex={class:"icon d-block"},Ux={class:"fbs_create_stage_dialog__shell"},Ox={class:"fbs_create_stage_dialog__title_area"},Rx=["placeholder"],Nx={class:"fbs_create_stage_dialog__type_row"},Hx={type:"button",class:"fbs_create_stage_dialog__type_button"},jx={key:1,class:"fbs_create_stage_dialog__template_area"},zx={class:"fbs_create_stage_dialog__template_search"},Gx=["placeholder"],qx={class:"fbs_create_stage_dialog__template_list"},Wx={class:"fbs_create_stage_dialog__template_content"},Kx={class:"fbs_create_stage_dialog__template_title"},Zx={key:0,class:"fbs_create_stage_dialog__template_board"},Yx={class:"dialog-footer fbs_create_stage_dialog__footer justify-between flex-wrap"},Jx={key:1},Qx={class:"fbs_create_stage_dialog__footer_actions"};const Xx=Ss(xx,[["render",function(e,t,u,p,m,_){const C=b("Icons"),T=ze,S=xe,$=Me,V=Pe,A=xt,I=Mt,D=b("EmptyState"),B=Ge,L=g("loading");return s(),c(B,{modelValue:m.dialogVisible,"onUpdate:modelValue":t[5]||(t[5]=e=>m.dialogVisible=e),"append-to-body":"",width:"700px","close-on-click-modal":!1,class:k(["fbs_create_modal fbs_create_stage_dialog",{"fbs_create_stage_dialog--template-mode":m.templateMode}]),"modal-class":"fbs_create_stage_dialog__backdrop",onClosed:_.handleClosed},{header:n(()=>[i("div",Px,[m.templateMode?(s(),c(T,{key:0,text:"",size:"small",class:"only-icon-btn","aria-label":e.$t("Back"),onClick:_.toggleTemplateMode},{default:n(()=>[i("span",Fx,[l(C,{"icon-name":"arrow-left-small"})])]),_:1},8,["aria-label","onClick"])):y("",!0),w(" "+o(e.board.title||e.$t("Board"))+" ",1),i("span",Ex,[l(C,{"icon-name":"arrow-right",class:"d-block"})]),w(" "+o(_.stageDialogTitle),1)])]),footer:n(()=>[i("div",Yx,[_.canUseTemplate&&!m.templateMode?(s(),c(T,{key:0,link:"",type:"primary",class:"no-underline hover-underline",onClick:_.toggleTemplateMode},{default:n(()=>[l(C,{"icon-name":"layout"}),i("span",null,o(e.$t("Start From Template")),1)]),_:1},8,["onClick"])):(s(),a("span",Jx)),i("div",Qx,[m.templateMode?(s(),c(T,{key:0,onClick:_.toggleTemplateMode},{default:n(()=>[w(o(e.$t("Cancel")),1)]),_:1},8,["onClick"])):y("",!0),l(T,{class:"fbs_create_stage_dialog__create_button",type:"primary",loading:m.saving,disabled:_.createButtonDisabled,onClick:_.submitStage},{default:n(()=>[w(o(e.$t("Add Stage")),1)]),_:1},8,["loading","disabled","onClick"])])])]),default:n(()=>[f((s(),a("div",Ux,[m.templateMode?(s(),a("div",jx,[i("div",zx,[l(C,{"icon-name":"search","aria-hidden":"true"}),f(i("input",{"onUpdate:modelValue":t[3]||(t[3]=e=>m.templateSearchQuery=e),type:"search",placeholder:e.$t("Search templates")},null,8,Gx),[[v,m.templateSearchQuery]])]),i("div",qx,[_.filteredStageTemplates.length?(s(),c(I,{key:0,modelValue:m.selectedTemplateStage,"onUpdate:modelValue":t[4]||(t[4]=e=>m.selectedTemplateStage=e),class:"fbs_create_stage_dialog__template_options"},{default:n(()=>[(s(!0),a(r,null,d(_.filteredStageTemplates,e=>(s(),c(A,{key:e.id,value:e.id,class:"fbs_create_stage_dialog__template_option"},{default:n(()=>{var t;return[i("span",Wx,[i("span",Kx,o(e.title),1),(null==(t=e.board)?void 0:t.title)?(s(),a("span",Zx,o(e.board.title),1)):y("",!0)])]}),_:2},1032,["value"]))),128))]),_:1},8,["modelValue"])):(s(),c(D,{key:1,message:"No template yet"}))])])):(s(),a(r,{key:0},[i("div",Ox,[f(i("textarea",{ref:"stageTitle","onUpdate:modelValue":t[0]||(t[0]=e=>m.stage.title=e),class:"fbs_create_modal__textarea fbs_create_stage_dialog__title",placeholder:e.$t("Stage title"),maxlength:"50",rows:"1",onInput:t[1]||(t[1]=(...e)=>_.resizeTitle&&_.resizeTitle(...e)),onPaste:t[2]||(t[2]=h(()=>{},["stop"]))},null,40,Rx),[[v,m.stage.title]])]),i("div",Nx,[l(V,{trigger:"click",onCommand:_.selectStatus},{dropdown:n(()=>[l($,null,{default:n(()=>[(s(!0),a(r,null,d(_.statusOptions,e=>(s(),c(S,{key:e.value,command:e.value},{default:n(()=>[w(o(e.label),1)]),_:2},1032,["command"]))),128))]),_:1})]),default:n(()=>[i("button",Hx,[i("span",null,o(_.selectedStatusLabel),1),l(C,{"icon-name":"arrow-down"})])]),_:1},8,["onCommand"])])],64))])),[[L,m.loadingTemplates]])]),_:1},8,["modelValue","class","onClosed"])}]]),eP={name:"KanbanView",inject:["eventBus"],props:["task_labels","task_groups","boardLoading","stageTaskPagination","fetchStageTasksPage"],components:{Icons:$s,CreateStageDialog:Xx,CreateTaskModal:Mx,FileUpload:_r,EachTaskCard:NM,StageHeader:FL,draggable:P,CustomIcon:ml},emits:["fetchTasksByBoard"],data(){return{editingTask:!1,viewTask:!1,loading:!1,selectedStage:{},editingBoard:!1,isInlineTaskAdding:!1,manualStageIndex:0,stags:[],stage_type:"open",selectedStageForSales:null,assigneeLimit:2,stageDrag:!1,taskDrag:!1,importFromTemplate:!1,taskGroups:this.task_groups,visibleTasks:{},isTaskLoaded:!1,isStageTitleEditing:!1,focusedTaskGroupId:null}},computed:{...m(js,["board","stages"]),taskDragOptions(){let e={animation:200,disabled:!(!this.appVars.public_mode&&!this.board.archived_at)||this.board.isUserOnlyViewer,ghostClass:"fbs-ghost",scrollSensitivity:150,forceFallback:!0,fallbackOnBody:!0,fallbackClass:"fbs-kanban-drag-preview",scroll:!0,scrollSpeed:18,bubbleScroll:!0};return this.isTouchScreen&&(e.handle=".fbs_task_drag_and_drop_touch_screen"),e},stageDragOptions(){return{animation:200,disabled:!(!this.appVars.public_mode&&!this.board.archived_at)||(this.board.isUserOnlyViewer||this.isStageTitleEditing),ghostClass:"fbs_stage_drag_ghost",scrollSensitivity:240,forceFallback:!0,handle:".fbs_kanban_view_header",forceAutoScrollFallback:!0,scrollSpeed:18,bubbleScroll:!0}},canCreateTask(){return!this.isReadOnlyView()},addTaskLabel(){var e;return"roadmap"===(null==(e=this.board)?void 0:e.type)?this.$t("Add Idea"):this.$t("Add Task")}},mounted(){this.taskGroups=this.task_groups,this.initializeVisibleTasks(),document.addEventListener("paste",this.handleGlobalPaste)},beforeUnmount(){document.removeEventListener("paste",this.handleGlobalPaste)},watch:{task_groups(){this.taskGroups=this.task_groups,this.$nextTick().then(()=>{Object.keys(this.taskGroups).length>0&&(this.isTaskLoaded?this.updateVisibleTasks():(this.initializeVisibleTasks(),this.isTaskLoaded=!0))})},$route(){window.fbsPreviousRoute&&"board"===window.fbsPreviousRoute.name&&"board"===this.$route.name&&(this.isTaskLoaded=!1)}},methods:{...M(js,["setBoard","setStages","addStage"]),loadMoreTasks:HM,isReadOnlyView(){return this.appVars.public_mode||this.board.archived_at||this.board.isUserOnlyViewer},hasStageBackground:e=>!!String((null==e?void 0:e.bg_color)||"").trim(),getStageStyle(e){return this.hasStageBackground(e)?{"--fbs-stage-accent-bg":e.bg_color}:{}},onCreateStage(){var e;this.isReadOnlyView()||null==(e=this.$refs.createStageDialog)||e.openDialog()},dragTaskStartHandler(e){if(this.isReadOnlyView())return;this.taskDrag=!0;const t=e.item.firstElementChild;t&&(t.style.visibility="hidden"),e.item.classList.add("fbs-sortable-fallback"),document.body.classList.add("fbs-sortable-fallback")},dragTaskEndHandler(e){var t,s,a;if(this.isReadOnlyView())return;this.taskDrag=!1;const i=e.item.firstElementChild;i&&(i.style.visibility="visible");const o=parseInt(e.item.dataset.taskid),l=(null==(t=e.to)?void 0:t.offsetParent)||(null==(s=e.to)?void 0:s.parentElement),n=parseInt(null==(a=null==l?void 0:l.dataset)?void 0:a.stageid),r=parseInt(e.item.dataset.stageid),d=e.newDraggableIndex+1,c=e.oldDraggableIndex+1,h=parseInt(e.item.dataset.boardid);if(e.item.classList.remove("fbs-sortable-fallback"),document.body.classList.remove("fbs-sortable-fallback"),n==r&&d==c)return;const{prevTaskId:u,nextTaskId:p}=this.getDraggedTaskNeighbours(n,o);if(this.hasAmbiguousDropBoundary(n,u,p))return this.fetchTasksByBoard(h),void this.$notify({title:"Info",type:"info",message:this.$t("Load more tasks in this stage before dropping at the visible edge.")});this.ensureTaskVisible(n,o,d),r&&r!==n&&this.removeTaskFromVisible(r,o),this.eventBus.emit("fluent-boards-move-task",{boardId:h,taskId:o,newStageId:n,newIndex:d,prevTaskId:u,nextTaskId:p}),this.setFocusedTaskGroup(n)},getDraggedTaskNeighbours(e,t){const s=this.taskGroups.find(t=>parseInt(t.id)===parseInt(e));if(!s)return{prevTaskId:null,nextTaskId:null};const a=s.tasks.findIndex(e=>parseInt(e.id)===parseInt(t));return-1===a?{prevTaskId:null,nextTaskId:null}:{prevTaskId:a>0?parseInt(s.tasks[a-1].id):null,nextTaskId:a<s.tasks.length-1?parseInt(s.tasks[a+1].id):null}},hasAmbiguousDropBoundary(e,t,s){var a;const i=null==(a=this.stageTaskPagination)?void 0:a[e];return!!i&&(!t&&i.has_more_before||!s&&i.has_more_after)},fetchTasksByBoard(e){this.$emit("fetchTasksByBoard",e)},showTaskAddAtTop(e){this.isReadOnlyView()||this.openCreateTaskModal(e,{position:1})},showTaskAddAtBottom(e){this.isReadOnlyView()||this.openCreateTaskModal(e)},openCreateTaskModal(e,t={}){var s;null==(s=this.$refs.createTaskModal)||s.openDialog({stage_id:e.id,...t})},dragStageStartHandler(e){this.isReadOnlyView()||(this.stageDrag=!0,e.item.classList.add("fbs-sortable-fallback"),document.body.classList.add("fbs-sortable-fallback"))},dragStageEndHandler(e){if(this.isReadOnlyView())return;this.taskDrag=!1;const t=parseInt(e.item.dataset.stageid),s=e.newDraggableIndex+1,a=e.oldDraggableIndex+1;e.item.classList.remove("fbs-sortable-fallback"),document.body.classList.remove("fbs-sortable-fallback"),s!=a&&this.eventBus.emit("move-stage",{stageId:t,newPosition:s})},createStageLeft(e){var t;this.isReadOnlyView()||null==(t=this.$refs.createStageDialog)||t.openDialog({position:e+1})},initializeVisibleTasks(){this.visibleTasks={},this.taskGroups.forEach(e=>{this.visibleTasks[e.id]=[],this.visibleTasks=this.loadMoreTasks(e.id,"initial",this.visibleTasks,this.taskGroups)})},updateVisibleTasks(){this.taskGroups.forEach(e=>{this.visibleTasks=this.loadMoreTasks(e.id,"updated",this.visibleTasks,this.taskGroups)})},handleScroll(e){var t,s;const a=this.$refs["taskContainer_"+e].targetDomElement;if(!a)return;const i=a.scrollTop;if(i>=a.scrollHeight-a.clientHeight-200){const s=null==(t=this.stageTaskPagination)?void 0:t[e];(null==s?void 0:s.has_more_after)&&this.fetchStageTasksPage(e,{direction:"next",cursor:s.end_cursor}),this.visibleTasks=this.loadMoreTasks(e,"bottom",this.visibleTasks,this.taskGroups)}if(i<200){const t=null==(s=this.stageTaskPagination)?void 0:s[e];(null==t?void 0:t.has_more_before)&&this.fetchStageTasksPage(e,{direction:"prev",cursor:t.start_cursor}),this.visibleTasks=this.loadMoreTasks(e,"top",this.visibleTasks,this.taskGroups)}},isTaskVisible(e){for(const t in this.visibleTasks)if(this.visibleTasks[t].includes(e))return!0;return!1},dropImage(e,t){var s,a;if(this.isReadOnlyView())return;if(!e)return;e.preventDefault(),e.stopPropagation();const i=null==(a=null==(s=e.dataTransfer)?void 0:s.files)?void 0:a[0];i&&this.$refs.crateTaskFromImage.handleFileChange(e,i,t)},taskCreatedFromImage(e){this.eventBus.emit("update-tasks",e.updatedTasks)},handleStageEditing(e){this.isStageTitleEditing=e},setFocusedTaskGroup(e){this.focusedTaskGroupId=e},removeFocusedTaskGroup(){this.focusedTaskGroupId=null},handleGlobalPaste(e){var t,s;if(this.isReadOnlyView())return;if(!e)return;if(!this.focusedTaskGroupId)return;e.preventDefault(),e.stopPropagation();const a=null==(s=null==(t=e.clipboardData)?void 0:t.files)?void 0:s[0];a&&this.$refs.crateTaskFromImage.handleFileChange(e,a,this.focusedTaskGroupId)},ensureTaskVisible(e,t,s){if(!e||!t)return;const a=this.visibleTasks[e]?[...this.visibleTasks[e]]:[],i=a.indexOf(t);for(-1!==i&&a.splice(i,1),s<=1?a.unshift(t):a.push(t);a.length>20;)s<=1?a.pop():a.shift();this.visibleTasks={...this.visibleTasks,[e]:a}},removeTaskFromVisible(e,t){if(!e||!this.visibleTasks[e])return;const s=this.visibleTasks[e].filter(e=>e!==t);this.visibleTasks={...this.visibleTasks,[e]:s}}}},tP={key:0,class:"fbs_board_section_view"},sP={class:"fbs_board_section_scroller"},aP={class:"fbs_tasks_layout_grid",id:"fbs_board_section_view_id"},iP=["data-stageId","onDrop","onMouseenter","aria-label"],oP={class:"fbs_kanban_view_header"},lP=["data-stageId","id","data-index","data-taskId","data-position","data-boardId","data-ghostClassAttribute"],nP={class:"fbs_board_section_task_lists_wrap"},rP={key:0,class:"fbs_add_task_line"},dP={class:"icon"},cP={key:0,class:"fbs_kanban_view_stage_add"},hP={class:"icon"};const uP=Ss(eP,[["render",function(e,t,r,d,u,p){const m=b("stage-header"),_=b("each-task-card"),v=b("Icons"),C=ze,T=b("draggable"),V=Vt,A=b("file-upload"),I=b("create-task-modal"),D=b("create-stage-dialog"),B=g("prevent-context-menu"),L=g("loading");return""!=e.board.id?f((s(),a("div",tP,[i("div",sP,[l(V,{class:"h-full"},{default:n(()=>[f((s(),a("div",aP,[l(T,F({group:"taskGroups",modelValue:u.taskGroups,"onUpdate:modelValue":t[2]||(t[2]=e=>u.taskGroups=e),"item-key":"id",onEnd:p.dragStageEndHandler,onStart:p.dragStageStartHandler,class:["fbs_stage_drag_and_drop",{"fbs_stage_drag_and_drop--task-dragging":u.taskDrag}],"component-data":{tag:"div",type:"transition-group",name:u.stageDrag?null:"flip-list"}},p.stageDragOptions,{"drag-class":"fbs-stage_dragging",delay:10}),{item:n(({element:o,index:r})=>[i("div",{"data-stageId":o.id,class:k(["fbs_board_view__section_board",{"fbs_board_view__section_board--has-bg":p.hasStageBackground(o)}]),style:S(p.getStageStyle(o)),onDragover:t[0]||(t[0]=h(()=>{},["prevent"])),onDrop:h(e=>p.dropImage(e,o.id),["stop"]),onMouseenter:e=>p.setFocusedTaskGroup(o.id),onMouseleave:t[1]||(t[1]=(...e)=>p.removeFocusedTaskGroup&&p.removeFocusedTaskGroup(...e)),tabindex:"0",role:"region","aria-label":o.title},[i("div",oP,[l(m,{"task-group":o,"task-groups":u.taskGroups,isKanbanView:!0,index:r,onShowTaskAddAtTop:p.showTaskAddAtTop,onCreateStageLeft:p.createStageLeft,onEditingStage:p.handleStageEditing},null,8,["task-group","task-groups","index","onShowTaskAddAtTop","onCreateStageLeft","onEditingStage"])]),l(T,F({group:"taskGroup",modelValue:o.tasks,"onUpdate:modelValue":e=>o.tasks=e,"item-key":"id",onEnd:p.dragTaskEndHandler,onStart:p.dragTaskStartHandler,class:"fbs_task_group_drag","component-data":{tag:"div",type:"transition-group",name:u.taskDrag?null:"flip-list"}},p.taskDragOptions,{"drag-class":"fbs-dragging",delay:10,ref:"taskContainer_"+o.id,onScroll:e=>p.handleScroll(o.id)}),{item:n(({element:t,index:i})=>[(s(),a("div",{class:"task_values fbs_board_section__task_lists","data-stageId":o.id,id:"fbs_task_"+t.id,"data-index":i,"data-taskId":t.id,"data-position":t.position,"data-boardId":t.board_id,key:t.id,style:S({display:p.isTaskVisible(t.id)?"block":"none"}),"data-ghostClassAttribute":e.$t("Drop Task Here")},[p.isTaskVisible(t.id)?(s(),c(_,{key:0,stages:e.stages,task:t},null,8,["stages","task"])):y("",!0)],12,lP))]),footer:n(()=>[i("div",nP,[p.canCreateTask?(s(),a("div",rP,[l(C,{onClick:e=>p.showTaskAddAtBottom(o),class:"fbs-w-full","aria-label":p.addTaskLabel,onKeydown:[$(h(e=>p.showTaskAddAtBottom(o),["prevent"]),["enter"]),$(h(e=>p.showTaskAddAtBottom(o),["prevent"]),["space"])]},{default:n(()=>[i("span",dP,[l(v,{"icon-name":"plus"})])]),_:1},8,["onClick","aria-label","onKeydown"])])):y("",!0)])]),_:2},1040,["modelValue","onUpdate:modelValue","onEnd","onStart","component-data","onScroll"])],46,iP)]),_:1},16,["modelValue","onEnd","onStart","class","component-data"]),e.appVars.public_mode||e.board.archived_at||e.board.isUserOnlyViewer?y("",!0):(s(),a("div",cP,[l(C,{"aria-label":e.$t("Add Stage"),size:"small",onClick:p.onCreateStage},{default:n(()=>[i("span",hP,[l(v,{"icon-name":"plus"})]),w(" "+o(e.$t("Add Stage")),1)]),_:1},8,["aria-label","onClick"])]))])),[[B]])]),_:1})]),l(A,{class:"fbs_kanban_file_upload",ref:"crateTaskFromImage",url:"create-task-from-image",board:e.board,"is-image":!0,"is-creating-task":!0,onOnFileUploadSuccess:p.taskCreatedFromImage},null,8,["board","onOnFileUploadSuccess"]),l(I,{ref:"createTaskModal"},null,512),l(D,{ref:"createStageDialog"},null,512)])),[[L,r.boardLoading]]):y("",!0)}]]),pP={name:"EachTaskRow",inject:["eventBus"],components:{Subtask:er,PriorityBadge:sa,DateChanger:ln,Icons:$s,TaskFieldButtons:sM,TaskAssignees:Ha,ElTooltip:We},props:{task:{type:Object,required:!0},stages:{type:Array,required:!0}},data(){return{totalSubtasks:this.task.settings?this.task.settings.subtask_count:0,totalCompletedSubtasks:this.task.settings&&!isNaN(this.task.settings.subtask_completed_count)?parseInt(this.task.settings.subtask_completed_count):0,showTaskFieldButton:!1,totalComments:this.task.comments_count>0?this.task.comments_count:0,totalNotifications:this.task.notifications,totalAttachment:this.task.settings?this.task.settings.attachment_count:0}},computed:{...m(Xi,["listviewSettings"]),...m(js,["board","tasks","boardDependencies"]),appVars:()=>window.fluentAddonVars||{},dependencySummary(){const e=parseInt(this.task.id),t=this.boardDependencies.filter(t=>parseInt(t.successor_id)===e).length,s=this.boardDependencies.filter(t=>parseInt(t.predecessor_id)===e).length;return{predecessors:t,successors:s,total:t+s}},dependencyTooltip(){const{predecessors:e,successors:t}=this.dependencySummary,s=[];return e&&s.push(this.$t("Waiting on")+": "+e),t&&s.push(this.$t("Blocking")+": "+t),s.join(" · ")},isBlocked(){if(!this.appVars.has_pro||!this.boardDependencies.length)return!1;const e=parseInt(this.task.id),t=this.boardDependencies.filter(t=>parseInt(t.successor_id)===e).map(e=>parseInt(e.predecessor_id));return!!t.length&&t.some(e=>{const t=this.tasks.find(t=>parseInt(t.id)===e);return t&&"open"===t.status})},hasCover(){var e;const t=null==(e=this.task.settings)?void 0:e.cover;return Boolean(t&&(t.backgroundColor||t.backgroundImage))},taskCoverStyle(){var e;return{backgroundColor:((null==(e=this.task.settings)?void 0:e.cover)||{}).backgroundColor||"var(--fbs-light-bg)"}},taskLabels(){return this.task.labels&&this.board.labels?this.task.labels.filter(e=>this.board.labels.some(t=>t.id===e.id)):[]},visibleLabels(){return this.taskLabels.slice(0,2)},overflowLabels(){return this.taskLabels.slice(2)},overflowDotColors(){return this.overflowLabels.slice(0,5)},overflowLabelsAriaLabel(){return this.overflowLabels.length+" "+this.$t("more labels")},hasCardLabelMeta(){return this.listviewSettings.dashboard_view_label&&this.taskLabels.length}},mounted(){this.emitter.on("subtask-updated",e=>{this.task.id==e.taskId&&this.updateSubtaskNumber(e)}),setTimeout(()=>{this.showTaskFieldButton=!0},1),this.emitter.on("comment-updated",e=>{this.task.id==e.taskId&&this.updateCommentNumber(e)}),this.emitter.on("update-notification-in-card",e=>{this.task.id==e&&this.updateNotificationNumber(e)}),this.eventBus.on("task-attachments-created",e=>{this.task.id==e[0].object_id&&(this.totalAttachment=this.totalAttachment+1)}),this.eventBus.on("attachment-deleted",e=>{this.task.id==e&&this.totalAttachment>0&&(this.totalAttachment=this.totalAttachment-1)})},methods:{showTask(e){this.eventBus.emit("show-task",e)},updateTaskStatus(e){e.status="closed"===e.status?"open":"closed",this.eventBus.emit("change-task-property",{task:e,property:"status",value:e.status,onSuccess:t=>{this.$emit("taskUpdated",t.task),this.$emit("celebration",e.status)},onError:e=>{this.$notify.error({title:"Error",message:`task ${data.property} couldn't be updated. Please try again.`})}})},updateSubtaskNumber(e){if("add"==e.operation)this.totalSubtasks+=1;else if("delete"==e.operation){let t;this.totalSubtasks-=1,this.task.subtasks&&(this.task.subtasks.map((s,a)=>{s.id==e.subtaskId&&(t=a)}),this.task.subtasks.splice(t,1))}else"open"==e.operation?this.totalCompletedSubtasks>0&&(this.totalCompletedSubtasks-=1):"closed"==e.operation&&(this.totalCompletedSubtasks+=1)},showSubTasks(e){e.show_subtask=!e.show_subtask},hasLabelTitle:e=>!!(e&&e.title&&e.title.trim()),updateCommentNumber(e){if("add"==e.operation)this.totalComments=Number(this.totalComments)+1;else if("delete"==e.operation)if(e.numberOfReplies){let t=1+e.numberOfReplies;this.totalComments=Number(this.totalComments)-t}else this.totalComments-=1},updateNotificationNumber(){this.totalNotifications>0&&(this.totalNotifications-=1)}},beforeUnmount(){this.emitter.off("subtask-updated"),this.emitter.off("comment-updated"),this.emitter.off("update-notification-in-card"),this.emitter.off("attachment-updated")}},mP={class:"fbs-list-task-row"},bP={class:"fbs_each_task_left"},gP={class:"fbs_list_task_controls"},fP={key:0,xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 20 20",fill:"none"},_P={key:1,xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 20 20",fill:"none"},kP={class:"fbs_each_task_left_content"},vP={class:"fbs_each_task_title"},yP={class:"fbs_each_task_meta"},wP={key:0,class:"fbs_overdue_box"},CP={key:1,class:"fbs-blocked-badge"},TP={class:"d-flex items-center gap-4 fbs_secondary_text small"},SP={class:"d-flex items-center gap-4 fbs_secondary_text small"},$P={class:"d-flex items-center gap-4 fbs_secondary_text small"},VP={class:"d-flex items-center gap-4 fbs_secondary_text small"},AP={class:"d-flex items-center gap-4 fbs_secondary_text small"},IP={class:"d-flex items-center gap-4 fbs_secondary_text small"},DP={class:"d-flex items-center gap-4 fbs_secondary_text small"},BP={key:0,class:"fbs_each_task_actions"},LP={key:0,class:"fbs_task_labels"},MP=["title"],xP={key:0},PP=["title","aria-label"],FP={class:"fbs-cbp-dot-stack","aria-hidden":"true"},EP={class:"fbs_task_card_label_more_count","aria-hidden":"true"},UP=["title"],OP={key:0},RP={key:1},NP={key:3,class:"fbs_task_context fbs_table_task_context_actions"};const HP=Ss(pP,[["render",function(e,t,u,p,m,g){var f,_,v,C,T;const $=b("Icons"),V=rt,A=We,I=b("task-assignees"),D=je,B=b("priority-badge"),L=b("date-changer"),M=b("task-field-buttons");return s(),a("div",mP,[i("div",{class:k(["fbs_each_task",{"fbs_each_task--has-cover":g.hasCover}])},[i("div",bP,[i("div",gP,[i("span",{onClick:t[0]||(t[0]=h(()=>{},["stop"])),class:"fbs_task_drag_and_drop_touch_screen","aria-hidden":"true"},[l($,{"icon-name":"drag","icon-class":"d-block"})]),e.board.isUserOnlyViewer?y("",!0):(s(),a("div",{key:0,title:"Click to change status",onClick:t[1]||(t[1]=e=>g.updateTaskStatus(u.task)),class:k(["fbs_tv_current_status_"+u.task.status,"fbs_tv_status"])},["closed"!=u.task.status?(s(),a("svg",fP,[...t[7]||(t[7]=[i("path",{d:"M2 10C2 5.58172 5.58172 2 10 2C14.4183 2 18 5.58172 18 10C18 14.4183 14.4183 18 10 18C5.58172 18 2 14.4183 2 10Z",fill:"#E1E4EA"},null,-1),i("path",{d:"M3.5 10C3.5 6.41015 6.41015 3.5 10 3.5C13.5899 3.5 16.5 6.41015 16.5 10C16.5 13.5899 13.5899 16.5 10 16.5C6.41015 16.5 3.5 13.5899 3.5 10Z",fill:"white"},null,-1)])])):(s(),a("svg",_P,[...t[8]||(t[8]=[i("path",{d:"M2 10C2 5.58172 5.58172 2 10 2C14.4183 2 18 5.58172 18 10C18 14.4183 14.4183 18 10 18C5.58172 18 2 14.4183 2 10Z",fill:"#25C26E"},null,-1),i("path",{d:"M13.5892 7.32667C13.8496 7.58702 13.8496 8.00913 13.5892 8.26948L9.25588 12.6028C8.99553 12.8632 8.57342 12.8632 8.31307 12.6028L6.31307 10.6028C6.05272 10.3425 6.05272 9.92035 6.31307 9.66C6.57342 9.39965 6.99553 9.39965 7.25588 9.66L8.78448 11.1886L12.6464 7.32667C12.9068 7.06632 13.3289 7.06632 13.5892 7.32667Z",fill:"white"},null,-1)])]))],2))]),i("div",kP,[i("div",{class:"fbs_task_list_cover",style:S(g.taskCoverStyle),"aria-hidden":"true"},[(null==(_=null==(f=u.task.settings)?void 0:f.cover)?void 0:_.backgroundImage)?(s(),c(V,{key:0,alt:u.task.title,src:null==(C=null==(v=u.task.settings)?void 0:v.cover)?void 0:C.backgroundImage,shape:"square",size:40},null,8,["alt","src"])):y("",!0)],4),i("div",{onClick:t[3]||(t[3]=h(e=>g.showTask(u.task),["stop"])),class:"fbs_each_task_content_inner"},[i("span",vP,o(u.task.title),1),i("div",yP,[u.task.isOverdue&&!e.listviewSettings.dashboard_view_due_date?(s(),a("span",wP,o(e.$t("Overdue")),1)):y("",!0),g.isBlocked?(s(),a("span",CP,[t[9]||(t[9]=i("svg",{xmlns:"http://www.w3.org/2000/svg",width:"11",height:"11",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2.5","stroke-linecap":"round","stroke-linejoin":"round"},[i("circle",{cx:"12",cy:"12",r:"10"}),i("line",{x1:"4.93",y1:"4.93",x2:"19.07",y2:"19.07"})],-1)),w(" "+o(e.$t("Blocked")),1)])):y("",!0),e.listviewSettings.dashboard_view_subtask&&m.totalSubtasks>0?(s(),c(A,{key:2,content:e.$t("Subtasks"),placement:"top","show-after":50},{default:n(()=>[i("span",TP,[l($,{"icon-name":"subtask","icon-class":"fbs_w_16 fbs_h_16","aria-hidden":"true"}),i("span",null,o(m.totalCompletedSubtasks)+"/"+o(m.totalSubtasks),1)])]),_:1},8,["content"])):y("",!0),e.listviewSettings.dashboard_view_attachment&&m.totalAttachment>0?(s(),c(A,{key:3,content:e.$t("Attachments"),placement:"top","show-after":50},{default:n(()=>[i("div",SP,[l($,{"icon-name":"paper-clip","icon-class":"fbs_w_16 fbs_h_16","aria-hidden":"true"}),i("span",null,o(m.totalAttachment),1)])]),_:1},8,["content"])):y("",!0),e.listviewSettings.dashboard_view_comment&&m.totalComments>0?(s(),c(A,{key:4,content:e.$t("Comments"),placement:"top","show-after":50},{default:n(()=>[i("div",$P,[l($,{"icon-name":"comment-line","icon-class":"fbs_w_16 fbs_h_16","aria-hidden":"true"}),i("span",null,o(m.totalComments),1)])]),_:1},8,["content"])):y("",!0),e.listviewSettings.dashboard_view_notification&&m.totalNotifications?(s(),c(A,{key:5,content:e.$t("Unread Notifications"),placement:"top","show-after":50},{default:n(()=>[i("div",VP,[l($,{"icon-name":"notification","icon-class":"fbs_w_16 fbs_h_16","aria-hidden":"true"}),i("span",null,o(m.totalNotifications),1)])]),_:1},8,["content"])):y("",!0),u.task.repeat_task_meta?(s(),c(A,{key:6,content:e.$t("Recurring Task"),placement:"top","show-after":50},{default:n(()=>[i("div",AP,[l($,{"icon-name":"refresh","icon-class":"fbs_w_16 fbs_h_16","aria-hidden":"true"})])]),_:1},8,["content"])):y("",!0),"yes"===(null==(T=u.task.meta)?void 0:T.is_template)?(s(),c(A,{key:7,content:e.$t("This is a template task"),placement:"top","show-after":50},{default:n(()=>[i("div",IP,[l($,{"icon-name":"template","icon-class":"fbs_w_16 fbs_h_16","aria-hidden":"true"})])]),_:1},8,["content"])):y("",!0),g.appVars.has_pro&&g.dependencySummary.total>0?(s(),c(A,{key:8,content:g.dependencyTooltip,placement:"top","show-after":50},{default:n(()=>[i("div",DP,[l($,{"icon-name":"link","icon-class":"fbs_w_16 fbs_h_16","aria-hidden":"true"}),i("span",null,o(g.dependencySummary.total),1)])]),_:1},8,["content"])):y("",!0),e.listviewSettings.dashboard_view_assignee&&m.showTaskFieldButton?(s(),c(I,{key:9,class:"fbs-list-task-assignees",task:u.task,is_multiple:!0,"number-of-avatars":3,"always-show-add-button":!0,onClick:t[2]||(t[2]=h(()=>{},["stop"]))},null,8,["task"])):y("",!0)])])])]),m.showTaskFieldButton?(s(),a("div",BP,[g.hasCardLabelMeta?(s(),a("div",LP,[(s(!0),a(r,null,d(g.visibleLabels,(t,i)=>(s(),a("div",{class:k(["fbs_task_card_label",{fbs_task_card_label_empty:!g.hasLabelTitle(t)}]),key:t.id||i,style:S({"--fbs-label-dot-color":t.bg_color||"var(--fbs-folder-accent)"}),title:g.hasLabelTitle(t)?t.title:e.$t("Title not found")},[g.hasLabelTitle(t)?(s(),a("span",xP,o(t.title),1)):y("",!0)],14,MP))),128)),g.overflowLabels.length?(s(),c(D,{key:0,placement:"top",trigger:"click",width:240,"popper-class":"fbs_task_card_label_popover"},{reference:n(()=>[i("button",{type:"button",class:"fbs_task_card_label_more",title:g.overflowLabelsAriaLabel,"aria-label":g.overflowLabelsAriaLabel,"aria-haspopup":"true",onClick:t[4]||(t[4]=h(()=>{},["stop"]))},[i("span",FP,[(s(!0),a(r,null,d(g.overflowDotColors,(e,t)=>(s(),a("span",{key:e.id||t,class:"fbs-cbp-dot",style:S({background:e.bg_color||"var(--fbs-folder-accent)"})},null,4))),128))]),i("span",EP,"+"+o(g.overflowLabels.length),1)],8,PP)]),default:n(()=>[i("div",{class:"fbs_task_card_label_popover_list",role:"list",onClick:t[5]||(t[5]=h(()=>{},["stop"]))},[(s(!0),a(r,null,d(g.overflowLabels,(t,i)=>(s(),a("div",{class:k(["fbs_task_card_label",{fbs_task_card_label_empty:!g.hasLabelTitle(t)}]),key:t.id||i,role:"listitem",style:S({"--fbs-label-dot-color":t.bg_color||"var(--fbs-folder-accent)"}),title:g.hasLabelTitle(t)?t.title:e.$t("Title not found")},[g.hasLabelTitle(t)?(s(),a("span",OP,o(t.title),1)):(s(),a("span",RP,o(e.$t("Title not found")),1))],14,UP))),128))])]),_:1})):y("",!0)])):y("",!0),e.listviewSettings.dashboard_view_priority?(s(),a("div",{key:1,class:"fbs_list_priority_meta",onClick:t[6]||(t[6]=h(()=>{},["stop"]))},[l(B,{task:u.task},null,8,["task"])])):y("",!0),e.listviewSettings.dashboard_view_due_date&&m.showTaskFieldButton?(s(),c(L,{key:2,task:u.task,column:"due_at",date_format:"MMM DD","empty-date-label":e.$t("Set Date")},null,8,["task","empty-date-label"])):y("",!0),e.board.isUserOnlyViewer?y("",!0):(s(),a("div",NP,[m.showTaskFieldButton?(s(),c(M,{key:0,task:u.task,onShowTask:g.showTask},null,8,["task","onShowTask"])):y("",!0)]))])):y("",!0)],2)])}]]);const jP=Ss({name:"CreateTaskDialog",emits:["task-created"],components:{CreateTaskModal:Mx,Plus:Oe},props:{viewType:{type:String,required:!0,default:()=>"Calendar"},showTrigger:{type:Boolean,default:!0},started_at:{type:String,required:!1},due_at:{type:String,required:!1}},computed:{...m(js,["board","stages"]),createButtonLabel(){var e;return"roadmap"===(null==(e=this.board)?void 0:e.type)?this.$t("Create Idea"):this.$t("Create Task")}},methods:{openDialog(e={}){var t,s;const a=e.started_at??this.started_at??"",i=e.due_at??this.due_at??"";null==(s=this.$refs.createTaskModal)||s.openDialog({...e,stage_id:e.stage_id??(null==(t=this.stages[0])?void 0:t.id)??"",started_at:a||i,due_at:i||a})},remoteOpenDialog(){setTimeout(()=>{this.openDialog()})},handleTaskCreated(e){this.$emit("task-created",e)}}},[["render",function(e,t,i,d,h,u){const p=b("Plus"),m=Ne,g=ze,f=b("create-task-modal");return s(),a(r,null,[i.showTrigger&&"Calendar"!=i.viewType?(s(),c(g,{key:0,class:"fbs-create-task-dialog-create-button",plain:"",onClick:u.openDialog},{default:n(()=>[l(m,null,{default:n(()=>[l(p)]),_:1}),w(" "+o(u.createButtonLabel),1)]),_:1},8,["onClick"])):y("",!0),l(f,{ref:"createTaskModal",onTaskCreated:u.handleTaskCreated},null,8,["onTaskCreated"])],64)}]]),zP={name:"BaseCard",props:{bodyLoading:{type:Boolean,default:!1},noBodyPadding:{type:Boolean,default:!1},bodyClass:{type:[String,Array,Object],default:""}},computed:{hasHeader(){return Boolean(this.$slots.title||this.$slots.header_action)}}},GP={class:"fbs_base_card"},qP={key:0,class:"fbs_base_card_header"},WP={key:0,class:"fbs_base_card_title_wrap"},KP={key:1,class:"fbs_base_card_header_actions"},ZP={key:1,class:"fbs_base_card_footer"};const YP=Ss(zP,[["render",function(e,t,i,o,l,n){const r=g("loading");return s(),a("div",GP,[n.hasHeader?(s(),a("div",qP,[e.$slots.title?(s(),a("div",WP,[_(e.$slots,"title")])):y("",!0),e.$slots.header_action?(s(),a("div",KP,[_(e.$slots,"header_action")])):y("",!0)])):y("",!0),f((s(),a("div",{class:k(["fbs_base_card_body",[i.bodyClass,{"fbs_base_card_body--no-padding":i.noBodyPadding}]])},[_(e.$slots,"body",{},()=>[_(e.$slots,"default")])],2)),[[r,i.bodyLoading]]),e.$slots.footer?(s(),a("div",ZP,[_(e.$slots,"footer")])):y("",!0)])}]]),JP={name:"ListView",inject:["eventBus"],props:["task_labels","task_groups","boardLoading","stageTaskPagination","fetchStageTasksPage"],components:{StageHeader:FL,draggable:P,EachTaskRow:HP,CreateTaskDialog:jP,BaseCard:YP,EmptyState:Vs},emits:["fetchTasksByBoard"],data(){return{drag:!1,dragStageId:null,taskCollapsedIds:[],stageDrag:!1,taskGroups:this.task_groups,visibleTasks:{},isTaskLoaded:!1,isStageTitleEditing:!1}},computed:{...m(js,["board","stages"]),dragOptions(){return{animation:200,disabled:!(!this.appVars.public_mode&&!this.board.archived_at)||this.board.isUserOnlyViewer,ghostClass:"fbs_dragging_ghost_class",scrollSensitivity:150,forceFallback:!0,fallbackOnBody:!0,scroll:!0,scrollSpeed:18,bubbleScroll:!0}},stageDragOptions(){return{animation:200,disabled:!(!this.appVars.public_mode&&!this.board.archived_at)||(this.board.isUserOnlyViewer||this.isStageTitleEditing),ghostClass:"fbs_stage_drag_ghost",scrollSensitivity:240,forceFallback:!0,handle:".fbs_table_group_header",forceAutoScrollFallback:!0,scrollSpeed:18,bubbleScroll:!0}}},watch:{task_groups:{handler(e){this.taskGroups=e,this.$nextTick().then(()=>{Object.keys(this.taskGroups).length>0&&(this.isTaskLoaded?this.updateVisibleTasks():(this.initializeVisibleTasks(),this.isTaskLoaded=!0))}),e&&(this.taskCollapsedIds=e.map(e=>e.id))},immediate:!0},$route(){window.fbsPreviousRoute&&"board"===window.fbsPreviousRoute.name&&"board"===this.$route.name&&(this.isTaskLoaded=!1)}},mounted(){this.initializeVisibleTasks()},methods:{loadMoreTasks:HM,celebrationHandle(e){this.$emit("celebration",e)},taskDragStartHandler(e){this.drag=!0;const t=e.item.firstElementChild;t&&(t.style.visibility="hidden"),e.item.classList.add("fbs-sortable-fallback"),document.body.classList.add("fbs-sortable-fallback")},taskDragEndHandler(e){var t,s,a;e.item.classList.remove("fbs-sortable-fallback"),document.body.classList.remove("fbs-sortable-fallback"),this.dragStageId=null;const i=e.item.firstElementChild;i&&(i.style.visibility="visible"),this.drag=!1;const o=parseInt(e.item.dataset.taskid),l=(null==(t=e.to)?void 0:t.offsetParent)||(null==(s=e.to)?void 0:s.parentElement),n=parseInt(null==(a=null==l?void 0:l.dataset)?void 0:a.stageid),r=parseInt(e.item.dataset.stageid),d=e.newDraggableIndex+1,c=e.oldDraggableIndex+1,h=parseInt(e.item.dataset.boardid);if(n===r&&d===c)return;const{prevTaskId:u,nextTaskId:p}=this.getDraggedTaskNeighbours(n,o);if(this.hasAmbiguousDropBoundary(n,u,p))return this.fetchTasksByBoard(h),void this.$notify({title:"Info",type:"info",message:this.$t("Load more tasks in this stage before dropping at the visible edge.")});this.ensureTaskVisible(n,o,d),r&&r!==n&&this.removeTaskFromVisible(r,o),this.eventBus.emit("fluent-boards-move-task",{boardId:h,taskId:o,newStageId:n,newIndex:d,prevTaskId:u,nextTaskId:p})},getDraggedTaskNeighbours(e,t){const s=this.taskGroups.find(t=>parseInt(t.id)===parseInt(e));if(!s)return{prevTaskId:null,nextTaskId:null};const a=s.tasks.findIndex(e=>parseInt(e.id)===parseInt(t));return-1===a?{prevTaskId:null,nextTaskId:null}:{prevTaskId:a>0?parseInt(s.tasks[a-1].id):null,nextTaskId:a<s.tasks.length-1?parseInt(s.tasks[a+1].id):null}},hasAmbiguousDropBoundary(e,t,s){var a;const i=null==(a=this.stageTaskPagination)?void 0:a[e];return!!i&&(!t&&i.has_more_before||!s&&i.has_more_after)},fetchTasksByBoard(e){this.$emit("fetchTasksByBoard",e)},openCreateTaskDialog(e){var t;null==(t=this.$refs.createTaskDialog)||t.openDialog({stage_id:null==e?void 0:e.id})},taskDragMove(e){var t,s,a,i;if(!this.drag)return!0;const o=parseInt(null==(i=null==(a=null==(s=null==(t=e.to)?void 0:t.closest)?void 0:s.call(t,"[data-stageid]"))?void 0:a.dataset)?void 0:i.stageid);return this.dragStageId=Number.isNaN(o)?null:o,!0},collapseIdAddRemove(e){const t=this.taskCollapsedIds.indexOf(parseInt(e));-1!==t?this.taskCollapsedIds.splice(t,1):this.taskCollapsedIds.push(e)},collapseTask(e){return this.taskCollapsedIds.includes(e)},beforeStageCollapseEnter(e){e.style.height="0",e.style.opacity="0"},stageCollapseEnter(e){e.style.height=`${e.scrollHeight}px`,e.style.opacity="1"},beforeStageCollapseLeave(e){e.style.height=`${e.scrollHeight}px`,e.style.opacity="1",e.offsetHeight},stageCollapseLeave(e){e.style.height="0",e.style.opacity="0"},afterStageCollapseTransition(e){e.style.height="",e.style.opacity=""},dragStageStartHandler(e){this.stageDrag=!0,e.item.classList.add("fbs-sortable-fallback"),document.body.classList.add("fbs-sortable-fallback")},dragStageEndHandler(e){e.item.classList.remove("fbs-sortable-fallback"),document.body.classList.remove("fbs-sortable-fallback"),this.taskDrag=!1;const t=parseInt(e.item.dataset.stageid),s=e.newDraggableIndex+1;s!==e.oldDraggableIndex+1&&this.eventBus.emit("move-stage",{stageId:t,newPosition:s})},initializeVisibleTasks(){this.visibleTasks={},this.taskGroups.forEach(e=>{this.visibleTasks[e.id]=[],this.visibleTasks=this.loadMoreTasks(e.id,"initial",this.visibleTasks,this.taskGroups)})},updateVisibleTasks(){this.taskGroups.forEach(e=>{this.visibleTasks=this.loadMoreTasks(e.id,"updated",this.visibleTasks,this.taskGroups)})},handleScroll(e){var t,s;const a=this.$refs["taskContainer_"+e].targetDomElement;if(!a)return;const i=a.scrollTop;if(i>=a.scrollHeight-a.clientHeight-200){const s=null==(t=this.stageTaskPagination)?void 0:t[e];(null==s?void 0:s.has_more_after)&&this.fetchStageTasksPage(e,{direction:"next",cursor:s.end_cursor}),this.visibleTasks=this.loadMoreTasks(e,"bottom",this.visibleTasks,this.taskGroups)}if(i<200){const t=null==(s=this.stageTaskPagination)?void 0:s[e];(null==t?void 0:t.has_more_before)&&this.fetchStageTasksPage(e,{direction:"prev",cursor:t.start_cursor}),this.visibleTasks=this.loadMoreTasks(e,"top",this.visibleTasks,this.taskGroups)}},isTaskVisible(e){for(const t in this.visibleTasks)if(this.visibleTasks[t].includes(e))return!0;return!1},handleStageEditing(e){this.isStageTitleEditing=e},ensureTaskVisible(e,t,s){if(!e||!t)return;const a=this.visibleTasks[e]?[...this.visibleTasks[e]]:[],i=a.indexOf(t);for(-1!==i&&a.splice(i,1),s<=1?a.unshift(t):a.push(t);a.length>20;)s<=1?a.pop():a.shift();this.visibleTasks={...this.visibleTasks,[e]:a}},removeTaskFromVisible(e,t){if(!e||!this.visibleTasks[e])return;const s=this.visibleTasks[e].filter(e=>e!==t);this.visibleTasks={...this.visibleTasks,[e]:s}}}},QP={class:"fbs_board_section_container fbs_list_view_container"},XP={class:"fbs_list_view_scroller"},eF={key:0,class:"fbs_table_section_view fbs_list_view_stage_board"},tF={class:"fbs-w-full"},sF=["data-stageId"],aF={class:"fbs_table_group_header"},iF=["data-stageId","id","data-index","data-taskId","data-position","data-boardId","data-ghostClassAttribute"],oF={key:0,class:"fbs-list-stage-empty-state"};const lF=Ss(JP,[["render",function(e,t,o,r,d,h){const u=b("stage-header"),p=b("each-task-row"),m=b("base-card"),_=b("empty-state"),v=b("draggable"),w=Vt,C=b("create-task-dialog"),T=g("prevent-context-menu"),$=g("loading");return f((s(),a("div",QP,[i("div",XP,[""!==e.board.id?(s(),a("div",eF,[l(w,{class:"h-full"},{default:n(()=>[f((s(),a("div",tF,[l(v,F({group:"taskGroups",modelValue:d.taskGroups,"onUpdate:modelValue":t[0]||(t[0]=e=>d.taskGroups=e),"item-key":"id",onEnd:h.dragStageEndHandler,onStart:h.dragStageStartHandler,class:"fbs_tasks_layout_table",id:"fbs_table_section_view_id","component-data":{tag:"div",type:"transition-group",name:d.stageDrag?null:"flip-list"}},h.stageDragOptions,{"drag-class":"fbs-stage_dragging",delay:10}),{item:n(({element:t,index:r})=>[i("div",{"data-stageId":t.id,class:k(["fbs_table_view_section",{"fbs_table_view_section--has-accent":null==t?void 0:t.bg_color}]),style:S((null==t?void 0:t.bg_color)?{"--fbs-list-stage-accent":t.bg_color}:{})},[i("div",aF,[l(u,{"task-group":t,"task-groups":o.task_groups,"is-list-view":!0,onCollapsed:h.collapseIdAddRemove,onEditingStage:h.handleStageEditing,onShowTaskAddAtTop:h.openCreateTaskDialog},null,8,["task-group","task-groups","onCollapsed","onEditingStage","onShowTaskAddAtTop"])]),l(Te,{name:"fbs-stage-collapse",onBeforeEnter:h.beforeStageCollapseEnter,onEnter:h.stageCollapseEnter,onAfterEnter:h.afterStageCollapseTransition,onBeforeLeave:h.beforeStageCollapseLeave,onLeave:h.stageCollapseLeave,onAfterLeave:h.afterStageCollapseTransition},{default:n(()=>[f(l(v,F({group:"taskGroup",modelValue:t.tasks,"onUpdate:modelValue":e=>t.tasks=e,"item-key":"id",move:h.taskDragMove,onEnd:h.taskDragEndHandler,onStart:h.taskDragStartHandler,class:"fbs_table_items","component-data":{tag:"div",type:"transition-group",name:d.drag?null:"flip-list"}},h.dragOptions,{"drag-class":"fbs-dragging",delay:10,ref:"taskContainer_"+t.id,onScroll:e=>h.handleScroll(t.id)}),{item:n(({element:i,index:o})=>[(s(),a("div",{class:"fbs_task_status_open fbs_table_view_task_item","data-stageId":t.id,id:"fbs_task_"+i.id,"data-index":o,"data-taskId":i.id,"data-position":i.position,"data-boardId":i.board_id,key:i.id,"data-ghostClassAttribute":e.$t("Drop Task Here")},[h.isTaskVisible(i.id)?(s(),c(m,{key:0,class:"fbs-list-task-card","no-body-padding":!0},{default:n(()=>[l(p,{onCelebration:h.celebrationHandle,task:i,stages:e.stages},null,8,["onCelebration","task","stages"])]),_:2},1024)):y("",!0)],8,iF))]),footer:n(()=>[0===t.tasks.length&&d.dragStageId!==t.id?(s(),a("div",oF,[l(_,{message:"No tasks yet","icon-width":72,"icon-height":56})])):y("",!0)]),_:2},1040,["modelValue","onUpdate:modelValue","move","onEnd","onStart","component-data","onScroll"]),[[U,h.collapseTask(t.id)]])]),_:2},1032,["onBeforeEnter","onEnter","onAfterEnter","onBeforeLeave","onLeave","onAfterLeave"])],14,sF)]),_:1},16,["modelValue","onEnd","onStart","component-data"])])),[[T]])]),_:1})])):y("",!0)]),l(C,{ref:"createTaskDialog","view-type":"List","show-trigger":!1},null,512)])),[[$,o.boardLoading]])}]]),nF={name:"InlineAddTask",inject:["eventBus"],emits:["closeTaskAdd"],components:{PriorityBadge:sa,TaskAssignees:Ha},props:{board_id:{type:Number},options:{type:Object,default:()=>({onClickEnterEnabled:!1,description:!0,assignees:!0,priority:!0,board_id:!0,due_date:!0})},stage_id:{type:Number,default:0},defaultIsAdding:{type:Boolean,default:!1},taskGroup:{type:Object,required:!0},isTemplate:{type:Boolean,default:!1}},data(){return{task:{title:"",description:"",priority:"",due_date:"",stage_id:this.stage_id,assign_myself:"no",board_id:this.board_id},saving:!1,isKeyboardComposing:!1}},computed:{...m(js,["board"]),isRoadmapBoard(){var e;return"roadmap"===(null==(e=this.board)?void 0:e.type)},titlePlaceholder(){return this.isTemplate?this.$t("Template Title"):this.isRoadmapBoard?this.$t("Your Idea Title"):this.$t("Your Task Title")},titleAriaLabel(){return this.isRoadmapBoard?this.$t("Idea Title"):this.$t("Task Title")}},watch:{board_id:function(e){this.task.board_id=e}},methods:{handleEnter(){this.isKeyboardComposing||(this.addTask(),this.clearTaskTitle())},addTask(){if(!this.task.title.trim())return void this.$emit("closeTaskAdd");this.defaultIsAdding&&(this.task.position=1);let e=JSON.parse(JSON.stringify(this.task));this.createTaskIllusion(),"yes"==e.assign_myself&&(e.assignees=[this.appVars.me.id]),this.isTemplate&&(e.is_template="yes");let t="projects/"+this.board_id+"/tasks";this.$post(t,{task:e}).then(e=>{this.eventBus.emit("update-tasks",e.updatedTasks),this.isTemplate&&this.$emit("closeTaskAdd"),this.openCreatedTask(e.task)}).catch(e=>{this.removeTaskIllusion(),this.handleError(e)})},clearTaskTitle(){this.task.title="",this.$nextTick(()=>{this.$refs.inLineTask.focus()})},cancel(){this.$emit("closeTaskAdd")},openCreatedTask(e){const t=`/boards/${e.board_id}/tasks/${e.id}-${Ll(e.title)}`;this.$router.push({path:t,query:this.$route.query})},createTaskIllusion(){const e={...this.task,id:"illusion",assignees:[],labels:[]};this.defaultIsAdding?this.taskGroup.tasks.unshift(e):this.taskGroup.tasks.push(e),this.task={title:"",description:"",priority:"",due_date:"",stage_id:this.stage_id,assign_myself:"no",board_id:e.board_id}},removeTaskIllusion(){this.taskGroup.tasks=this.taskGroup.tasks.filter(e=>"number"==typeof e.id)}},updated(){this.$nextTick(()=>{this.$refs.inLineTask.focus()})},mounted(){this.$nextTick(()=>{this.$refs.inLineTask.focus()})}},rF={class:"fbs_inline_add_wrap"},dF={class:"fbs_inline_add"},cF={class:"fbs-task_inputs"},hF=["placeholder","aria-label"],uF=["placeholder"],pF={class:"fbs_inline_actions text-align-right"};const mF=Ss(nF,[["render",function(e,t,r,d,u,p){const m=He,b=ze,_=g("loading");return s(),a("div",rF,[i("div",dF,[i("div",cF,[r.options.onClickEnterEnabled?(s(),c(m,{key:0,ref:"inLineTask",placeholder:p.titlePlaceholder,type:"textarea",style:{width:"100%"},autosize:{maxRows:8},class:"fbs_task_title_inline",modelValue:u.task.title,"onUpdate:modelValue":t[0]||(t[0]=e=>u.task.title=e),onKeydown:$(h(p.handleEnter,["prevent"]),["enter"]),onCompositionstart:t[1]||(t[1]=e=>u.isKeyboardComposing=!0),onCompositionend:t[2]||(t[2]=e=>u.isKeyboardComposing=!1),onPaste:t[3]||(t[3]=h(()=>{},["stop"]))},null,8,["placeholder","modelValue","onKeydown"])):f((s(),a("input",{key:1,ref:"inLineTask",placeholder:p.titlePlaceholder,"aria-label":p.titleAriaLabel,type:"text",class:"fc_seamless","onUpdate:modelValue":t[4]||(t[4]=e=>u.task.title=e),maxlength:"150",onPaste:t[5]||(t[5]=h(()=>{},["stop"]))},null,40,hF)),[[v,u.task.title]]),r.options.description?f((s(),a("textarea",{key:2,"onUpdate:modelValue":t[6]||(t[6]=e=>u.task.description=e),"aria-label":"Task Description",class:"fc_seamless",placeholder:e.$t("Description"),onPaste:t[7]||(t[7]=h(()=>{},["stop"]))},null,40,uF)),[[v,u.task.description]]):y("",!0)])]),i("div",pF,[f((s(),c(b,{onClick:t[8]||(t[8]=e=>p.addTask()),size:"small",type:"primary"},{default:n(()=>[w(o(e.$t(r.isTemplate?"Create":"Save")),1)]),_:1})),[[_,u.saving]]),l(b,{onClick:p.cancel,size:"small"},{default:n(()=>[w(o(e.$t("Close")),1)]),_:1},8,["onClick"])])])}],["__scopeId","data-v-899218ae"]]),bF={name:"AddTaskTable",emits:["showTask"],inject:["eventBus"],props:["task_groups","task_group","board_id"],data(){return{task:{title:"",description:"",priority:"",stage_id:"",due_date:null,assign_myself:"no",board_id:this.board_id||this.$route.params.id},saving:!1,isAdding:!1,isKeyboardComposing:!1,options:[{value:"Option1",label:"Option1"},{value:"Option2",label:"Option2"},{value:"Option3",label:"Option3"},{value:"Option4",label:"Option4"},{value:"Option5",label:"Option5"}]}},computed:{...m(js,["board","stages"]),isRoadmapBoard(){var e;return"roadmap"===(null==(e=this.board)?void 0:e.type)},addTaskLabel(){return this.isRoadmapBoard?this.$t("Add Idea"):this.$t("Add Task")},titlePlaceholder(){return this.isRoadmapBoard?this.$t("Your Idea Title"):this.$t("Your Task Title")}},updated(){this.isAdding&&this.$refs.inLineTask.focus()},methods:{addTask(){var e;if(this.saving)return;if(this.isKeyboardComposing)return;if(this.task.stage_id=(null==(e=this.task_group)?void 0:e.stage_id)??this.task.stage_id,!this.task.title)return void this.$notify({title:"Warning!",message:"Title can't be empty",type:"warning"});if(!this.task.stage_id)return void this.$notify({title:"Warning!",message:"Please select a stage",type:"warning"});this.saving=!0;let t=JSON.parse(JSON.stringify(this.task));this.createTaskIllusion(),"yes"==t.assign_myself&&(t.assignees=[this.appVars.me.id]),this.$post("projects/"+this.board_id+"/tasks",{task:t}).then(e=>{this.eventBus.emit("update-tasks",e.updatedTasks),this.openCreatedTask(e.task),this.$notify({title:"Success!",message:e.message,type:"success"}),this.task={title:"",description:"",priority:"",due_date:"",stage_id:t.stage_id,board_id:t.board_id}}).catch(e=>{this.removeTaskIllusion(),this.handleError(e)}).finally(()=>{this.saving=!1,this.isAdding=!1})},createTaskIllusion(){const e={...this.task,id:"illusion",assignees:[],labels:[]},t=this.task_groups.findIndex(e=>e.id===this.task.stage_id);-1!==t&&this.task_groups[t].tasks.push(e),this.task={title:"",description:"",priority:"",due_date:"",stage_id:e.stage_id,assign_myself:"no",board_id:e.board_id}},removeTaskIllusion(){this.task_groups.forEach(e=>{e.tasks=e.tasks.filter(e=>"number"==typeof e.id)})},openCreatedTask(e){const t=`/boards/${e.board_id}/tasks/${e.id}-${Ll(e.title)}`;this.$router.push({path:t,query:this.$route.query})}},mounted(){setTimeout(()=>{var e;this.task.stage_id=(null==(e=this.task_group)?void 0:e.stage_id)??this.stages[0].id},100)}},gF={key:0,class:"fbs_table_view_add_task"},fF={key:1,class:"fbs_table_view_task_div"},_F={class:"fbs_table_view_task_add"},kF={key:0,class:"fbs_table_view_add_task_stage"},vF={class:"fbs_table_view_add_task_action"};const yF={name:"CalendarView",components:{AddTaskTable:Ss(bF,[["render",function(e,t,u,p,m,_){var k;const v=b("Plus"),C=Ne,T=ze,S=He,V=Be,A=Le,I=g("loading");return e.board.archived_at?y("",!0):(s(),a("div",gF,[m.isAdding?(s(),a("div",fF,[i("div",_F,[l(S,{modelValue:m.task.title,"onUpdate:modelValue":t[1]||(t[1]=e=>m.task.title=e),onKeydown:$(h(_.addTask,["prevent"]),["enter"]),onCompositionstart:t[2]||(t[2]=e=>m.isKeyboardComposing=!0),onCompositionend:t[3]||(t[3]=e=>m.isKeyboardComposing=!1),ref:"inLineTask",size:"small",placeholder:_.titlePlaceholder,type:"text",required:""},null,8,["modelValue","onKeydown","placeholder"])]),u.task_group&&(null==(k=u.task_group)?void 0:k.stage_id)?y("",!0):(s(),a("div",kF,[l(A,{modelValue:m.task.stage_id,"onUpdate:modelValue":t[4]||(t[4]=e=>m.task.stage_id=e),placeholder:e.$t("Select Stage"),style:{width:"240px"}},{default:n(()=>[(s(!0),a(r,null,d(e.stages,e=>(s(),c(V,{key:e.id,label:e.title,value:e.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])),i("div",vF,[f((s(),c(T,{size:"small",onClick:t[5]||(t[5]=e=>_.addTask()),type:"primary",disabled:m.saving},{default:n(()=>[w(o(m.saving?e.$t("Saving..."):e.$t("Save")),1)]),_:1},8,["disabled"])),[[I,m.saving]]),l(T,{onClick:t[6]||(t[6]=e=>m.isAdding=!1),size:"small",disabled:m.saving},{default:n(()=>[w(o(e.$t("Close")),1)]),_:1},8,["disabled"])])])):(s(),c(T,{key:0,class:"fbs_table_view_add_task_button",type:"primary",onClick:t[0]||(t[0]=e=>m.isAdding=!m.isAdding)},{default:n(()=>[l(C,null,{default:n(()=>[l(v)]),_:1}),w(" "+o(_.addTaskLabel),1)]),_:1}))]))}],["__scopeId","data-v-8d73d8c2"]]),CustomIcon:ml,Icons:$s,ReorderStages:QD,Plus:Oe,InlineAddTask:mF,ShowTemplateInStage:ux,StageHeader:FL,EachTaskCard:NM,draggable:P,CreateTaskDialog:jP,CirclePlus:mt,Refresh:Dt},inject:["eventBus"],props:{task_groups:{type:Array,required:!0},boardLoading:{type:Boolean,default:!1}},data(){return{tasks:[],taskCreateDate:{started_at:"",due_at:""},drag:!1,currentHeaderDate:"",currentView:"month",weekDays:[],currentDate:A(),startOfWeek:parseInt(this.appVars.start_of_week),calendarKey:0,isCalendarReady:!1}},computed:{...m(js,["board","stages"]),canModifyBoard(){return!this.board.archived_at&&!this.board.isUserOnlyViewer},addTaskLabel(){var e;return"roadmap"===(null==(e=this.board)?void 0:e.type)?this.$t("Add Idea"):this.$t("Add Task")},dragOptions(){return{animation:200,disabled:!this.canModifyBoard,ghostClass:"fbs-calendar-view-task-drag-and-drop-ghost-class",scrollSensitivity:240,forceFallback:!0}},weekDaysTaskDrag(){let e={animation:200,disabled:this.dragOptions.disabled,ghostClass:"fbs-calendar-view-task-drag-and-drop-ghost-class",scrollSensitivity:240,forceFallback:!0};return this.isTouchScreen&&(e.handle=".fbs_task_drag_and_drop_touch_screen"),e},currentWeek(){if("week"===this.currentView){const e=A(this.currentDate).startOf("week"),t=e.add(6,"day");return this.formatWeekRange(e.toDate(),t.toDate())}return this.currentHeaderDate}},methods:{getTasksForDay(e){return[...this.tasks.filter(t=>this.formatDate(t.started_at)===e),...this.tasks.filter(t=>this.formatDate(t.started_at)!==this.formatDate(t.due_at)&&this.formatDate(t.due_at)===e)]},showTask(e){this.eventBus.emit("show-task",e)},getDateOnly:e=>e.split("-")[2],getTasks(){this.tasks=this.task_groups.flatMap(e=>e.tasks),"week"===this.currentView&&this.setCurrentWeekDays()},formatDate:e=>vl(e),openCreateTaskDialog(e){this.taskCreateDate.started_at=e,this.taskCreateDate.due_at=e,this.$refs.createTask.remoteOpenDialog()},taskTitle:e=>(e=(e||"").toString()).length>56?e.substring(0,56).trimEnd()+"...":e,taskPriorityValue:e=>(e.priority||"").toString().toLowerCase(),taskPriorityForClass(e){return["","urgent","high","medium","low"].includes(this.taskPriorityValue(e))?this.taskPriorityValue(e)||"none":"custom"},taskPriorityLabel(e){var t;const s=this.taskPriorityValue(e);return((null==(t=window.fluentAddonVars)?void 0:t.priorities)||{})[s]||s||this.$t("No priority")},taskPriorityIconName(e){const t=this.taskPriorityValue(e);return["urgent","high","medium","low"].includes(t)?`priority-${t}`:"priority-none"},getTaskCommentCount:e=>parseInt(e.comments_count||0),getCalendarTaskDateStatusClass:e=>As(e),dragStartHandler(e,t){this.drag=!0},dragEndHandler(e,t){e.preventDefault();const s=parseInt(e.item.dataset.taskid),a=this.tasks.find(e=>parseInt(e.id)===s),i=this.formatDate(a.started_at),o=this.formatDate(a.due_at),l=this.formatDate(e.to.dataset.day);if(!l)return;const n=i==t?l:i,r=o==t?l:o;if(n==i&&r==o)return;const d=n?r?n<=r?n:r:n:r,c=r?n?r>=n?r:n:r:n;(d||c)&&this.changeDate(a,d,c)},changeDate(e,t,s){this.$post("projects/"+e.board_id+"/tasks/"+e.id+"/dates",{started_at:t,due_at:s}).then(e=>{this.$notify.success({message:e.message}),this.eventBus.emit("update-tasks",e.updatedTasks)}).catch(e=>{this.getTasks(),this.$notify.error({title:this.$t("Error"),message:this.$t("Task due date couldn't be updated. Please try again.")})})},updateTaskStatus(e){this.board.archived_at||this.board.isUserOnlyViewer||(e.status="closed"===e.status?"open":"closed",this.eventBus.emit("change-task-property",{task:e,property:"status",value:e.status,onSuccess:e=>{this.$emit("taskUpdated",e.task)},onError:e=>{this.$notify.error({title:"Error",message:`task ${data.property} couldn't be updated. Please try again.`})}}))},getCalendarDate(e){this.currentHeaderDate=e},changeCalendarDate(e){if("month"===this.currentView)this.$refs.calendarView&&(e="today"===e?e:e+"-month",this.$refs.calendarView.selectDate(e));else{switch(e){case"today":this.currentDate=A().startOf("day");break;case"next":this.currentDate=A(this.currentDate).add(7,"day");break;case"prev":this.currentDate=A(this.currentDate).subtract(7,"day")}this.setCurrentWeekDays()}},toggleView(e="month"){const t=rs.service({target:".fbs-calendar-view",fullscreen:!1});this.currentView=e,"week"===this.currentView?(this.currentDate=A().startOf("day"),this.setCurrentWeekDays()):this.calendarKey+=1,this.$nextTick(()=>{t.close()})},setCurrentWeekDays(){const e=[...[this.$t("Sunday"),this.$t("Monday"),this.$t("Tuesday"),this.$t("Wednesday"),this.$t("Thursday"),this.$t("Friday"),this.$t("Saturday")]];for(let a=0;a<this.startOfWeek;a++)e.push(e.shift());const t=A(this.currentDate);let s=t.startOf("week");if(this.startOfWeek>0){const e=t.day(),a=e<this.startOfWeek?7-(this.startOfWeek-e):e-this.startOfWeek;s=t.subtract(a,"day")}this.weekDays=Array.from({length:7}).map((t,a)=>{const i=s.add(a,"day").format("YYYY-MM-DD"),o=this.tasks.filter(e=>{const t=this.formatDate(e.started_at)===i,s=this.formatDate(e.due_at)===i;return t||s}).map(e=>({...e,dayTaskType:this.formatDate(e.started_at)===i?"start":"end"}));return{day:e[a],date:i,tasks:o}})},formatWeekRange(e,t){const s=A(e).format("MMM"),a=A(e).format("D"),i=A(t).format("MMM"),o=A(t).format("D"),l=A(e).format("YYYY"),n=A(t).format("YYYY");return l===n?s===i?`${s} ${a} — ${o}`:`${s} ${a} — ${i} ${o}`:`${s} ${a}, ${l} — ${i} ${o}, ${n}`},showTaskAddAtTop(e){this.openCreateTaskDialog(e)},titleDate:e=>A(e).format("MMM D")},watch:{task_groups(){this.getTasks()}},mounted(){A.Ls.en.weekStart=parseInt(this.appVars.start_of_week),this.calendarKey+=1,this.setCurrentWeekDays(),this.isCalendarReady=!0,this.getTasks()}},wF={class:"fbs-calendar-view"},CF={class:"fbs-calendar-view-calendar"},TF={class:"fbs-calendar-view-header"},SF={class:"fbs-calendar-view-date-controls"},$F={class:"fbs-calendar-view-date-selector"},VF={class:"fbs-calendar-view-header-date"},AF=["data-taskId"],IF={key:0},DF={key:1},BF=["id","onClick"],LF={class:"fbs-calendar-each-task-title"},MF={class:"fbs-calendar-each-task-meta"},xF=["title"],PF={key:0,class:"fbs-calendar-task-avatars"},FF=["src","alt","title"],EF={key:0,class:"fbs-calendar-task-avatar-more"},UF=["title"],OF={class:"fbs-cal-date"},RF={class:"icon"},NF={key:1,class:"fbs_board_section_view fbs-calendar-week-view"},HF={class:"fbs_tasks_layout_grid"},jF=["data-stageDate"],zF={class:"fbs_kanban_view_header"},GF={class:"fbs_board_section__header"},qF={class:"fbs_stage_header"},WF={class:"fbs_stage_title"},KF={class:"fbs_stage_title_content"},ZF={class:"fbs_stage_items_counter"},YF={key:0,class:"fbs_board_section__menu_trigger"},JF=["id","data-index","data-taskId","data-boardId"],QF={class:"fbs_board_section_task_lists_wrap"},XF={class:"fbs_add_task_line",style:{"max-width":"400px"}},eE=["onClick","aria-label"];const tE=Ss(yF,[["render",function(e,t,u,p,m,_){const v=b("Icons"),C=ze,T=xe,$=Me,V=Pe,A=b("Refresh"),I=Ne,D=We,B=b("draggable"),L=Ye,M=b("CirclePlus"),x=b("each-task-card"),P=b("create-task-dialog"),E=g("loading");return f((s(),a("div",wF,[i("div",CF,[i("div",TF,[i("div",SF,[i("div",$F,[l(C,{class:"fbs-calendar-view-navigation-btn",onClick:t[0]||(t[0]=e=>_.changeCalendarDate("prev"))},{default:n(()=>[l(v,{"icon-name":"arrow-left"})]),_:1}),i("div",VF,o(_.currentWeek),1),l(C,{class:"fbs-calendar-view-navigation-btn",onClick:t[1]||(t[1]=e=>_.changeCalendarDate("next"))},{default:n(()=>[l(v,{"icon-name":"arrow-right"})]),_:1})]),l(C,{class:"fbs-calendar-view-btn fbs-calendar-view-today-btn",onClick:t[2]||(t[2]=e=>_.changeCalendarDate("today"))},{default:n(()=>[w(o(e.$t("Today")),1)]),_:1}),l(V,{trigger:"click",placement:"bottom-start","popper-class":"fbs-calendar-view-mode-dropdown",onCommand:_.toggleView},{dropdown:n(()=>[l($,null,{default:n(()=>[l(T,{command:"month",disabled:"month"===m.currentView},{default:n(()=>[w(o(e.$t("Month")),1)]),_:1},8,["disabled"]),l(T,{command:"week",disabled:"week"===m.currentView},{default:n(()=>[w(o(e.$t("Week")),1)]),_:1},8,["disabled"])]),_:1})]),default:n(()=>[l(C,{class:"fbs-calendar-view-btn fbs-calendar-view-mode-btn"},{default:n(()=>[i("span",null,o("month"===m.currentView?e.$t("Month"):e.$t("Week")),1),l(v,{"icon-name":"arrow-down"})]),_:1})]),_:1},8,["onCommand"])])]),m.isCalendarReady&&"month"===m.currentView?(s(),c(L,{key:m.calendarKey,class:"fbs-calendar-view-month",ref:"calendarView"},{header:n(({date:e})=>[i("span",null,o(_.getCalendarDate(e)),1)]),"date-cell":n(({data:u})=>[i("div",{class:"fbs-calendar-view-cell",onClick:t[3]||(t[3]=h(()=>{},["stop"]))},[l(B,F({group:"taskGroups",list:_.getTasksForDay(u.day),"item-key":"id",onEnd:e=>_.dragEndHandler(e,u.day),onStart:e=>_.dragStartHandler(e,u.day),class:"fbs-calendar-view-task-drag-and-drop","component-data":{tag:"div",type:"transition-group",name:m.drag?null:"flip-list"}},_.dragOptions,{"drag-class":"","data-day":u.day,delay:10}),{item:n(({element:p})=>[i("div",{"data-taskId":p.id},[l(D,{placement:"top"},{content:n(()=>[_.formatDate(p.started_at)==u.day?(s(),a("span",IF,o(e.$t("Start Date")),1)):(s(),a("span",DF,o(e.$t("End Date")),1))]),default:n(()=>{var u,m,b,g,f,C,T,$;return[i("div",{class:k(["fbs-calendar-each-task-wrap",_.getCalendarTaskDateStatusClass(p)])},[(null==(m=null==(u=p.settings)?void 0:u.cover)?void 0:m.backgroundColor)||(null==(g=null==(b=p.settings)?void 0:b.cover)?void 0:g.backgroundImage)?(s(),a("div",{key:0,class:"fbs-calendar-each-task-cover",style:S({backgroundColor:null==(C=null==(f=p.settings)?void 0:f.cover)?void 0:C.backgroundColor,backgroundImage:(null==($=null==(T=p.settings)?void 0:T.cover)?void 0:$.backgroundImage)?`url(${p.settings.cover.backgroundImage})`:""})},null,4)):y("",!0),(s(),a("div",{id:"fbs-calendar-each-task-"+p.id,key:p.id,class:"fbs-calendar-each-task-card",onClick:h(e=>_.showTask(p),["stop"])},[i("div",LF,[i("span",null,o(_.taskTitle(p.title)),1),p.repeat_task_meta?(s(),c(I,{key:0,class:"fbs-repeat-task-icon",title:e.$t("Recurring Task")},{default:n(()=>[l(A)]),_:1},8,["title"])):y("",!0)]),i("div",MF,[i("span",{class:k(["fbs-calendar-priority-chip","fbs-calendar-priority-chip--"+_.taskPriorityForClass(p)]),title:_.taskPriorityLabel(p)},[l(v,{"icon-name":_.taskPriorityIconName(p)},null,8,["icon-name"])],10,xF),p.assignees&&p.assignees.length?(s(),a("span",PF,[(s(!0),a(r,null,d(p.assignees.slice(0,2),t=>(s(),a("img",{key:t.ID,src:t.photo,alt:t.display_name||e.$t("User Avatar"),title:t.display_name},null,8,FF))),128)),p.assignees.length>2?(s(),a("span",EF," +"+o(p.assignees.length-2),1)):y("",!0)])):y("",!0),_.getTaskCommentCount(p)?(s(),a("span",{key:1,class:"fbs-calendar-task-comments",title:e.$t("Total Comments")},[t[4]||(t[4]=i("svg",{xmlns:"http://www.w3.org/2000/svg",width:"12",height:"12",viewBox:"0 0 16 16",fill:"none","aria-hidden":"true"},[i("path",{d:"M4.673 12.2001L2 14.3001V3.2001C2 3.04097 2.06321 2.88836 2.17574 2.77583C2.28826 2.66331 2.44087 2.6001 2.6 2.6001H13.4C13.5591 2.6001 13.7117 2.66331 13.8243 2.77583C13.9368 2.88836 14 3.04097 14 3.2001V11.6001C14 11.7592 13.9368 11.9118 13.8243 12.0244C13.7117 12.1369 13.5591 12.2001 13.4 12.2001H4.673ZM4.2578 11.0001H12.8V3.8001H3.2V11.8311L4.2578 11.0001ZM5.6 6.8001H10.4V8.0001H5.6V6.8001Z",fill:"currentColor"})],-1)),w(" "+o(_.getTaskCommentCount(p)),1)],8,UF)):y("",!0)])],8,BF))],2)]}),_:2},1024)],8,AF)]),_:2},1040,["list","onEnd","onStart","component-data","data-day"])]),i("div",OF,[i("span",null,o(_.getDateOnly(u.day)),1)]),_.canModifyBoard?(s(),c(D,{key:0,content:_.addTaskLabel,placement:"top"},{default:n(()=>[l(C,{onClick:h(e=>_.openCreateTaskDialog(u.day),["stop"]),class:"fbs-cal-date-plus-button","aria-label":_.addTaskLabel},{default:n(()=>[i("span",RF,[l(v,{"icon-name":"plus"})])]),_:1},8,["onClick","aria-label"])]),_:2},1032,["content"])):y("",!0)]),_:1})):"week"===m.currentView?(s(),a("div",NF,[i("div",HF,[(s(!0),a(r,null,d(m.weekDays,r=>(s(),a("div",null,[i("div",{"data-stageDate":r.date,class:"fbs_board_view__section_board"},[i("div",zF,[i("div",GF,[i("div",qF,[i("div",WF,[l(D,{content:r.day,class:"fbs-box-item",effect:"dark",placement:"top"},{default:n(()=>[i("div",null,[i("p",KF,o(r.day),1)])]),_:2},1032,["content"]),i("span",ZF,o(r.tasks.length),1)])]),_.canModifyBoard?(s(),a("div",YF,[l(D,{content:_.addTaskLabel,class:"fbs-box-item",effect:"dark",placement:"top"},{default:n(()=>[l(C,{class:"fbs-show-task-add-button-on-top",onClick:e=>_.showTaskAddAtTop(r.date)},{default:n(()=>[l(I,null,{default:n(()=>[l(M)]),_:1})]),_:1},8,["onClick"])]),_:2},1032,["content"])])):y("",!0)])]),l(B,F({group:"taskGroup",modelValue:r.tasks,"onUpdate:modelValue":e=>r.tasks=e,"item-key":"id",onEnd:e=>_.dragEndHandler(e,r.date),onStart:e=>_.dragStartHandler(e,r.date),class:"fbs_task_group_drag","component-data":{tag:"div",type:"transition-group",name:m.drag?null:"flip-list"}},{ref_for:!0},_.weekDaysTaskDrag,{"drag-class":"dragging","data-day":r.date,delay:10}),W({item:n(({element:t,index:i})=>[(s(),a("div",{class:k(["task_values fbs_board_section__task_lists"]),id:"fbs_task_"+t.id,"data-index":i,"data-taskId":t.id,"data-boardId":t.board_id,key:t.id},[l(D,{class:"fbs-box-item",effect:"dark",content:"start"===t.dayTaskType?"Start Date":"End Date",placement:"top"},{default:n(()=>[l(x,{stages:e.stages,task:t},null,8,["stages","task"])]),_:2},1032,["content"])],8,JF))]),header:n(()=>[i("div",{class:k([0==r.tasks.length?"fbs_board_task_add_border_radius":"","fbs_board_task_add"])},null,2)]),default:n(()=>[t[6]||(t[6]=w(" s ",-1))]),_:2},[_.canModifyBoard?{name:"footer",fn:n(()=>[i("div",QF,[i("p",XF,[i("span",{onClick:e=>_.openCreateTaskDialog(r.date),class:"fbs-add-task-div","aria-label":_.addTaskLabel},[...t[5]||(t[5]=[i("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",focusable:"false"},[i("path",{d:"M12 6V18M18 12L6 12",stroke:"#1B2533","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"})],-1)])],8,eE)])])]),key:"0"}:void 0]),1040,["modelValue","onUpdate:modelValue","onEnd","onStart","component-data","data-day"])],8,jF)]))),256))])])):y("",!0)]),l(P,{started_at:m.taskCreateDate.started_at,due_at:m.taskCreateDate.due_at,ref:"createTask","view-type":"Calendar"},null,8,["started_at","due_at"])])),[[E,u.boardLoading]])}]]);let sE=0;const aE={class:"fbs-empty-state fbs-gantt-empty-visual-state"},iE={class:"fbs-empty-state__icon-svg",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 166 128",fill:"none","aria-hidden":"true",focusable:"false"},oE=["filter"],lE=["fill"],nE=["fill"],rE=["fill"],dE=["fill"],cE=["id"],hE=["id"],uE=["id"],pE={key:0,class:"fbs-empty-state__content"},mE={class:"fbs-empty-state__message"};const bE={name:"GanttEmptyState",components:{GanttEmptyVisualState:Ss({name:"GanttEmptyStateVisual",props:{message:{type:String,default:""},iconWidth:{type:[String,Number],default:83},iconHeight:{type:[String,Number],default:64}},data:()=>(sE+=1,{svgIdPrefix:`fbs-gantt-empty-state-${sE}`}),computed:{normalizedIconWidth(){return this.normalizeIconSize(this.iconWidth)},normalizedIconHeight(){return this.normalizeIconSize(this.iconHeight)},iconStyle(){return{"--fbs-empty-state-icon-width":this.normalizedIconWidth,"--fbs-empty-state-icon-height":this.normalizedIconHeight}},backgroundGradientId(){return`${this.svgIdPrefix}-background-gradient`},taskBarGradientId(){return`${this.svgIdPrefix}-task-bar-gradient`},shadowFilterId(){return`${this.svgIdPrefix}-shadow-filter`},backgroundGradientUrl(){return`url(#${this.backgroundGradientId})`},taskBarGradientUrl(){return`url(#${this.taskBarGradientId})`},shadowFilterUrl(){return`url(#${this.shadowFilterId})`}},methods:{normalizeIconSize:e=>"number"==typeof e?`${e}px`:e}},[["render",function(e,t,l,n,r,d){return s(),a("div",aE,[i("div",{class:"fbs-empty-state__icon",style:S(d.iconStyle)},[(s(),a("svg",iE,[t[5]||(t[5]=i("circle",{cx:"9",cy:"94",r:"5",fill:"#EAEEF9"},null,-1)),t[6]||(t[6]=i("circle",{cx:"154",cy:"70",r:"4",fill:"#EAEEF9"},null,-1)),t[7]||(t[7]=i("circle",{cx:"11",cy:"18",r:"3",fill:"#EAEEF9"},null,-1)),i("g",{filter:d.shadowFilterUrl},[i("rect",{x:"18.75",y:"19.75",width:"128.5",height:"88.5",rx:"8.25",fill:d.backgroundGradientUrl,stroke:"#D6DCE8","stroke-width":"1.5"},null,8,lE),t[0]||(t[0]=V('<path d="M52.5 20.5V107.5" stroke="#D6DCE8" stroke-width="1.5"></path><path d="M76 20.5V107.5" stroke="#E5EAF3" stroke-dasharray="4 4"></path><path d="M99 20.5V107.5" stroke="#E5EAF3" stroke-dasharray="4 4"></path><path d="M122 20.5V107.5" stroke="#E5EAF3" stroke-dasharray="4 4"></path><rect x="27" y="38" width="18" height="5" rx="2.5" fill="#D5DDEA"></rect><rect x="27" y="59" width="18" height="5" rx="2.5" fill="#D5DDEA"></rect><rect x="27" y="80" width="18" height="5" rx="2.5" fill="#D5DDEA"></rect>',7)),i("rect",{x:"59",y:"32",width:"57",height:"14",rx:"5",fill:d.taskBarGradientUrl},null,8,nE),i("rect",{x:"79",y:"53",width:"54",height:"14",rx:"5",fill:d.taskBarGradientUrl},null,8,rE),i("rect",{x:"105",y:"74",width:"35",height:"14",rx:"5",fill:d.taskBarGradientUrl},null,8,dE),t[1]||(t[1]=V('<rect x="60" y="94" width="65" height="10" rx="4" fill="#FDFEFF" stroke="#AEBBDD" stroke-width="1.5" stroke-dasharray="4 3"></rect><g stroke="#AEBBDD" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><rect x="132" y="93" width="10" height="11" rx="2"></rect><path d="M132 97H142"></path><path d="M135 91.5V94.5"></path><path d="M139 91.5V94.5"></path></g>',2))],8,oE),i("defs",null,[i("linearGradient",{id:d.backgroundGradientId,x1:"83",y1:"20",x2:"83",y2:"108",gradientUnits:"userSpaceOnUse"},[...t[2]||(t[2]=[i("stop",{"stop-color":"#FDFEFF"},null,-1),i("stop",{offset:"1","stop-color":"#F7F9FC"},null,-1)])],8,cE),i("linearGradient",{id:d.taskBarGradientId,x1:"59",y1:"39",x2:"140",y2:"39",gradientUnits:"userSpaceOnUse"},[...t[3]||(t[3]=[i("stop",{"stop-color":"#B8C4DB"},null,-1),i("stop",{offset:"1","stop-color":"#D5DDEA"},null,-1)])],8,hE),i("filter",{id:d.shadowFilterId,x:"14",y:"17",width:"138",height:"97",filterUnits:"userSpaceOnUse","color-interpolation-filters":"sRGB"},[...t[4]||(t[4]=[V('<feFlood flood-opacity="0" result="BackgroundImageFix"></feFlood><feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"></feColorMatrix><feOffset dy="2"></feOffset><feGaussianBlur stdDeviation="2"></feGaussianBlur><feColorMatrix type="matrix" values="0 0 0 0 0.397708 0 0 0 0 0.47749 0 0 0 0 0.575 0 0 0 0.14 0"></feColorMatrix><feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow"></feBlend><feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow" result="shape"></feBlend>',7)])],8,uE)])]))],4),l.message?(s(),a("div",pE,[i("p",mE,o(e.$t(l.message)),1)])):y("",!0)])}]])},props:{type:{type:String,default:"no-tasks",validator:e=>["no-tasks","no-dates","filtered-empty"].includes(e)},canEditTasks:{type:Boolean,default:!1},isRoadmapBoard:{type:Boolean,default:!1}},emits:["clear-filters","create-task"],computed:{emptyStateContent(){return"no-tasks"===this.type?{title:this.isRoadmapBoard?this.$t("Start with your first idea"):this.$t("Start with your first task"),description:this.isRoadmapBoard?this.$t("Create an idea and add dates to start mapping work on the timeline."):this.$t("Create a task and add dates to start mapping work on the timeline.")}:"no-dates"===this.type?{title:"",description:"",message:this.isRoadmapBoard?"Add start and due dates to show ideas on the timeline.":"Add start and due dates to show tasks on the timeline."}:{title:this.isRoadmapBoard?this.$t("No ideas match your filters"):this.$t("No tasks match your filters"),description:this.isRoadmapBoard?this.$t("Try adjusting your filters to see more ideas."):this.$t("Try adjusting your filters to see more tasks.")}},primaryActionLabel(){return"no-tasks"===this.type||"no-dates"===this.type?this.canEditTasks?this.createItemLabel:"":"filtered-empty"===this.type?this.$t("Clear Filters"):""},createItemLabel(){return this.isRoadmapBoard?this.$t("Create Idea"):this.$t("Create Task")}},methods:{handlePrimaryAction(){"no-tasks"!==this.type?"no-dates"===this.type&&this.canEditTasks?this.$emit("create-task"):"filtered-empty"===this.type&&this.$emit("clear-filters"):this.$emit("create-task")}}},gE={class:"fbs-gantt-empty-shell"},fE={class:"fbs-gantt-empty-copy"},_E={key:0},kE={key:1},vE={key:2,class:"fbs-gantt-empty-actions"};const yE=Ss(bE,[["render",function(e,t,d,h,u,p){const m=b("gantt-empty-visual-state"),g=ze;return s(),a("div",{class:k(["fbs-gantt-empty-state",`fbs-gantt-empty-state--${d.type}`])},[i("div",gE,[p.emptyStateContent.message?(s(),c(m,{key:0,message:p.emptyStateContent.message,"icon-width":124.5,"icon-height":96},null,8,["message"])):(s(),a(r,{key:1},[t[0]||(t[0]=V('<div class="fbs-gantt-empty-mark" aria-hidden="true"><div class="fbs-gantt-empty-mark-labels"><span></span><span></span><span></span></div><div class="fbs-gantt-empty-mark-timeline"><span class="fbs-gantt-empty-mark-grid"></span><span class="fbs-gantt-empty-mark-grid"></span><span class="fbs-gantt-empty-mark-grid"></span><span class="fbs-gantt-empty-mark-bar fbs-gantt-empty-mark-bar--first"></span><span class="fbs-gantt-empty-mark-bar fbs-gantt-empty-mark-bar--second"></span><span class="fbs-gantt-empty-mark-bar fbs-gantt-empty-mark-bar--third"></span></div></div>',1)),i("div",fE,[p.emptyStateContent.title?(s(),a("h3",_E,o(p.emptyStateContent.title),1)):y("",!0),p.emptyStateContent.description?(s(),a("p",kE,o(p.emptyStateContent.description),1)):y("",!0)])],64)),p.primaryActionLabel?(s(),a("div",vE,[l(g,{type:"primary",size:"small",onClick:p.handlePrimaryAction},{default:n(()=>[w(o(p.primaryActionLabel),1)]),_:1},8,["onClick"])])):y("",!0)])],2)}]]),wE=["title"],CE=["title","aria-label"],TE={key:0,xmlns:"http://www.w3.org/2000/svg",width:"10",height:"12",viewBox:"0 0 16 16",fill:"none",focusable:"false"},SE={key:1,xmlns:"http://www.w3.org/2000/svg",width:"12",height:"12",viewBox:"0 0 16 16",focusable:"false"},$E={key:2,xmlns:"http://www.w3.org/2000/svg",width:"10",height:"12",viewBox:"0 0 10 12",fill:"none",focusable:"false"},VE={key:3,xmlns:"http://www.w3.org/2000/svg",width:"10",height:"12",viewBox:"0 0 10 12",fill:"none",focusable:"false"},AE={key:4,xmlns:"http://www.w3.org/2000/svg",width:"10",height:"12",viewBox:"0 0 10 12",fill:"none",focusable:"false"},IE={class:"fbs-gantt-bar-title-text"},DE={key:1,class:"fbs-gantt-avatar-stack"},BE=["src","alt"],LE={key:1};const ME=Ss({name:"GanttTaskBarContent",props:{task:{type:Object,required:!0}},computed:{isOverdue(){return"closed"!==this.task.status&&!!this.task.isOverdue},taskCover(){var e,t;return this.task.cover||(null==(t=null==(e=this.task.original_task)?void 0:e.settings)?void 0:t.cover)||{}},hasTaskCover(){return Boolean(this.taskCover.backgroundColor||this.taskCover.backgroundImage)},taskCoverStyle(){const e={};return this.taskCover.backgroundColor&&(e.backgroundColor=this.taskCover.backgroundColor),this.taskCover.backgroundImage&&(e.backgroundImage=`url(${this.taskCover.backgroundImage})`),e}},methods:{getAvatarInitial:e=>(e||"?").trim().charAt(0).toUpperCase()}},[["render",function(e,t,l,n,c,h){return s(),a("div",{class:k(["fbs-gantt-bar-content",{"is-overdue":h.isOverdue,"has-cover":h.hasTaskCover}])},[h.hasTaskCover?(s(),a("span",{key:0,class:"fbs-gantt-bar-cover",style:S(h.taskCoverStyle),"aria-hidden":"true"},null,4)):y("",!0),i("span",{class:"fbs-gantt-bar-title",title:l.task.name},[i("span",{class:k(["fbs-gantt-bar-priority","is-"+l.task.priorityKey]),title:l.task.priorityLabel,"aria-label":l.task.priorityLabel,role:"img"},["none"===l.task.priorityKey?(s(),a("svg",TE,[...t[0]||(t[0]=[i("path",{d:"M3 7.25H6.2V8.75H3V7.25ZM7.4 7.25H10.6V8.75H7.4V7.25ZM11.8 7.25H15V8.75H11.8V7.25Z",fill:"currentColor"},null,-1)])])):"urgent"===l.task.priorityKey?(s(),a("svg",SE,[...t[1]||(t[1]=[i("path",{d:"M3 1C1.91067 1 1 1.91067 1 3V13C1 14.0893 1.91067 15 3 15H13C14.0893 15 15 14.0893 15 13V3C15 1.91067 14.0893 1 13 1H3ZM7 4L9 4L8.75391 8.99836H7.25L7 4ZM9 11C9 11.5523 8.55228 12 8 12C7.44772 12 7 11.5523 7 11C7 10.4477 7.44772 10 8 10C8.55228 10 9 10.4477 9 11Z",fill:"currentColor"},null,-1)])])):"high"===l.task.priorityKey?(s(),a("svg",$E,[...t[2]||(t[2]=[i("path",{d:"M9.23077 0H8.46154C8.0367 0 7.69231 0.447715 7.69231 1V11C7.69231 11.5523 8.0367 12 8.46154 12H9.23077C9.6556 12 10 11.5523 10 11V1C10 0.447715 9.6556 0 9.23077 0Z",fill:"currentColor"},null,-1),i("path",{d:"M1.53846 6H0.769231C0.344396 6 0 6.44772 0 7V11C0 11.5523 0.344396 12 0.769231 12H1.53846C1.9633 12 2.30769 11.5523 2.30769 11V7C2.30769 6.44772 1.9633 6 1.53846 6Z",fill:"currentColor"},null,-1),i("path",{d:"M5.38462 3H4.61539C4.19055 3 3.84615 3.44772 3.84615 4V11C3.84615 11.5523 4.19055 12 4.61539 12H5.38462C5.80945 12 6.15385 11.5523 6.15385 11V4C6.15385 3.44772 5.80945 3 5.38462 3Z",fill:"currentColor"},null,-1)])])):"medium"===l.task.priorityKey?(s(),a("svg",VE,[...t[3]||(t[3]=[i("path",{class:"fbs-gantt-bar-priority-muted",d:"M9.23077 0H8.46154C8.0367 0 7.69231 0.447715 7.69231 1V11C7.69231 11.5523 8.0367 12 8.46154 12H9.23077C9.6556 12 10 11.5523 10 11V1C10 0.447715 9.6556 0 9.23077 0Z",fill:"currentColor"},null,-1),i("path",{d:"M1.53846 6H0.769231C0.344396 6 0 6.44772 0 7V11C0 11.5523 0.344396 12 0.769231 12H1.53846C1.9633 12 2.30769 11.5523 2.30769 11V7C2.30769 6.44772 1.9633 6 1.53846 6Z",fill:"currentColor"},null,-1),i("path",{d:"M5.38462 3H4.61538C4.19055 3 3.84615 3.44772 3.84615 4V11C3.84615 11.5523 4.19055 12 4.61538 12H5.38462C5.80945 12 6.15385 11.5523 6.15385 11V4C6.15385 3.44772 5.80945 3 5.38462 3Z",fill:"currentColor"},null,-1)])])):(s(),a("svg",AE,[...t[4]||(t[4]=[i("path",{class:"fbs-gantt-bar-priority-muted",d:"M9.23077 0H8.46154C8.0367 0 7.69231 0.447715 7.69231 1V11C7.69231 11.5523 8.0367 12 8.46154 12H9.23077C9.6556 12 10 11.5523 10 11V1C10 0.447715 9.6556 0 9.23077 0Z",fill:"currentColor"},null,-1),i("path",{d:"M1.53846 6H0.769231C0.344396 6 0 6.44772 0 7V11C0 11.5523 0.344396 12 0.769231 12H1.53846C1.9633 12 2.30769 11.5523 2.30769 11V7C2.30769 6.44772 1.9633 6 1.53846 6Z",fill:"currentColor"},null,-1),i("path",{class:"fbs-gantt-bar-priority-muted",d:"M5.38462 3H4.61539C4.19055 3 3.84615 3.44772 3.84615 4V11C3.84615 11.5523 4.19055 12 4.61539 12H5.38462C5.80945 12 6.15385 11.5523 6.15385 11V4C6.15385 3.44772 5.80945 3 5.38462 3Z",fill:"currentColor"},null,-1)])]))],10,CE),i("span",IE,o(l.task.name),1)],8,wE),l.task.avatar&&l.task.avatar.length?(s(),a("span",DE,[(s(!0),a(r,null,d(l.task.avatar.slice(0,2),(t,i)=>(s(),a("span",{key:i,class:"fbs-gantt-avatar"},["string"==typeof t?(s(),a("img",{key:0,src:t,alt:l.task.assigneeName[i]||e.$t("Assignee")},null,8,BE)):(s(),a("span",LE,o(h.getAvatarInitial(t.name)),1))]))),128))])):y("",!0)],2)}]]);function xE(e,t=[]){const s=t.find(t=>parseInt(t.id)===parseInt(e.stage_id)),a=GE(e.priority);return{id:parseInt(e.id),name:e.title||"Untitled Task",startDate:EE(e.started_at),endDate:EE(e.due_at),progress:OE(e),assignee:RE(e),assigneeName:HE(e),avatar:jE(e),assigneeAvatar:NE(e),status:e.status||"open",priority:e.priority||"",priorityKey:a.key,priorityLabel:a.label,priorityColor:a.color,priorityBgColor:a.bgColor,cover:PE(e),stageName:(null==s?void 0:s.title)||"",stageColor:(null==s?void 0:s.bg_color)||"#E5E7EB",type:"task",board_id:e.board_id,stage_id:e.stage_id,original_task:e,predecessor:e.predecessor_ids||[],attachmentCount:zE(e,["attachments_count","attachment_count","attachmentsCount"]),commentCount:zE(e,["comments_count","comment_count","commentsCount"]),barColor:KE(e,s),isOverdue:e.isOverdue||!1}}function PE(e){var t;const s=(null==(t=e.settings)?void 0:t.cover)||{};return{backgroundColor:s.backgroundColor||"",backgroundImage:s.backgroundImage||""}}function FE(e,t=[],s={}){return e.map((e,a)=>{const i=t.find(t=>parseInt(t.id)===parseInt(e.id||e.stage_id))||e,o=function(e,t=0){return-Math.abs(parseInt(e)||t+1)}(parseInt((null==i?void 0:i.id)||e.id||e.stage_id),a),l=(e.tasks||[]).filter(e=>kl(e.started_at)&&kl(e.due_at)).map(e=>(e.predecessor_ids=s[e.id]||[],{...xE(e,t),parentId:o}));if(!l.length)return null;const n=function(e){if(!e||0===e.length){const e=A();return{startDate:e.subtract(1,"month").format("YYYY-MM-DD"),endDate:e.add(2,"month").format("YYYY-MM-DD")}}let t=null,s=null;return e.forEach(e=>{const a=A(e.startDate),i=A(e.endDate);t&&!a.isBefore(t)||(t=a),s&&!i.isAfter(s)||(s=i)}),{startDate:t.subtract(1,"week").format("YYYY-MM-DD"),endDate:s.add(1,"week").format("YYYY-MM-DD")}}(l);return{id:o,name:(null==i?void 0:i.title)||e.title||"Stage",stageName:(null==i?void 0:i.title)||e.title||"Stage",stageColor:(null==i?void 0:i.bg_color)||"#E5E7EB",startDate:n.startDate,endDate:n.endDate,progress:qE(l),type:"stage-group",isParent:!0,isEditable:!1,collapsed:!1,taskCount:l.length,children:l}}).filter(Boolean)}function EE(e){return vl(e)}function UE(e,t="09:00:00"){return e?`${e} ${t}`:null}function OE(e){if("closed"===e.status)return 100;const t=e.settings||{},s=t.subtask_count||0,a=t.subtask_completed_count||0;return s>0?Math.round(a/s*100):0}function RE(e){if(e.assignees&&e.assignees.length>0){const t=e.assignees[0];return t.display_name||t.user_email||""}return""}function NE(e){return e.assignees&&e.assignees.length>0&&e.assignees[0].photo||null}function HE(e){return(e.assignees||[]).map(e=>e.display_name||e.user_email||"").filter(Boolean)}function jE(e){return(e.assignees||[]).map(e=>{if(e.photo)return e.photo;const t=e.display_name||e.user_email||"";return t?{isText:!0,name:t}:null}).filter(Boolean)}function zE(e,t=[]){const s=[e,e.settings||{}].flatMap(e=>t.map(t=>e[t])).find(e=>null!=e);return Array.isArray(s)?s.length:parseInt(s)||0}function GE(e){const t={"":{key:"none",label:"No priority",color:"#717784",bgColor:"#F5F7FA"},urgent:{key:"urgent",label:"Urgent",color:"#717784",bgColor:"#F5F7FA"},high:{key:"high",label:"High",color:"#717784",bgColor:"#F5F7FA"},medium:{key:"medium",label:"Medium",color:"#717784",bgColor:"#F5F7FA"},low:{key:"low",label:"Low",color:"#717784",bgColor:"#F5F7FA"}};return t[(e||"").toLowerCase()]||t[""]}function qE(e){if(!e.length)return 0;const t=e.reduce((e,t)=>e+(parseInt(t.progress)||0),0);return Math.round(t/e.length)}const WE=["#6366F1","#0EA5E9","#10B981","#F59E0B","#EF4444","#8B5CF6","#EC4899","#14B8A6"];function KE(e,t){return Ds(e)===Is.OVERDUE?"#F04438":(null==t?void 0:t.bg_color)&&"#f5f5f5"!==t.bg_color?t.bg_color:null!=(null==t?void 0:t.position)?WE[(t.position-1)%WE.length]:WE[0]}const ZE={installs:0,suppressRectKey:Symbol("fbsSuppressGanttLinkTooltipRect"),originalMeasureText:null,originalFillRect:null,originalFillText:null};function YE(e){var t,s;const a=null==e?void 0:e.canvas;return!!a&&("link-drag-guide-canvas"===(null==(t=a.getAttribute)?void 0:t.call(a,"canvas-id"))||(null==(s=a.classList)?void 0:s.contains("link-drag-guide-canvas")))}const JE={name:"GanttChartView",components:{Icons:$s,GanttChart:Ve,TaskListColumn:$e,GanttEmptyState:yE,GanttTaskBarContent:ME,CreateTaskDialog:jP,PriorityBadge:sa},inject:["eventBus"],props:{task_groups:{type:Array,required:!0},boardLoading:{type:Boolean,default:!1}},data:()=>({toolbarConfig:{showAddTask:!1,showAddMilestone:!1,showTodayLocate:!1,showExportCsv:!1,showExportPdf:!1,showLanguage:!1,showTheme:!1,showFullscreen:!1,showViewMode:!1,showTimeScale:!1,showExpandCollapse:!1,defaultTimeScale:"month",timeScaleDimensions:["day","week","month","quarter"]},timeScaleOptions:[{value:"day",label:"Day"},{value:"week",label:"Week"},{value:"month",label:"Month"},{value:"quarter",label:"Quarter"}],taskBarConfig:{showAvatar:!1,showTitle:!0,showProgress:!1,dragThreshold:8,resizeHandleWidth:8},ganttTimeScale:"month",visibleDate:A(),hasManualDateNavigation:!1,dateScrollTimers:[],dayHeaderTimers:[],collapseAnimations:[],updatingTaskIds:new Set,dependencyMap:{},dependencyRequestKey:0}),computed:{...m(js,["board","stages","boardDependencies"]),formattedTasks(){return FE(this.task_groups,this.stages,this.dependencyMap)},filteredTasks(){return this.formattedTasks},flatTaskRows(){return this.formattedTasks.flatMap(e=>e.children||[])},taskLookup(){const e=new Map;return this.flatTaskRows.forEach(t=>{t.original_task&&e.set(parseInt(t.id),t.original_task)}),e},emptyStateType(){return 0===this.task_groups.flatMap(e=>e.tasks||[]).length?"no-tasks":0===this.formattedTasks.length?"no-dates":"filtered-empty"},canEditTasks(){return!this.board.archived_at&&!this.board.isUserOnlyViewer},isRoadmapBoard(){var e;return"roadmap"===(null==(e=this.board)?void 0:e.type)},addTaskLabel(){return this.isRoadmapBoard?this.$t("Add Idea"):this.$t("Add Task")},ganttTimeScaleLabel(){const e=this.timeScaleOptions.find(e=>e.value===this.ganttTimeScale);return this.$t((null==e?void 0:e.label)||"Month")},visibleMonthLabel(){return this.visibleDate.format("MMMM YYYY")},firstTaskStartDate(){const e=this.flatTaskRows.map(e=>A(e.startDate)).filter(e=>e.isValid()).sort((e,t)=>e.valueOf()-t.valueOf());return e.length?e[0]:null},ganttLocaleMessages(){return{"en-US":{addTask:this.addTaskLabel,plannedStartDate:this.$t("Start Date"),plannedEndDate:this.$t("End Date"),predecessorLink:this.$t("Predecessor: {name}"),successorLink:this.$t("Successor: {name}"),predecessorPlaceholder:this.$t("Select predecessor"),selectPredecessor:this.$t("Select Predecessor"),removePredecessor:this.$t("Remove Predecessor"),deleteLinks:this.$t("Delete Links"),noLinks:this.$t("No Links"),predecessor:this.$t("Predecessor"),addPredecessor:this.$t("Add predecessor"),addSuccessor:this.$t("Add successor")}}}},watch:{"board.id"(e,t){e&&e!==t&&(this.hasManualDateNavigation=!1,this.restoreGanttTimeScale(),this.syncGanttDateToTasks({scroll:!0}),this.hasPro&&this.fetchDependencies({clearExisting:!0}))},firstTaskStartDate(){this.syncGanttDateToTasks({scroll:!0})}},mounted(){"undefined"!=typeof document&&document.body.classList.add("fbs-gantt-chart-active"),function(){if("undefined"==typeof window||!window.CanvasRenderingContext2D)return;if(ZE.installs+=1,ZE.installs>1)return;const e=window.CanvasRenderingContext2D.prototype;ZE.originalMeasureText=e.measureText,ZE.originalFillRect=e.fillRect,ZE.originalFillText=e.fillText,e.measureText=function(e){return YE(this)&&e&&(this[ZE.suppressRectKey]=!0),ZE.originalMeasureText.apply(this,arguments)},e.fillRect=function(){if(!YE(this)||!this[ZE.suppressRectKey])return ZE.originalFillRect.apply(this,arguments)},e.fillText=function(e){if(!YE(this)||!e)return ZE.originalFillText.apply(this,arguments);this[ZE.suppressRectKey]=!1}}(),this.syncGanttDateToTasks({scroll:!0})},beforeUnmount(){"undefined"!=typeof document&&document.body.classList.remove("fbs-gantt-chart-active"),function(){if("undefined"==typeof window||!window.CanvasRenderingContext2D||0===ZE.installs)return;if(ZE.installs-=1,ZE.installs>0)return;const e=window.CanvasRenderingContext2D.prototype;e.measureText=ZE.originalMeasureText,e.fillRect=ZE.originalFillRect,e.fillText=ZE.originalFillText,ZE.originalMeasureText=null,ZE.originalFillRect=null,ZE.originalFillText=null}(),this.clearDateScrollTimers(),this.clearGanttDayHeaderTimers(),this.clearCollapseAnimations()},created(){this.restoreGanttTimeScale(),this.hasPro&&this.fetchDependencies({clearExisting:!0})},methods:{...M(js,["setBoardDependencies"]),getGanttTimeScaleStorageKey(){var e;return`fbs_gantt_time_scale_${(null==(e=this.board)?void 0:e.id)||this.$route.params.id||"default"}`},isValidGanttTimeScale:e=>["day","week","month","quarter"].includes(e),restoreGanttTimeScale(){let e="month";try{const t=localStorage.getItem(this.getGanttTimeScaleStorageKey());this.isValidGanttTimeScale(t)&&(e=t)}catch(t){}this.ganttTimeScale=e,this.toolbarConfig={...this.toolbarConfig,defaultTimeScale:e}},saveGanttTimeScale(e){if(this.isValidGanttTimeScale(e)){this.ganttTimeScale=e,this.toolbarConfig={...this.toolbarConfig,defaultTimeScale:e};try{localStorage.setItem(this.getGanttTimeScaleStorageKey(),e)}catch(t){}this.$nextTick(()=>{var t,s;null==(s=null==(t=this.$refs.ganttChart)?void 0:t.setTimeScale)||s.call(t,e),this.scheduleGanttDayHeaderUpdate()})}},captureGanttContentClick(e){var t,s;const a=(null==(t=e.target)?void 0:t.nodeType)===Node.ELEMENT_NODE?e.target:null==(s=e.target)?void 0:s.parentElement;this.prepareStageCollapseAnimation(a)},getCollapseAnimationKey(e,t,s){var a,i,o;const l=e.getAttribute("data-task-id")||(null==(a=e.querySelector("[data-task-id]"))?void 0:a.getAttribute("data-task-id"));if(l)return`${s}:task:${l}`;const n=e.querySelector(".task-bar"),r=(null==n?void 0:n.getAttribute("title"))||(null==(i=null==n?void 0:n.textContent)?void 0:i.trim());if(r)return`${s}:bar:${r}`;const d=null==(o=e.textContent)?void 0:o.trim().replace(/\s+/g," ");return d?`${s}:text:${d}`:`${s}:index:${t}`},getCollapseAnimationSnapshot(e){return[{scope:"list",selector:".task-list-body .task-row"},{scope:"timeline",selector:".timeline-body .task-rows > .task-row"}].flatMap(({scope:t,selector:s})=>Array.from(e.querySelectorAll(s)).map((e,s)=>{const a=e.getBoundingClientRect();return{key:this.getCollapseAnimationKey(e,s,t),rect:{top:a.top,left:a.left}}}))},prepareStageCollapseAnimation(e){var t,s,a,i,o;if(!(null==(t=null==e?void 0:e.closest)?void 0:t.call(e,".task-list-body .collapse-btn"))||(null==(a=null==(s=window.matchMedia)?void 0:s.call(window,"(prefers-reduced-motion: reduce)"))?void 0:a.matches))return;const l=null==(o=null==(i=this.$el)?void 0:i.querySelector)?void 0:o.call(i,".fbs-gantt-library-overrides");if(!l)return;const n=this.getCollapseAnimationSnapshot(l);if(!n.length)return;const r=new Map(n.map(e=>[e.key,e.rect]));window.requestAnimationFrame(()=>{window.requestAnimationFrame(()=>{this.animateStageCollapseRows(l,r)})})},animateStageCollapseRows(e,t){if("undefined"==typeof Element||!Element.prototype.animate)return;this.clearCollapseAnimations();[...Array.from(e.querySelectorAll(".task-list-body .task-row")),...Array.from(e.querySelectorAll(".timeline-body .task-rows > .task-row"))].forEach((e,s)=>{const a=e.closest(".task-list-body")?"list":"timeline",i=this.getCollapseAnimationKey(e,s,a),o=t.get(i);if(!o)return;const l=e.getBoundingClientRect(),n=o.top-l.top,r=o.left-l.left;if(Math.abs(n)<1&&Math.abs(r)<1)return;const d=e.animate([{transform:`translate(${r}px, ${n}px)`},{transform:"translate(0, 0)"}],{duration:220,easing:"cubic-bezier(0.2, 0, 0, 1)"});this.collapseAnimations.push(d)})},clearCollapseAnimations(){this.collapseAnimations.forEach(e=>{var t;return null==(t=e.cancel)?void 0:t.call(e)}),this.collapseAnimations=[]},showTask(e){if(null==e?void 0:e.isParent)return;const t=this.taskLookup.get(parseInt(e.id));t&&this.eventBus.emit("show-task",t)},handleTaskUpdate(e){if(null==e?void 0:e.isParent)return;const t=e.board_id,s=e.id;if(!t||!s)return;if(this.updatingTaskIds.has(s))return;this.updatingTaskIds.add(s);const a=UE(e.startDate,"09:00:00"),i=UE(e.endDate,"23:59:59"),o=this.taskLookup.get(parseInt(s)),l=o?Ae(o):null,n=null==l?void 0:l.started_at,r=null==l?void 0:l.due_at;l&&(l.started_at=a,l.due_at=i),this.$post("projects/"+t+"/tasks/"+s+"/dates",{started_at:a,due_at:i}).then(e=>{if(this.$notify.success({message:e.message||this.$t("Task dates updated")}),l&&e.updatedTasks){const t=e.updatedTasks.find(e=>parseInt(e.id)===parseInt(s));t&&Object.assign(l,t)}}).catch(()=>{l&&(l.started_at=n,l.due_at=r),this.$notify.error({title:this.$t("Error"),message:this.$t("Task dates couldn't be updated. Please try again.")}),this.eventBus.emit("has-board-data-changed")}).finally(()=>{this.updatingTaskIds.delete(s)})},handleAddTask(){this.$refs.createTaskDialog&&this.$refs.createTaskDialog.openDialog()},scrollGanttToToday(){this.hasManualDateNavigation=!0,this.visibleDate=A(),this.scheduleGanttDateScroll({today:!0})},shiftVisibleMonth(e){this.hasManualDateNavigation=!0,this.visibleDate=this.visibleDate.add(e,"month"),this.scheduleGanttDateScroll()},syncGanttDateToTasks({scroll:e=!1}={}){if(!this.hasManualDateNavigation)return"day"===this.ganttTimeScale?(this.visibleDate=A(),void(e&&this.scheduleGanttDateScroll({today:!0}))):void(this.firstTaskStartDate&&(this.visibleDate=this.firstTaskStartDate,e&&this.scheduleGanttDateScroll()))},scheduleGanttDateScroll({today:e=!1}={}){this.clearDateScrollTimers();const t=()=>{var t,s,a,i;e?null==(s=null==(t=this.$refs.ganttChart)?void 0:t.scrollToToday)||s.call(t):null==(i=null==(a=this.$refs.ganttChart)?void 0:a.scrollToDate)||i.call(a,this.visibleDate.format("YYYY-MM-DD"))};this.$nextTick(t),[100,350,800].forEach(e=>{this.dateScrollTimers.push(setTimeout(t,e))}),this.scheduleGanttDayHeaderUpdate()},clearDateScrollTimers(){this.dateScrollTimers.forEach(e=>clearTimeout(e)),this.dateScrollTimers=[]},parseGanttMonthLabel(e){const t=(e||"").trim(),s=t.match(/(\d{4})\D+(\d{1,2})/);if(s)return{year:parseInt(s[1],10),month:parseInt(s[2],10)};const a=t.match(/([A-Za-z]+)\s+(\d{4})|(\d{4})\s+([A-Za-z]+)/);if(!a)return null;const i=(a[1]||a[4]||"").toLowerCase(),o=["january","february","march","april","may","june","july","august","september","october","november","december"].indexOf(i);return-1===o?null:{year:parseInt(a[2]||a[3],10),month:o+1}},getTwoLetterWeekday:e=>["SU","MO","TU","WE","TH","FR","SA"][e.getDay()],enhanceGanttDayHeaders(){var e,t;if("day"!==this.ganttTimeScale)return;const s=null==(t=null==(e=this.$el)?void 0:e.querySelector)?void 0:t.call(e,".fbs-gantt-library-overrides"),a=Array.from((null==s?void 0:s.querySelectorAll(".year-month-row .timeline-month .year-month-label"))||[]),i=Array.from((null==s?void 0:s.querySelectorAll(".days-row .timeline-month-days"))||[]);a.length&&i.length&&i.forEach((e,t)=>{var s;const i=this.parseGanttMonthLabel(null==(s=a[t])?void 0:s.textContent);i&&Array.from(e.querySelectorAll(".timeline-day .day-label")).forEach(e=>{const t=parseInt(e.textContent,10);if(!t)return;const s=new Date(i.year,i.month-1,t);if(s.getFullYear()!==i.year||s.getMonth()!==i.month-1)return;e.textContent="",e.classList.add("fbs-gantt-day-label");const a=document.createElement("span");a.className="fbs-gantt-day-number",a.textContent=String(t).padStart(2,"0");const o=document.createElement("span");o.className="fbs-gantt-day-weekday",o.textContent=this.getTwoLetterWeekday(s),e.append(a,o)})})},scheduleGanttDayHeaderUpdate(){this.clearGanttDayHeaderTimers();const e=()=>this.enhanceGanttDayHeaders();this.$nextTick(e),[100,350,800].forEach(t=>{this.dayHeaderTimers.push(setTimeout(e,t))})},clearGanttDayHeaderTimers(){this.dayHeaderTimers.forEach(e=>clearTimeout(e)),this.dayHeaderTimers=[]},getActiveBoardId(){var e;return this.$route.params.id||(null==(e=this.board)?void 0:e.id)},isActiveBoardRequest(e){return String(this.getActiveBoardId()||"")===String(e||"")},fetchDependencies({clearExisting:e=!1}={}){const t=this.getActiveBoardId();if(!t)return;const s=++this.dependencyRequestKey;e&&(this.dependencyMap={},this.setBoardDependencies([])),this.$get("projects/"+t+"/dependencies").then(e=>{if(s!==this.dependencyRequestKey||!this.isActiveBoardRequest(t))return;const a=e.dependencies||[],i={};a.forEach(e=>{i[e.successor_id]||(i[e.successor_id]=[]),i[e.successor_id].push(e.predecessor_id)}),this.dependencyMap=i,this.setBoardDependencies(a)}).catch(()=>{s===this.dependencyRequestKey&&this.isActiveBoardRequest(t)&&e&&(this.dependencyMap={},this.setBoardDependencies([]))})},addDependencyToStore(e,t){const s=this.dependencyMap[t]||[];s.some(t=>parseInt(t)===parseInt(e))||(this.dependencyMap={...this.dependencyMap,[t]:[...s,e]});this.boardDependencies.some(s=>parseInt(s.predecessor_id)===parseInt(e)&&parseInt(s.successor_id)===parseInt(t))||this.setBoardDependencies([...this.boardDependencies,{predecessor_id:e,successor_id:t}])},removeDependencyFromStore(e,t){const s=parseInt(e),a=parseInt(t);this.dependencyMap=Object.keys(this.dependencyMap).reduce((e,t)=>{const i=parseInt(t),o=(this.dependencyMap[t]||[]).filter(e=>{const t=parseInt(e);return!(t===s&&i===a||t===a&&i===s)});return o.length&&(e[t]=o),e},{}),this.setBoardDependencies(this.boardDependencies.filter(e=>{const t=parseInt(e.predecessor_id),i=parseInt(e.successor_id);return!(t===s&&i===a||t===a&&i===s)}))},handleDependencyCreated({targetTask:e,newTask:t}){var s;if(!this.hasPro)return;const a=(null==(s=this.board)?void 0:s.id)||this.$route.params.id,i=null==e?void 0:e.id,o=null==t?void 0:t.id;i&&o&&this.$post("projects/"+a+"/tasks/"+i+"/dependencies",{predecessor_task_id:o,successor_task_id:i}).then(()=>{this.$notify.success({message:this.$t("Dependency added")}),this.addDependencyToStore(o,i)}).catch(e=>{var t;const s=(null==(t=null==e?void 0:e.responseJSON)?void 0:t.message)||this.$t("Failed to add dependency");this.$notify.error({message:s}),this.eventBus.emit("has-board-data-changed")})},handleSuccessorCreated({targetTask:e,newTask:t}){this.handleDependencyCreated({targetTask:e,newTask:t})},handleDependencyDeleted({sourceTaskId:e,targetTaskId:t}){var s;if(!this.hasPro)return;const a=(null==(s=this.board)?void 0:s.id)||this.$route.params.id;this.$del("projects/"+a+"/tasks/"+e+"/dependencies/"+t).then(()=>{this.$notify.success({message:this.$t("Dependency removed")}),this.removeDependencyFromStore(e,t)}).catch(()=>{this.$notify.error({message:this.$t("Failed to remove dependency")})})}}},QE={class:"fbs-gantt-chart-view"},XE={class:"fbs-gantt-range-bar"},eU={class:"fbs-gantt-range-controls"},tU={class:"fbs-gantt-date-selector"},sU={class:"fbs-gantt-current-month"},aU={class:"icon"},iU={class:"fbs-gantt-task-column-heading"},oU=["onClick"],lU={class:"fbs-gantt-stage-title"},nU={class:"fbs-gantt-stage-count"},rU=["title"],dU={class:"fbs-gantt-task-meta"},cU={key:0,class:"fbs-gantt-count-chip"},hU={key:1,class:"fbs-gantt-count-chip"};const uU=Ss(JE,[["render",function(e,t,u,p,m,_){const v=b("Icons"),C=ze,T=xe,S=Me,$=Pe,V=b("gantt-task-bar-content"),A=b("priority-badge"),I=b("TaskListColumn"),D=b("GanttChart"),B=b("gantt-empty-state"),L=b("create-task-dialog"),M=g("loading");return f((s(),a("div",QE,[i("div",{class:"fbs-gantt-content fbs-gantt-library-overrides",onClickCapture:t[4]||(t[4]=(...e)=>_.captureGanttContentClick&&_.captureGanttContentClick(...e))},[i("div",XE,[i("div",eU,[i("div",tU,[l(C,{"aria-label":e.$t("Previous month"),class:"fbs-gantt-navigation-btn",onClick:t[0]||(t[0]=e=>_.shiftVisibleMonth(-1))},{default:n(()=>[l(v,{"icon-name":"arrow-left"})]),_:1},8,["aria-label"]),i("span",sU,o(_.visibleMonthLabel),1),l(C,{"aria-label":e.$t("Next month"),class:"fbs-gantt-navigation-btn",onClick:t[1]||(t[1]=e=>_.shiftVisibleMonth(1))},{default:n(()=>[l(v,{"icon-name":"arrow-right"})]),_:1},8,["aria-label"])]),l(C,{class:"fbs-gantt-header-btn fbs-gantt-today-btn",onClick:_.scrollGanttToToday},{default:n(()=>[w(o(e.$t("Today")),1)]),_:1},8,["onClick"]),l($,{trigger:"click",placement:"bottom-start","popper-class":"fbs-gantt-time-scale-dropdown",onCommand:_.saveGanttTimeScale},{dropdown:n(()=>[l(S,null,{default:n(()=>[(s(!0),a(r,null,d(m.timeScaleOptions,t=>(s(),c(T,{key:t.value,command:t.value,disabled:t.value===m.ganttTimeScale},{default:n(()=>[w(o(e.$t(t.label)),1)]),_:2},1032,["command","disabled"]))),128))]),_:1})]),default:n(()=>[l(C,{class:"fbs-gantt-header-btn fbs-gantt-time-scale-btn"},{default:n(()=>[i("span",null,o(_.ganttTimeScaleLabel),1),l(v,{"icon-name":"arrow-down"})]),_:1})]),_:1},8,["onCommand"])]),_.canEditTasks?(s(),c(C,{key:0,type:"primary",class:"fbs_mr_0 fbs_ml_0",size:"small","aria-label":_.addTaskLabel,onClick:_.handleAddTask},{default:n(()=>[i("span",aU,[l(v,{"icon-name":"plus"})]),w(" "+o(_.addTaskLabel),1)]),_:1},8,["aria-label","onClick"])):y("",!0)]),_.filteredTasks.length>0?(s(),c(D,{key:0,ref:"ganttChart",tasks:_.filteredTasks,theme:"light","toolbar-config":m.toolbarConfig,"time-scale":m.ganttTimeScale,"use-default-drawer":!1,"allow-drag-and-resize":_.canEditTasks,"row-height":56,"task-bar-config":m.taskBarConfig,"enable-parent-task-auto-schedule":!1,"enable-link-anchor":_.canEditTasks&&e.hasPro,"enable-task-list-context-menu":!1,"enable-task-bar-context-menu":!1,"enable-taskbar-tooltip":!0,locale:"en-US","locale-messages":_.ganttLocaleMessages,"task-list-column-render-mode":"declarative",onTaskClick:_.showTask,onTaskDoubleClick:_.showTask,onTaskbarDragEnd:_.handleTaskUpdate,onTaskbarResizeEnd:_.handleTaskUpdate,onAddTask:_.handleAddTask,onTodayLocate:_.scrollGanttToToday,onPredecessorAdded:_.handleDependencyCreated,onSuccessorAdded:_.handleSuccessorCreated,onLinkDeleted:_.handleDependencyDeleted},{"custom-task-content":n(e=>["task-bar"!==e.type||e.task.isParent?y("",!0):(s(),c(V,{key:0,task:e.task},null,8,["task"]))]),default:n(()=>[l(I,{prop:"name",width:"240"},{header:n(()=>[i("span",iU,o(e.$t("Task Name")),1)]),default:n(({row:e})=>[i("div",{class:k(["fbs-gantt-task-list-content",{"is-stage-row":e.isParent}]),onClick:h(t=>e.isParent?null:_.showTask(e),["stop"])},[e.isParent?(s(),a(r,{key:0},[i("span",lU,o(e.stageName),1),i("span",nU,o(e.taskCount),1)],64)):(s(),a(r,{key:1},[i("span",{class:"fbs-gantt-task-title-text",title:e.name},o(e.name),9,rU),i("span",dU,[i("span",{class:"fbs-gantt-priority-wrapper",onClick:t[2]||(t[2]=h(()=>{},["stop"]))},[l(A,{task:e.original_task||e,disable_save:!0},null,8,["task"])]),e.attachmentCount?(s(),a("span",cU,[t[5]||(t[5]=i("svg",{class:"fbs-gantt-count-icon",xmlns:"http://www.w3.org/2000/svg",width:"8",height:"9",viewBox:"0 0 8 9",fill:"none","aria-hidden":"true",focusable:"false"},[i("path",{d:"M5.38199 2.5429L2.83474 5.09095C2.79173 5.1325 2.75742 5.1822 2.73382 5.23716C2.71022 5.29212 2.69779 5.35122 2.69727 5.41102C2.69675 5.47083 2.70814 5.53014 2.73079 5.5855C2.75344 5.64086 2.78688 5.69115 2.82916 5.73343C2.87145 5.77573 2.92173 5.80917 2.97708 5.83182C3.03243 5.85447 3.09173 5.86587 3.15153 5.86535C3.21133 5.86482 3.27042 5.8524 3.32537 5.8288C3.38032 5.80519 3.43002 5.77087 3.47155 5.72786L6.01926 3.18025C6.27266 2.92682 6.41502 2.58309 6.41502 2.22468C6.41502 1.86627 6.27266 1.52253 6.01926 1.2691C5.76586 1.01566 5.42217 0.873284 5.06381 0.873284C4.70545 0.873284 4.36177 1.01566 4.10837 1.2691L1.56067 3.81716C1.34723 4.0253 1.17724 4.27377 1.06057 4.54814C0.943893 4.82252 0.882846 5.11733 0.880977 5.41547C0.879108 5.71362 0.936455 6.00918 1.04968 6.28499C1.16291 6.5608 1.32978 6.81138 1.54059 7.02219C1.7514 7.233 2.00197 7.39985 2.27776 7.51309C2.55355 7.62629 2.84907 7.68357 3.14718 7.68169C3.44528 7.67974 3.74005 7.61864 4.01436 7.50193C4.28868 7.3852 4.53709 7.21515 4.74518 7.00166L7.29288 4.45406L7.92969 5.09095L5.38199 7.63898C5.08924 7.93183 4.74169 8.16402 4.35919 8.3225C3.97668 8.48097 3.56672 8.5625 3.1527 8.5625C2.73868 8.5625 2.32871 8.48097 1.94621 8.3225C1.56371 8.16402 1.21616 7.93183 0.923402 7.63898C0.630649 7.34621 0.398423 6.99861 0.239985 6.61606C0.0815472 6.2335 0 5.82348 0 5.40941C0 4.99533 0.0815472 4.58531 0.239985 4.20275C0.398423 3.8202 0.630649 3.4726 0.923402 3.1798L3.47155 0.632198C3.89625 0.221955 4.46507 -0.00504615 5.05549 8.51363e-05C5.64591 0.00521642 6.21069 0.24207 6.62819 0.659632C7.0457 1.07719 7.28252 1.64205 7.28765 2.23255C7.29278 2.82305 7.06581 3.39195 6.65562 3.8167L4.10837 6.36565C3.98287 6.49114 3.83389 6.59068 3.66992 6.65858C3.50596 6.72649 3.33023 6.76142 3.15277 6.7614C2.9753 6.76138 2.79958 6.7264 2.63564 6.65846C2.47169 6.59052 2.32272 6.49094 2.19725 6.36543C2.07178 6.23991 1.97226 6.09091 1.90437 5.92692C1.83648 5.76294 1.80154 5.58718 1.80156 5.40969C1.80159 5.23221 1.83656 5.05646 1.90449 4.89249C1.97242 4.72852 2.07198 4.57954 2.19748 4.45406L4.74518 1.906L5.38199 2.5429Z",fill:"currentColor"})],-1)),w(" "+o(e.attachmentCount),1)])):y("",!0),e.commentCount?(s(),a("span",hU,[t[6]||(t[6]=i("svg",{class:"fbs-gantt-count-icon",xmlns:"http://www.w3.org/2000/svg",width:"9",height:"9",viewBox:"0 0 9 9",fill:"none","aria-hidden":"true",focusable:"false"},[i("path",{d:"M2.00475 7.20513L0 8.78125V0.450321C0 0.330888 0.0474106 0.216347 0.131802 0.131896C0.216193 0.0474443 0.330653 0 0.45 0H8.55C8.66932 0 8.78378 0.0474443 8.86823 0.131896C8.9526 0.216347 9 0.330888 9 0.450321V6.75481C9 6.87424 8.9526 6.98878 8.86823 7.07323C8.78378 7.15769 8.66932 7.20513 8.55 7.20513H2.00475ZM1.69335 6.30449H8.1V0.900641H0.9V6.92818L1.69335 6.30449ZM2.7 3.15224H6.3V4.05288H2.7V3.15224Z",fill:"currentColor"})],-1)),w(" "+o(e.commentCount),1)])):y("",!0)])],64))],10,oU)]),_:1})]),_:1},8,["tasks","toolbar-config","time-scale","allow-drag-and-resize","task-bar-config","enable-link-anchor","locale-messages","onTaskClick","onTaskDoubleClick","onTaskbarDragEnd","onTaskbarResizeEnd","onAddTask","onTodayLocate","onPredecessorAdded","onSuccessorAdded","onLinkDeleted"])):u.boardLoading?y("",!0):(s(),c(B,{key:1,type:_.emptyStateType,"can-edit-tasks":_.canEditTasks,"is-roadmap-board":_.isRoadmapBoard,onClearFilters:t[3]||(t[3]=t=>e.$router.replace({query:{}})),onCreateTask:_.handleAddTask},null,8,["type","can-edit-tasks","is-roadmap-board","onCreateTask"]))],32),l(L,{ref:"createTaskDialog","view-type":"Gantt","show-trigger":!1},null,512)])),[[M,u.boardLoading]])}]]);G.setOptions({breaks:!0});const pU={name:"BoardInfoModal",inject:["eventBus"],props:["show","closeBoardInfoDialog"],components:{MilkdownEditor:Kb,Close:dt,FolderRemove:cs,Folder:ds,InfoFilled:vt,CopyDocument:Xe,Link:pt,Plus:Oe},data(){return{editingDescription:!1,editingTitle:!1,isShowModal:!1,isImage:!1,boardDescription:"",pages:[],page_id:null,enable_stage_change_email:!1,boardObject:this.board,selectedFolderId:null,folders:[],selectedFolderTitle:"",showAddToFolder:!1,showFolderOption:!1,publicAccessEnabled:!1,publicAccessLoading:!1}},computed:{...m(js,["boardBackground","board"]),owner(){var e;return null==(e=this.board)?void 0:e.owner},reportUrl(){let e=this.board.id;return"admin"==this.appVars.render_in?`${this.appVars.admin_url}?page=fluent-boards#/reports/tasks?board_id=`+e:`${this.appVars.base_url}reports/tasks?board_id=`+e},roadmapReportUrl(){let e=this.board.id;return"admin"==this.appVars.render_in?`${this.appVars.admin_url}?page=fluent-boards#/reports/roadmap?board_id=`+e:`${this.appVars.base_url}reports/roadmap?board_id=`+e},isAdmin(){return this.$isAdmin()},renderedBoardDescription(){const e=this.board.description;return e?Z.sanitize(G(Fs(e)?Es(e):e)):""},hasBoardDescriptionChanges(){return(this.boardDescription||"")!==(this.board.description||"")}},watch:{show(e){this.isShowModal=e},isShowModal(e){e&&(this.getBoard(),this.isAdmin&&this.getFolders())}},methods:{...M(js,["setBoard"]),editTitle(){this.board.archived_at||this.board.isUserOnlyViewer||(this.editingTitle=!0,this.$nextTick(()=>{this.$refs.board_title.focus()}))},editDescription(){this.board.archived_at||this.board.isUserOnlyViewer||(this.boardDescription=this.board.description,this.editingDescription=!0)},cancelBoardDescriptionEdit(){this.boardDescription=this.board.description,this.editingDescription=!1},saveBoardDescription(){this.editingDescription=!1,this.hasBoardDescriptionChanges&&this.handleUpdateBoardTitleDesc()},handleCloseModal(){this.editingDescription&&this.boardDescription!=this.board.description?tt.confirm(this.$t("Changes that you made may not be saved."),this.$t("Warning"),{confirmButtonText:this.$t("OK"),cancelButtonText:this.$t("Cancel"),type:"warning"}).then(()=>{this.editingDescription=!1,this.$emit("closeBoardInfoDialog",!1)}).catch(()=>{}):(this.editingDescription=!1,this.$emit("closeBoardInfoDialog",!1))},handleUpdateBoardTitleDesc(){this.board.title.trim()?this.$put("projects/"+this.board.id,{title:this.board.title,description:this.boardDescription}).then(e=>{this.editingTitle=!1,this.editingDescription=!1,this.eventBus.emit("board-updated",e.board),this.$notify({message:e.message,type:"success"})}).catch(e=>{this.$handleError(e)}):this.$notify.error({title:this.$t("Error"),message:this.$t("Title cannot be empty")})},async getBoard(){this.$get("projects/"+this.board.id).then(e=>{this.eventBus.emit("board-updated",e.board),this.page_id=this.board.meta.roadmap_page_id,this.enable_stage_change_email=1==this.board.meta.enable_stage_change_email,this.selectedFolderId=e.board.folder?e.board.folder.id:-1,this.isAdmin&&this.appVars.has_pro&&this.fetchPublicAccessSettings()}).catch(e=>{this.$handleError(e)})},async getPages(){this.$get("admin/pages").then(e=>{this.pages=e.pages}).catch(e=>{this.$handleError(e)})},saveRoadmapSettings(){this.$put("projects/"+this.board.id+"/update-board-properties",{page_id:this.page_id,enable_stage_change_email:this.enable_stage_change_email?1:0}).then(e=>{this.$notify({message:e.message,type:"success"}),this.eventBus.emit("board-updated",e.board)}).catch(e=>{this.$handleError(e)})},copyToClipboard(e){const t=`[${e} id="${this.board.id}"]`;if(navigator.clipboard)navigator.clipboard.writeText(t).then(()=>{this.$notify({message:this.$t("Shortcode copied successfully."),type:"success"})}).catch(e=>{});else{let e=document.createElement("textarea");e.value=t,e.style.position="fixed",e.style.top="-9999px",e.style.left="-9999px",document.body.appendChild(e),e.focus(),e.select();try{const e=document.execCommand("copy"),t=e?"successful":"unsuccessful";this.$notify({message:`Shortcode copied ${t}.`,type:e?"success":"error"})}catch(s){this.$notify({message:this.$t("Something went wrong!!"),type:"error"})}document.body.removeChild(e)}},fetchPublicAccessSettings(){this.$get("projects/"+this.board.id+"/public-access-settings").then(e=>{this.publicAccessEnabled=e.enabled}).catch(()=>{})},togglePublicAccess(e){this.publicAccessLoading=!0,this.$put("projects/"+this.board.id+"/toggle-public-access",{enabled:e}).then(e=>{this.publicAccessEnabled=e.enabled,this.$notify({message:e.message,type:"success"})}).catch(t=>{this.publicAccessEnabled=!e,this.$handleError(t)}).finally(()=>{this.publicAccessLoading=!1})},getFolders(){this.$get("admin/folders").then(e=>{this.folders=e.folders,this.folders.unshift({id:-1,title:this.$t("No Folder")})}).catch(e=>{this.$handleError(e)})},updateFolderSelection(){-1==this.selectedFolderId?this.removeFromFolder():this.addToFolder()},addToFolder(){this.selectedFolderId?this.$post(`admin/folders/${this.selectedFolderId}/add-board`,{board_ids:[this.board.id]}).then(e=>{this.$notify({message:e.message,type:"success"}),this.board.folder=this.folders.find(e=>e.id==this.selectedFolderId)}).catch(e=>{this.$handleError(e)}).finally(()=>{this.showAddToFolder=!1,this.showFolderOption=!1}):this.$notify.error({title:this.$t("Error"),message:this.$t("Please select a folder to add the board.")})},removeFromFolder(){this.board.folder?this.$post(`admin/folders/${this.board.folder.id}/remove-board`,{board_id:this.board.id}).then(e=>{this.$notify({message:e.message,type:"success"}),this.board.folder=null}).catch(e=>{this.$handleError(e)}).finally(()=>{this.showAddToFolder=!1,this.showFolderOption=!1}):this.$notify.error({title:this.$t("Error"),message:this.$t("This board is not belong to any folder!")})},cancelFolderSelection(){this.selectedFolderId=this.board.folder?this.board.folder.id:-1,this.showFolderOption=!1,this.showAddToFolder=!1}},async mounted(){this.isImage=this.boardBackground.is_image,this.isAdmin&&await this.getPages()}},mU={class:"fbs_view_description_modal_wrap"},bU={class:"fbs_view_description_title_modal_wrap"},gU={class:"fbs_view_description_modal_header"},fU={class:"fbs_view_description_wrap"},_U=["innerHTML"],kU={key:2,class:"fbs_board_description_editor_wrap"},vU={class:"fbs_board_description_editor_actions"},yU={class:"fbs_view_description_board_infos"},wU={key:0,class:"fbs_view_description_board_info_lists"},CU={key:0},TU={class:"fbs-label"},SU={class:"sub"},$U={style:{float:"left"}},VU={style:{float:"right",color:"var(--el-text-color-secondary)","font-size":"13px"}},AU={class:"fbs-short-code-label"},IU={key:1},DU={class:"fbs-label"},BU={class:"sub"},LU={key:0,class:"sub"},MU={key:2},xU={key:0,class:"fbs-label"},PU=["href"],FU={key:3},EU={class:"fbs-label"},UU={class:"sub"},OU={key:4},RU={class:"fbs-label"},NU={class:"sub"},HU={key:5},jU={class:"fbs-label"},zU={class:"fbs_board_folder"},GU={class:"fbs_board_folder_header"},qU={class:"fbs_folder_label_section"},WU={class:"fbs_folder_label_text"},KU={key:0,class:"fbs_current_folder_display"},ZU={class:"fbs_current_folder_info"},YU={class:"fbs_current_folder_name"},JU={key:1,class:"fbs_current_folder_name"},QU={key:1,class:"fbs_no_folder_display"},XU={class:"fbs_no_folder_text"},eO={key:0,class:"fbs_folder_selection"},tO={class:"fbs_folder_option"},sO={class:"fbs_folder_selection_actions"},aO={class:"fbs_view_description_board_info_lists"},iO={class:"fbs-label"},oO={class:"sub",style:{display:"flex","align-items":"center"}},lO=["src"],nO={key:0},rO={class:"fbs-label"},dO={class:"sub"},cO={key:1},hO={class:"fbs-label"},uO={class:"sub"},pO=["href"],mO={key:2},bO={class:"fbs-label"},gO={class:"sub"},fO=["href"];const _O=Ss(pU,[["render",function(e,t,h,u,p,m){const g=b("Close"),f=Ne,_=He,v=b("milkdown-editor"),C=ze,T=b("InfoFilled"),S=We,$=Be,V=Le,A=b("CopyDocument"),I=b("Link"),D=Jt,B=qe,L=b("Folder"),M=b("Edit"),x=b("FolderRemove"),P=Ge;return s(),c(P,{modelValue:p.isShowModal,"onUpdate:modelValue":t[20]||(t[20]=e=>p.isShowModal=e),"append-to-body":"",class:"fbs_view_description_modal","show-close":!1,"close-on-click-modal":!1,"destroy-on-close":!0},{default:n(()=>{var h,u,b,P,F,E,U,O;return[l(f,{class:"fbs_close_description_modal",onClick:t[0]||(t[0]=e=>m.handleCloseModal())},{default:n(()=>[l(g)]),_:1}),i("div",mU,[i("div",bU,[i("div",gU,[p.editingTitle?(s(),c(_,{key:1,autosize:"",ref:"board_title",id:"fbs_board_title",modelValue:e.board.title,"onUpdate:modelValue":t[2]||(t[2]=t=>e.board.title=t),onChange:t[3]||(t[3]=e=>m.handleUpdateBoardTitleDesc()),onBlur:t[4]||(t[4]=e=>p.editingTitle=!1),type:"textarea",placeholder:e.$t("Please input")},null,8,["modelValue","placeholder"])):(s(),a("h3",{key:0,class:k(["fbs_board_title_text",p.isImage?"fbs-header-title-white":""]),onClick:t[1]||(t[1]=e=>m.editTitle())},o(null==(h=e.board)?void 0:h.title),3))]),i("div",fU,[p.editingDescription||e.board.description&&0!==(null==(b=null==(u=e.board)?void 0:u.description)?void 0:b.trim().length)?y("",!0):(s(),a("p",{key:0,onClick:t[5]||(t[5]=(...e)=>m.editDescription&&m.editDescription(...e)),class:"fbs-board-no-description"},o(e.$t("No description, click to add")),1)),!p.editingDescription&&e.board.description?(s(),a("div",{key:1,class:"fbs-board-description-rendered fbs-task-description-rendered",onClick:t[6]||(t[6]=e=>m.editDescription()),innerHTML:m.renderedBoardDescription},null,8,_U)):y("",!0),p.editingDescription?(s(),a("div",kU,[l(v,{modelValue:p.boardDescription,"onUpdate:modelValue":t[7]||(t[7]=e=>p.boardDescription=e),autofocus:!0,"disable-image-upload":!0,"save-on-blur":!1,placeholder:e.$t("Add a description for this board..."),onSave:m.saveBoardDescription},null,8,["modelValue","placeholder","onSave"]),i("div",vU,[l(C,{size:"small",onClick:m.cancelBoardDescriptionEdit},{default:n(()=>[w(o(e.$t("Cancel")),1)]),_:1},8,["onClick"]),l(C,{type:"primary",size:"small",disabled:!m.hasBoardDescriptionChanges,onClick:m.saveBoardDescription},{default:n(()=>[w(o(e.$t("Save")),1)]),_:1},8,["disabled","onClick"])])])):y("",!0)])]),i("div",yU,[i("h4",null,o(e.$t("Board Info")),1),m.isAdmin?(s(),a("ul",wU,["roadmap"===e.board.type?(s(),a("li",CU,[i("span",TU,[w(o(e.$t("Select Page"))+" ",1),l(S,{content:e.$t("Select Page and paste the following shortcode to display the roadmap in the selected page"),placement:"top"},{default:n(()=>[l(f,{style:{top:"2px",left:"3px"}},{default:n(()=>[l(T)]),_:1})]),_:1},8,["content"])]),i("span",SU,[l(V,{modelValue:p.page_id,"onUpdate:modelValue":t[8]||(t[8]=e=>p.page_id=e),placeholder:e.$t("Select Page"),filterable:"","popper-class":"fbs-tasks-view-popover",onChange:t[9]||(t[9]=e=>m.saveRoadmapSettings())},{default:n(()=>[(s(),c($,{key:-1,label:"No Page",value:""})),(s(!0),a(r,null,d(p.pages,e=>(s(),c($,{key:e.id,label:e.title,value:e.id},{default:n(()=>[i("span",$U,o(e.title),1),i("span",VU," #"+o(e.id),1)]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"]),i("p",AU,"** "+o(e.$t("Copy the following shortcode and paste to the selected page")),1)])])):y("",!0),e.appVars.has_pro?(s(),a("li",IU,[i("span",DU,o(e.$t("Shortcode")),1),i("span",BU,[i("code",{onClick:t[10]||(t[10]=e=>m.copyToClipboard("fluent_board"))},[l(f,null,{default:n(()=>[l(A)]),_:1}),w(' [fluent_board id="'+o(e.board.id)+'"]',1)])]),"roadmap"===e.board.type&&p.page_id?(s(),a("span",LU,[i("code",{onClick:t[11]||(t[11]=e=>m.copyToClipboard("fluent-roadmap"))},[l(f,null,{default:n(()=>[l(A)]),_:1}),w(' [fluent-roadmap id="'+o(e.board.id)+'"]',1)])])):y("",!0)])):y("",!0),"roadmap"===e.board.type?(s(),a("li",MU,[p.page_id?(s(),a("span",xU,[i("a",{target:"_blank",href:e.board.front_url},[l(f,null,{default:n(()=>[l(I)]),_:1}),w(" "+o(e.$t("Go to Roadmap Page")),1)],8,PU)])):y("",!0)])):y("",!0),e.appVars.has_pro?(s(),a("li",FU,[i("span",EU,o(e.$t("Public Access")),1),i("span",UU,[l(D,{modelValue:p.publicAccessEnabled,"onUpdate:modelValue":t[12]||(t[12]=e=>p.publicAccessEnabled=e),loading:p.publicAccessLoading,onChange:m.togglePublicAccess},null,8,["modelValue","loading","onChange"])])])):y("",!0),e.appVars.has_pro&&p.publicAccessEnabled?(s(),a("li",OU,[i("span",RU,o(e.$t("Public Shortcode")),1),i("span",NU,[i("code",{onClick:t[13]||(t[13]=e=>m.copyToClipboard("fluent_board_public"))},[l(f,null,{default:n(()=>[l(A)]),_:1}),w(' [fluent_board_public id="'+o(e.board.id)+'"] ',1)])])])):y("",!0),"roadmap"===e.board.type?(s(),a("li",HU,[i("span",jU,[l(B,{onChange:t[14]||(t[14]=e=>m.saveRoadmapSettings()),modelValue:p.enable_stage_change_email,"onUpdate:modelValue":t[15]||(t[15]=e=>p.enable_stage_change_email=e)},{default:n(()=>[w(o(e.$t("Send Email when Idea Moved")),1)]),_:1},8,["modelValue"]),l(S,{content:e.$t("Send email to the idea submitter, commenters, and, upvoters when the stage is changed"),placement:"top"},{default:n(()=>[l(f,{style:{top:"2px",left:"3px"}},{default:n(()=>[l(T)]),_:1})]),_:1},8,["content"])])])):y("",!0)])):y("",!0),i("div",zU,[i("div",GU,[i("div",qU,[l(f,{class:"fbs_folder_icon"},{default:n(()=>[l(L)]),_:1}),i("span",WU,o(e.$t("Folder")),1)]),e.board.folder&&!p.showFolderOption?(s(),a("div",KU,[i("div",ZU,[e.board.folder.title.length>20?(s(),c(S,{key:0,content:e.board.folder.title,placement:"top"},{default:n(()=>[i("span",YU,o(e.board.folder.title),1)]),_:1},8,["content"])):(s(),a("span",JU,o(e.board.folder.title),1))]),m.isAdmin?(s(),c(C,{key:0,onClick:t[16]||(t[16]=t=>{p.selectedFolderId=e.board.folder.id,p.showFolderOption=!0}),class:"fbs_board_folder_change_button"},{default:n(()=>[l(f,{class:"fbs_board_folder_change_icon"},{default:n(()=>[l(M)]),_:1})]),_:1})):y("",!0)])):e.board.folder||p.showFolderOption?y("",!0):(s(),a("div",QU,[i("span",XU,o(e.$t("No folder")),1),m.isAdmin?(s(),c(C,{key:0,size:"small",type:"primary",class:"fbs_add_to_folder_btn",onClick:t[17]||(t[17]=e=>{p.selectedFolderId=-1,p.showFolderOption=!0}),icon:"Plus"})):y("",!0)]))]),m.isAdmin&&p.showFolderOption?(s(),a("div",eO,[l(V,{modelValue:p.selectedFolderId,"onUpdate:modelValue":t[18]||(t[18]=e=>p.selectedFolderId=e),filterable:"",placeholder:e.$t("Select a folder"),class:"fbs_folder_select",onChange:t[19]||(t[19]=e=>p.showAddToFolder=!0)},{default:n(()=>[(s(!0),a(r,null,d(p.folders,e=>(s(),c($,{key:e.id,label:e.title,value:e.id},{default:n(()=>[i("div",tO,[-1!==e.id?(s(),c(f,{key:0,class:"fbs_folder_option_icon"},{default:n(()=>[l(L)]),_:1})):(s(),c(f,{key:1,class:"fbs_no_folder_option_icon"},{default:n(()=>[l(x)]),_:1})),i("span",null,o(e.title),1)])]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"]),i("div",sO,[p.showAddToFolder?(s(),c(C,{key:0,size:"small",type:"primary",onClick:m.updateFolderSelection},{default:n(()=>[w(o(e.$t("Update")),1)]),_:1},8,["onClick"])):y("",!0),l(C,{size:"small",class:"fbs_cancel_button",onClick:m.cancelFolderSelection},{default:n(()=>[w(o(e.$t("Cancel")),1)]),_:1},8,["onClick"])])])):y("",!0)]),i("ul",aO,[i("li",null,[i("span",iO,o(e.$t("Created By")),1),i("span",oO,[i("img",{style:{width:"30px","border-radius":"50%","margin-right":"5px"},src:null==(P=m.owner)?void 0:P.photo,alt:"avatar"},null,8,lO),w(" "+o((null==(F=m.owner)?void 0:F.display_name)??(null==(E=m.owner)?void 0:E.user_login)),1)])]),(null==(U=e.board)?void 0:U.createdOn)?(s(),a("li",nO,[i("span",rO,o(e.$t("Created On")),1),i("span",dO,o(e.smartDateWithYear(null==(O=e.board)?void 0:O.createdOn)),1)])):y("",!0),e.appVars.has_pro&&"roadmap"!=e.board.type?(s(),a("li",cO,[i("span",hO,o(e.$t("Report")),1),i("span",uO,[i("a",{href:m.reportUrl},o(e.$t("View Report")),9,pO)])])):e.appVars.has_pro&&"roadmap"==e.board.type?(s(),a("li",mO,[i("span",bO,o(e.$t("Report")),1),i("span",gO,[i("a",{href:m.roadmapReportUrl},o(e.$t("View Roadmap Report")),9,fO)])])):y("",!0)])])])]}),_:1},8,["modelValue"])}]]);const kO=Ss({name:"CelebrationAnimation",props:["isCelebration"],mounted(){document.addEventListener("DOMContentLoaded",function(){const e=document.querySelector(".fbs-confetti");document.body.appendChild(e)})}},[["render",function(e,t,i,o,l,n){return s(),a("div",{class:k(["fbs-confetti",i.isCelebration?"fbs-active":""])},[...t[0]||(t[0]=[V('<div class="fbs-confetti-piece"></div><div class="fbs-confetti-piece"></div><div class="fbs-confetti-piece"></div><div class="fbs-confetti-piece"></div><div class="fbs-confetti-piece"></div><div class="fbs-confetti-piece"></div><div class="fbs-confetti-piece"></div><div class="fbs-confetti-piece"></div><div class="fbs-confetti-piece"></div><div class="fbs-confetti-piece"></div><div class="fbs-confetti-piece"></div><div class="fbs-confetti-piece"></div><div class="fbs-confetti-piece"></div><div class="fbs-confetti-piece"></div><div class="fbs-confetti-piece"></div><div class="fbs-confetti-piece"></div><div class="fbs-confetti-piece"></div><div class="fbs-confetti-piece"></div><div class="fbs-confetti-piece"></div><div class="fbs-confetti-piece"></div>',20)])],2)}]]),vO={class:"fbs-lazy-component",ref:"lazyContainer"},yO={key:0,class:"lazy-placeholder"},wO={key:1};const CO=Ss({name:"LazyComponent",data:()=>({isVisible:!1,observer:null}),mounted(){"IntersectionObserver"in window?(this.observer=new IntersectionObserver(e=>{e.forEach(e=>{e.isIntersecting&&(this.isVisible=!0,this.observer.disconnect())})},{rootMargin:"100px"}),this.observer.observe(this.$refs.lazyContainer)):this.isVisible=!0},beforeUnmount(){this.observer&&this.observer.disconnect()}},[["render",function(e,t,i,o,l,n){return s(),a("div",vO,[l.isVisible?y("",!0):(s(),a("div",yO)),l.isVisible?(s(),a("div",wO,[_(e.$slots,"default",{},void 0,!0)])):y("",!0)],512)}],["__scopeId","data-v-12e99bbb"]]),TO={name:"BulkActions",inject:["eventBus"],components:{Close:dt},emits:["action-completed","deselect"],props:{selectedTasks:{type:Array,required:!0},stages:{type:Array,required:!0}},data(){var e;return{selectedAction:"",selectedPriority:null,selectedMembers:[],selectedLabels:[],processing:!1,boardUsers:[],boardLabels:[],priorities:(null==(e=window.fluentAddonVars)?void 0:e.priorities)||{"":"No priority",urgent:"Urgent",high:"High",medium:"Medium",low:"Low"},boards:[],selectedBoardId:null,selectedBoardStages:[],selectedTargetStageId:null,boardsLoading:!1,stagesLoading:!1}},computed:{...m(js,["board"]),buttonText(){return this.$t("Confirm")},priorityOptions(){const e=this.priorities||{},t=["urgent","high","medium","low",""],s=Object.keys(e);return[...t.filter(e=>s.includes(e)),...s.filter(e=>!t.includes(e))].map(t=>({key:t,label:e[t]||t||this.$t("No priority")}))},selectableBoardLabels(){return this.boardLabels.map(e=>({...e,title:e.title||""}))},selectedLabelObjects(){return this.selectedLabels.map(e=>this.selectableBoardLabels.find(t=>String(t.id)===String(e))).filter(Boolean)},visibleSelectedLabelObjects(){return this.selectedLabelObjects.slice(0,1)},hiddenSelectedLabelsCount(){return Math.max(this.selectedLabelObjects.length-this.visibleSelectedLabelObjects.length,0)},isMovingToAnotherBoard(){return this.selectedBoardId&&parseInt(this.selectedBoardId)!==parseInt(this.board.id)}},methods:{handleActionChange(e=this.selectedAction){switch(this.resetActionFields(),this.selectedAction=e,e){case"move_tasks":this.fetchBoardsForMove();break;case"assign_members":this.fetchBoardUsers();break;case"add_labels":this.fetchBoardLabels()}},fetchBoardsForMove(){this.boardsLoading=!0,this.$get("projects/list-of-boards").then(e=>{this.boards=e.boards.filter(e=>!(e.archived_at||e.isUserOnlyViewer)),this.selectedBoardId=this.board.id,this.onBoardChange(this.board.id)}).catch(e=>{this.$handleError(e)}).finally(()=>{this.boardsLoading=!1})},onBoardChange(e){var t;this.stagesLoading=!0;const s=this.boards.find(t=>parseInt(t.id)===parseInt(e));s?(this.selectedBoardStages=s.stages||[],this.selectedTargetStageId=(null==(t=this.selectedBoardStages[0])?void 0:t.id)||null):(this.selectedBoardStages=[],this.selectedTargetStageId=null),this.stagesLoading=!1},formatBoardLabel(e){return(e.title.length>30?e.title.slice(0,30)+"...":e.title)+(parseInt(e.id)===parseInt(this.board.id)?" (current)":"")},fetchBoardUsers(){this.boardUsers.length>0||this.$get("projects/"+this.board.id+"/users").then(e=>{this.boardUsers=e.users||[]}).catch(e=>{this.$handleError(e)})},fetchBoardLabels(){this.boardLabels.length>0||this.$get("projects/"+this.board.id+"/labels").then(e=>{this.boardLabels=e.labels||[]}).catch(e=>{this.$handleError(e)})},performAction(){switch(this.selectedAction){case"move_tasks":this.performMoveTasks();break;case"archive_tasks":this.performArchiveTasks();break;case"change_priority":this.performChangePriority();break;case"assign_members":this.performAssignMembers();break;case"add_labels":this.performAddLabels()}},performMoveTasks(){if(!this.selectedTargetStageId)return void this.$notify({title:this.$t("Warning"),message:this.$t("Please select a stage"),type:"warning"});this.processing=!0;const e={action:"move_tasks",target_stage_id:this.selectedTargetStageId};this.isMovingToAnotherBoard&&(e.target_board_id=this.selectedBoardId),this.performBulkAction(e)},performArchiveTasks(){this.processing=!0,this.performBulkAction({action:"archive_tasks"})},performChangePriority(){null!==this.selectedPriority?(this.processing=!0,this.performBulkAction({action:"change_priority",priority:this.selectedPriority})):this.$notify({title:this.$t("Warning"),message:this.$t("Please select a priority"),type:"warning"})},performAssignMembers(){0!==this.selectedMembers.length?(this.processing=!0,this.performBulkAction({action:"assign_members",user_ids:this.selectedMembers})):this.$notify({title:this.$t("Warning"),message:this.$t("Please select at least one member"),type:"warning"})},performAddLabels(){0!==this.selectedLabels.length?(this.processing=!0,this.performBulkAction({action:"add_labels",label_ids:this.selectedLabels})):this.$notify({title:this.$t("Warning"),message:this.$t("Please select at least one label"),type:"warning"})},performBulkAction(e){if(this.selectedTasks.length>150)return this.$notify({title:this.$t("Warning"),message:this.$t("Cannot process more than 150 tasks at once. Please select fewer tasks."),type:"warning"}),void(this.processing=!1);e.task_ids=this.selectedTasks,this.$post("projects/"+this.board.id+"/tasks/bulk-actions",e).then(t=>{t.failed_tasks&&t.failed_tasks.length>0?this.$notify({title:this.$t("Partial Success"),message:t.message,type:"warning",duration:8e3}):this.$notify({title:this.$t("Success"),message:t.message||this.$t("Bulk action completed successfully"),type:"success"}),"archive_tasks"===e.action&&t.successful_tasks||"move_tasks"===e.action&&e.target_board_id&&t.successful_tasks?t.successful_tasks.forEach(e=>{this.eventBus.emit("fluent-boards-task-removed",e.id)}):t.successful_tasks&&t.successful_tasks.length>0&&this.eventBus.emit("update-tasks",t.successful_tasks),this.resetDialogs(),this.$emit("action-completed")}).catch(e=>{this.$handleError(e)}).finally(()=>{this.processing=!1})},removeSelectedLabel(e){this.selectedLabels=this.selectedLabels.filter(t=>String(t)!==String(e))},resetActionFields(){this.selectedPriority=null,this.selectedMembers=[],this.selectedLabels=[],this.selectedBoardId=null,this.selectedBoardStages=[],this.selectedTargetStageId=null},resetDialogs(){this.selectedAction="",this.resetActionFields()}}},SO={class:"fbs-floating-bulk-actions"},$O={class:"fbs-floating-bulk-bar"},VO={class:"fbs-floating-bulk-count"},AO={class:"fbs-bulk-label-option"},IO={key:0,class:"el-select__selected-item"};const DO=Ss(TO,[["render",function(e,t,h,u,p,m){const _=b("Close"),k=Ne,v=Be,C=Le,T=ts,$=ze,V=g("loading");return s(),c(we,{to:"body"},[i("div",SO,[i("div",$O,[i("button",{type:"button",class:"fbs-floating-bulk-close",onClick:t[0]||(t[0]=t=>e.$emit("deselect"))},[l(k,null,{default:n(()=>[l(_)]),_:1})]),i("div",VO,[i("strong",null,o(h.selectedTasks.length),1),w(" "+o(e.$t("Selected")),1)]),t[8]||(t[8]=i("div",{class:"fbs-floating-bulk-divider"},null,-1)),l(C,{modelValue:p.selectedAction,"onUpdate:modelValue":t[1]||(t[1]=e=>p.selectedAction=e),placeholder:e.$t("Bulk Actions"),class:"fbs-bulk-action-select","popper-class":"fbs-bulk-dropdown",size:"default",onChange:m.handleActionChange},{default:n(()=>[l(v,{label:e.$t("Move Tasks"),value:"move_tasks"},null,8,["label"]),l(v,{label:e.$t("Archive Tasks"),value:"archive_tasks"},null,8,["label"]),l(v,{label:e.$t("Change Priority"),value:"change_priority"},null,8,["label"]),l(v,{label:e.$t("Assign Members"),value:"assign_members"},null,8,["label"]),l(v,{label:e.$t("Add Labels"),value:"add_labels"},null,8,["label"])]),_:1},8,["modelValue","placeholder","onChange"]),p.selectedAction?(s(),a(r,{key:0},["move_tasks"===p.selectedAction?(s(),a(r,{key:0},[f((s(),c(C,{modelValue:p.selectedBoardId,"onUpdate:modelValue":t[2]||(t[2]=e=>p.selectedBoardId=e),onChange:m.onBoardChange,placeholder:e.$t("Select a board"),filterable:"",class:"fbs-bulk-action-field fbs-bulk-action-field-wide","popper-class":"fbs-bulk-dropdown",size:"default"},{default:n(()=>[(s(!0),a(r,null,d(p.boards,e=>(s(),c(v,{key:e.id,label:m.formatBoardLabel(e),value:e.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue","onChange","placeholder"])),[[V,p.boardsLoading]]),f((s(),c(C,{modelValue:p.selectedTargetStageId,"onUpdate:modelValue":t[3]||(t[3]=e=>p.selectedTargetStageId=e),placeholder:e.$t("Select a stage"),filterable:"",class:"fbs-bulk-action-field","popper-class":"fbs-bulk-dropdown",size:"default",disabled:!p.selectedBoardStages.length},{default:n(()=>[(s(!0),a(r,null,d(p.selectedBoardStages,e=>(s(),c(v,{key:e.id,label:e.title,value:e.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder","disabled"])),[[V,p.stagesLoading]])],64)):y("",!0),"change_priority"===p.selectedAction?(s(),c(C,{key:1,modelValue:p.selectedPriority,"onUpdate:modelValue":t[4]||(t[4]=e=>p.selectedPriority=e),placeholder:e.$t("Select Priority"),class:"fbs-bulk-action-field","popper-class":"fbs-bulk-dropdown",size:"default"},{default:n(()=>[(s(!0),a(r,null,d(m.priorityOptions,e=>(s(),c(v,{key:e.key,label:e.label,value:e.key},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])):"assign_members"===p.selectedAction?(s(),c(C,{key:2,modelValue:p.selectedMembers,"onUpdate:modelValue":t[5]||(t[5]=e=>p.selectedMembers=e),placeholder:e.$t("Select Members"),class:"fbs-bulk-action-field fbs-bulk-action-field-wide","popper-class":"fbs-bulk-dropdown",size:"default",multiple:"",filterable:"","collapse-tags":"","collapse-tags-tooltip":"","max-collapse-tags":1},{default:n(()=>[(s(!0),a(r,null,d(p.boardUsers,e=>(s(),c(v,{key:e.ID,label:e.display_name,value:e.ID},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])):"add_labels"===p.selectedAction?(s(),c(C,{key:3,modelValue:p.selectedLabels,"onUpdate:modelValue":t[6]||(t[6]=e=>p.selectedLabels=e),placeholder:e.$t("Select Labels"),class:"fbs-bulk-action-field fbs-bulk-action-field-wide","popper-class":"fbs-bulk-dropdown",size:"default",multiple:"",filterable:"","collapse-tags":"","collapse-tags-tooltip":"","max-collapse-tags":1},{tag:n(()=>[(s(!0),a(r,null,d(m.visibleSelectedLabelObjects,e=>(s(),a("div",{key:e.id,class:"el-select__selected-item"},[l(T,{closable:"",style:S({backgroundColor:e.bg_color,borderColor:"transparent",color:e.color||"var(--fbs-primary-text)"}),onClose:t=>m.removeSelectedLabel(e.id)},{default:n(()=>[w(o(e.title),1)]),_:2},1032,["style","onClose"])]))),128)),m.hiddenSelectedLabelsCount>0?(s(),a("div",IO,[l(T,null,{default:n(()=>[w("+"+o(m.hiddenSelectedLabelsCount),1)]),_:1})])):y("",!0)]),default:n(()=>[(s(!0),a(r,null,d(m.selectableBoardLabels,e=>(s(),c(v,{key:e.id,label:e.title,value:e.id},{default:n(()=>[i("span",AO,[i("span",{class:"fbs-bulk-label",style:S({background:e.bg_color})},o(e.title),5)])]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])):y("",!0),l($,{type:"primary",onClick:m.performAction,loading:p.processing,class:"fbs-bulk-action-confirm"},{default:n(()=>[w(o(m.buttonText),1)]),_:1},8,["onClick","loading"]),i("button",{type:"button",class:"fbs-bulk-action-reset",onClick:t[7]||(t[7]=(...e)=>m.resetDialogs&&m.resetDialogs(...e))},o(e.$t("Cancel")),1)],64)):y("",!0)])])])}]]),BO={name:"TableColumnsPopover",components:{Icons:$s},props:{boardId:{type:[Number,String],default:null}},data:()=>({draftTableviewSettings:{},isTableColumnsPopoverLoading:!0,hasPendingTableColumnChanges:!1,isSavingTableColumns:!1}),computed:{...m(Xi,["tableviewSettings","tableviewSettingsLoaded"]),tableColumnOptions(){return[{key:"table_view_priority",label:this.$t("Priority")},{key:"table_view_status",label:this.$t("Status")},{key:"table_view_dates",label:this.$t("Dates")},{key:"table_view_assignees",label:this.$t("Assignees")},{key:"table_view_labels",label:this.$t("Labels")},{key:"table_view_created_at",label:this.$t("Created At")},{key:"table_view_subtasks",label:this.$t("Subtasks")},{key:"table_view_activity",label:this.$t("Activity")}]}},methods:{...M(Xi,["loadTableviewSettings","setTableviewSettingsLoaded"]),handlePopoverShow(){if(!this.appVars.public_mode){if(this.tableviewSettingsLoaded)return this.isTableColumnsPopoverLoading=!1,void this.syncDraftTableviewSettings();this.isTableColumnsPopoverLoading=!0,this.setTableviewSettingsLoaded(!1),this.$get("get-dashboard-view-settings",{view:"tableview"}).then(e=>{this.loadTableviewSettings(e.currentSettings||{})}).catch(e=>{this.handleError(e),this.setTableviewSettingsLoaded(!0)})}},syncDraftTableviewSettings(){this.draftTableviewSettings={...this.tableviewSettings},this.hasPendingTableColumnChanges=!1},resetDraftTableviewSettings(){this.isSavingTableColumns||this.syncDraftTableviewSettings()},markTableviewSettingsDirty(){this.hasPendingTableColumnChanges=Object.keys(this.tableviewSettings).some(e=>this.tableviewSettings[e]!==this.draftTableviewSettings[e])},toggleDraftTableColumn(e,t){Object.prototype.hasOwnProperty.call(this.draftTableviewSettings,e)&&(this.draftTableviewSettings[e]=t,this.markTableviewSettingsDirty())},saveTableviewSettings(){if(this.appVars.public_mode)return;if(!this.hasPendingTableColumnChanges||this.isSavingTableColumns)return;const e={...this.draftTableviewSettings};this.isSavingTableColumns=!0,this.$put("update-dashboard-view-settings",{updatedSettings:e,view:"tableview"}).then(t=>{this.loadTableviewSettings(e),this.hasPendingTableColumnChanges=!1,this.$notify.success({title:this.$t("Success"),message:t.message})}).catch(e=>{this.handleError(e)}).finally(()=>{this.isSavingTableColumns=!1})}},watch:{tableviewSettingsLoaded:{immediate:!0,handler(e){this.isTableColumnsPopoverLoading=!e,e&&!this.hasPendingTableColumnChanges&&this.syncDraftTableviewSettings()}},tableviewSettings:{handler(){this.tableviewSettingsLoaded&&!this.hasPendingTableColumnChanges&&this.syncDraftTableviewSettings()},deep:!0},boardId(e,t){e&&e!==t&&(this.setTableviewSettingsLoaded(!1),this.isTableColumnsPopoverLoading=!0,this.hasPendingTableColumnChanges=!1)}}},LO={class:"icon"},MO={class:"fbs-table-columns-panel"},xO={class:"fbs-table-columns-panel-header"},PO={class:"fbs-table-columns-list"},FO={class:"fbs-table-columns-actions"};const EO=Ss(BO,[["render",function(e,t,h,u,p,m){const g=b("Icons"),f=ze,_=hs,k=At,v=qe,y=je;return s(),c(y,{placement:"bottom-end",trigger:"click","popper-class":"fbs-table-columns-popover",onShow:m.handlePopoverShow,onHide:m.resetDraftTableviewSettings,width:"200"},{reference:n(()=>[l(f,{size:"small","aria-label":e.$t("Table Columns"),class:"only-icon-btn"},{default:n(()=>[i("span",LO,[l(g,{"icon-name":"column"})])]),_:1},8,["aria-label"])]),default:n(()=>[i("div",MO,[i("div",xO,o(e.$t("Table Columns")),1),p.isTableColumnsPopoverLoading?(s(),c(k,{key:0,animated:"",class:"d-flex flex-column"},{template:n(()=>[(s(!0),a(r,null,d(m.tableColumnOptions,e=>(s(),a("div",{key:e.key,class:"d-flex gap-6",style:{padding:"7px 10px"}},[l(_,{variant:"text",style:{width:"16px",height:"16px","border-radius":"6px"}}),l(_,{variant:"text",style:{flex:"1",height:"16px","border-radius":"6px"}})]))),128))]),_:1})):(s(),a(r,{key:1},[i("div",PO,[(s(!0),a(r,null,d(m.tableColumnOptions,e=>(s(),c(v,{key:e.key,label:e.label,"model-value":p.draftTableviewSettings[e.key],onChange:t=>m.toggleDraftTableColumn(e.key,t)},null,8,["label","model-value","onChange"]))),128))]),i("div",FO,[l(f,{type:"primary",disabled:!p.hasPendingTableColumnChanges,loading:p.isSavingTableColumns,onClick:m.saveTableviewSettings},{default:n(()=>[w(o(e.$t("Save")),1)]),_:1},8,["disabled","loading","onClick"])])],64))])]),_:1},8,["onShow","onHide"])}]]);const UO=Ss({name:"Pagination",props:{pagination:{required:!0,type:Object},extra_sizes:{required:!1,type:Array,default:()=>[]},divide_into_two_column:{type:Boolean,default:()=>!0},layout_data:{required:!1,type:String,default:()=>"total, sizes, prev, pager, next"},hide_pagination_number:{required:!1,type:Number,default:()=>10}},computed:{page_sizes(){const e=[];this.pagination.per_page<10&&e.push(this.pagination.per_page);return[...e,10,20,50,80,100,120,150,...this.extra_sizes]}},methods:{changePage(e){this.pagination.current_page=e,this.$emit("fetch",{page:e,per_page:this.pagination.per_page})},changeSize(e){this.$emit("fetch",{per_page:e})}}},[["render",function(e,t,a,i,o,l){const n=us;return s(),c(n,{"hide-on-single-page":!0,class:k(a.divide_into_two_column?"fbs-fluent-pagination":""),background:!1,layout:a.layout_data,onCurrentChange:l.changePage,onSizeChange:l.changeSize,"page-sizes":l.page_sizes,total:a.pagination.total,"page-count":a.pagination.last_page,"page-size":parseInt(a.pagination.per_page),"current-page":a.pagination.current_page},null,8,["class","layout","onCurrentChange","onSizeChange","page-sizes","total","page-count","page-size","current-page"])}]]),OO={name:"PaginationBar",components:{Icons:$s,Pagination:UO},emits:["fetch"],props:{pagination:{type:Object,required:!0},hide_on_single:{type:Boolean,default:!1},page_sizes:{type:Array,default:()=>[]},extra_sizes:{type:Array,default:()=>[]},wrapperClass:{type:[String,Array,Object],default:""}},computed:{currentPage(){var e;return Number(null==(e=this.pagination)?void 0:e.current_page)||1},totalPages(){var e,t;const s=Number(null==(e=this.pagination)?void 0:e.per_page)||10,a=Number(null==(t=this.pagination)?void 0:t.total)||0;return s?Math.max(1,Math.ceil(a/s)):1},pageSizes(){var e;const t=[],s=parseInt(null==(e=this.pagination)?void 0:e.per_page,10)||10;s<10&&t.push(s);const a=this.page_sizes.length?this.page_sizes:[10,20,50,80,100,120,150];return[...t,...a,...this.extra_sizes]}},methods:{onPerPageChange(e){e&&(this.pagination.per_page=e,this.pagination.current_page=1,this.$emit("fetch"))},goFirst(){this.currentPage<=1||(this.pagination.current_page=1,this.$emit("fetch"))},goLast(){this.currentPage>=this.totalPages||(this.pagination.current_page=this.totalPages,this.$emit("fetch"))}}},RO={class:"fbs_pagination_bar__left"},NO={class:"fbs_pagination_bar__page-info"},HO={class:"fbs_pagination_bar__page-info"},jO={class:"fbs_pagination_bar__right"},zO=["disabled","aria-label"],GO=["disabled","aria-label"];const qO=Ss(OO,[["render",function(e,t,h,u,p,m){const g=Be,f=Le,_=b("Icons"),v=b("pagination");return!h.hide_on_single||m.totalPages>1?(s(),a("div",{key:0,class:k(["fbs_pagination_bar",h.wrapperClass])},[i("div",RO,[i("div",NO,o(e.$t("Page"))+" "+o(h.pagination.current_page)+" "+o(e.$t("of"))+" "+o(m.totalPages),1),l(f,{"model-value":h.pagination.per_page,size:"small",class:"fbs_pagination_bar__sizes","onUpdate:modelValue":m.onPerPageChange},{default:n(()=>[(s(!0),a(r,null,d(m.pageSizes,t=>(s(),c(g,{key:t,label:t+" / "+e.$t("page"),value:t},null,8,["label","value"]))),128))]),_:1},8,["model-value","onUpdate:modelValue"]),i("div",HO,o(e.$t("Total"))+" "+o(h.pagination.total),1)]),i("div",jO,[i("button",{type:"button",class:"fbs_pagination_bar__nav fbs_pagination_bar__nav--first",disabled:m.currentPage<=1,"aria-label":e.$t("First page"),onClick:t[0]||(t[0]=(...e)=>m.goFirst&&m.goFirst(...e))},[l(_,{"icon-name":"double-arrow-left"})],8,zO),l(v,{class:"fbs_pagination_bar__right-inner",layout_data:"prev, pager, next",pagination:h.pagination,divide_into_two_column:!1,onFetch:t[1]||(t[1]=t=>e.$emit("fetch"))},null,8,["pagination"]),i("button",{type:"button",class:"fbs_pagination_bar__nav fbs_pagination_bar__nav--last",disabled:m.currentPage>=m.totalPages,"aria-label":e.$t("Last page"),onClick:t[2]||(t[2]=(...e)=>m.goLast&&m.goLast(...e))},[l(_,{"icon-name":"double-arrow-right"})],8,GO)])],2)):y("",!0)}]]),WO={name:"TableView",emits:["update-search-input"],components:{Icons:$s,DateChanger:ln,PriorityBadge:sa,TaskAssignees:Ha,MoveCard:od,TaskFieldButtons:sM,BoardLabels:Ji,LazyComponent:CO,BulkActions:DO,TableColumnsPopover:EO,CreateTaskDialog:jP,PaginationBar:qO},inject:["eventBus"],props:{task_groups:{type:Array,required:!0},boardLoading:{type:Boolean,default:!1},searchInput:{type:String,default:""},activeFilters:{type:Object,default:()=>({})}},data:()=>({pagination:{current_page:1,per_page:20,total:0,last_page:1},tableRows:[],isLoading:!1,hasLoadedFromStorage:!1,tabId:null,requestSequence:0,searchDebounceTimer:null,tableRefreshHandler:null,sortConfig:{field:null,direction:"asc"},descendingFirstSortOrders:["descending","ascending",null],visibleButtons:new Set,selectedTasks:[]}),computed:{...m(js,["board","stages"]),...m(Xi,["tableviewSettings"]),hasSelection(){return this.selectedTasks.length>0},canCreateTask(){return this.stages.length>0&&!this.board.archived_at&&!this.board.isUserOnlyViewer},isRoadmapBoard(){var e;return"roadmap"===(null==(e=this.board)?void 0:e.type)},itemNameColumnLabel(){return this.isRoadmapBoard?this.$t("Idea"):this.$t("Task Name")},searchPlaceholder(){return this.isRoadmapBoard?this.$t("Search ideas"):this.$t("Search tasks")},addTaskLabel(){return this.isRoadmapBoard?this.$t("Add Idea"):this.$t("Add Task")},supportedPageSizes:()=>[10,20,50,80,100,120,150],tasks(){return this.tableRows},paginatedTasks(){let e=[...this.tasks];this.sortConfig.field&&e.sort((e,t)=>{var s,a,i,o;let l,n;if("title"===this.sortConfig.field){l=(e.title||"").toLowerCase(),n=(t.title||"").toLowerCase();const s=this.naturalSort(l,n);return"asc"===this.sortConfig.direction?s:-s}if("stage_id"===this.sortConfig.field)l=parseInt(e.stage_id,10)||0,n=parseInt(t.stage_id,10)||0;else if("priority"===this.sortConfig.field){const s={"":1,urgent:2,high:3,medium:4,low:5};l=s[(e.priority||"").toLowerCase()]||6,n=s[(t.priority||"").toLowerCase()]||6}else"due_at"===this.sortConfig.field?(l=(null==(s=kl(e.due_at))?void 0:s.getTime())??Number.POSITIVE_INFINITY,n=(null==(a=kl(t.due_at))?void 0:a.getTime())??Number.POSITIVE_INFINITY):"created_at"===this.sortConfig.field?(l=(null==(i=kl(e.created_at))?void 0:i.getTime())??Number.POSITIVE_INFINITY,n=(null==(o=kl(t.created_at))?void 0:o.getTime())??Number.POSITIVE_INFINITY):"vote_statistics"===this.sortConfig.field&&(l=this.getVoteCount(e),n=this.getVoteCount(t));return l<n?"asc"===this.sortConfig.direction?-1:1:l>n?"asc"===this.sortConfig.direction?1:-1:0});const t=(this.pagination.current_page-1)*this.pagination.per_page;return e.map((e,s)=>({...e,index:t+s,stage:this.stages.find(t=>parseInt(t.id)===parseInt(e.stage_id))??{title:e.stage_id}}))},skeletonColumns(){const e=["checkbox","title","buttons","stage"];return this.tableviewSettings.table_view_priority&&e.push("priority"),this.tableviewSettings.table_view_labels&&e.push("labels"),this.tableviewSettings.table_view_dates&&e.push("dates"),this.tableviewSettings.table_view_assignees&&e.push("assignees"),this.tableviewSettings.table_view_status&&e.push("status"),this.isTableColumnVisible("table_view_subtasks")&&e.push("subtasks"),this.isTableColumnVisible("table_view_activity")&&e.push("activity"),this.tableviewSettings.table_view_created_at&&e.push("created-at"),this.isRoadmapBoard&&e.splice(3,0,"votes"),e},skeletonRows(){const e=Math.min(parseInt(this.pagination.per_page,10)||8,8);return Array.from({length:e},(e,t)=>t+1)},showInitialLoader(){return(this.isLoading||this.boardLoading)&&!this.tasks.length}},methods:{isTableColumnVisible(e){return!["table_view_subtasks","table_view_activity"].includes(e)&&this.tableviewSettings[e]},getStorageKey(){var e;return`fbs_table_pagination_${(null==(e=this.board)?void 0:e.id)||"default"}_${this.tabId}`},generateTabId(){let e=sessionStorage.getItem("fbs_tab_id");return e||(e=Date.now()+"_"+Math.random().toString(36).substr(2,9),sessionStorage.setItem("fbs_tab_id",e)),e},savePaginationToStorage(){var e;if(null==(e=this.board)?void 0:e.id){const e={per_page:this.pagination.per_page};localStorage.setItem(this.getStorageKey(),JSON.stringify(e))}},loadPaginationFromStorage(){if(this.board&&this.board.id&&!this.hasLoadedFromStorage)try{const e=localStorage.getItem(this.getStorageKey());if(e){const t=JSON.parse(e);t.per_page&&(this.pagination.per_page=t.per_page,this.hasLoadedFromStorage=!0)}}catch(e){}},getCreatedAtFormat(e=!0){var t,s,a,i;const o="G"===(null==(s=null==(t=window.fluentAddonVars)?void 0:t.time_format)?void 0:s[0])||"H"===(null==(i=null==(a=window.fluentAddonVars)?void 0:a.time_format)?void 0:i[0])?"HH:mm":"hh:mm A";return{date:e?"MMM D, YYYY":"MMM D",time:o,full:(e?"MMM D, YYYY":"MMM D")+", "+o}},parseCreatedAt:e=>kl(e),formatCreatedAtDate(e){const t=this.parseCreatedAt(e);return t?A(t).format(this.getCreatedAtFormat().date):"-"},formatCreatedAtTime(e){const t=this.parseCreatedAt(e);return t?A(t).format(this.getCreatedAtFormat().time):""},formatCreatedAtFull(e){const t=this.parseCreatedAt(e);return t?A(t).format(this.getCreatedAtFormat().full):""},fetchTableTasks(){var e;if(!(null==(e=this.board)?void 0:e.id))return Promise.resolve();const t=++this.requestSequence,s={page:this.pagination.current_page,per_page:this.pagination.per_page,sort_by:this.sortConfig.field||"position",sort_direction:this.sortConfig.direction},a=this.searchInput.trim();return a&&(s.search=a),Object.entries(this.activeFilters||{}).forEach(([e,t])=>{null==t||""===t||Array.isArray(t)&&!t.length||(s[e]=t)}),this.isLoading=!0,this.$get(`projects/${this.board.id}/tasks/table`,s).then(e=>{if(t===this.requestSequence){if(this.tableRows=e.items||[],this.updatePagination(e.pagination||{}),this.pagination.current_page>this.pagination.last_page)return this.pagination.current_page=this.pagination.last_page||1,this.fetchTableTasks();this.cleanupSelection()}}).catch(e=>{t===this.requestSequence&&this.$handleError(e)}).finally(()=>{t===this.requestSequence&&(this.isLoading=!1)})},onPaginate(){this.savePaginationToStorage(),this.fetchTableTasks()},updatePagination(e={}){this.pagination.total=parseInt(e.total,10)||0,this.pagination.current_page=parseInt(e.current_page,10)||this.pagination.current_page||1,this.pagination.per_page=parseInt(e.per_page,10)||this.pagination.per_page||20,this.pagination.last_page=parseInt(e.last_page,10)||(this.pagination.total,1)},hasActiveFilters:(e={})=>Object.keys(e).some(t=>{const s=e[t];return Array.isArray(s)?s.length>0:null!=s&&""!==s}),handleSearchInput(e){this.$emit("update-search-input",e)},scheduleSearchRefresh(){clearTimeout(this.searchDebounceTimer),this.searchDebounceTimer=setTimeout(()=>{this.pagination.current_page=1,this.clearSelection(),this.fetchTableTasks()},350)},validateCurrentPage(){this.pagination.current_page>this.pagination.last_page&&(this.pagination.current_page=this.pagination.last_page||1)},showTask(e){this.eventBus.emit("show-task",e)},openCreateTaskDialog(){var e;null==(e=this.$refs.createTaskDialog)||e.openDialog()},handleTaskCreated(){this.pagination.current_page=1,this.clearSelection(),this.fetchTableTasks()},setButtonsVisible(e,t){t?this.visibleButtons.add(e.id):this.visibleButtons.delete(e.id)},naturalSort:(e,t)=>String(e).localeCompare(String(t),void 0,{numeric:!0,sensitivity:"base"}),handleSortChange({prop:e,order:t}){t?(this.sortConfig.field=e,this.sortConfig.direction="descending"===t?"desc":"asc"):(this.sortConfig.field=null,this.sortConfig.direction="asc"),this.pagination.current_page=1,this.fetchTableTasks()},getTableStatusClass(e){const t=(e||"").toLowerCase();return["closed","close","completed","complete"].includes(t)?"fbs-table-status-pill-closed":"open"===t?"fbs-table-status-pill-open":"fbs-table-status-pill-default"},getTableStatusLabel(e){const t=(e||"").toLowerCase();return["closed","close","completed","complete"].includes(t)?this.$t("Closed"):"open"===t?this.$t("Open"):e||"-"},getSubtaskCount(e){var t;return parseInt(null==(t=null==e?void 0:e.settings)?void 0:t.subtask_count,10)||0},getCompletedSubtaskCount(e){var t;return parseInt(null==(t=null==e?void 0:e.settings)?void 0:t.subtask_completed_count,10)||0},getAttachmentCount(e){var t;return parseInt(null==(t=null==e?void 0:e.settings)?void 0:t.attachment_count,10)||0},getCommentCount:e=>parseInt(null==e?void 0:e.comments_count,10)||0,getNotificationCount:e=>parseInt(null==e?void 0:e.notifications,10)||0,getVoteCount:e=>parseInt(null==e?void 0:e.vote_statistics,10)||0,getTaskCoverStyle(e){var t;const s=(null==(t=null==e?void 0:e.settings)?void 0:t.cover)||{},a={};s.backgroundColor&&(a["--fbs-task-cover-bg"]=s.backgroundColor);const i=this.getSafeCoverImageUrl(s.backgroundImage);return i&&(a.backgroundImage=`url("${i}")`),a},getSafeCoverImageUrl(e){if(!e||"string"!=typeof e)return"";const t=e.trim();if(/^data:image\/[a-z0-9.+-]+;base64,[a-z0-9+/]+=*$/i.test(t))return t;try{const e=new URL(t,window.location.origin);if(!["http:","https:","blob:"].includes(e.protocol))return""}catch(s){return""}return t.replace(/["\\\n\r\f]/g,"")},handleSelectionChange(e){this.selectedTasks=e.map(e=>e.id)},clearSelection(){var e;this.selectedTasks=[],null==(e=this.$refs.fbsTable)||e.clearSelection()},handleBulkActionCompleted(){this.clearSelection(),this.fetchTableTasks()},cleanupSelection(){const e=this.tasks.map(e=>e.id);this.selectedTasks=this.selectedTasks.filter(t=>e.includes(t))},getSelectedTasksCount(){return this.selectedTasks.length},getVisibleSelectedCount(){return this.paginatedTasks.filter(e=>this.selectedTasks.includes(e.id)).length}},watch:{board:{handler(e,t){(null==e?void 0:e.id)&&e.id!==(null==t?void 0:t.id)&&(this.hasLoadedFromStorage=!1,this.pagination.current_page=1,this.loadPaginationFromStorage(),this.clearSelection(),this.fetchTableTasks())}},tasks:{handler(){this.$nextTick(()=>{this.validateCurrentPage()})}},$route(e,t){"task"===t.name||"board"!==e.name&&"roadmap"!==e.name||this.$nextTick(()=>{this.pagination.current_page=1,this.clearSelection(),this.fetchTableTasks()})},searchInput(e,t){e!==t&&this.scheduleSearchRefresh()},activeFilters:{deep:!0,handler(e,t){JSON.stringify(e||{})!==JSON.stringify(t||{})&&(this.pagination.current_page=1,this.clearSelection(),this.fetchTableTasks())}}},mounted(){var e;this.tabId=this.generateTabId(),this.loadPaginationFromStorage(),this.tableRefreshHandler=()=>{this.fetchTableTasks()},this.eventBus.on("refresh-table-tasks",this.tableRefreshHandler),(null==(e=this.board)?void 0:e.id)&&this.fetchTableTasks()},beforeUnmount(){clearTimeout(this.searchDebounceTimer),this.tableRefreshHandler&&this.eventBus.off("refresh-table-tasks",this.tableRefreshHandler),this.board&&this.board.id&&localStorage.removeItem(this.getStorageKey())}},KO={class:"fbs_table_view"},ZO={class:"fbs_table_wrapper"},YO={class:"fbs_table_header"},JO={class:"fbs_table_header_inner"},QO={class:"fbs_table_header_inner_left"},XO={class:"icon"},eR={class:"fbs_table_header_inner_actions"},tR={class:"icon"},sR={class:"fbs_table_body"},aR=["onClick"],iR={class:"fbs-task-title-text"},oR=["title"],lR=["title"],nR={class:"d-flex items-center gap-14"},rR=["title"],dR=["title"],cR=["title"],hR=["title"],uR={key:0,class:"fbs-pagination-container"};const pR=Ss(WO,[["render",function(e,t,r,d,u,p){var m;const _=b("Icons"),v=He,C=ze,T=b("table-columns-popover"),$=es,V=b("move-card"),A=b("lazy-component"),I=b("priority-badge"),D=b("board-labels"),B=b("date-changer"),L=b("task-assignees"),M=b("task-field-buttons"),x=ss,P=b("pagination-bar"),F=b("bulk-actions"),E=b("create-task-dialog"),U=g("loading");return f((s(),a("div",KO,[i("div",ZO,[i("div",YO,[i("div",JO,[i("div",QO,[l(v,{"model-value":r.searchInput,placeholder:p.searchPlaceholder,clearable:"",size:"small","onUpdate:modelValue":p.handleSearchInput},{prefix:n(()=>[i("span",XO,[l(_,{"icon-name":"search"})])]),_:1},8,["model-value","placeholder","onUpdate:modelValue"])]),i("div",eR,[p.canCreateTask?(s(),c(C,{key:0,type:"primary",size:"small",onClick:p.openCreateTaskDialog},{default:n(()=>[i("span",tR,[l(_,{"icon-name":"plus"})]),w(" "+o(p.addTaskLabel),1)]),_:1},8,["onClick"])):y("",!0),e.appVars.public_mode?y("",!0):(s(),c(T,{key:1,"board-id":null==(m=e.board)?void 0:m.id},null,8,["board-id"]))])])]),i("div",sR,[f((s(),c(x,{ref:"fbsTable",data:p.paginatedTasks,"row-key":"id",class:"fbs-el-table",onSelectionChange:p.handleSelectionChange,onSortChange:p.handleSortChange},{default:n(()=>[l($,{type:"selection",width:"48","class-name":"fbs-column-checkbox"}),l($,{prop:"title",sortable:"custom","sort-orders":u.descendingFirstSortOrders,label:p.itemNameColumnLabel,"min-width":"240","class-name":"fbs-column-title"},{default:n(({row:e})=>[i("div",{class:k(["fbs-table-title-wrap",{"fbs-buttons-visible":u.visibleButtons.has(e.id)}])},[i("div",{class:"fbs-task-title-cell",onClick:h(t=>p.showTask(e),["stop"])},[(null==e?void 0:e.settings)?(s(),a("div",{key:0,class:"fbs_task_cover_bg",style:S(p.getTaskCoverStyle(e))},null,4)):y("",!0),i("span",iR,o(e.title),1)],8,aR)],2)]),_:1},8,["sort-orders","label"]),p.isRoadmapBoard?(s(),c($,{key:0,prop:"vote_statistics",sortable:"custom","sort-orders":u.descendingFirstSortOrders,label:e.$t("Votes"),width:"90","class-name":"fbs-column-votes"},{default:n(({row:t})=>[i("span",{class:"fbs-table-vote-count",title:e.$t("Votes")},[i("strong",null,o(p.getVoteCount(t)),1)],8,oR)]),_:1},8,["sort-orders","label"])):y("",!0),l($,{prop:"stage_id",sortable:"custom",label:e.$t("Stage"),width:"170","class-name":"fbs-column-stage"},{default:n(({row:t})=>[l(A,null,{default:n(()=>[l(V,{task:t,stage:t.stage,taskBoard:e.board},null,8,["task","stage","taskBoard"])]),_:2},1024)]),_:1},8,["label"]),e.tableviewSettings.table_view_priority?(s(),c($,{key:1,prop:"priority",sortable:"custom",label:e.$t("Priority"),width:"130","class-name":"fbs-column-priority"},{default:n(({row:e})=>[l(A,null,{default:n(()=>[l(I,{task:e},null,8,["task"])]),_:2},1024)]),_:1},8,["label"])):y("",!0),e.tableviewSettings.table_view_labels?(s(),c($,{key:2,label:e.$t("Labels"),"min-width":"300"},{default:n(({row:t})=>[l(A,null,{default:n(()=>[l(D,{task:t,"sidebar-labels-layout":!0,"visible-label-limit":5,placement:e.appVars.is_rtl?"left":"right"},null,8,["task","placement"])]),_:2},1024)]),_:1},8,["label"])):y("",!0),e.tableviewSettings.table_view_dates?(s(),c($,{key:3,prop:"due_at",sortable:"custom",label:e.$t("Dates"),width:"160"},{default:n(({row:t})=>[l(A,null,{default:n(()=>[l(B,{task:t,column:"due_at",date_format:"MMM DD",placement:e.appVars.is_rtl?"right":"left"},null,8,["task","placement"])]),_:2},1024)]),_:1},8,["label"])):y("",!0),e.tableviewSettings.table_view_assignees?(s(),c($,{key:4,label:e.$t("Assignees"),width:"150","class-name":"fbs-column-assignees"},{default:n(({row:e})=>[l(A,null,{default:n(()=>[l(L,{task:e,is_multiple:!0},null,8,["task"])]),_:2},1024)]),_:1},8,["label"])):y("",!0),e.tableviewSettings.table_view_status?(s(),c($,{key:5,label:e.$t("Status"),width:"120","class-name":"fbs-column-status"},{default:n(({row:e})=>[i("span",{class:k(["fbs-table-status-pill",p.getTableStatusClass(e.status)])},o(p.getTableStatusLabel(e.status)),3)]),_:1},8,["label"])):y("",!0),p.isTableColumnVisible("table_view_subtasks")?(s(),c($,{key:6,label:e.$t("Subtasks"),width:"120","class-name":"fbs-column-subtasks"},{default:n(({row:t})=>[i("div",{class:"d-flex items-center gap-2 fbs_secondary_text small",title:e.$t("Completed subtasks")},[l(_,{"icon-name":"subtask","aria-hidden":"true","icon-class":"fbs_w_16 fbs_h_16"}),i("span",null,o(p.getCompletedSubtaskCount(t))+"/"+o(p.getSubtaskCount(t)),1)],8,lR)]),_:1},8,["label"])):y("",!0),p.isTableColumnVisible("table_view_activity")?(s(),c($,{key:7,label:e.$t("Activity"),width:"160","class-name":"fbs-column-activity"},{default:n(({row:t})=>[i("div",nR,[i("div",{class:"d-flex items-center gap-2 fbs_secondary_text small",title:e.$t("Attachments")},[l(_,{"icon-name":"paper-clip","icon-class":"fbs_w_16 fbs_h_16"}),i("span",null,o(p.getAttachmentCount(t)),1)],8,rR),i("div",{class:"d-flex items-center gap-2 fbs_secondary_text small",title:e.$t("Comments")},[l(_,{"icon-name":"comment-line","icon-class":"fbs_w_16 fbs_h_16"}),i("span",null,o(p.getCommentCount(t)),1)],8,dR),i("div",{class:"d-flex items-center gap-2 fbs_secondary_text small",title:e.$t("Notifications")},[l(_,{"icon-name":"notification","icon-class":"fbs_w_16 fbs_h_16"}),i("span",null,o(p.getNotificationCount(t)),1)],8,cR)])]),_:1},8,["label"])):y("",!0),e.tableviewSettings.table_view_created_at?(s(),c($,{key:8,prop:"created_at",sortable:"custom",label:e.$t("Created At"),width:"160","class-name":"fbs-column-created-at"},{default:n(({row:e})=>[i("div",{class:"fbs_secondary_text small",title:p.formatCreatedAtFull(e.created_at)},o(p.formatCreatedAtDate(e.created_at))+" "+o(p.formatCreatedAtTime(e.created_at)),9,hR)]),_:1},8,["label"])):y("",!0),l($,{fixed:"right",width:"60px"},{default:n(({row:e})=>[l(A,null,{default:n(()=>[l(M,{task:e,onShowTask:p.showTask,onPopoverOpen:()=>p.setButtonsVisible(e,!0),onPopoverClose:()=>p.setButtonsVisible(e,!1)},null,8,["task","onShowTask","onPopoverOpen","onPopoverClose"])]),_:2},1024)]),_:1})]),_:1},8,["data","onSelectionChange","onSortChange"])),[[U,u.isLoading||p.showInitialLoader]]),p.paginatedTasks.length?(s(),a("div",uR,[l(P,{pagination:u.pagination,page_sizes:p.supportedPageSizes,onFetch:p.onPaginate},null,8,["pagination","page_sizes","onFetch"])])):y("",!0)])]),p.hasSelection?(s(),c(F,{key:0,"selected-tasks":u.selectedTasks,stages:e.stages,onDeselect:p.clearSelection,onActionCompleted:p.handleBulkActionCompleted},null,8,["selected-tasks","stages","onDeselect","onActionCompleted"])):y("",!0),l(E,{ref:"createTaskDialog","view-type":"Table","show-trigger":!1,onTaskCreated:p.handleTaskCreated},null,8,["onTaskCreated"])])),[[U,(r.boardLoading||u.isLoading)&&!p.showInitialLoader]])}]]),mR={class:"fbs-create-from-template"},bR={key:0,class:"fbs-creating-state"},gR={class:"fbs-creating-title"},fR={class:"fbs-creating-message"},_R={class:"fbs-creating-hint"},kR={class:"fbs-create-template-form"},vR={class:"fbs-form-group"},yR={key:0,class:"fbs-error-text"},wR={class:"fbs-template-preview fbs-template-preview--stages"},CR={class:"fbs-stages-preview"},TR={class:"fbs-stage-name"},SR=["aria-label","title","onClick"],$R=["placeholder","aria-label"],VR={key:0,class:"fbs-error-text"},AR={class:"fbs-template-preview fbs-template-preview--labels"},IR={class:"fbs-labels-preview"},DR=["title"],BR={key:0},LR={type:"button",class:"fbs-label-add-button"},MR={class:"fbs-cbp-panel fbs-cbp-panel--flush"},xR={class:"fbs-create-template-actions"};const PR=Ss({name:"CreateFromTemplate",components:{Close:dt,Plus:Oe,LabelManager:Pi},props:{template:{type:Object,required:!0},templateType:{type:String,default:"default"}},emits:["close","created"],data:()=>({boardTitle:"",isCreating:!1,creatingState:"idle",taskCreationTotal:0,pollTimer:null,createdBoard:null,selectedTemplateStages:[],additionalStages:[],additionalStageSeed:0,isAddingStage:!1,newStageTitle:"",availableTemplateLabels:[],selectedTemplateLabelIds:[],templateLabelSeed:1,labelColor:{green:"#4bce97",yellow:"#f5cd47",orange:"#fea362",red:"#f87168",purple:"#9f8fef"},labelColorText:{green:"#1B2533",yellow:"#1B2533",orange:"#1B2533",red:"#1B2533",purple:"#1B2533"},errors:{title:"",stages:""}}),computed:{isUserTemplate(){return"user"===this.templateType},displayStages(){return[...this.selectedTemplateStages,...this.additionalStages]},selectedStageIds(){return this.selectedTemplateStages.map(e=>e.sourceStageId)},selectedTemplateLabels(){const e=this.selectedTemplateLabelIds.map(e=>parseInt(e));return this.availableTemplateLabels.filter(t=>e.includes(parseInt(t.id)))}},mounted(){this.boardTitle=this.template.title,this.initializeTemplateStages(),this.initializeTemplateLabels()},beforeUnmount(){this.clearPollTimer()},methods:{initializeTemplateStages(){const e=Array.isArray(this.template.stages)?this.template.stages:[];this.selectedTemplateStages=e.map((e,t)=>{const s=null!==e.id&&void 0!==e.id&&""!==String(e.id)?e.id:t;return{...e,_key:`template-${t}-${String(s)}`,sourceStageId:s,isAdditional:!1}})},initializeTemplateLabels(){const e=Array.isArray(this.template.labels)?this.template.labels:[];this.availableTemplateLabels=e.map((e,t)=>({id:t+1,sourceLabelId:null!==e.id&&void 0!==e.id&&""!==String(e.id)?e.id:t,title:e.title||"",bg_color:e.bg_color||"#f3f4f6",color:e.color||"#1B2533"})),this.selectedTemplateLabelIds=this.availableTemplateLabels.map(e=>e.id),this.templateLabelSeed=this.availableTemplateLabels.length+1},createTemplateLabel(e){const t={id:this.templateLabelSeed++,sourceLabelId:null,title:e.label,bg_color:e.bg_color,color:e.color};this.availableTemplateLabels.push(t),this.selectedTemplateLabelIds.push(t.id)},updateTemplateLabel({label:e,changes:t}){this.availableTemplateLabels=this.availableTemplateLabels.map(s=>parseInt(s.id)!==parseInt(e.id)?s:{...s,...t})},deleteTemplateLabel(e){this.availableTemplateLabels=this.availableTemplateLabels.filter(t=>parseInt(t.id)!==parseInt(e.id)),this.deselectTemplateLabel(e)},selectTemplateLabel(e){this.selectedTemplateLabelIds.some(t=>parseInt(t)===parseInt(e.id))||this.selectedTemplateLabelIds.push(e.id)},deselectTemplateLabel(e){this.selectedTemplateLabelIds=this.selectedTemplateLabelIds.filter(t=>parseInt(t)!==parseInt(e.id))},createTemplateLabelsPayload(){return this.selectedTemplateLabels.map(e=>({source_id:e.sourceLabelId??null,label:(e.title||"").trim(),bg_color:e.bg_color||"#f3f4f6",color:e.color||"#1B2533"})).filter(e=>e.label||e.bg_color)},openStageInput(){this.isAddingStage=!0,this.$nextTick(()=>{this.$refs.newStageInput&&this.$refs.newStageInput.focus()})},cancelStageInput(){this.isAddingStage=!1,this.newStageTitle=""},commitAdditionalStage(){const e=this.newStageTitle.trim();return!!e&&(this.additionalStageSeed+=1,this.additionalStages.push({_key:`additional-${this.additionalStageSeed}`,title:e,isAdditional:!0}),this.errors.stages="",this.cancelStageInput(),!0)},removeStage(e){const t=e.isAdditional?this.additionalStages:this.selectedTemplateStages,s=t.findIndex(t=>t._key===e._key);-1!==s&&t.splice(s,1),this.displayStages.length&&(this.errors.stages="")},finalizePendingStage(){this.isAddingStage&&(this.commitAdditionalStage()||this.cancelStageInput())},async createBoard(){if(this.finalizePendingStage(),this.boardTitle.trim())if(this.errors.title="",this.displayStages.length){this.errors.stages="",this.isCreating=!0,this.creatingState="creating";try{const e=await this.$post("templates/create-from",{title:this.boardTitle.trim(),template_type:this.templateType,template_id:this.template.id,include_labels:"yes",include_tasks:"yes",selected_stage_ids:this.selectedStageIds,additional_stages:this.additionalStages.map(e=>({title:e.title})),selected_labels:this.createTemplateLabelsPayload()});this.createdBoard=e.board;const t=e.board.settings||{};"pending"===t.task_creation_status?(this.taskCreationTotal=t.task_creation_total||0,this.creatingState="waiting_tasks",this.startPolling(e.board.id)):this.onComplete(e)}catch(e){this.creatingState="idle",this.isCreating=!1,this.handleError(e)}}else this.errors.stages=this.$t("At least one stage is required");else this.errors.title=this.$t("Board title is required")},startPolling(e){let t=0;this.pollTimer=setInterval(async()=>{if(t++,t>=120)return this.clearPollTimer(),void this.onComplete();try{"completed"===(await this.$get("templates/task-creation-status",{board_id:e})).status&&(this.clearPollTimer(),this.onComplete())}catch(s){}},3e3)},clearPollTimer(){this.pollTimer&&(clearInterval(this.pollTimer),this.pollTimer=null)},hasLabelTitle:e=>!!(e&&e.title&&e.title.trim()),onComplete(e){const t=this.createdBoard||e&&e.board;this.$notify({type:"success",message:this.$t("Board created successfully")}),this.$emit("created",t),this.$router.push({name:"board",params:{id:t.id}})}}},[["render",function(e,t,c,u,p,m){const g=He,_=b("Close"),k=Ne,C=ze,T=b("Plus"),V=b("label-manager"),A=je;return s(),a("div",mR,["idle"!==p.creatingState?(s(),a("div",bR,[t[6]||(t[6]=i("div",{class:"fbs-creating-spinner"},[i("svg",{class:"fbs-spinner-icon",viewBox:"0 0 50 50"},[i("circle",{class:"fbs-spinner-path",cx:"25",cy:"25",r:"20",fill:"none","stroke-width":"4"})])],-1)),i("h3",gR,o("creating"===p.creatingState?e.$t("Creating Board..."):e.$t("Setting up tasks...")),1),i("p",fR,["creating"===p.creatingState?(s(),a(r,{key:0},[w(o(e.$t("Creating board structure from template")),1)],64)):(s(),a(r,{key:1},[w(o(e.$t("Adding tasks to your board. This may take a moment.")),1)],64))]),i("p",_R,o(e.$t("Please do not close this window.")),1)])):(s(),a(r,{key:1},[i("div",kR,[i("div",vR,[i("label",null,[w(o(e.$t("Board Title"))+" ",1),t[7]||(t[7]=i("span",{class:"required"},"*",-1))]),l(g,{modelValue:p.boardTitle,"onUpdate:modelValue":t[0]||(t[0]=e=>p.boardTitle=e),placeholder:e.$t("Enter board title"),size:"large",maxlength:"100","show-word-limit":""},null,8,["modelValue","placeholder"]),p.errors.title?(s(),a("p",yR,o(p.errors.title),1)):y("",!0)]),i("div",wR,[i("label",null,o(e.$t("Stages that will be created")),1),i("div",CR,[(s(!0),a(r,null,d(m.displayStages,t=>(s(),a("div",{key:t._key,class:"fbs-stage-preview-item"},[i("span",TR,o(t.title),1),i("button",{type:"button",class:"fbs-stage-preview-remove","aria-label":e.$t("Remove Stage"),title:e.$t("Remove Stage"),onClick:e=>m.removeStage(t)},[l(k,null,{default:n(()=>[l(_)]),_:1})],8,SR)]))),128)),p.isAddingStage?(s(),a("form",{key:0,class:"fbs-stage-inline-form",onSubmit:t[3]||(t[3]=h((...e)=>m.commitAdditionalStage&&m.commitAdditionalStage(...e),["prevent"]))},[f(i("input",{ref:"newStageInput","onUpdate:modelValue":t[1]||(t[1]=e=>p.newStageTitle=e),type:"text",maxlength:"100",class:"fbs-stage-inline-input",placeholder:e.$t("Stage Name"),"aria-label":e.$t("Stage Name"),onKeydown:t[2]||(t[2]=$(h((...e)=>m.cancelStageInput&&m.cancelStageInput(...e),["prevent","stop"]),["esc"]))},null,40,$R),[[v,p.newStageTitle]]),l(C,{class:"fbs-stage-inline-cancel",size:"small","native-type":"button",onClick:m.cancelStageInput},{default:n(()=>[w(o(e.$t("Cancel")),1)]),_:1},8,["onClick"])],32)):(s(),a("button",{key:1,type:"button",class:"fbs-stage-add-button",onClick:t[4]||(t[4]=(...e)=>m.openStageInput&&m.openStageInput(...e))},[l(k,null,{default:n(()=>[l(T)]),_:1}),i("span",null,o(e.$t("Add Stage")),1)]))]),p.errors.stages?(s(),a("p",VR,o(p.errors.stages),1)):y("",!0)]),i("div",AR,[i("label",null,o(e.$t("Labels that will be created")),1),l(A,{placement:"top-start",trigger:"click",width:360,"popper-class":"fbs-create-board-property-popover"},{reference:n(()=>[i("div",IR,[(s(!0),a(r,null,d(m.selectedTemplateLabels,t=>(s(),a("div",{key:t.id,class:"fbs-template-label-preview-item",title:m.hasLabelTitle(t)?t.title:e.$t("Title not found")},[i("span",{class:"fbs-template-label-preview-dot",style:S({backgroundColor:t.bg_color||"var(--fbs-folder-accent)"})},null,4),m.hasLabelTitle(t)?(s(),a("span",BR,o(t.title),1)):y("",!0)],8,DR))),128)),i("button",LR,[l(k,null,{default:n(()=>[l(T)]),_:1}),i("span",null,o(e.$t("Add Label")),1)])])]),default:n(()=>[i("div",MR,[l(V,{labels:p.availableTemplateLabels,"label-color":p.labelColor,"label-color-text":p.labelColorText,"can-manage-labels":!0,selectable:!0,"max-length":100,"selected-label-ids":p.selectedTemplateLabelIds,"teleported-color-picker":!0,"variant-class":"fbs_board_menu_labels",onCreateLabel:m.createTemplateLabel,onUpdateLabel:m.updateTemplateLabel,onRequestDeleteLabel:m.deleteTemplateLabel,onSelectLabel:m.selectTemplateLabel,onDeselectLabel:m.deselectTemplateLabel},null,8,["labels","label-color","label-color-text","selected-label-ids","onCreateLabel","onUpdateLabel","onRequestDeleteLabel","onSelectLabel","onDeselectLabel"])])]),_:1})])]),i("div",xR,[l(C,{onClick:t[5]||(t[5]=t=>e.$emit("close"))},{default:n(()=>[w(o(e.$t("Cancel")),1)]),_:1}),l(C,{type:"primary",onClick:m.createBoard,loading:p.isCreating,disabled:!p.boardTitle.trim()},{default:n(()=>[w(o(e.$t("Create Board")),1)]),_:1},8,["onClick","loading","disabled"])])],64))])}]]),FR={name:"TemplateSettingsDialog",props:{modelValue:{type:Boolean,default:!1},board:{type:Object,required:!0}},emits:["update:modelValue","saved"],data:()=>({templateDescription:"",templateCategory:"",descriptionLimit:200,saving:!1}),watch:{modelValue:{immediate:!0,handler(e){e&&this.syncFromBoard()}}},methods:{syncFromBoard(){var e;const t=(null==(e=this.board)?void 0:e.settings)||{};this.templateDescription=t.template_description||"",this.templateCategory=t.template_category||""},save(){this.saving=!0,this.$put("projects/"+this.board.id+"/update-template-settings",{template_description:this.templateDescription,template_category:this.templateCategory}).then(e=>{this.$notify({type:"success",message:e.message||this.$t("Template settings updated successfully")}),this.$emit("saved",e.board),this.$emit("update:modelValue",!1)}).catch(e=>{this.handleError(e)}).finally(()=>{this.saving=!1})}}},ER={class:"fbs-template-settings-form"},UR={class:"fbs-template-settings-group"},OR={class:"fbs-template-settings-label",for:"fbs-template-settings-description"},RR={class:"fbs-template-settings-textarea-wrap"},NR={class:"fbs-template-settings-counter"},HR={class:"fbs-template-settings-group"},jR={class:"fbs-template-settings-label",for:"fbs-template-settings-category"};const zR=Ss(FR,[["render",function(e,t,a,r,d,h){const u=He,p=Be,m=Le,b=ze,g=Ge;return s(),c(g,{"model-value":a.modelValue,title:e.$t("Template Settings"),class:"fbs-template-settings-dialog",width:"480px","close-on-click-modal":!1,"append-to-body":"","destroy-on-close":"","onUpdate:modelValue":t[3]||(t[3]=t=>e.$emit("update:modelValue",t))},{footer:n(()=>[l(b,{onClick:t[2]||(t[2]=t=>e.$emit("update:modelValue",!1))},{default:n(()=>[w(o(e.$t("Cancel")),1)]),_:1}),l(b,{type:"primary",loading:d.saving,onClick:h.save},{default:n(()=>[w(o(e.$t("Save")),1)]),_:1},8,["loading","onClick"])]),default:n(()=>[i("div",ER,[i("div",UR,[i("label",OR,o(e.$t("Template Descriptions")),1),i("div",RR,[l(u,{id:"fbs-template-settings-description",modelValue:d.templateDescription,"onUpdate:modelValue":t[0]||(t[0]=e=>d.templateDescription=e),type:"textarea",maxlength:d.descriptionLimit,placeholder:e.$t("Placeholder text..."),resize:"none"},null,8,["modelValue","maxlength","placeholder"]),i("span",NR,o(d.templateDescription.length)+"/"+o(d.descriptionLimit),1)])]),i("div",HR,[i("label",jR,o(e.$t("Category")),1),l(m,{id:"fbs-template-settings-category",modelValue:d.templateCategory,"onUpdate:modelValue":t[1]||(t[1]=e=>d.templateCategory=e),class:"fbs-template-settings-select",placeholder:e.$t("Select")},{default:n(()=>[l(p,{label:e.$t("Project Management"),value:"project-management"},null,8,["label"]),l(p,{label:e.$t("Development"),value:"development"},null,8,["label"]),l(p,{label:e.$t("Marketing"),value:"marketing"},null,8,["label"]),l(p,{label:e.$t("Sales"),value:"sales"},null,8,["label"]),l(p,{label:e.$t("HR"),value:"hr"},null,8,["label"]),l(p,{label:e.$t("Design"),value:"design"},null,8,["label"]),l(p,{label:e.$t("Other"),value:"other"},null,8,["label"])]),_:1},8,["modelValue","placeholder"])])])]),_:1},8,["model-value","title"])}]]);let GR=null,qR=null;function WR(e){var t;const s="undefined"!=typeof window&&(null==(t=window.fluentAddonVars)?void 0:t[e])||[],a=new Map;return s.forEach(e=>{e&&e.id&&a.set(e.id,e)}),a}function KR(e,t){if(!e||e.is_image||!e.color)return"";if(!t)return e.color;let s=null;return!function(e){return!(!e||"string"!=typeof e.id||!e.id.startsWith("solid_"))}(e)?function(e){return!(!e||"string"!=typeof e.id||!e.id.startsWith("gradient_"))}(e)&&(s=(qR||(qR=WR("board_gradient_colors")),qR).get(e.id)):s=(GR||(GR=WR("board_solid_colors")),GR).get(e.id),s&&s.dark_value?s.dark_value:e.color}const ZR={name:"TaskDashboard",mixins:[mT],inject:["eventBus"],provide(){return{boardMemberUpdated:this.boardMemberUpdated}},components:{Icons:$s,TableView:pR,CelebrationAnimation:kO,BoardInfoModal:_O,Filters:gw,BoardSettings:GD,KanbanView:uP,ListView:lF,CalendarView:tE,GanttChartView:uU,TaskDetailsModal:ty,FileUploadProgressBar:cr,InfoFilled:vt,Close:dt,ArrowDown:it,RefreshRight:ps,RefreshLeft:Ut,TakeawayBox:Ft,CreateStageDialog:Xx,CreateFromTemplate:PR,TemplateSettingsDialog:zR},props:{shortcodeId:{required:!1,default:null}},data:()=>({hasTasks:!0,renamingBoard:!1,layout:"kanban-view",loading:!1,mainLoading:!1,task_groups:[],task_labels:null,viewTask:!1,shouldRenderTaskModal:!1,isTaskModalFullScreen:!1,taskModalClosedTaskId:null,clickedStatus:"open",boards:[],board_title:"",creatingBoard:!1,boardType:"regular",isBoardSettingsActive:!1,isNotificationPanelActive:!1,total_unread:0,dialogShareVisible:!1,isUserBoardAdmin:!1,boardLoading:!1,searchInput:"",openSelectOptions:!1,taskLoading:!1,viewDescriptionDialog:!1,renameDescription:!1,taskLoadingWheel:null,isCompletedTask:!1,tasksLoading:!1,isKeyboardComposing:!1,fetchShortCodeBoard:!1,boardAllTaskLoaded:!1,fullTaskLoadPromise:null,stageTaskPageRequests:{},filteredTaskRequestPromise:null,activeFilteredTaskRequestKey:"",boardDependencyRequestKey:0,lastBoardSyncAt:null,showUseTemplateDialog:!1,showTemplateSettingsDialog:!1}),created(){const e="fbs_single_board_layout"+(this.shortcodeId??this.$route.params.id),t=this.Storage.get(e,"kanban-view");this.layout=this.normalizeLayoutForLicense(t),this.layout!==t&&this.Storage.set(e,this.layout),this.debouncedSearch=Se(this.searchByName,600),this.eventBus.on("board-updated",e=>{this.setBoard(e),this.$changeTitle(null==e?void 0:e.title),this.setBoardBackground(e.background)}),this.eventBus.on("update-tasks",e=>{if(this.updateTask(e),this.updateChangedData(),"id"in this.task){const t=e.find(e=>e.id==this.task.id);t&&(t.detailsLoaded=this.task.detailsLoaded??t.detailsLoaded,this.setCurrentOpenTask(t),this.eventBus.emit("fetch-board-comments-and-activities"))}}),this.eventBus.on("fluent-boards-task-removed",e=>{this.removeTask(e),this.updateChangedData()}),this.eventBus.on("show-task",e=>{if(this.appVars.public_mode)return;const t=(null==e?void 0:e.task)||e,s=!!(null==e?void 0:e.preserveBoardContext);if(this.taskLoading=!0,!t||!t.id||isNaN(t.id))return"#";this.showTask(t,{preserveBoardContext:s});const a=`/boards/${t.board_id}/tasks/${t.id}-${encodeURIComponent(t.title.substring(0,30).replace(/\s+/g,"-"))}`;this.$router.push({path:a,query:this.$route.query})}),this.eventBus.on("stage-removed",e=>{this.removeStage(e),this.updateChangedData()}),this.eventBus.on("update-stages",e=>{this.updateStage(e),this.updateChangedData()}),this.eventBus.on("add-board-labels",e=>{this.board.labels=[...this.board.labels,e],this.updateBoardLabel(this.board.labels)}),this.eventBus.on("updated-board-label",e=>{"id"in this.task&&(this.task.labels=this.task.labels.map(t=>t.id==e.id?{...t,...e}:t),this.eventBus.emit("update-tasks",[this.task])),this.updateBoardLabel([e])}),this.eventBus.on("updated-task-settings",e=>{this.task.settings=e,this.eventBus.emit("update-tasks",[this.task])}),this.eventBus.on("delete-board-labels",e=>{this.removeBoardLabel(e)}),this.eventBus.on("fluent-boards-move-task",({boardId:e,taskId:t,newStageId:s,newIndex:a,newBoardId:i,prevTaskId:o,nextTaskId:l,openTaskInNewBoard:n=!1})=>{this.moveTask({boardId:e,taskId:t,newStageId:s,newIndex:a,newBoardId:i,prevTaskId:o,nextTaskId:l,openTaskInNewBoard:n})}),this.eventBus.on("change-task-property",({task:e,property:t,value:s,onSuccess:a,onError:i,onFinally:o})=>{let l=this.tasks.find(t=>t.id==e.id);if(l||(l=e),this.setTempTask(l),"id"in this.task&&this.task.id==e.id){const a={...e};this.changeTaskIllustration(a,t,s)}this.updateTaskProperty(e,t,s,a,i,o)}),this.eventBus.on("fetch-board-tasks",e=>{this.fetchTasksByBoard(e)}),this.eventBus.on("move-stage",({stageId:e,newPosition:t})=>{this.moveStage(e,t)}),this.eventBus.on("has-board-data-changed",()=>{this.hasDataChanged()})},beforeUnmount(){this.eventBus.off("board-updated"),this.eventBus.off("update-tasks"),this.eventBus.off("fluent-boards-task-removed"),this.eventBus.off("show-task"),this.eventBus.off("stage-removed"),this.eventBus.off("update-stages"),this.eventBus.off("add-board-labels"),this.eventBus.off("updated-board-label"),this.eventBus.off("delete-board-labels"),this.eventBus.off("fluent-boards-move-task"),this.eventBus.off("change-task-property"),this.eventBus.off("fetch-board-tasks"),this.eventBus.off("move-stage"),this.emitter.off("taskCreatedEvent"),this.emitter.off("updateBoard"),this.emitter.off("board-restore"),this.eventBus.off("updated-task-settings"),this.eventBus.off("has-board-data-changed"),this.debouncedSearch.cancel(),this.resetTaskAndDependency(),this.resetBoardData(),this.intervalTimer&&clearInterval(this.intervalTimer),document.removeEventListener("visibilitychange",this.handleWindowVisibilityChange);document.querySelectorAll(".el-overlay").forEach(e=>{e.removeEventListener("click",this.handleOverlayClick,!0)})},computed:{...m(js,["boardBackground","board","stages","tasks","stageTaskPagination","tempTask"]),...m(Xi,["task","taskToBeShow"]),...m(Sr,["currentUserWpOrSuperAdmin","currentUserBoardAdmin"]),hasCustomBoardBackground(){return this.boardBackground.is_image||!!this.boardBackground.color},effectiveBoardBackgroundColor(){return this.boardThemeVersion,KR(this.boardBackground,this.isBoardDark)},archivedBoardDate(){var e;return vl(null==(e=this.board)?void 0:e.archived_at,"MMMM D, YYYY")||""},archivedBoardTime(){var e,t,s;const a=["G","H"].includes(null==(t=null==(e=window.fluentAddonVars)?void 0:e.time_format)?void 0:t[0])?"HH:mm":"h:mm A";return vl(null==(s=this.board)?void 0:s.archived_at,a)||""},canRestoreArchivedBoard(){var e;return!(!(null==(e=this.board)?void 0:e.archived_at)||this.appVars.public_mode||!this.$isAdmin())},modalStageTaskPagination(){return!this.searchInput&&!this.boardAllTaskLoaded&&!this.hasActiveBoardQuery(this.$route.query||{})?this.stageTaskPagination:{}},isTemplateBoard(){var e,t;return!0===(null==(t=null==(e=this.board)?void 0:e.settings)?void 0:t.is_template)},canManageTemplate(){var e;return this.hasPro&&!this.appVars.public_mode&&(null==(e=this.board)?void 0:e.id)&&(this.$isAdmin()||this.$isBoardManager(this.board.id))},boardAsTemplate(){var e,t,s,a,i,o,l;const n=(null==(e=this.board)?void 0:e.settings)||{};return{id:null==(t=this.board)?void 0:t.id,title:(null==(s=this.board)?void 0:s.title)||"",description:n.template_description||(null==(a=this.board)?void 0:a.description)||"",category:n.template_category||"custom",type:(null==(i=this.board)?void 0:i.type)||"to-do",background:(null==(o=this.board)?void 0:o.background)||null,stages:this.stages||[],labels:(null==(l=this.board)?void 0:l.labels)||[]}}},methods:{...M(js,["setBoardBackground","setBoard","setStages","removeStage","updateStage","setBoard","setBoardTasks","mergeBoardTasks","setBoardLabels","updateBoardLabel","removeBoardLabel","removeTask","updateTask","setStageTaskPaginationMap","setStageTaskPagination","resetBoardData","setTempTask","resetTempTask","setfilterByStageActive","setBoardDependencies"]),...M(Xi,["setTask","setSelectedStage","resetTaskAndDependency","setTaskToBeShow","loadDashboardViewSettings","loadlistviewSettings","loadTableviewSettings","setTableviewSettingsLoaded"]),...M(Sr,["setUserRoleInBoard","setWpOrSuperAdminPermission"]),celebrationHandler(e){"closed"==e&&(this.isCompletedTask=!0,setTimeout(()=>{this.isCompletedTask=!1},3e3))},getBoardApiPrefix(e=null){const t=e||this.shortcodeId||this.$route.params.id;return this.appVars.public_mode?`public/boards/${t}`:`projects/${t}`},openBoardMembersDrawer(){this.$refs.boardMenu.openSettings();const e={key:"board_members",label:this.$t("Board Members")};this.$refs.boardMenu.setSettingsMenu(e)},boardMemberUpdated(){this.board.users=window["fbs_board_members_"+this.board.id]},renameBoard(){this.board.archived_at||this.board.isUserOnlyViewer||(this.renamingBoard=!0,this.board_title=this.board.title,this.$nextTick(()=>{this.$refs.board_title.focus()}))},closeBoardInfoDialog(){this.viewDescriptionDialog=!1},handleShowDescriptionTitleModal(){this.viewDescriptionDialog=!0},fetchTasksByBoard(e){this.taskLoading||(this.mainLoading=!0),this.fetchBoardTasks(e),this.mainLoading=!1},sendToDashboard(){"/"!==this.$route.path&&this.$router.push({name:"dashboard"})},goToBoards(){const e=this.isTemplateBoard?"templates":"boards";this.$route.name!==e&&this.$router.push({name:e})},fetchBoardById(e){this.taskLoading||(this.boardLoading=!0),this.$get(this.getBoardApiPrefix(e)).then(t=>{var s,a,i;this.lastBoardSyncAt=t.synced_at||null,window["fbs_board_members_"+e]=t.board.users,this.fetchTasksByBoard(t.board.id),this.setStages(null==(s=t.board)?void 0:s.stages),this.setBoardLabels(null==(a=t.board)?void 0:a.labels),this.eventBus.emit("board-updated",t.board),(null==(i=window.fluentAddonVars)?void 0:i.has_pro)&&this.fetchBoardDependencies(e)}).catch(e=>{this.handleError(e),this.sendToDashboard(),this.boardLoading=!1,this.taskLoadingWheel&&this.taskLoadingWheel.close()}).finally(()=>{this.fetchShortCodeBoard=!1})},fetchTaskById(e,t={}){if(this.appVars.public_mode)return;const s=!t.silent;s&&(this.taskLoading=!0,this.taskLoadingWheel=rs.service({lock:!0,text:this.$t("Loading"),background:"rgba(0, 0, 0, 0.7)"}));let a=parseInt(e.split("-")[0]);this.$get(this.getBoardApiPrefix(this.$route.params.id)+"/tasks/"+a).then(e=>{e.task.detailsLoaded=!0,this.showTask(e.task)}).catch(e=>{var t;if(this.handleError(e),!s)return void(this.viewTask&&String((null==(t=this.task)?void 0:t.id)||"")===String(a)&&this.viewTaskClosedHandler());this.taskLoading=!1,this.taskLoadingWheel&&this.taskLoadingWheel.close();let i="board";"roadmap"===this.$route.name&&(i="roadmap"),this.$router.push({name:i,params:{id:this.board.id}})}).finally(()=>{})},fetchBoardDependencies(e){var t;const s=++this.boardDependencyRequestKey,a=this.shortcodeId??this.$route.params.id??(null==(t=this.board)?void 0:t.id);String(a||"")===String(e||"")&&this.setBoardDependencies([]),this.$get("projects/"+e+"/dependencies").then(t=>{var a;const i=this.shortcodeId??this.$route.params.id??(null==(a=this.board)?void 0:a.id);s===this.boardDependencyRequestKey&&String(i||"")===String(e||"")&&this.setBoardDependencies(t.dependencies||[])}).catch(()=>{var t;const a=this.shortcodeId??this.$route.params.id??(null==(t=this.board)?void 0:t.id);s===this.boardDependencyRequestKey&&String(a||"")===String(e||"")&&this.setBoardDependencies([])})},fetchBoardTasks(e){this.loading=!0,this.tasksLoading=!0,this.boardAllTaskLoaded=!1,this.fullTaskLoadPromise=null,this.stageTaskPageRequests={},this.activeFilteredTaskRequestKey="",this.filteredTaskRequestPromise=null,this.layoutRequiresFullTaskLoad(this.layout)?this.loadAllBoardTasks(e):this.getTasksByStage(e)},loadAllBoardTasks(e){return this.fullTaskLoadPromise||(this.tasksLoading=!0,this.fullTaskLoadPromise=this.$get(this.getBoardApiPrefix(e)+"/tasks").then(e=>(this.setBoardTasks(e.tasks),this.setStageTaskPaginationMap({}),this.refreshTaskGroups(),this.boardAllTaskLoaded=!0,"id"in this.taskToBeShow&&this.showTask(this.taskToBeShow),e)).catch(e=>{throw this.handleError(e),"rest_forbidden"===e.code&&this.sendToDashboard(),e}).finally(()=>{this.finalizeTaskLoad(),this.tasksLoading=!1,this.fullTaskLoadPromise=null})),this.fullTaskLoadPromise},getTasksByStage(e){this.$get(this.getBoardApiPrefix(e)+"/tasks/by-stage").then(e=>{this.boardAllTaskLoaded||(this.setBoardTasks(e.tasks),this.setStageTaskPaginationMap(e.pagination_by_stage||{}),this.refreshTaskGroups(),"id"in this.taskToBeShow&&this.showTask(this.taskToBeShow))}).catch(e=>{this.handleError(e),"rest_forbidden"===e.code&&this.sendToDashboard()}).finally(()=>{this.finalizeTaskLoad()})},finalizeTaskLoad(){this.loading=!1,this.$route.query.reload&&this.$router.replace({query:{}}),this.boardLoading=!1},layoutRequiresFullTaskLoad:e=>["calendar-view","gantt-view"].includes(e),isProOnlyLayout:e=>["calendar-view","table-view","gantt-view"].includes(e),normalizeLayoutForLicense(e){return this.isProOnlyLayout(e)&&!this.appVars.has_pro?"kanban-view":e},buildBoardTaskQueryArgs(e={}){return{search:this.searchInput.trim(),include_archived:this.isArchivedFilter(e),stage:e.stage||[],task_status:e.task_status||[],priority:e.priority||[],assignee:e.assignee||[],labels:e.labels||[],watchers:e.watchers||[],contact:e.contact||[],custom_fields:e.custom_fields||[],due_date:e.due_date||[]}},hasActiveBoardQuery(e={}){return!!this.searchInput.trim()||this.hasActiveTaskFilters(e)},getStagesForCurrentBoardQuery(e={}){const t=Array.isArray(e.stage)?e.stage:e.stage?[e.stage]:[];if(!t.length)return this.setfilterByStageActive(!1),this.stages;const s=t.map(e=>String(e)),a=s.includes("archived");return this.setfilterByStageActive(!0),this.stages.filter(e=>s.includes(String(e.id))||a&&!!e.archived_at)},refreshBoardQueryView(){if("table-view"===this.layout)return this.activeFilteredTaskRequestKey="",this.eventBus.emit("refresh-table-tasks"),Promise.resolve();const e=this.$route.query||{};if(!this.hasActiveBoardQuery(e))return this.activeFilteredTaskRequestKey="",this.setfilterByStageActive(!1),this.updateTaskGroup(),Promise.resolve();const t=this.shortcodeId??this.$route.params.id,s=this.buildBoardTaskQueryArgs(e),a=JSON.stringify(s);if(this.activeFilteredTaskRequestKey===a&&this.filteredTaskRequestPromise)return this.filteredTaskRequestPromise;this.activeFilteredTaskRequestKey=a;const i=this.$get(this.getBoardApiPrefix(t)+"/tasks/filtered",s).then(t=>(this.activeFilteredTaskRequestKey!==a||this.updateTaskGroup(t.tasks||[],this.getStagesForCurrentBoardQuery(e)),t)).catch(e=>{throw this.handleError(e),e}).finally(()=>{this.filteredTaskRequestPromise===i&&(this.filteredTaskRequestPromise=null)});return this.filteredTaskRequestPromise=i,i},fetchStageTasksPage(e,t={}){if(this.boardAllTaskLoaded||!e||this.hasActiveBoardQuery(this.$route.query||{}))return Promise.resolve();const s=this.shortcodeId??this.$route.params.id,a="prev"===t.direction?"prev":"next",i=this.stageTaskPagination[e]||{},o=`${e}:${a}`;if(this.stageTaskPageRequests[o])return this.stageTaskPageRequests[o];if("prev"===a&&!i.has_more_before)return Promise.resolve();if("next"===a&&!i.has_more_after)return Promise.resolve();const l={stage_id:e,direction:a,limit:t.limit||20};return void 0!==t.cursor&&null!==t.cursor?l.cursor=t.cursor:"prev"===a&&void 0!==i.start_cursor?l.cursor=i.start_cursor:"next"===a&&void 0!==i.end_cursor&&(l.cursor=i.end_cursor),this.stageTaskPageRequests[o]=this.$get(this.getBoardApiPrefix(s)+"/tasks/stage-page",l).then(t=>(this.mergeBoardTasks(t.tasks||[]),t.pagination&&this.setStageTaskPagination(e,t.pagination),this.refreshTaskGroups(),t)).catch(e=>{throw this.handleError(e),e}).finally(()=>{delete this.stageTaskPageRequests[o]}),this.stageTaskPageRequests[o]},hasActiveTaskFilters:(e={})=>["assignee","due_date","contact","labels","priority","stage","watchers","custom_fields","task_status"].some(t=>{const s=e[t];return Array.isArray(s)?s.length>0:null!=s&&""!==s}),handleBoardTitleBlur(){this.board_title.trim()===this.board.title.trim()&&(this.renamingBoard=!1)},updateBoardTitle(){this.isKeyboardComposing||(this.board_title.trim()?this.board_title.trim()!==this.board.title.trim()?this.$put("projects/"+this.board.id,{title:this.board_title,description:this.board.description}).then(e=>{this.renamingBoard=!1,this.renameDescription=!1,this.eventBus.emit("board-updated",e.board),this.$notify({message:e.message,type:"success"})}).catch(e=>{this.handleError(e),this.fetchTasksByBoard(this.shortcodeId??this.$route.params.id)}):this.renamingBoard=!1:this.$notify.error({title:"Error",message:"Title cannot be empty"}))},showTask(e,t={}){if(!this.appVars.public_mode)if("id"in this.board&&e.board_id==this.board.id){if(!this.setCurrentOpenTask(e))return;this.shouldRenderTaskModal=!0,this.taskModalClosedTaskId=null,this.viewTask=!0,t.preserveBoardContext||(this.searchInput=""),e.detailsLoaded||this.fetchTaskById(`${e.id}-${Ll(e.title)}`,{silent:!0})}else this.fetchBoardById(e.board_id),this.setTaskToBeShow(e)},setCurrentOpenTask(e){if(!("id"in this.board)||e.board_id!=this.board.id)return this.fetchBoardById(e.board_id),this.setTaskToBeShow(e),!1;e.board=this.board,e.nextStage=null,e.detailsLoaded=!!e.detailsLoaded;const t=this.stages.find(t=>t.id==e.stage_id)||this.resolveTaskStageFromPayload(e);if(!t){this.$notify.error({title:"Error",message:"Something went wrong"});let e="board";return"roadmap"===this.$route.name&&(e="roadmap"),this.$router.push({name:e,params:{id:this.board.id}}),this.tasksLoading=!1,!1}const s=this.stages.filter(e=>parseFloat(e.position)>parseFloat(t.position)).sort((e,t)=>parseFloat(e.position)-parseFloat(t.position))[0];return s&&(e.nextStage=s),this.setTask(e),setTimeout(()=>{this.setSelectedStage(t),this.setTaskToBeShow()},1),this.taskLoading=!1,!0},resolveTaskStageFromPayload:e=>(null==e?void 0:e.stage)&&e.stage.id==e.stage_id?e.stage:null,taskCreatedEventHandler(e){if(this.$route.params.id!=e.board_id){let t="board";"roadmap"===this.$route.name&&(t="roadmap"),this.$router.push({name:t,params:{id:e.board_id}})}},boardSettingsEventHandler(e){this.boardSettingsActive=!1,"stage_creation_button_clicked"==e.event?this.openCreateStageDialog():"board_deleted"==e.event||"board_edit_button_clicked"==e.event&&(this.editingBoard=!0,this.task_groups.forEach(e=>{let t=e.group;this.stags[t]=e.label}))},viewTaskClosedHandler(){var e;if(!this.viewTask)return;this.taskModalClosedTaskId=null==(e=this.task)?void 0:e.id,this.$changeTitle(this.board.title),this.isTaskModalFullScreen=!1,this.viewTask=!1;let t="board";"roadmap"===this.$route.name&&(t="roadmap"),this.$router.push({name:t,params:{id:this.board.id},query:this.$route.query})},taskDialogClosedHandler(){this.viewTask&&this.viewTaskClosedHandler();const e=this.taskModalClosedTaskId;this.shouldRenderTaskModal=!1,this.taskModalClosedTaskId=null,setTimeout(()=>{this.resetTaskAndDependency()},1),"kanban-view"===this.layout&&e&&this.highlightClosedTask(e)},toggleTaskModalFullscreen(){this.isTaskModalFullScreen=!this.isTaskModalFullScreen},highlightClosedTask(e){this.$nextTick(()=>{const t=document.getElementById("fbs_task_"+e);t&&(t.classList.add("fbs_task_closed_highlight"),"function"==typeof t.scrollIntoView&&t.scrollIntoView({behavior:"smooth",block:"center",inline:"nearest"}),this.highlightClosedTaskTimeoutId&&clearTimeout(this.highlightClosedTaskTimeoutId),this.highlightClosedTaskTimeoutId=setTimeout(()=>{t.classList.remove("fbs_task_closed_highlight"),this.highlightClosedTaskTimeoutId=null},3e3))})},async handleLayoutView(e){if(this.isProOnlyLayout(e)&&!this.appVars.has_pro)return void this.$notify({title:"Error",type:"info",message:this.$t("This feature is only available in the Pro version. Please upgrade.")});this.layout=e;const t="fbs_single_board_layout"+(this.shortcodeId??this.$route.params.id);if(this.Storage.set(t,e),"gantt-view"===e&&this.$route.query.due_date){const e={...this.$route.query};delete e.due_date,this.$router.replace({query:e})}!this.boardAllTaskLoaded&&this.layoutRequiresFullTaskLoad(e)&&await this.loadAllBoardTasks(this.shortcodeId??this.$route.params.id)},getTaskData(){this.fetchTaskById(this.$route.params.taskIdName)},async searchByName(){if("table-view"!==this.layout)return this.refreshBoardQueryView()},hasDataChanged(){if(!this.appVars.public_mode&&this.$route.params.id){const e=this.isArchivedFilter(this.$route.query||{}),t={include_archived:e?1:0};this.lastBoardSyncAt&&(t.since=this.lastBoardSyncAt),this.$get(this.getBoardApiPrefix(this.$route.params.id)+"/has-data-changed",t).then(t=>{t.synced_at&&(this.lastBoardSyncAt=t.synced_at),!1!==t.has_changes&&(t.board&&Object.values(t.board).length&&this.eventBus.emit("board-updated",t.board),t.labelDeleted||t.labelResetRequired?this.setBoardLabels(t.labels):t.labels.length>0&&this.updateBoardLabel(t.labels),t.stageDeleted||t.stageResetRequired?this.setStages({stages:t.stages,includeArchived:e}):t.stages.length>0&&this.eventBus.emit("update-stages",t.stages),t.taskDeleted||t.taskResetRequired?this.setBoardTasks({tasks:t.tasks,includeArchived:e}):t.tasks.length>0&&this.eventBus.emit("update-tasks",t.tasks),this.updateChangedData())}).catch(e=>{this.handleError(e)})}},updateTaskGroup(e,t){e||(e=this.tasks),t||(t=this.stages);const s=!this.boardAllTaskLoaded&&!this.hasActiveBoardQuery(this.$route.query||{})?this.stageTaskPagination:{};let a=this.taskGroupingByStages(e,t,s);this.task_groups=this.sortTaskByPosition(a)},refreshTaskGroups(){this.searchInput||this.hasActiveTaskFilters(this.$route.query||{})?this.updateChangedData():this.updateTaskGroup()},updateChangedData(){this.refreshBoardQueryView()},filterTasks(){if("table-view"!==this.layout)return this.refreshBoardQueryView();this.setfilterByStageActive(!1)},getKnownTopStageTaskId(e,t=null){if((this.stageTaskPagination[e]||{}).has_more_before)return null;const s=this.tasks.filter(s=>s.stage_id==e&&(!t||s.id!=t)).sort((e,t)=>parseFloat(e.position)-parseFloat(t.position));return s.length?parseInt(s[0].id):null},moveTask({boardId:e,taskId:t,newStageId:s,newIndex:a=null,newBoardId:i,prevTaskId:o=null,nextTaskId:l=null,openTaskInNewBoard:n=!1}){if(this.appVars.public_mode||this.board.isUserOnlyViewer||this.board.archived_at)return;if([e,t,s].some(e=>isNaN(Number(e))))return this.eventBus.emit("update-tasks",[]),void this.$notify.error({title:"Error",message:"Something went wrong!"});let r=Number(o)>0?Number(o):null,d=Number(l)>0?Number(l):null;r||d||1!==Number(a)||(d=this.getKnownTopStageTaskId(s,t));if(!(Number(r)>0||Number(d)>0)&&Number(a)<=0)return this.eventBus.emit("update-tasks",[]),void this.$notify.error({title:"Error",message:"Something went wrong!"});let c={newStageId:s};Number(a)>0&&(c.newIndex=a),Number(r)>0&&(c.prevTaskId=r),Number(d)>0&&(c.nextTaskId=d),i&&(c.newBoardId=i),c.last_boards_updated=window.last_task_updated&&window.last_task_updated[e]?window.last_task_updated[e]:null,this.$put("projects/"+e+"/tasks/"+t+"/move-task",c).then(t=>{window.last_task_updated||(window.last_task_updated={}),window.last_task_updated[e]=t.last_updated,this.board.id!=t.task.board_id?n?this.eventBus.emit("show-task",t.task):(this.eventBus.emit("fluent-boards-task-removed",t.task.id),this.viewTaskClosedHandler()):this.eventBus.emit("update-tasks",t.updatedTasks)}).catch(t=>{this.handleError(t),this.fetchBoardById(this.shortcodeId??this.$route.params.id??e)})},setBoardPermission(e){if(this.appVars.public_mode)return;let t={me:this.appVars.me,boardId:e};this.setUserRoleInBoard(t)},updateTaskProperty(e,t,s,a,i,o){this.appVars.public_mode||this.board.isUserOnlyViewer||this.board.archived_at||this.$put("projects/"+e.board_id+"/tasks/"+e.id,{property:t,value:s}).then(e=>{this.eventBus.emit("update-tasks",e.updatedTasks),"function"==typeof a&&a(e)}).catch(e=>{this.setCurrentOpenTask(this.tempTask),"function"==typeof i?i(e):this.handleError(e)}).finally(()=>{this.resetTempTask(),"function"==typeof o&&o()})},changeTaskIllustration(e,t,s){if(["title","priority","description","due_at","last_completed_at","archived_at"].includes(t)){if("archived_at"==t||"last_completed_at"==t)if(s){const s=new Date,a=`${s.toISOString().slice(0,10)} ${s.toLocaleTimeString()}`;e[t]=a}else e[t]=null;e[t]=s}this.setCurrentOpenTask(e)},layoutLabel(){return{"list-view":this.$t("List"),"calendar-view":this.$t("Calendar"),"table-view":this.$t("Table"),"gantt-view":this.$t("Gantt")}[this.layout]||this.$t("Kanban")},openCreateStageDialog(){var e;this.appVars.public_mode||this.board.isUserOnlyViewer||this.board.archived_at||null==(e=this.$refs.createStageDialog)||e.openDialog()},moveStage(e,t){this.appVars.public_mode||this.board.isUserOnlyViewer||this.board.archived_at||this.$put("projects/"+this.board.id+"/drag-stage",{stageId:e,newPosition:t}).then(e=>{this.eventBus.emit("update-stages",e.updatedStages)}).catch(e=>{this.handleError(e)})},restoreBoardModal(e){this.emitter.emit("board-restore",e)},confirmConvertToBoard(){tt.confirm(this.$t("This template will become a regular board and will appear in your boards list again. Continue?"),this.$t("Convert to board"),{confirmButtonText:this.$t("Convert"),cancelButtonText:this.$t("Cancel"),type:"warning"}).then(()=>{this.$put("projects/"+this.board.id+"/convert-to-board").then(e=>{this.$notify({type:"success",message:e.message||this.$t("Template has been converted back to a board")}),this.eventBus.emit("board-updated",e.board)}).catch(e=>{this.handleError(e)})}).catch(()=>{})},onTemplateSettingsSaved(e){e&&this.eventBus.emit("board-updated",e)},getUserDashboardViewSetting(){this.appVars.public_mode||this.$get("get-dashboard-view-settings",{view:"kanbanview"}).then(e=>{this.loadDashboardViewSettings(e.currentSettings)}).catch(e=>{this.handleError(e)}).finally(()=>{this.loading=!1})},getUserlistviewSetting(){this.appVars.public_mode||this.$get("get-dashboard-view-settings",{view:"listview"}).then(e=>{this.loadlistviewSettings(e.currentSettings)}).catch(e=>{this.handleError(e)}).finally(()=>{this.loading=!1})},getUserTableviewSetting(){this.appVars.public_mode||(this.setTableviewSettingsLoaded(!1),this.$get("get-dashboard-view-settings",{view:"tableview"}).then(e=>{this.loadTableviewSettings(e.currentSettings)}).catch(e=>{this.handleError(e)}).finally(()=>{this.loading=!1}))},handleBoardActionsUiForSmallScreen(){if(document.querySelector(".fluent_boards_frontend")){const e=document.getElementById("fluent-boards-app").offsetWidth;let t=document.querySelector(".fbs-boards-actions");e<=591?t&&t.classList.add("fbs_board_actions_small_screen"):t&&t.classList.remove("fbs_board_actions_small_screen")}},handleOverlayClick(e){this.eventBus.emit("close-board-labels-popover")},isArchivedFilter(e){const t=null==e?void 0:e.task_status;return Array.isArray(t)?t.includes("archived"):"archived"===t}},watch:{$route(e,t){var s;this.filterTasks();const a=String(this.shortcodeId??(null==(s=this.board)?void 0:s.id)??""),i=String(e.params.id??a),o=String(t.params.id??a),l=a&&i===a&&o===a;"table-view"===this.layout&&l||(this.searchInput="");const n=this.isArchivedFilter(e.query)!==this.isArchivedFilter(t.query);if("board"===e.name||"roadmap"===e.name)if(this.viewTask&&this.viewTaskClosedHandler(),e.params.id!=t.params.id){if(this.fetchShortCodeBoard)return;const t=this.shortcodeId??e.params.id;this.fetchBoardById(t)}else if(n){const t=this.shortcodeId??e.params.id;this.fetchBoardById(t)}if("task"===e.name){if(this.appVars.public_mode)return;let t=parseInt(this.$route.params.taskIdName.split("-")[0]);if(!this.task.hasOwnProperty("id")||this.task.id!=t)if(Object.keys(this.tasks).length>0){const s=this.tasks.find(e=>e.id==t);s?this.showTask(s):this.fetchTaskById(e.params.taskIdName)}else this.fetchTaskById(e.params.taskIdName)}},searchInput(e){"table-view"!==this.layout&&(this.$router.replace({query:null}),e.length>0?this.debouncedSearch():this.searchByName())},taskLoading(e){!e&&this.taskLoadingWheel&&(this.taskLoadingWheel.close(),this.taskLoadingWheel=null)}},async mounted(){if(this.getUserDashboardViewSetting(),this.getUserlistviewSetting(),this.getUserTableviewSetting(),this.resetTaskAndDependency(),this.board.Id=parseInt(this.$route.params.id),this.appVars.public_mode||(this.setBoardPermission(this.$route.params.id),this.setWpOrSuperAdminPermission(this.appVars.me)),"board"===this.$route.name||"roadmap"===this.$route.name?this.fetchBoardById(this.$route.params.id):"task"===this.$route.name?(this.taskLoading=!0,this.fetchBoardById(this.$route.params.id),this.fetchTaskById(this.$route.params.taskIdName)):this.shortcodeId&&(this.fetchShortCodeBoard=!0,this.fetchBoardById(this.shortcodeId)),this.emitter.on("taskCreatedEvent",e=>{this.taskCreatedEventHandler(e)}),this.emitter.on("updateBoard",e=>{this.fetchBoardById(e)}),window.innerWidth<768&&"admin"==this.appVars.render_in){let e=this.$refs.fbs_tasks_wrapper.getBoundingClientRect();this.$refs.fbs_tasks_wrapper.style.height="calc( 100vh - "+(e.top+20)+"px)"}this.handleBoardActionsUiForSmallScreen(),this.emitter.on("remove-pinned-board",e=>{var t;String(e)===String(null==(t=this.board)?void 0:t.id)&&(this.board.is_pinned=!1)}),this.$nextTick(()=>{document.querySelectorAll(".el-overlay").forEach(e=>{e.addEventListener("click",this.handleOverlayClick,!0)})})}},YR={class:"fbs_task_dashboard"},JR={key:0,class:"fbs_board_archived fbs_board_archived_detail"},QR={class:"fbs-task-archive-detail-banner",role:"status"},XR={class:"fbs-task-archive-detail-banner__content"},eN={class:"fbs-task-archive-detail-banner__title"},tN={key:0,class:"fbs-task-archive-detail-banner__description"},sN={key:1,class:"fbs_board_archived fbs_board_template"},aN={class:"fbs_board_archived_banner"},iN={class:"fbs_board_template_notice"},oN={class:"fbs_board_template_icon","aria-hidden":"true"},lN={class:"fbs_board_template_copy"},nN={key:0,class:"fbs_board_template_actions"},rN={class:"fbs_header_title d-flex"},dN=["aria-label","title"],cN={class:"icon d-block"},hN={class:"fbs-boards-actions text-align-right d-flex justify-end"},uN={key:0,class:"fbs_add_stage_box"},pN={class:"icon"},mN={class:"fbs_tasks_view_layout_icon"},bN={class:"icon fbs_ml-auto"},gN={class:"icon fbs-task-layout-icon fbs-task-layout-icon--kanban-view"},fN={class:"icon fbs-task-layout-icon fbs-task-layout-icon--table-view"},_N={key:0,class:"fbs-pro"},kN={class:"icon fbs-task-layout-icon fbs-task-layout-icon--list-view"},vN={class:"icon fbs-task-layout-icon fbs-task-layout-icon--calendar-view"},yN={key:0,class:"fbs-pro"},wN={class:"icon fbs-task-layout-icon fbs-task-layout-icon--gantt-view"},CN={key:0,class:"fbs-pro"},TN={key:1,class:"fbs-filter-and-search"},SN={class:"fbs-settings-share-notification-button-container"},$N={class:"icon"},VN=["src","alt"],AN={key:0,class:"fbs-more-users-number"},IN={key:3,class:"fbs-settings-share-notification-button-container"},DN={ref:"fbs_tasks_wrapper",id:"fbs_tasks_wrapper"};const BN=Ss(ZR,[["render",function(e,t,u,p,m,_){var v,C,T,V,A,I,D,B;const L=b("TakeawayBox"),M=Ne,x=b("RefreshLeft"),P=b("Icons"),F=He,E=b("InfoFilled"),O=ze,R=We,N=xe,H=Me,j=Pe,z=b("filters"),G=b("board-settings"),q=b("list-view"),W=b("calendar-view"),K=b("gantt-chart-view"),Z=b("table-view"),Y=b("kanban-view"),J=b("task-details-modal"),Q=Ge,X=b("board-info-modal"),ee=b("file-upload-progress-bar"),te=b("CelebrationAnimation"),se=b("create-stage-dialog"),ae=b("create-from-template"),ie=b("template-settings-dialog"),oe=g("loading");return s(),a("div",YR,[f((s(),a("div",{class:k(["fluentboards_databox",[_.hasCustomBoardBackground?"fbs-is-blur":"","fbs-board-layout-"+m.layout]]),style:S([{"background-color":"var(--fbs-body-bg)"},e.boardBackground.is_image?`background-image: url(${e.boardBackground.image_url})`:_.effectiveBoardBackgroundColor?`background: ${_.effectiveBoardBackgroundColor}`:""])},[null!=(null==(v=e.board)?void 0:v.archived_at)?(s(),a("div",JR,[i("div",QR,[i("div",XR,[l(M,{class:"fbs-task-archive-detail-banner__icon"},{default:n(()=>[l(L)]),_:1}),i("span",eN,o(e.$t("Board Archived")),1),t[21]||(t[21]=i("span",{class:"fbs-task-archive-detail-banner__separator","aria-hidden":"true"},"•",-1)),_.archivedBoardDate?(s(),a("span",tN,o(e.$t("This board was archived on"))+" "+o(_.archivedBoardDate)+", "+o(e.$t("at"))+" "+o(_.archivedBoardTime)+". ",1)):y("",!0)]),_.canRestoreArchivedBoard?(s(),a("button",{key:0,type:"button",class:"fbs-task-archive-detail-banner__action",onClick:t[0]||(t[0]=t=>{var s;return _.restoreBoardModal(null==(s=e.board)?void 0:s.id)})},[l(M,null,{default:n(()=>[l(x)]),_:1}),i("span",null,o(e.$t("Restore Board")),1)])):y("",!0)])])):y("",!0),_.isTemplateBoard?(s(),a("div",sN,[i("div",aN,[i("div",iN,[i("span",oN,[l(P,{"icon-name":"template"})]),i("div",lN,[i("strong",null,o(e.$t("Template board")),1),i("p",null,o(e.$t("This board is a template. Changes made here will update the template.")),1)])]),_.canManageTemplate?(s(),a("div",nN,[i("button",{type:"button",class:"fbs_board_banner_action fbs_board_banner_action_primary",onClick:t[1]||(t[1]=e=>m.showUseTemplateDialog=!0)},o(e.$t("Use template")),1),i("button",{type:"button",class:"fbs_board_banner_action",onClick:t[2]||(t[2]=e=>m.showTemplateSettingsDialog=!0)},o(e.$t("Template settings")),1),i("button",{type:"button",class:"fbs_board_banner_action",onClick:t[3]||(t[3]=(...e)=>_.confirmConvertToBoard&&_.confirmConvertToBoard(...e))},o(e.$t("Convert to board")),1)])):y("",!0)])])):y("",!0),i("div",{class:k(["fbs_board_title_bar",m.isBoardSettingsActive||m.isNotificationPanelActive?"fbs-sidebar-active":""])},[i("div",rN,[i("span",{class:"fbs_board_arrow",role:"button",tabindex:"0","aria-label":e.$t("Back to boards"),title:e.$t("Back to boards"),onClick:t[4]||(t[4]=(...e)=>_.goToBoards&&_.goToBoards(...e)),onKeydown:[t[5]||(t[5]=$(h((...e)=>_.goToBoards&&_.goToBoards(...e),["prevent"]),["enter"])),t[6]||(t[6]=$(h((...e)=>_.goToBoards&&_.goToBoards(...e),["prevent"]),["space"]))]},[i("span",cN,[l(P,{"icon-name":"angle-arrow-left","icon-class":"d-block"})])],40,dN),m.renamingBoard?f((s(),c(F,{key:1,type:"text",style:{width:"99%"},ref:"board_title",id:"board-title",modelValue:m.board_title,"onUpdate:modelValue":t[8]||(t[8]=e=>m.board_title=e),onChange:t[9]||(t[9]=e=>_.updateBoardTitle()),onBlur:_.handleBoardTitleBlur,onFocusout:_.handleBoardTitleBlur,maxlength:"100","show-word-limit":"",onCompositionstart:t[10]||(t[10]=e=>m.isKeyboardComposing=!0),onCompositionend:t[11]||(t[11]=e=>m.isKeyboardComposing=!1)},null,8,["modelValue","onBlur","onFocusout"])),[[U,m.renamingBoard]]):(s(),a("span",{key:0,class:k(["fbs_board_title_text",e.boardBackground.is_image?"fbs-header-title-white":""]),onClick:t[7]||(t[7]=(...e)=>_.renameBoard&&_.renameBoard(...e))},o(null==(C=e.board)?void 0:C.title),3)),l(R,{effect:"dark","raw-content":"",content:e.$t("Show Board Info"),placement:"top-start"},{default:n(()=>[l(O,{class:"fbs-quick-description-btn",onClick:_.handleShowDescriptionTitleModal},{default:n(()=>[l(M,null,{default:n(()=>[l(E)]),_:1})]),_:1},8,["onClick"])]),_:1},8,["content"])]),i("div",hN,[!["list-view","table-view"].includes(m.layout)||e.appVars.public_mode||e.board.archived_at||e.board.isUserOnlyViewer?y("",!0):(s(),a("div",uN,[l(O,{onClick:_.openCreateStageDialog,size:"small","aria-label":e.$t("Add stage")},{default:n(()=>[i("span",pN,[l(P,{"icon-name":"plus"})]),w(" "+o(e.$t("Stage")),1)]),_:1},8,["onClick","aria-label"])])),i("div",mN,[l(j,{trigger:"click",placement:"bottom","popper-class":"fbs-tasks-view-popover",onCommand:_.handleLayoutView,title:"Layout"},{dropdown:n(()=>[l(H,{style:{display:"flex",gap:"5px","flex-direction":"column"}},{default:n(()=>[l(N,{command:"kanban-view",style:S("kanban-view"===m.layout?"font-weight: bold;":"")},{default:n(()=>[i("span",gN,[l(P,{"icon-name":"kanban-view"})]),w(" "+o(e.$t("Kanban")),1)]),_:1},8,["style"]),l(N,{command:"table-view",style:S("table-view"===m.layout?"font-weight: bold;":"")},{default:n(()=>[i("span",fN,[l(P,{"icon-name":"table-view"})]),w(" "+o(e.$t("Table"))+" ",1),e.appVars.has_pro?y("",!0):(s(),a("span",_N,"Pro"))]),_:1},8,["style"]),l(N,{command:"list-view",style:S("list-view"===m.layout?"font-weight: bold;":"")},{default:n(()=>[i("span",kN,[l(P,{"icon-name":"list-view"})]),w(" "+o(e.$t("List")),1)]),_:1},8,["style"]),l(N,{command:"calendar-view",style:S("calendar-view"===m.layout?"font-weight: bold;":"")},{default:n(()=>[i("span",vN,[l(P,{"icon-name":"calendar-view"})]),w(" "+o(e.$t("Calendar"))+" ",1),e.appVars.has_pro?y("",!0):(s(),a("span",yN,"Pro"))]),_:1},8,["style"]),l(N,{command:"gantt-view",style:S("gantt-view"===m.layout?"font-weight: bold;":"")},{default:n(()=>[i("span",wN,[l(P,{"icon-name":"gantt-view"})]),w(" "+o(e.$t("Gantt"))+" ",1),e.appVars.has_pro?y("",!0):(s(),a("span",CN,"Pro"))]),_:1},8,["style"])]),_:1})]),default:n(()=>[l(O,{class:"el-dropdown-link",size:"small"},{default:n(()=>[i("span",{class:k(["icon","fbs-task-layout-icon",`fbs-task-layout-icon--${m.layout}`])},["table-view"===m.layout?(s(),c(P,{key:0,"icon-name":"table-view"})):"list-view"===m.layout?(s(),c(P,{key:1,"icon-name":"list-view"})):"calendar-view"===m.layout?(s(),c(P,{key:2,"icon-name":"calendar-view"})):"gantt-view"===m.layout?(s(),c(P,{key:3,"icon-name":"gantt-view"})):(s(),c(P,{key:4,"icon-name":"kanban-view"}))],2),w(" "+o(_.layoutLabel())+" ",1),i("span",bN,[l(P,{"icon-name":"arrow-down"})])]),_:1})]),_:1},8,["onCommand"])]),e.appVars.public_mode?y("",!0):(s(),a("div",TN,[l(z,{"force-append-to-body":"gantt-view"===m.layout},null,8,["force-append-to-body"])])),i("div",SN,[i("div",null,[l(R,{effect:"dark",content:e.$t("Refresh Board"),placement:"top"},{default:n(()=>[l(O,{class:"only-icon-btn",size:"small",onClick:t[12]||(t[12]=e=>_.fetchBoardById(this.shortcodeId??this.$route.params.id))},{default:n(()=>[i("span",$N,[l(P,{"icon-name":"refresh"})])]),_:1})]),_:1},8,["content"])])]),!e.appVars.public_mode&&(null==(V=null==(T=e.board)?void 0:T.users)?void 0:V.length)?(s(),a("ul",{key:2,onClick:t[13]||(t[13]=(...e)=>_.openBoardMembersDrawer&&_.openBoardMembersDrawer(...e)),class:"fbs-board-users"},[(s(!0),a(r,null,d(null==(I=null==(A=e.board)?void 0:A.users)?void 0:I.slice(0,3),(e,t)=>(s(),a("li",{class:"fbs-negative-mg",key:t},[i("img",{src:e.photo,alt:e.display_name},null,8,VN)]))),128)),(null==(D=e.board)?void 0:D.users.length)>3?(s(),a("li",AN," +"+o((null==(B=e.board)?void 0:B.users.length)-3),1)):y("",!0)])):y("",!0),e.appVars.public_mode?y("",!0):(s(),a("div",IN,[l(G,{board:e.board,shortcodeId:u.shortcodeId,ref:"boardMenu","force-append-to-body":"gantt-view"===m.layout,onBoardSettingsEvent:_.boardSettingsEventHandler,onCloseSidebar:t[14]||(t[14]=e=>m.isBoardSettingsActive=!1)},null,8,["board","shortcodeId","force-append-to-body","onBoardSettingsEvent"])]))])],2),i("div",DN,["list-view"===m.layout?(s(),c(q,{key:0,onCelebration:_.celebrationHandler,task_groups:m.task_groups,boardLoading:m.boardLoading,stageTaskPagination:e.stageTaskPagination,fetchStageTasksPage:_.fetchStageTasksPage},null,8,["onCelebration","task_groups","boardLoading","stageTaskPagination","fetchStageTasksPage"])):"calendar-view"===m.layout?(s(),c(W,{key:1,task_groups:m.task_groups,boardLoading:m.boardLoading},null,8,["task_groups","boardLoading"])):"gantt-view"===m.layout?(s(),c(K,{key:2,task_groups:m.task_groups,boardLoading:m.boardLoading},null,8,["task_groups","boardLoading"])):"table-view"===m.layout?(s(),c(Z,{key:3,task_groups:m.task_groups,boardLoading:m.boardLoading,searchInput:m.searchInput,activeFilters:e.$route.query,onUpdateSearchInput:t[15]||(t[15]=e=>m.searchInput=e)},null,8,["task_groups","boardLoading","searchInput","activeFilters"])):(s(),c(Y,{key:4,task_groups:m.task_groups,task_labels:m.task_labels,boardLoading:m.boardLoading,stageTaskPagination:e.stageTaskPagination,fetchStageTasksPage:_.fetchStageTasksPage,onFetchTasksByBoard:_.fetchTasksByBoard},null,8,["task_groups","task_labels","boardLoading","stageTaskPagination","fetchStageTasksPage","onFetchTasksByBoard"]))],512),l(Q,{modelValue:m.viewTask,"onUpdate:modelValue":t[16]||(t[16]=e=>m.viewTask=e),width:"100%",top:"5vh","append-to-body":"",class:k(["fbs_view_task_modal",{fbs_view_task_modal_fullscreen:m.isTaskModalFullScreen}]),"modal-class":"fbs_view_task_modal_class",onClosed:_.taskDialogClosedHandler,"show-close":!1,"close-on-click-modal":!1,"destroy-on-close":!0,transition:"fbs-task-dialog-slide"},{default:n(()=>[m.shouldRenderTaskModal?(s(),c(J,{key:0,onCloseModal:_.viewTaskClosedHandler,onFetchTaskById:_.fetchTaskById,onGetTask:_.getTaskData,onCelebration:_.celebrationHandler,onToggleFullscreen:_.toggleTaskModalFullscreen,task_groups:m.task_groups,"stage-task-pagination":_.modalStageTaskPagination,"fetch-stage-tasks-page":_.fetchStageTasksPage,viewTaskClosedHandler:_.viewTaskClosedHandler},null,8,["onCloseModal","onFetchTaskById","onGetTask","onCelebration","onToggleFullscreen","task_groups","stage-task-pagination","fetch-stage-tasks-page","viewTaskClosedHandler"])):y("",!0)]),_:1},8,["modelValue","class","onClosed"])],6)),[[oe,m.mainLoading]]),l(X,{show:m.viewDescriptionDialog,onCloseBoardInfoDialog:_.closeBoardInfoDialog},null,8,["show","onCloseBoardInfoDialog"]),l(ee),l(te,{"is-celebration":m.isCompletedTask},null,8,["is-celebration"]),l(se,{ref:"createStageDialog"},null,512),l(Q,{modelValue:m.showUseTemplateDialog,"onUpdate:modelValue":t[19]||(t[19]=e=>m.showUseTemplateDialog=e),title:e.$t("Create Board from Template"),width:"500px","close-on-click-modal":!1,"append-to-body":"","destroy-on-close":""},{default:n(()=>[m.showUseTemplateDialog?(s(),c(ae,{key:0,template:_.boardAsTemplate,"template-type":"user",onClose:t[17]||(t[17]=e=>m.showUseTemplateDialog=!1),onCreated:t[18]||(t[18]=e=>m.showUseTemplateDialog=!1)},null,8,["template"])):y("",!0)]),_:1},8,["modelValue","title"]),_.isTemplateBoard?(s(),c(ie,{key:0,modelValue:m.showTemplateSettingsDialog,"onUpdate:modelValue":t[20]||(t[20]=e=>m.showTemplateSettingsDialog=e),board:e.board,onSaved:_.onTemplateSettingsSaved},null,8,["modelValue","board","onSaved"])):y("",!0)])}]]),LN={class:"fbs-board-card-members"},MN=["src","alt"],xN={key:0,class:"fbs-board-card-member fbs-board-card-member-count"};const PN={name:"BoardTaskMetaInfo",components:{BoardMembers:Ss({name:"BoardMembers",props:{users:{type:Array,default:()=>[]},numberOfAvatars:{type:Number,default:3}},computed:{visibleUsers(){return this.users.slice(0,this.numberOfAvatars)},hiddenUsersCount(){return Math.max(this.users.length-this.numberOfAvatars,0)}}},[["render",function(e,t,c,h,u,p){const m=We;return s(),a("div",LN,[c.users&&c.users.length?(s(),a(r,{key:0},[(s(!0),a(r,null,d(p.visibleUsers,e=>(s(),a("div",{class:"fbs-board-card-member",key:e.ID},[l(m,{effect:"dark",content:e.display_name,placement:"top-start"},{default:n(()=>[i("img",{src:e.photo,alt:e.display_name},null,8,MN)]),_:2},1032,["content"])]))),128)),p.hiddenUsersCount?(s(),a("div",xN," +"+o(p.hiddenUsersCount),1)):y("",!0)],64)):y("",!0)])}]]),Icons:$s},props:{board:{type:Object,required:!0},numberOfAvatars:{type:Number,default:3},variant:{type:String,default:"list",validator:e=>["list","card"].includes(e)},showArchivedBadge:{type:Boolean,default:!1}},computed:{users(){return this.board.users||[]},hasUsers(){return this.users.length>0},completedTasks(){return this.board.completed_tasks_count||0},totalTasks(){var e;return(null==(e=this.board)?void 0:e.settings)&&this.board.settings.tasks_count?this.board.settings.tasks_count:0}}},FN={key:0,class:"fbs-board-card-bottom"},EN={class:"fbs-board-card-bottom--right d-flex items-center gap-4"},UN={key:0,class:"fbs_board_card__roadmap fbs_badge"},ON={class:"icon"},RN=["title"],NN={key:0,class:"fbs_board_list_item__archived_label fbs_badge"},HN={key:1,class:"fbs_board_card__roadmap fbs_badge"},jN={class:"icon"},zN=["title"];const GN=Ss(PN,[["render",function(e,t,n,d,h,u){const p=b("board-members"),m=b("Icons");return"card"===n.variant?(s(),a("div",FN,[l(p,{users:u.users,"number-of-avatars":n.numberOfAvatars},null,8,["users","number-of-avatars"]),i("div",EN,["roadmap"==n.board.type?(s(),a("span",UN,[i("span",ON,[l(m,{"icon-name":"roadmap"})]),w(" "+o(e.$t("Roadmap")),1)])):y("",!0),i("div",{class:"fbs-board-card-task-count",title:e.$t("Completed/Total Tasks")},[l(m,{"icon-name":"task-count","aria-hidden":"true"}),i("span",null,o(u.completedTasks)+"/"+o(u.totalTasks),1)],8,RN)])])):(s(),a(r,{key:1},[n.showArchivedBadge&&n.board.archived_at?(s(),a("span",NN,o(e.$t("Archived")),1)):y("",!0),"roadmap"==n.board.type?(s(),a("span",HN,[i("span",jN,[l(m,{"icon-name":"roadmap"})]),w(" "+o(e.$t("Roadmap")),1)])):y("",!0),i("div",{class:"fbs-board-list-task-count",title:e.$t("Completed/Total Tasks")},[l(m,{"icon-name":"task-count","aria-hidden":"true"}),i("span",null,o(u.completedTasks)+"/"+o(u.totalTasks),1)],8,zN),u.hasUsers?(s(),c(p,{key:2,users:u.users,"number-of-avatars":n.numberOfAvatars},null,8,["users","number-of-avatars"])):y("",!0)],64))}]]),qN={name:"DashboardBoardsCard",components:{BoardTaskMetaInfo:GN,BoardBackgroundPreview:Us,BaseCard:YP,EmptyState:Vs},props:{boards:{type:Array,default:()=>[]},loading:{type:Boolean,default:!1},numberOfAvatars:{type:Number,default:3}},methods:{boardUrl(e){return this.appVars.base_url+"boards/"+e.id},goToBoard(e){this.$router.push({name:"board",params:{id:e.id}})},goToBoards(){this.$router.push({name:"boards"})},completedTaskCount:e=>e.completed_tasks_count||0,totalTaskCount(e){var t;return(null==(t=null==e?void 0:e.settings)?void 0:t.tasks_count)||0}}},WN={class:"fbs-dashboard-widget-title"},KN={key:0,class:"fbs-dashboard-board-list"},ZN=["href","onClick"],YN={class:"fbs-dashboard-board-item__content"},JN={class:"fbs-dashboard-board-item__title"},QN={class:"fbs-dashboard-board-item__meta"},XN={key:1,class:"fbs-dashboard-empty-compact"};const eH=Ss(qN,[["render",function(e,t,u,p,m,g){const f=ze,_=b("board-background-preview"),k=b("board-task-meta-info"),v=b("empty-state"),y=b("base-card");return s(),c(y,{class:"fbs-dashboard-side-card","body-loading":u.loading,"no-body-padding":!0},{title:n(()=>[i("h3",WN,o(e.$t("My Boards")),1)]),header_action:n(()=>[l(f,{link:"",class:"no-underline hover-underline fbs_mr_0 fbs_ml_0",onClick:g.goToBoards},{default:n(()=>[w(o(e.$t("View All")),1)]),_:1},8,["onClick"])]),default:n(()=>[u.boards.length?(s(),a("div",KN,[(s(!0),a(r,null,d(u.boards.slice(0,3),e=>(s(),a("a",{key:e.id,href:g.boardUrl(e),class:"fbs-dashboard-board-item",onClick:h(t=>g.goToBoard(e),["prevent"])},[l(_,{class:"fbs-dashboard-board-item__icon",board:e,hideIcon:!0},null,8,["board"]),i("div",YN,[i("span",JN,o(e.title),1),i("span",QN,[l(k,{board:e,"number-of-avatars":u.numberOfAvatars,variant:"list"},null,8,["board","number-of-avatars"])])])],8,ZN))),128))])):(s(),a("div",XN,[l(v,{message:"No boards found"})]))]),_:1},8,["body-loading"])}]]),tH={class:"fbs-dashboard-page-header__inner"},sH=["src","alt"],aH={key:1,class:"fbs-dashboard-page-header__avatar fbs-dashboard-page-header__avatar--fallback"},iH={class:"fbs-dashboard-page-header__text"},oH={class:"fbs-dashboard-page-header__greeting"};const lH=Ss({name:"DashboardPageHeader",props:{user:{type:Object,default:()=>({})}},computed:{displayName(){var e,t;return(null==(e=this.user)?void 0:e.display_name)||(null==(t=this.user)?void 0:t.name)||this.$t("there")},userPhoto(){var e;return(null==(e=this.user)?void 0:e.photo)||""},userInitial(){return String(this.displayName||"?").charAt(0).toUpperCase()},greeting(){const e=(new Date).getHours();return e<12?this.$t("Good morning"):e<18?this.$t("Good afternoon"):this.$t("Good evening")},businessName(){var e;return((null==(e=this.appVars)?void 0:e.business_name)||"").trim()||"FluentBoards"},welcomeMessage(){return`${this.$t("Welcome to")} ${this.businessName}`}}},[["render",function(e,t,l,n,r,d){return s(),a("div",tH,[d.userPhoto?(s(),a("img",{key:0,class:"fbs-dashboard-page-header__avatar",src:d.userPhoto,alt:d.displayName},null,8,sH)):(s(),a("span",aH,o(d.userInitial),1)),i("div",iH,[i("h2",oH,[i("span",null,o(d.greeting)+", "+o(d.displayName),1),t[0]||(t[0]=i("span",{class:"fbs-dashboard-page-header__wave","aria-hidden":"true"},"👋🏻",-1))]),i("p",null,o(d.welcomeMessage),1)])])}]]),nH={name:"DashboardRecentActivity",components:{BaseCard:YP,EmptyState:Vs,ActivityListItem:km},props:{activities:{type:Array,default:()=>[]},loading:{type:Boolean,default:!1}},data:()=>({activeFilter:"all"}),computed:{filters(){return[{label:this.$t("All"),value:"all"},{label:this.$t("Mentions"),value:"mentions"},{label:this.$t("Updates"),value:"updates"}]},filteredActivities(){return"all"===this.activeFilter?this.activities:this.activities.filter(e=>{const t=String(e.action||"").toLowerCase().includes("mention");return"mentions"===this.activeFilter?t:!t})},visibleActivities(){return this.filteredActivities.slice(0,4)}},methods:{activityUrl(e){return e.task?this.$getTaskUrl(e.task,e.settings||{}):"#"},openActivity(e){e.task&&this.$router.push({name:"task",params:{id:e.task.board_id,taskIdName:e.task.id+"-"+e.task.slug}})},activityTime(e){return e.created_at&&this.$humanTimeDiff?this.$humanTimeDiff(e.created_at):e.created_at||""}}},rH={class:"fbs-dashboard-widget-title"},dH={class:"fbs-dashboard-segmented"},cH=["onClick"],hH={key:0,class:"fbs-dashboard-activity-list fbs_member_activities__list"},uH=["href","onClick"],pH={key:0,class:"fbs-dashboard-activity-item__text-part"},mH={class:"fbs-dashboard-activity-item__text-part fbs-dashboard-activity-item__text-action"},bH={key:1,class:"fbs-dashboard-activity-item__text-part"},gH={key:1,class:"fbs-dashboard-empty-compact"};const fH=Ss(nH,[["render",function(e,t,u,p,m,g){const f=b("ActivityListItem"),_=b("empty-state"),v=b("base-card");return s(),c(v,{class:"fbs-dashboard-side-card","body-loading":u.loading},{title:n(()=>[i("h3",rH,o(e.$t("Recent Activity")),1)]),header_action:n(()=>[i("div",dH,[(s(!0),a(r,null,d(g.filters,e=>(s(),a("button",{key:e.value,type:"button",class:k({"is-active":m.activeFilter===e.value}),onClick:t=>m.activeFilter=e.value},o(e.label),11,cH))),128))])]),default:n(()=>[g.visibleActivities.length?(s(),a("div",hH,[(s(!0),a(r,null,d(g.visibleActivities,(t,l)=>(s(),c(f,{key:t.id,last:l===g.visibleActivities.length-1},{title:n(()=>[i("a",{href:g.activityUrl(t),class:"fbs-dashboard-activity-item__text",onClick:h(e=>g.openActivity(t),["prevent"])},[t.activitist?(s(),a("strong",pH,o(t.activitist.display_name),1)):y("",!0),i("span",mH,o(e.$t(t.action||"updated")),1),t.task?(s(),a("strong",bH,o(t.task.title),1)):y("",!0)],8,uH)]),date:n(()=>[w(o(g.activityTime(t)),1)]),_:2},1032,["last"]))),128))])):(s(),a("div",gH,[l(_,{message:"No activity found"})]))]),_:1},8,["body-loading"])}]]),_H={class:"fbs-dashboard-stat-card__icon","aria-hidden":"true"},kH={key:0,class:"fbs-dashboard-stat-card__icon-svg fbs-dashboard-stat-card__icon-surface"},vH={key:1,class:"fbs-dashboard-stat-card__icon-svg fbs-dashboard-stat-card__icon-surface fbs-dashboard-stat-card__icon-surface--warning"},yH={key:2,class:"fbs-dashboard-stat-card__icon-svg fbs-dashboard-stat-card__icon-surface fbs-dashboard-stat-card__icon-surface--danger"},wH={key:3,class:"fbs-dashboard-stat-card__icon-svg fbs-dashboard-stat-card__icon-surface fbs-dashboard-stat-card__icon-surface--success"},CH={class:"fbs-dashboard-stat-card__content"},TH={class:"fbs-dashboard-stat-card__label"},SH={class:"fbs-dashboard-stat-card__value"};const $H={class:"fbs-dashboard-stat-grid"};const VH=Ss({name:"DashboardStats",components:{DashboardStatCard:Ss({name:"DashboardStatCard",components:{Icons:$s},props:{label:{type:String,required:!0},value:{type:[String,Number],default:0},tone:{type:String,default:"warning",validator:e=>["danger","warning","primary","success"].includes(e)},icon:{type:String,default:"tasks",validator:e=>["boards","tasks","overdue","completed"].includes(e)}},computed:{cardClasses(){return{[`fbs-dashboard-stat-card--${this.tone}`]:!0}}}},[["render",function(e,t,n,r,d,c){const h=b("Icons");return s(),a("div",{class:k(["fbs-dashboard-stat-card",c.cardClasses])},[i("span",_H,["boards"===n.icon?(s(),a("span",kH,[l(h,{"icon-name":"dashboard-all-boards"})])):"tasks"===n.icon?(s(),a("span",vH,[l(h,{"icon-name":"dashboard-all-tasks"})])):"overdue"===n.icon?(s(),a("span",yH,[l(h,{"icon-name":"dashboard-overdue"})])):(s(),a("span",wH,[l(h,{"icon-name":"dashboard-completed"})]))]),i("div",CH,[i("span",TH,o(n.label),1),i("strong",SH,o(n.value),1)])],2)}]])},props:{taskCounts:{type:Object,default:()=>({})}},computed:{stats(){return[{key:"all_boards",label:this.$t("All Boards"),value:this.taskCounts.all_boards||0,tone:"primary",icon:"boards"},{key:"all_tasks",label:this.$t("All Tasks"),value:this.taskCounts.all_tasks||0,tone:"warning",icon:"tasks"},{key:"overdue",label:this.$t("Overdue"),value:this.taskCounts.overdue||0,tone:"danger",icon:"overdue"},{key:"completed",label:this.$t("Completed Tasks"),value:this.taskCounts.completed||0,tone:"success",icon:"completed"}]}}},[["render",function(e,t,i,o,l,n){const h=b("dashboard-stat-card");return s(),a("div",$H,[(s(!0),a(r,null,d(n.stats,e=>(s(),c(h,{key:e.key,label:e.label,value:e.value,tone:e.tone,icon:e.icon},null,8,["label","value","tone","icon"]))),128))])}]]),AH={class:"fbs-dashboard-task-panel__actions"},IH={class:"icon"},DH={class:"fbs-sort-options-menu"},BH={class:"fbs_primary_text font-medium fbs_mb_8"},LH={class:"icon"};const MH=Ss({name:"MyTaskPanelActions",components:{Icons:$s},props:{sortBy:{type:String,required:!0},sortOrder:{type:String,required:!0},sortOptions:{type:Array,required:!0}},emits:["configure-tabs","update:sort-by","update:sort-order","view-all"]},[["render",function(e,t,h,u,p,m){const g=ze,f=b("Icons"),_=xt,k=Mt,v=je;return s(),a("div",AH,[l(g,{link:"",class:"no-underline hover-underline fbs_mr_0 fbs_ml_0","aria-label":e.$t("View All Tasks"),onClick:t[0]||(t[0]=t=>e.$emit("view-all"))},{default:n(()=>[w(o(e.$t("View All")),1)]),_:1},8,["aria-label"]),l(v,{placement:e.appVars.is_rtl?"bottom-start":"bottom-end",width:280,trigger:"click","popper-class":"fbs-sort-options-popover"},{reference:n(()=>[l(g,{size:"small",class:"only-icon-btn fbs_mr_0 fbs_ml_0",title:e.$t("Sort")},{default:n(()=>[i("span",IH,[l(f,{"icon-name":"sort"})])]),_:1},8,["title"])]),default:n(()=>[i("div",DH,[i("div",BH,o(e.$t("Sort By")),1),l(k,{"model-value":h.sortBy,class:"fbs-sort-options-radio-group",onChange:t[1]||(t[1]=t=>e.$emit("update:sort-by",t))},{default:n(()=>[(s(!0),a(r,null,d(h.sortOptions,e=>(s(),c(_,{key:e.value,value:e.value,size:"small"},{default:n(()=>[w(o(e.label),1)]),_:2},1032,["value"]))),128))]),_:1},8,["model-value"]),l(k,{"model-value":h.sortOrder,class:"fbs_sort_order_group",onChange:t[2]||(t[2]=t=>e.$emit("update:sort-order",t))},{default:n(()=>[l(_,{value:"ASC",size:"small"},{default:n(()=>[w(o(e.$t("Ascending")),1)]),_:1}),l(_,{value:"DESC",size:"small"},{default:n(()=>[w(o(e.$t("Descending")),1)]),_:1})]),_:1},8,["model-value"])])]),_:1},8,["placement"]),l(g,{class:"only-icon-btn fbs_mr_0 fbs_ml_0",size:"small",title:e.$t("Configure Tabs"),onClick:t[3]||(t[3]=t=>e.$emit("configure-tabs"))},{default:n(()=>[i("span",LH,[l(f,{"icon-name":"column"})])]),_:1},8,["title"])])}]]),xH={class:"fbs-dashboard-task-card__primary"},PH={class:"fbs-dashboard-task-card__header"},FH={class:"fbs-dashboard-task-card__title"},EH={class:"fbs-dashboard-task-card__meta"},UH={class:"fbs-dashboard-task-card__subtasks"},OH={key:0,class:"fbs_task_assignees fbs-dashboard-task-card__assignees"},RH=["src","alt","title"],NH={key:0,class:"fbs_no_pip"},HH={class:"fbs-assignees-add-btn fbs-assignees-more-count"},jH={key:1,class:"fbs_no_pip",title:""},zH={class:"fbs-assignees-add-btn"},GH={class:"fbs-dashboard-task-card__secondary"},qH={class:"icon"},WH=["title"],KH={class:"icon"},ZH=["title"],YH=["title"],JH={class:"icon"},QH=["title"];const XH=Ss({name:"DashboardTaskCard",props:["task"],components:{Icons:$s},data:()=>({assigneeLimit:3,priorities:window.fluentAddonVars&&window.fluentAddonVars.priorities||{}}),computed:{assignees(){var e;return(null==(e=this.task)?void 0:e.assignees)||[]},boardName(){var e,t,s,a;return(null==(t=null==(e=this.task)?void 0:e.board)?void 0:t.title)||(null==(a=null==(s=this.task)?void 0:s.stage)?void 0:a.title)||""},isClosed(){var e;return"closed"===(null==(e=this.task)?void 0:e.status)},isOverdue(){return this.dateStatus===Is.OVERDUE},rawDateIsOverdue(){var e,t;return!(!(null==(e=this.task)?void 0:e.due_at)||"closed"===(null==(t=this.task)?void 0:t.status)||!this.$checkOverdue(this.task.due_at))},dateStatus(){return Ds(this.task,{isOverdue:this.rawDateIsOverdue})},dateStatusClass(){return As(this.task,{isOverdue:this.rawDateIsOverdue})},priorityClass(){return`fbs_priority_badge_${this.priorityStyleKey}`},hasPriority(){return"none"!==this.priorityStyleKey},priorityStyleKey(){const e=String(this.task.priority||"").toLowerCase();return["","urgent","high","medium","low"].includes(e)?e||"none":"custom"},priorityIconName(){return`priority-${"custom"===this.priorityStyleKey?"none":this.priorityStyleKey}`},showSmartDate(){return this.$smartDate(this.task.due_at,!0)},dateLabel(){return this.task.due_at?this.showSmartDate:this.$t("Set Date")},subtaskLabel(){var e,t;return((null==(t=null==(e=this.task)?void 0:e.settings)?void 0:t.subtask_count)||0)+" "+this.$t("Subtask")},priorityLabel(){const e=this.task.priority||"",t={"":this.$t("No priority"),urgent:this.$t("Urgent"),high:this.$t("High"),medium:this.$t("Medium"),low:this.$t("Low")};return this.priorities[e]||t[e]||e}}},[["render",function(e,t,n,c,h,u){const p=b("Icons");return s(),a("div",{class:k(["fbs-dashboard-task-card",{"fbs-dashboard-task-card--closed":u.isClosed}])},[i("div",xH,[i("div",PH,[u.isClosed?(s(),a("span",{key:0,class:k(["fbs-dashboard-task-card__status",{"is-closed":u.isClosed}])},[l(p,{"icon-name":u.isClosed?"task-status-complete":"task-status-incomplete"},null,8,["icon-name"])],2)):y("",!0),i("div",FH,o(n.task.title),1)]),i("div",EH,[i("span",UH,[l(p,{"icon-name":"subtask"}),w(" "+o(u.subtaskLabel),1)]),u.assignees.length?(s(),a("ul",OH,[(s(!0),a(r,null,d(u.assignees.slice(0,h.assigneeLimit),t=>(s(),a("li",{key:t.ID},[i("img",{src:t.photo,alt:t.display_name||e.$t("User Avatar"),title:t.display_name},null,8,RH)]))),128)),u.assignees.length>h.assigneeLimit?(s(),a("li",NH,[i("span",HH,[i("span",null,"+"+o(u.assignees.length-h.assigneeLimit),1)])])):y("",!0),u.assignees.length<=h.assigneeLimit?(s(),a("li",jH,[i("span",zH,[l(p,{"icon-name":"user-plus"})])])):y("",!0)])):y("",!0)])]),i("div",GH,[u.hasPriority?(s(),a("span",{key:0,class:k(["fbs_priority_badge no_bg",u.priorityClass])},[i("span",qH,[l(p,{"icon-name":u.priorityIconName},null,8,["icon-name"])]),i("span",{class:"label",title:u.priorityLabel},o(u.priorityLabel),9,WH)],2)):y("",!0),i("span",{class:k(["fbs_priority_badge no_bg",u.dateStatusClass])},[i("span",KH,[l(p,{"icon-name":"calendar"})]),i("span",{class:"label",title:u.isOverdue?e.$t("overdue task"):u.dateLabel},o(u.dateLabel),9,ZH)],2),u.boardName?(s(),a("span",{key:1,class:"fbs_priority_badge fbs-dashboard-task-card__badge--board",title:u.boardName},[i("span",JH,[l(p,{"icon-name":"boards"})]),i("span",{class:"label",title:u.boardName},o(u.boardName),9,QH)],8,YH)):y("",!0)])],2)}]]),ej={name:"MyTaskTabList",components:{DashboardTaskCard:XH,EmptyState:Vs},props:{isActive:{type:Boolean,default:!1},limit:{type:Number,default:5},tab:{type:Object,required:!0},tasks:{type:Array,default:()=>[]}},emits:["open-task"],computed:{visibleTasks(){return this.tasks.slice(0,this.limit)},emptyLabel(){return{due_today:"No tasks due today",assigned:"No Assigned Tasks",upcoming:"No Upcoming Tasks",overdue:"No Overdue Tasks",mentioned:"No Mentioned Tasks",completed:"No Completed Tasks",others:"No Other Tasks"}[this.tab.name]||`No ${this.tab.label} Tasks`}}},tj={class:"fbs-dashboard-task-tab-content"},sj={key:0,class:"fbs-dashboard-task-list"},aj=["href","onClick"],ij={key:0,class:"fbs-dashboard-task-divider"},oj={key:1,class:"fbs-task-not-found"};const lj=Ss(ej,[["render",function(e,t,o,n,c,u){const p=b("dashboard-task-card"),m=b("empty-state");return s(),a("div",tj,[u.visibleTasks.length>0?(s(),a("div",sj,[(s(!0),a(r,null,d(u.visibleTasks,(t,o)=>(s(),a(r,{key:t.id},[i("a",{href:e.$getTaskUrl(t),class:"fbs-dashboard-task-link",onClick:h(s=>e.$emit("open-task",t),["prevent"])},[l(p,{task:t},null,8,["task"])],8,aj),o<u.visibleTasks.length-1?(s(),a("hr",ij)):y("",!0)],64))),128))])):(s(),a("div",oj,[l(m,{message:u.emptyLabel},null,8,["message"])]))])}]]),nj={name:"MyTaskTabsConfig",components:{draggable:P},props:{modelValue:{type:Boolean,default:!1},tabs:{type:Array,required:!0}},emits:["cancel","save","update:modelValue"],data:()=>({localTabs:[]}),watch:{modelValue(e){e&&this.resetLocalTabs()},tabs:{deep:!0,handler(){this.modelValue||this.resetLocalTabs()}}},mounted(){this.resetLocalTabs()},methods:{resetLocalTabs(){this.localTabs=JSON.parse(JSON.stringify(this.tabs||[]))},saveChanges(){this.$emit("save",JSON.parse(JSON.stringify(this.localTabs)))},cancelChanges(){this.resetLocalTabs(),this.$emit("cancel"),this.$emit("update:modelValue",!1)},dragEndHandler(){this.localTabs.filter(e=>"true"==e.visible).forEach((e,t)=>{const s=this.localTabs.findIndex(t=>t.name===e.name);-1!==s&&(this.localTabs[s].order=t)})},showHideTabsHandler(e,t){1!=this.localTabs.filter(e=>"true"==e.visible).length||t?e.visible=t?"true":"false":e.visible="true"}}},rj=["data-task-id"],dj={class:"dialog-footer justify-end"};const cj={class:"fbs-dashboard-my-tasks-wrap"},hj={class:"fbs-dashboard-widget-title"},uj={class:"fbs-dashboard-task-tabs__label"},pj={class:"fbs-dashboard-task-tabs-more-menu__item"},mj={class:"fbs-dashboard-task-tabs__count"};const bj={name:"Dashboard",components:{DashboardBoardsCard:eH,DashboardPageHeader:lH,DashboardRecentActivity:fH,MyTaskTabs:Ss({name:"MyTaskTabs",components:{BaseCard:YP,DashboardStats:VH,Icons:$s,MyTaskPanelActions:MH,MyTaskTabList:lj,MyTaskTabsConfig:Ss(nj,[["render",function(e,t,a,r,d,h){const u=qe,p=b("draggable"),m=ze,g=Ge;return s(),c(g,{title:e.$t("Configure Task Tabs"),"model-value":a.modelValue,"append-to-body":!0,class:"fbs_configure_tabs_modal",width:"440px","onUpdate:modelValue":t[1]||(t[1]=t=>e.$emit("update:modelValue",t))},{footer:n(()=>[i("span",dj,[l(m,{class:"fbs_mr_0 fbs_ml_0",onClick:h.cancelChanges},{default:n(()=>[w(o(e.$t("Cancel")),1)]),_:1},8,["onClick"]),l(m,{class:"fbs_mr_0 fbs_ml_0",type:"primary",onClick:h.saveChanges},{default:n(()=>[w(o(e.$t("Save")),1)]),_:1},8,["onClick"])])]),default:n(()=>[l(p,{modelValue:d.localTabs,"onUpdate:modelValue":t[0]||(t[0]=e=>d.localTabs=e),class:"fbs_task_config_list",handle:".drag-handle","item-key":"name",onEnd:h.dragEndHandler},{item:n(({element:e})=>[i("div",{class:k(["fbs_task_config_item",{"is-selected":"true"==e.visible}]),"data-task-id":e.name},[t[2]||(t[2]=i("span",{class:"drag-handle fbs-drag-handle","aria-hidden":"true"},[i("svg",{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[i("path",{d:"M7.8125 6.875C8.33027 6.875 8.75 6.45527 8.75 5.9375C8.75 5.41973 8.33027 5 7.8125 5C7.29473 5 6.875 5.41973 6.875 5.9375C6.875 6.45527 7.29473 6.875 7.8125 6.875ZM7.8125 10.9375C8.33027 10.9375 8.75 10.5177 8.75 10C8.75 9.48225 8.33027 9.0625 7.8125 9.0625C7.29473 9.0625 6.875 9.48225 6.875 10C6.875 10.5177 7.29473 10.9375 7.8125 10.9375ZM8.75 14.0625C8.75 14.5802 8.33027 15 7.8125 15C7.29473 15 6.875 14.5802 6.875 14.0625C6.875 13.5448 7.29473 13.125 7.8125 13.125C8.33027 13.125 8.75 13.5448 8.75 14.0625ZM12.1875 6.875C12.7052 6.875 13.125 6.45527 13.125 5.9375C13.125 5.41973 12.7052 5 12.1875 5C11.6698 5 11.25 5.41973 11.25 5.9375C11.25 6.45527 11.6698 6.875 12.1875 6.875ZM13.125 10C13.125 10.5177 12.7052 10.9375 12.1875 10.9375C11.6698 10.9375 11.25 10.5177 11.25 10C11.25 9.48225 11.6698 9.0625 12.1875 9.0625C12.7052 9.0625 13.125 9.48225 13.125 10ZM12.1875 15C12.7052 15 13.125 14.5802 13.125 14.0625C13.125 13.5448 12.7052 13.125 12.1875 13.125C11.6698 13.125 11.25 13.5448 11.25 14.0625C11.25 14.5802 11.6698 15 12.1875 15Z",fill:"#99A0AE"})])],-1)),l(u,{"model-value":"true"==e.visible,onChange:t=>h.showHideTabsHandler(e,t)},{default:n(()=>[w(o(e.label),1)]),_:2},1032,["model-value","onChange"])],10,rj)]),_:1},8,["modelValue","onEnd"])]),_:1},8,["title","model-value"])}]])},data(){return{userTabsConfig:[],tabsConfig:[],activeTaskTab:"upcoming",lastActiveTaskTab:"upcoming",maxPrimaryTaskTabs:4,moreTabName:"__more",configModalVisible:!1,taskCounts:{},activeTaskSort:"created_at",activeTaskSortOrder:"DESC",sortOptions:[{label:this.$t("Created Date"),value:"created_at"},{label:this.$t("Priority"),value:"priority"},{label:this.$t("Title"),value:"title"},{label:this.$t("Due Date"),value:"due_at"}],tasks:{due_today:[],assigned:[],upcoming:[],overdue:[],mentioned:[],completed:[],others:[]},configLoading:!1,taskLoading:!1}},computed:{isLoading(){return this.configLoading||this.taskLoading},visibleTabs(){return this.tabsConfig.filter(e=>"true"==e.visible).sort((e,t)=>e.order-t.order)},primaryTaskTabs(){return this.visibleTabs.slice(0,this.maxPrimaryTaskTabs)},overflowTaskTabs(){return this.visibleTabs.slice(this.maxPrimaryTaskTabs)},hasOverflowTabs(){return this.overflowTaskTabs.length>0},activeOverflowTaskTab(){return this.overflowTaskTabs.find(e=>e.name===this.activeTaskTab)||null},moreTaskTabLabel(){return this.activeOverflowTaskTab?this.activeOverflowTaskTab.label:this.$t("More")},moreTaskTabPaneName(){return this.activeOverflowTaskTab?this.activeOverflowTaskTab.name:this.moreTabName}},methods:{fetchTabsConfig(){this.configLoading=!0,this.$get("tasks/task-tabs/config").then(e=>{this.userTabsConfig=JSON.parse(JSON.stringify(e.data)),this.tabsConfig=e.data,!this.visibleTabs.length&&this.tabsConfig.length&&(this.tabsConfig[0].visible=!0),this.visibleTabs.length&&(this.activeTaskTab=this.visibleTabs[0].name,this.lastActiveTaskTab=this.activeTaskTab)}).catch(e=>{this.handleError(e)}).finally(()=>{this.configLoading=!1})},saveTabsConfig(e){this.configModalVisible=!1,this.tabsConfig=e,this.tabsConfig.forEach((e,t)=>{e.order=t+1}),0!=this.tabsConfig.filter(e=>"true"==e.visible).length?(this.configLoading=!0,this.$post("tasks/task-tabs/config",{tabs:this.tabsConfig}).then(e=>{this.visibleTabs.find(e=>e.name===this.activeTaskTab)||(this.activeTaskTab=this.visibleTabs.length?this.visibleTabs[0].name:null,this.lastActiveTaskTab=this.activeTaskTab),this.$notify({message:e.message,type:"success"})}).catch(e=>{this.handleError(e)}).finally(()=>{this.fetchTabsConfig()})):this.$notify({message:this.$t("At least one tab should be visible"),type:"error"})},cancelChanges(){this.tabsConfig=JSON.parse(JSON.stringify(this.userTabsConfig)),this.configModalVisible=!1},fetchTasks(){this.taskLoading=!0,this.$get("tasks/top-in-boards").then(e=>{this.tasks=e.data,this.taskCounts=e.counts||{}}).catch(e=>{this.$notify({message:e.message,type:"error"})}).finally(()=>{this.taskLoading=!1})},openTabsConfig(){this.configModalVisible=!0},handleTaskTabClick(e){e.props.name!==this.moreTabName?this.lastActiveTaskTab=e.props.name:this.$nextTick(()=>{var e;this.activeTaskTab=this.lastActiveTaskTab||(null==(e=this.primaryTaskTabs[0])?void 0:e.name)||"assigned"})},selectOverflowTab(e){this.visibleTabs.some(t=>t.name===e)&&(this.activeTaskTab=e,this.lastActiveTaskTab=e)},sortedTasks(e){return[...this.tasks[e]||[]].sort((e,t)=>{const s="ASC"===this.activeTaskSortOrder?1:-1;if("priority"===this.activeTaskSort){const a={"":1,urgent:2,high:3,medium:4,low:5},i=a[e.priority||""]||6,o=a[t.priority||""]||6;if(i!==o)return(i-o)*s}if("due_at"===this.activeTaskSort){const a=this.getTaskTimestamp(e.due_at),i=this.getTaskTimestamp(t.due_at);if(a!==i)return a===Number.MAX_SAFE_INTEGER?1:i===Number.MAX_SAFE_INTEGER?-1:(a-i)*s}if("title"===this.activeTaskSort){const a=(e.title||"").toLowerCase(),i=(t.title||"").toLowerCase(),o=a.localeCompare(i,void 0,{numeric:!0});if(0!==o)return o*s}return(this.getTaskTimestamp(e.created_at||e.updated_at,0)-this.getTaskTimestamp(t.created_at||t.updated_at,0))*s})},getTaskTimestamp(e,t=Number.MAX_SAFE_INTEGER){if(!e)return t;const s=new Date(String(e).replace(" ","T")).getTime();return Number.isNaN(s)?t:s},formattedTaskCount(e){if(Object.prototype.hasOwnProperty.call(this.taskCounts,e))return this.taskCounts[e];const t=(this.tasks[e]||[]).length;return t>5?"5+":t},openTask(e){this.$router.push({name:"task",params:{id:e.board_id,taskIdName:e.id+"-"+e.slug}})},viewAllTasks(){var e;const t=`/member/${this.appVars.me.id}/tasks`,s={tab:this.activeTaskTab||(null==(e=this.visibleTabs[0])?void 0:e.name)||"assigned"};this.$router.push({path:t,query:s})}},mounted(){this.fetchTabsConfig(),this.fetchTasks()}},[["render",function(e,t,u,p,m,g){const f=b("dashboard-stats"),_=b("my-task-panel-actions"),k=b("my-task-tabs-config"),v=b("my-task-tab-list"),w=as,C=b("Icons"),T=xe,S=Me,$=Pe,V=is,A=b("base-card");return s(),a("div",cj,[l(f,{"task-counts":m.taskCounts},null,8,["task-counts"]),l(A,{class:"fbs-dashboard-task-panel","body-loading":g.isLoading,"no-body-padding":!0},{title:n(()=>[i("h3",hj,o(e.$t("My Tasks")),1)]),header_action:n(()=>[l(_,{"sort-by":m.activeTaskSort,"sort-order":m.activeTaskSortOrder,"sort-options":m.sortOptions,onConfigureTabs:g.openTabsConfig,"onUpdate:sortBy":t[0]||(t[0]=e=>m.activeTaskSort=e),"onUpdate:sortOrder":t[1]||(t[1]=e=>m.activeTaskSortOrder=e),onViewAll:g.viewAllTasks},null,8,["sort-by","sort-order","sort-options","onConfigureTabs","onViewAll"])]),default:n(()=>[l(k,{modelValue:m.configModalVisible,"onUpdate:modelValue":t[2]||(t[2]=e=>m.configModalVisible=e),tabs:m.tabsConfig,onCancel:g.cancelChanges,onSave:g.saveTabsConfig},null,8,["modelValue","tabs","onCancel","onSave"]),l(V,{modelValue:m.activeTaskTab,"onUpdate:modelValue":t[4]||(t[4]=e=>m.activeTaskTab=e),class:"fbs-dashboard-task-tabs",onTabClick:g.handleTaskTabClick},{default:n(()=>[(s(!0),a(r,null,d(g.primaryTaskTabs,e=>(s(),c(w,{key:e.name,name:e.name},{label:n(()=>[i("span",uj,[i("span",null,o(e.label),1)])]),default:n(()=>[l(v,{"is-active":m.activeTaskTab==e.name,tab:e,tasks:g.sortedTasks(e.name),onOpenTask:g.openTask},null,8,["is-active","tab","tasks","onOpenTask"])]),_:2},1032,["name"]))),128)),g.hasOverflowTabs?(s(),c(w,{key:0,name:g.moreTaskTabPaneName},{label:n(()=>[l($,{trigger:"click","popper-class":"fbs-dashboard-task-tabs-more-menu",onCommand:g.selectOverflowTab},{dropdown:n(()=>[l(S,null,{default:n(()=>[(s(!0),a(r,null,d(g.overflowTaskTabs,e=>(s(),c(T,{key:e.name,command:e.name},{default:n(()=>[i("span",pj,[i("span",null,o(e.label),1),i("span",mj,o(g.formattedTaskCount(e.name)),1)])]),_:2},1032,["command"]))),128))]),_:1})]),default:n(()=>[i("span",{class:"fbs-dashboard-task-tabs__label fbs-dashboard-task-tabs__label--more",onClick:t[3]||(t[3]=h(()=>{},["stop"]))},[i("span",null,o(g.moreTaskTabLabel),1),l(C,{"icon-name":"arrow-down","icon-class":"fbs-dashboard-task-tabs__chevron"})])]),_:1},8,["onCommand"])]),default:n(()=>[g.activeOverflowTaskTab?(s(),c(v,{key:0,"is-active":m.activeTaskTab==g.activeOverflowTaskTab.name,tab:g.activeOverflowTaskTab,tasks:g.sortedTasks(g.activeOverflowTaskTab.name),onOpenTask:g.openTask},null,8,["is-active","tab","tasks","onOpenTask"])):y("",!0)]),_:1},8,["name"])):y("",!0)]),_:1},8,["modelValue","onTabClick"])]),_:1},8,["body-loading"])])}]])},data:()=>({boards:[],boardLoading:!1,activities:[],activityLoading:!1}),mounted(){this.fetchRecentBoards(),this.fetchRecentActivity(),this.setWpOrSuperAdminPermission(this.appVars.me)},beforeMount(){"no"==this.appVars.is_onboarded&&this.$router.push({name:"onboarding",params:{}})},methods:{...M(Sr,["setWpOrSuperAdminPermission"]),fetchRecentBoards(e={}){this.boardLoading=!0,this.$get("projects/recent-boards",e).then(e=>{this.boards=(e.boards||[]).slice(0,4)}).catch(e=>{this.handleError(e)}).finally(()=>{this.boardLoading=!1})},fetchRecentActivity(e={}){this.activityLoading=!0,this.$get("notifications/",{per_page:4,page:1,...e}).then(e=>{this.activities=e.data||[]}).catch(e=>{this.handleError(e)}).finally(()=>{this.activityLoading=!1})}}},gj={class:"fbs-welcome_dashboard fbs_regular_view fbs-dashboard-home"},fj={class:"fbs-dashboard-shell fbs_layout_width"},_j={key:0,class:"dashboard_notices"},kj=["innerHTML"],vj={class:"fbs-dashboard-page-header"},yj={class:"fbs-dashboard-content-grid"},wj={class:"fbs-dashboard-content-grid__main"},Cj={class:"fbs-dashboard-content-grid__side"};const Tj=Ss(bj,[["render",function(e,t,o,n,c,h){const u=b("dashboard-page-header"),p=b("MyTaskTabs"),m=b("dashboard-boards-card"),g=b("dashboard-recent-activity");return s(),a("div",gj,[i("div",fj,[e.appVars.dashboard_notices&&e.appVars.dashboard_notices.length?(s(),a("div",_j,[(s(!0),a(r,null,d(e.appVars.dashboard_notices,(e,t)=>(s(),a("div",{class:"fbs_notice",key:t,innerHTML:e},null,8,kj))),128))])):y("",!0),i("header",vj,[l(u,{user:e.appVars.me},null,8,["user"])]),i("div",yj,[i("main",wj,[l(p)]),i("aside",Cj,[l(m,{boards:c.boards,loading:c.boardLoading},null,8,["boards","loading"]),l(g,{activities:c.activities,loading:c.activityLoading},null,8,["activities","loading"])])])])])}]]),Sj={class:"fbs_global_drawer_header"};const $j=Ss({name:"DrawerHeader",emits:["closeDrawer"],props:["headerTitle","withCrossButton"],methods:{closeDrawer(){this.$emit("closeDrawer")}}},[["render",function(e,t,r,d,c,h){const u=b("Close"),p=Ne;return s(),a("div",Sj,[i("h3",null,o(e.$t(r.headerTitle)),1),l(p,{onClick:h.closeDrawer},{default:n(()=>[l(u)]),_:1},8,["onClick"])])}]]),Vj={type:"button",class:"fbs_priority_badge"},Aj={class:"icon"},Ij={class:"label"},Dj={class:"fbs-cbp-panel"},Bj={class:"d-flex items-center justify-between gap-12"},Lj={class:"fbs_primary_text font-medium"},Mj={class:"fbs-cbp-cover-body"},xj={key:0,class:"fbs-cbp-cover-section"},Pj={class:"fbs-cbp-cover-section__title"},Fj={class:"fbs-cbp-cover-grid"},Ej=["aria-label","onClick"],Uj={key:0,class:"fbs-cbp-cover-check","aria-hidden":"true"},Oj={key:1,class:"fbs-cbp-cover-section"},Rj={class:"fbs-cbp-cover-section__title"},Nj={class:"fbs-cbp-cover-grid"},Hj=["aria-label","onClick"],jj={key:0,class:"fbs-cbp-cover-check","aria-hidden":"true"},zj={key:0,class:"fbs-cbp-panel__footer"};const Gj={class:"fbs-cbp-avatar-stack"},qj=["src","alt","title"],Wj={key:0},Kj={class:"icon"},Zj={class:"label"},Yj={class:"fbs-cbp-panel"},Jj={class:"d-flex items-center justify-between gap-12"},Qj={class:"fbs_primary_text font-medium"},Xj={class:"fbs-cbp-member-results"},ez=["onClick"],tz={class:"content d-flex flex-column gap-2"},sz={class:"fbs_primary_text d-block"},az={key:0,class:"fbs_secondary_text d-block small"},iz={key:0,class:"fbs_secondary_text"},oz={key:0,class:"fbs-cbp-selected-members"},lz={class:"content d-flex flex-column gap-2"},nz={class:"fbs_primary_text d-block"};const rz={name:"AddNewBoard",components:{BoardBackgroundPreview:Us,BoardCoverPopover:Ss({name:"BoardCoverPopover",components:{Icons:$s,Picture:ms},props:{modelValue:{type:Object,required:!0}},emits:["update:modelValue"],data:()=>({backgroundLoading:!1,solidColors:[],gradients:[]}),computed:{hasSelection(){return!!this.modelValue.id}},mounted(){this.fetchDefaultColors()},methods:{isSelected(e){return this.modelValue.id===e.id},fetchDefaultColors(){this.backgroundLoading=!0,this.$get("projects/get-default-board-colors").then(e=>{this.solidColors=e.solidColors||[],this.gradients=e.gradients||[]}).catch(e=>{this.handleError(e)}).finally(()=>{this.backgroundLoading=!1})},selectBackground(e){this.$emit("update:modelValue",{id:e.id,color:e.value,is_image:!1,image_url:null})},reset(){this.$emit("update:modelValue",{id:null,color:"",is_image:!1,image_url:null})}}},[["render",function(e,t,h,u,p,m){const _=b("Icons"),v=je,w=g("loading");return s(),c(v,{placement:"top-start",trigger:"click",width:320,"popper-class":"fbs-create-board-property-popover"},{reference:n(()=>[i("button",Vj,[m.hasSelection?(s(),a("span",{key:0,class:"fbs-cbp-cover-swatch",style:S({background:h.modelValue.color})},null,4)):y("",!0),i("span",Aj,[l(_,{"icon-name":"image"})]),i("span",Ij,o(e.$t("Background")),1)])]),default:n(()=>[f((s(),a("div",Dj,[i("div",Bj,[i("div",Lj,o(e.$t("Background")),1)]),i("div",Mj,[p.gradients.length?(s(),a("div",xj,[i("p",Pj,o(e.$t("Gradients")),1),i("div",Fj,[(s(!0),a(r,null,d(p.gradients,o=>(s(),a("button",{key:o.id,type:"button",class:k(["fbs-cbp-cover-tile",{"is-selected":m.isSelected(o)}]),style:S({background:o.value}),"aria-label":e.$t("Select Gradient"),onClick:e=>m.selectBackground(o)},[m.isSelected(o)?(s(),a("span",Uj,[...t[1]||(t[1]=[i("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[i("path",{d:"M8 14C4.6862 14 2 11.3138 2 8C2 4.6862 4.6862 2 8 2C11.3138 2 14 4.6862 14 8C14 11.3138 11.3138 14 8 14ZM7.4018 10.4L11.6438 6.1574L10.7954 5.309L7.4018 8.7032L5.7044 7.0058L4.856 7.8542L7.4018 10.4Z",fill:"white"})],-1)])])):y("",!0)],14,Ej))),128))])])):y("",!0),p.solidColors.length?(s(),a("div",Oj,[i("p",Rj,o(e.$t("Color")),1),i("div",Nj,[(s(!0),a(r,null,d(p.solidColors,o=>(s(),a("button",{key:o.id,type:"button",class:k(["fbs-cbp-cover-tile",{"is-selected":m.isSelected(o)}]),style:S({background:o.value}),"aria-label":e.$t("Select Color"),onClick:e=>m.selectBackground(o)},[m.isSelected(o)?(s(),a("span",jj,[...t[2]||(t[2]=[i("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[i("path",{d:"M8 14C4.6862 14 2 11.3138 2 8C2 4.6862 4.6862 2 8 2C11.3138 2 14 4.6862 14 8C14 11.3138 11.3138 14 8 14ZM7.4018 10.4L11.6438 6.1574L10.7954 5.309L7.4018 8.7032L5.7044 7.0058L4.856 7.8542L7.4018 10.4Z",fill:"white"})],-1)])])):y("",!0)],14,Hj))),128))])])):y("",!0)]),m.hasSelection?(s(),a("div",zj,[i("button",{type:"button",class:"fbs-cbp-reset",onClick:t[0]||(t[0]=(...e)=>m.reset&&m.reset(...e))},o(e.$t("Reset To Default")),1)])):y("",!0)])),[[w,p.backgroundLoading]])]),_:1})}]]),BoardMembersPopover:Ss({name:"BoardMembersPopover",components:{Icons:$s,Close:dt,User:ft},props:{modelValue:{type:Array,required:!0}},emits:["update:modelValue"],data:()=>({memberSearch:"",memberSearchLoading:!1,memberOptions:[],searchRequestId:0}),created(){this.debouncedSearch=Se(this.searchUsers,300)},beforeUnmount(){var e;null==(e=this.debouncedSearch)||e.cancel()},computed:{filteredMemberOptions(){var e,t;const s=this.modelValue.map(e=>parseInt(e.id)),a=parseInt((null==(t=null==(e=this.appVars)?void 0:e.me)?void 0:t.id)||0);return this.memberOptions.filter(e=>{const t=parseInt(e.id);return t!==a&&!s.includes(t)})},previewMembers(){return this.modelValue.slice(0,3)},extraMemberCount(){return Math.max(0,this.modelValue.length-this.previewMembers.length)}},methods:{onSearchInput(){this.memberSearchLoading=!0,this.debouncedSearch()},searchUsers(){const e=++this.searchRequestId;this.memberSearchLoading=!0,this.$get("ajax-options",{option_key:"board_create_users",search:this.memberSearch}).then(t=>{e===this.searchRequestId&&(this.memberOptions=t.options||[])}).catch(t=>{e===this.searchRequestId&&this.handleError(t)}).finally(()=>{e===this.searchRequestId&&(this.memberSearchLoading=!1)})},addMember(e){var t;(null==e?void 0:e.id)&&!this.modelValue.some(t=>parseInt(t.id)===parseInt(e.id))&&(this.$emit("update:modelValue",[...this.modelValue,e]),null==(t=this.debouncedSearch)||t.cancel(),this.searchRequestId++,this.memberSearch="",this.memberOptions=[],this.memberSearchLoading=!1)},removeMember(e){this.$emit("update:modelValue",this.modelValue.filter(t=>parseInt(t.id)!==parseInt(e)))}}},[["render",function(e,t,h,u,p,m){const _=b("Icons"),v=He,w=rt,C=b("Close"),T=Ne,S=ze,$=je,V=g("loading");return s(),c($,{placement:e.appVars.is_rtl?"top-end":"top-start",trigger:"click",width:320,"popper-class":"fbs-create-board-property-popover"},{reference:n(()=>[i("button",{type:"button",class:k(["fbs_priority_badge",{"fbs-board-create-property-chip--avatars":h.modelValue.length}])},[h.modelValue.length?(s(),a(r,{key:0},[i("span",Gj,[(s(!0),a(r,null,d(m.previewMembers,e=>(s(),a("img",{key:e.id,src:e.photo,alt:e.name,title:e.name},null,8,qj))),128))]),m.extraMemberCount?(s(),a("span",Wj,"+"+o(m.extraMemberCount),1)):y("",!0)],64)):(s(),a(r,{key:1},[i("span",Kj,[l(_,{"icon-name":"user-plus"})]),i("span",Zj,o(e.$t("Members")),1)],64))],2)]),default:n(()=>[i("div",Yj,[i("div",Jj,[i("div",Qj,o(e.$t("Members")),1)]),l(v,{modelValue:p.memberSearch,"onUpdate:modelValue":t[0]||(t[0]=e=>p.memberSearch=e),class:"fbs-cbp-search",placeholder:e.$t("Type name or email"),"prefix-icon":"Search",clearable:"",onFocus:m.searchUsers,onInput:m.onSearchInput},null,8,["modelValue","placeholder","onFocus","onInput"]),f((s(),a("div",Xj,[(s(!0),a(r,null,d(m.filteredMemberOptions,e=>(s(),a("button",{key:e.id,type:"button",class:"d-flex items-center gap-12 fbs-cbp-member-option",onClick:t=>m.addMember(e)},[e.photo?(s(),c(w,{key:0,src:e.photo,size:36},null,8,["src"])):y("",!0),i("div",tz,[i("span",sz,o(e.name),1),e.email?(s(),a("span",az,o(e.email),1)):y("",!0)])],8,ez))),128)),p.memberSearchLoading||m.filteredMemberOptions.length?y("",!0):(s(),a("div",iz,o(e.$t("No user found with your query.")),1))])),[[V,p.memberSearchLoading]]),h.modelValue.length?(s(),a("div",oz,[(s(!0),a(r,null,d(h.modelValue,t=>(s(),a("div",{key:t.id,class:"d-flex items-center gap-12"},[t.photo?(s(),c(w,{key:0,src:t.photo,size:24},null,8,["src"])):y("",!0),i("div",lz,[i("span",nz,o(t.name),1)]),l(S,{text:"",class:"mini only-icon-btn fbs_ml-auto","aria-label":e.$t("Remove"),title:e.$t("Remove"),onClick:e=>m.removeMember(t.id)},{default:n(()=>[l(T,null,{default:n(()=>[l(C)]),_:1})]),_:1},8,["aria-label","title","onClick"])]))),128))])):y("",!0)])]),_:1},8,["placement"])}]]),Close:dt,CollectionTag:bs,Delete:et,DrawerHeader:$j,Icons:$s,LabelManager:Pi,MilkdownEditor:Kb,Plus:Oe},emits:["closeDrawer","newBoardAdded","startFromTemplate"],props:{drawerVisible:{type:Boolean,required:!0},withHeader:{type:Boolean,required:!1,default:!0},legacyHeader:{type:Boolean,required:!1,default:!1},folderBoardsId:{type:Array,required:!1,default:()=>[]}},data(){return{isProcessing:!1,fileList:[],board:{title:"",description:"",type:"to-do",currency:"USD",slug:"",stages:[{title:"Open"},{title:"In Progress"},{title:"Done"}],labels:this.defaultBoardLabels()},selectedBoardLabelIds:this.defaultBoardLabels().map(e=>e.id),currencies:[],stages:[{group:"open",label:"Open"},{group:"in_progress",label:"In Progress"},{group:"completed",label:"Done"}],roadmapStages:[{position:1,title:"Pending",type:"stage",slug:"pending",archived:!1,settings:[{stage_type:"pending"}]},{position:2,title:"Under Consideration",type:"stage",slug:"under_consideration",archived:!1,settings:[{stage_type:"under_consideration"}]},{position:3,title:"Planned",type:"stage",slug:"planned",archived:!1,settings:[{stage_type:"planned"}]},{position:4,title:"Launched",type:"stage",slug:"launched",archived:!1,settings:[{stage_type:"launched"}]}],isTypeRoadmap:!1,isSubmitting:!1,descriptionEditorKey:0,addToFolder:!1,roadmapStageInputRefs:[],labelSeed:6,selectedMembers:[],selectedBackground:{id:null,color:"",is_image:!1,image_url:null},labelColor:{green:"#4bce97",yellow:"#f5cd47",orange:"#fea362",red:"#f87168",purple:"#9f8fef"},labelColorText:{green:"#1B2533",yellow:"#1B2533",orange:"#1B2533",red:"#1B2533",purple:"#1B2533"}}},computed:{createModalTitle(){return this.isTypeRoadmap?this.$t("Create Roadmap"):this.$t("Create Board")},titlePlaceholder(){return this.isTypeRoadmap?this.$t("Roadmap title"):this.$t("Board title")},createSubmitLabel(){return this.isTypeRoadmap?this.$t("Create Roadmap"):this.$t("Create Board")},activeStages(){return this.isTypeRoadmap?this.roadmapStages:this.board.stages},stageChipLabel(){const e=this.isTypeRoadmap?this.roadmapStages.length:this.normalizedBoardStages().length;return e>1?`${e} ${this.$t("Stages")}`:this.$t("Stage")},labelChipLabel(){const e=this.selectedBoardLabels.length;return e>1?`${e} ${this.$t("Labels")}`:this.$t("Labels")},hasCover(){return!!(this.selectedBackground.id||this.selectedBackground.is_image&&this.selectedBackground.image_url)},coverPreviewBoard(){return{background:this.selectedBackground}},selectedBoardLabels(){const e=this.selectedBoardLabelIds.map(e=>parseInt(e));return(this.board.labels||[]).filter(t=>e.includes(parseInt(t.id)))},labelColorDots(){return this.selectedBoardLabels.slice(0,5)}},mounted(){this.$nextTick(()=>{setTimeout(()=>{this.$refs.boardTitle.focus()},301)})},watch:{"board.title":function(e){this.board.slug=this.createSlug(e)},drawerVisible:function(e){e&&(this.descriptionEditorKey+=1,this.$nextTick(()=>{setTimeout(()=>{this.$refs.boardTitle.focus()},301)}))}},methods:{returnEnter(){},startFromTemplate(){this.$emit("startFromTemplate")},createBoard(){if(this.isSubmitting)return;const e=this.isTypeRoadmap?"roadmap":"roadmap"===this.board.type?"to-do":this.board.type;if(!this.board.title)return void this.$notify({message:this.$t("Board title cannot be empty"),type:"error"});if(!e)return void this.$notify({message:this.$t("Board title cannot be empty"),type:"error"});if(!this.board.currency&&"sales-pipeline"===e)return void this.$notify({message:this.$t("You must select a currency"),type:"error"});if(this.isTypeRoadmap){if(!this.checkIfAllStagesHasTitle())return;this.prepareRoadmapStages()}const t={...this.board,type:e};"folders"==this.$route.name&&(t.folder_id=this.$route.params.id),this.isSubmitting=!0;const s=this.isTypeRoadmap?this.roadmapStages:this.createBoardStagesPayload();this.$post("projects",{board:t,stages:s,labels:this.createBoardLabelsPayload(),member_ids:this.selectedMembers.map(e=>parseInt(e.id)).filter(Boolean),background:this.createBoardBackgroundPayload(),folder_id:this.$route.query.fid??null}).then(e=>{this.$notify({message:this.$t("Board created successfully"),type:"success"}),this.$emit("newBoardAdded",e.board),this.$router.push({name:"board",params:{id:e.board.id}}),this.board={title:"",description:"",type:"to-do",currency:"USD",slug:"",stages:this.defaultBoardStages(),labels:this.defaultBoardLabels()},this.selectedBoardLabelIds=this.defaultBoardLabels().map(e=>e.id),this.selectedMembers=[],this.labelSeed=6,this.descriptionEditorKey+=1,this.clearBoardBackground()}).catch(e=>{this.handleError(e)}).finally(()=>{this.isSubmitting=!1})},defaultBoardStages:()=>[{title:"Open"},{title:"In Progress"},{title:"Done"}],defaultBoardLabels(){var e,t,s,a,i;return[{id:1,title:this.$t("Green"),bg_color:(null==(e=this.labelColor)?void 0:e.green)||"#4bce97",color:"#1B2533"},{id:2,title:this.$t("Yellow"),bg_color:(null==(t=this.labelColor)?void 0:t.yellow)||"#f5cd47",color:"#1B2533"},{id:3,title:this.$t("Orange"),bg_color:(null==(s=this.labelColor)?void 0:s.orange)||"#fea362",color:"#1B2533"},{id:4,title:this.$t("Red"),bg_color:(null==(a=this.labelColor)?void 0:a.red)||"#f87168",color:"#1B2533"},{id:5,title:this.$t("Purple"),bg_color:(null==(i=this.labelColor)?void 0:i.purple)||"#9f8fef",color:"#1B2533"}]},normalizedBoardStages(){return(this.board.stages||[]).map(e=>({...e,title:(e.title||"").trim()})).filter(e=>e.title)},createBoardStagesPayload(){const e=this.normalizedBoardStages();return e.length?e.map((e,t)=>({title:e.title,slug:this.createSlug(e.title),position:t+1})):this.defaultBoardStages().map((e,t)=>({...e,slug:this.createSlug(e.title),position:t+1}))},addBoardStage(){this.board.stages.push({title:""})},addActiveStage(){this.isTypeRoadmap?this.addRoadmapStage():this.addBoardStage()},removeBoardStage(e){1!==this.board.stages.length&&this.board.stages.splice(e,1)},removeActiveStage(e){this.isTypeRoadmap?this.removeRoadmapStage(e):this.removeBoardStage(e)},createBoardLabel(e){const t=this.labelSeed++;this.board.labels.push({id:t,title:e.label,bg_color:e.bg_color,color:e.color}),this.selectedBoardLabelIds.push(t)},updateBoardLabel({label:e,changes:t}){this.board.labels=this.board.labels.map(s=>parseInt(s.id)!==parseInt(e.id)?s:{...s,...t})},deleteBoardLabel(e){this.board.labels=this.board.labels.filter(t=>parseInt(t.id)!==parseInt(e.id)),this.onDeselectBoardLabel(e)},onSelectBoardLabel(e){this.selectedBoardLabelIds.some(t=>parseInt(t)===parseInt(e.id))||this.selectedBoardLabelIds.push(e.id)},onDeselectBoardLabel(e){this.selectedBoardLabelIds=this.selectedBoardLabelIds.filter(t=>parseInt(t)!==parseInt(e.id))},createBoardLabelsPayload(){return this.selectedBoardLabels.map(e=>({label:(e.title||"").trim(),bg_color:e.bg_color||"#f3f4f6",color:e.color||"#1B2533"})).filter(e=>e.label||e.bg_color)},clearBoardBackground(){this.selectedBackground={id:null,color:"",is_image:!1,image_url:null}},createBoardBackgroundPayload(){return this.selectedBackground.id?this.selectedBackground:null},checkIfAllStagesHasTitle(){let e=!0;return this.roadmapStages.map(t=>{t.title||(e=!1)}),e},addRoadmapStage(){this.roadmapStages.push(this.createRoadmapStage()),this.syncRoadmapStagePositions(),this.$nextTick(()=>{const e=this.roadmapStageInputRefs[this.roadmapStages.length-1];e&&e.focus&&e.focus()})},removeRoadmapStage(e){1!==this.roadmapStages.length&&(this.roadmapStages.splice(e,1),this.syncRoadmapStagePositions())},createRoadmapStage(e=""){return{position:this.roadmapStages.length+1,title:e,type:"stage",slug:this.createSlug(e),archived:!1,settings:[{stage_type:"custom"}]}},prepareRoadmapStages(){this.roadmapStages=this.roadmapStages.map((e,t)=>({...e,position:t+1,slug:this.createSlug(e.title)}))},syncRoadmapStagePositions(){this.roadmapStages=this.roadmapStages.map((e,t)=>({...e,position:t+1}))},createSlug:e=>(e||"").trim().replace(/[^a-zA-Z0-9]+/g,"-").replace(/^-|-$/g,"").toLowerCase(),setRoadmapStageInputRef(e){return t=>{t&&(this.roadmapStageInputRefs[e]=t)}},getUploadURL(){return`${this.appVars.rest.url}/import-file/`},closeCreateProjectDrawer(){this.$emit("closeDrawer")}}},dz={class:"fbs-add_new_board"},cz={key:0,class:"fbs-create-board-header"},hz={class:"fbs-create-board-title"},uz={class:"fbs-create-board-tools"},pz=["aria-label","title"],mz={key:2,class:"fbs-create-board-cover"},bz=["aria-label","title"],gz={class:"fbs-create-board-body"},fz={class:"fbs-board-create-properties"},_z={type:"button",class:"fbs_priority_badge"},kz={class:"label"},vz={class:"fbs-cbp-panel"},yz={class:"d-flex items-center justify-between gap-12"},wz={class:"fbs_primary_text font-medium"},Cz={class:"icon"},Tz={class:"fbs-cbp-stage-list"},Sz={class:"icon"},$z={type:"button",class:"fbs_priority_badge"},Vz={class:"fbs-cbp-dot-stack"},Az={class:"label"},Iz={class:"icon"},Dz={class:"label"},Bz={class:"fbs-cbp-panel fbs-cbp-panel--flush"},Lz={class:"fbs-actions"};const Mz=Ss(rz,[["render",function(e,t,u,p,m,g){const f=b("Close"),_=Ne,v=b("drawer-header"),C=b("board-background-preview"),T=He,V=b("milkdown-editor"),A=b("Icons"),I=Be,D=Le,B=ze,L=je,M=b("label-manager"),x=b("board-members-popover"),P=b("board-cover-popover");return s(),a("div",dz,[u.withHeader?(s(),a("div",cz,[i("span",hz,o(g.createModalTitle),1),i("div",uz,[i("button",{type:"button",class:"fbs-create-board-tool","aria-label":e.$t("Close"),title:e.$t("Close"),onClick:t[0]||(t[0]=(...e)=>g.closeCreateProjectDrawer&&g.closeCreateProjectDrawer(...e))},[l(_,null,{default:n(()=>[l(f)]),_:1})],8,pz)])])):u.legacyHeader?(s(),c(v,{key:1,"header-title":"Create new board",onCloseDrawer:g.closeCreateProjectDrawer},null,8,["onCloseDrawer"])):y("",!0),g.hasCover?(s(),a("div",mz,[l(C,{board:g.coverPreviewBoard},null,8,["board"]),i("button",{type:"button",class:"fbs-create-board-cover__remove","aria-label":e.$t("Remove Background"),title:e.$t("Remove Background"),onClick:t[1]||(t[1]=(...e)=>g.clearBoardBackground&&g.clearBoardBackground(...e))},[l(_,null,{default:n(()=>[l(f)]),_:1})],8,bz)])):y("",!0),i("div",{class:k(["fbs-new-board-form",{"fbs-new-board-form--drawer":!u.withHeader}])},[i("div",gz,[l(T,{class:"fbs-board-title-input",type:"text",onKeydown:$(h(g.returnEnter,["prevent"]),["enter"]),maxlength:"100",modelValue:m.board.title,"onUpdate:modelValue":t[2]||(t[2]=e=>m.board.title=e),placeholder:g.titlePlaceholder,ref:"boardTitle"},null,8,["onKeydown","modelValue","placeholder"]),(s(),c(V,{key:m.descriptionEditorKey,class:"fbs-board-description-editor",modelValue:m.board.description,"onUpdate:modelValue":t[3]||(t[3]=e=>m.board.description=e),autofocus:!1,plain:!0,"disable-image-upload":!0,"fixed-slash-menu":!0,"save-on-blur":!1,placeholder:e.$t("Type / for commands or start writing...")},null,8,["modelValue","placeholder"]))]),i("div",fz,[e.appVars.fluent_roadmap_exists?(s(),c(D,{key:0,modelValue:m.isTypeRoadmap,"onUpdate:modelValue":t[4]||(t[4]=e=>m.isTypeRoadmap=e),class:"fbs-cbp-type-select","popper-class":"fbs-create-board-property-popover"},{prefix:n(()=>[l(A,{"icon-name":m.isTypeRoadmap?"roadmap":"boards"},null,8,["icon-name"])]),default:n(()=>[l(I,{value:!1,label:e.$t("Regular Board")},null,8,["label"]),l(I,{value:!0,label:e.$t("Public Roadmap")},null,8,["label"])]),_:1},8,["modelValue"])):y("",!0),l(L,{placement:e.appVars.is_rtl?"top-end":"top-start",trigger:"click",width:304,"popper-class":"fbs-create-board-property-popover"},{reference:n(()=>[i("button",_z,[l(A,{"icon-name":"stage"}),i("span",kz,o(g.stageChipLabel),1)])]),default:n(()=>[i("div",vz,[i("div",yz,[i("div",wz,o(m.isTypeRoadmap?e.$t("Roadmap Stages"):e.$t("Stages")),1),l(B,{class:"mini",onClick:g.addActiveStage},{default:n(()=>[i("span",Cz,[l(A,{"icon-name":"plus"})]),w(" "+o(e.$t("Add Stage")),1)]),_:1},8,["onClick"])]),i("div",Tz,[(s(!0),a(r,null,d(g.activeStages,(o,r)=>(s(),a("div",{key:`${m.isTypeRoadmap?"roadmap":"board"}-${r}`,class:"fbs-cbp-stage-row"},[t[7]||(t[7]=i("span",{class:"fbs-cbp-stage-dot"},null,-1)),l(T,{modelValue:o.title,"onUpdate:modelValue":e=>o.title=e,maxlength:"50",placeholder:e.$t("Stage name"),onKeydown:$(h(g.returnEnter,["prevent"]),["enter"])},null,8,["modelValue","onUpdate:modelValue","placeholder","onKeydown"]),l(B,{text:"",class:"mini only-icon-btn",disabled:1===g.activeStages.length,"aria-label":e.$t("Remove Stage"),title:e.$t("Remove Stage"),onClick:e=>g.removeActiveStage(r)},{default:n(()=>[i("span",Sz,[l(A,{"icon-name":"delete"})])]),_:1},8,["disabled","aria-label","title","onClick"])]))),128))])])]),_:1},8,["placement"]),l(L,{placement:e.appVars.is_rtl?"top-end":"top-start",trigger:"click",width:360,"popper-class":"fbs-create-board-property-popover"},{reference:n(()=>[i("button",$z,[g.labelColorDots.length?(s(),a(r,{key:0},[i("span",Vz,[(s(!0),a(r,null,d(g.labelColorDots,e=>(s(),a("span",{key:e.id,class:"fbs-cbp-dot",style:S({background:e.bg_color||"#4bce97"})},null,4))),128))]),i("span",Az,o(g.labelChipLabel),1)],64)):(s(),a(r,{key:1},[i("span",Iz,[l(A,{"icon-name":"label"})]),i("span",Dz,o(e.$t("Labels")),1)],64))])]),default:n(()=>[i("div",Bz,[l(M,{labels:m.board.labels,"label-color":m.labelColor,"label-color-text":m.labelColorText,"can-manage-labels":!0,selectable:!0,"selected-label-ids":m.selectedBoardLabelIds,"teleported-color-picker":!0,"variant-class":"fbs_board_menu_labels",onCreateLabel:g.createBoardLabel,onUpdateLabel:g.updateBoardLabel,onRequestDeleteLabel:g.deleteBoardLabel,onSelectLabel:g.onSelectBoardLabel,onDeselectLabel:g.onDeselectBoardLabel},null,8,["labels","label-color","label-color-text","selected-label-ids","onCreateLabel","onUpdateLabel","onRequestDeleteLabel","onSelectLabel","onDeselectLabel"])])]),_:1},8,["placement"]),l(x,{modelValue:m.selectedMembers,"onUpdate:modelValue":t[5]||(t[5]=e=>m.selectedMembers=e)},null,8,["modelValue"]),l(P,{modelValue:m.selectedBackground,"onUpdate:modelValue":t[6]||(t[6]=e=>m.selectedBackground=e)},null,8,["modelValue"])]),i("div",Lz,[e.hasPro?(s(),c(B,{key:0,link:"",class:"fbs-modal-start-from-template no-underline hover-underline",onClick:g.startFromTemplate},{default:n(()=>[l(A,{"icon-name":"template"}),w(" "+o(e.$t("Start From Template")),1)]),_:1},8,["onClick"])):y("",!0),l(B,{type:"primary",loading:m.isSubmitting,disabled:m.isSubmitting,onClick:g.createBoard,class:"fbs_mr_0 fbs_ml_0"},{default:n(()=>[w(o(m.isSubmitting?e.$t("Saving"):g.createSubmitLabel),1)]),_:1},8,["loading","disabled","onClick"])])],2)])}]]),xz={class:"",style:{"margin-top":"25px"}},Pz={key:0,style:{color:"red",margin:"0"}},Fz={class:"fbs-roadmap-actions"},Ez={key:0,style:{color:"red",margin:"0"}},Uz={class:"fbs-roadmap-actions"};const Oz=Ss({name:"CreateRoadmap",data:()=>({active:0,span:12,offset:6,roadmap:{title:"",description:"",slug:"",type:"roadmap",stages:[],currency:"USD",is_roadmap:"yes"},roadmapError:{title:!1,currency:!1},stages:[{position:1,title:"Pending",type:"stage",slug:"pending",archived:!1,settings:[{stage_type:"pending"}]},{position:2,title:"Under Consideration",type:"stage",slug:"under_consideration",archived:!1,settings:[{stage_type:"under_consideration"}]},{position:3,title:"Planned",type:"stage",slug:"planned",archived:!1,settings:[{stage_type:"planned"}]},{position:4,title:"Launched",type:"stage",slug:"launched",archived:!1,settings:[{stage_type:"launched"}]}],trackRemoveStages:[]}),watch:{"roadmap.title":function(e){this.roadmap.slug=e.replace(/[^a-zA-Z0-9]/g,"-").toLowerCase()}},methods:{defineStagesStep(){if(0===this.active)return this.checkFirstStepValidity()?void this.active++:void 0;if(1===this.active){if(!this.checkSecondStepValidity())return;this.active++}2===this.active&&this.stages.map(e=>{e.slug=this.prettify(e.title)})},backToPreviousStep(){this.active>0&&this.active--},deleteStageRow(e){this.trackRemoveStages.push({position:e,slug:this.stages[e].slug,title:this.stages[e].title}),this.stages.splice(e,1)},restoreStages(){let e=this.trackRemoveStages.pop(),t={slug:e.slug,title:e.title};this.stages.splice(e.position,0,t)},prettify:e=>e.split(" ").map(function(e){return e.charAt(0).toLowerCase()+e.slice(1)}).join("_"),returnEnter(){},getCurrencies(){this.$get("pipelines/currencies").then(e=>{this.currencies=e})},createRoadmap(){this.checkSecondStepValidity()?(this.roadmap.stages=this.stages,this.$post("projects",{board:this.roadmap}).then(e=>{this.$notify({message:e.message,type:"success"}),this.$router.push({name:"board",params:{id:e.board.id}})}).catch(e=>{this.handleError(e)}).finally(()=>{this.roadmap={title:"",description:"",type:"roadmap",slug:"",currency:"USD",stages:[],is_roadmap:"yes"}})):this.emitter.emit("validityCheckEvent")},closeCreateModalHandler(){this.$emit("closeCreateModalEvent")},checkSecondStepValidity(){let e=0;return this.stages.map(t=>{""===t.title&&e++}),!(e>0)},checkFirstStepValidity(){let e=0;return""==this.roadmap.title?(++e,this.roadmapError.title=!0):this.roadmapError.title=!1,!(e>0)}}},[["render",function(e,t,u,p,m,g){const f=gs,_=fs,k=$t,v=He,C=gt,T=Vt,S=ze,V=bt,A=b("DeleteFilled"),I=Ne;return s(),a("div",null,[i("div",xz,[l(_,{active:m.active,"finish-status":"success","align-center":""},{default:n(()=>[l(f,{title:e.$t("Name your roadmap")},null,8,["title"]),l(f,{title:e.$t("Define stages & complete your roadmap")},null,8,["title"])]),_:1},8,["active"]),0===m.active?(s(),c(V,{key:0,model:m.roadmap,"label-position":"top",style:{margin:"40px 0px 50px 0px"}},{default:n(()=>[l(T,{span:24},{default:n(()=>[l(k,{span:8,offset:2},{default:n(()=>[i("h3",null,o(e.$t("Name & Describe your roadmap")),1),i("p",null,o(e.$t("First step to provide your roadmap a title, add some description.")),1)]),_:1}),l(k,{span:10,offset:1},{default:n(()=>[l(C,{label:"Title*"},{default:n(()=>[l(v,{type:"text",onKeydown:$(h(g.returnEnter,["prevent"]),["enter"]),placeholder:"Title",maxlength:"100",modelValue:m.roadmap.title,"onUpdate:modelValue":t[0]||(t[0]=e=>m.roadmap.title=e),"show-word-limit":""},null,8,["onKeydown","modelValue"]),m.roadmapError.title?(s(),a("p",Pz,o(e.$t("Title is required")),1)):y("",!0)]),_:1}),l(C,{label:"Description"},{default:n(()=>[l(v,{type:"textarea",row:"4",placeholder:"Your roadmap description goes here",modelValue:m.roadmap.description,"onUpdate:modelValue":t[1]||(t[1]=e=>m.roadmap.description=e),height:120},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),l(T,{span:24},{default:n(()=>[l(k,{span:12,offset:11},{default:n(()=>[l(C,null,{default:n(()=>[i("div",Fz,[l(S,{type:"primary",onClick:g.defineStagesStep,class:"fbs-roadmap-next"},{default:n(()=>[w(o(e.$t("Next define stages")),1)]),_:1},8,["onClick"]),l(S,{type:"primary",onClick:g.closeCreateModalHandler,class:"fbs-roadmap-cancel"},{default:n(()=>[w(o(e.$t("Cancel")),1)]),_:1},8,["onClick"])])]),_:1})]),_:1})]),_:1})]),_:1},8,["model"])):y("",!0),1===m.active?(s(),c(V,{key:1,model:m.roadmap,"label-position":"top",style:{margin:"40px 0px 50px 0px"}},{default:n(()=>[l(T,{span:24},{default:n(()=>[l(k,{span:8,offset:2},{default:n(()=>[i("h3",null,o(e.$t("Define your deal stages")),1),i("p",null,o(e.$t(" Each stage represents a step in the process where the development team actively engages with\n prospects, progressing the relationship and moving towards a potential sale..")),1),i("p",null,o(e.$t("Second step to provide stages name of your deal")),1)]),_:1}),l(k,{span:13,offset:1},{default:n(()=>[l(C,{label:"Stage Name*",style:{"margin-bottom":"0px"}}),(s(!0),a(r,null,d(m.stages,(t,i)=>(s(),c(T,{span:24,key:i,style:{margin:"0 0 10px 0"}},{default:n(()=>[l(k,{span:18,offset:0},{default:n(()=>[l(v,{type:"text",onKeydown:$(h(g.returnEnter,["prevent"]),["enter"]),maxlength:"100",modelValue:t.title,"onUpdate:modelValue":e=>t.title=e},null,8,["onKeydown","modelValue","onUpdate:modelValue"]),t.title?y("",!0):(s(),a("p",Ez,o(e.$t("Stage is required")),1))]),_:2},1024),m.stages.length>4?(s(),c(k,{key:0,span:6,offset:0},{default:n(()=>[l(I,{class:"del-icon del-icon-clickable",onClick:e=>g.deleteStageRow(i)},{default:n(()=>[l(A)]),_:1},8,["onClick"])]),_:2},1024)):y("",!0)]),_:2},1024))),128)),l(T,{span:24,style:{"margin-top":"30px"}},{default:n(()=>[l(k,{span:24,offset:0},{default:n(()=>[l(C,null,{default:n(()=>[i("div",Uz,[l(S,{type:"primary",class:"fbs-roadmap-next",onClick:g.createRoadmap},{default:n(()=>[w(o(e.$t("Create roadmap")),1)]),_:1},8,["onClick"]),1===m.active?(s(),c(S,{key:0,type:"success",class:"fbs-roadmap-cancel",onClick:g.backToPreviousStep},{default:n(()=>[w(o(e.$t("Back")),1)]),_:1},8,["onClick"])):y("",!0),1===m.active&&m.trackRemoveStages.length?(s(),c(S,{key:1,type:"info",onClick:g.restoreStages},{default:n(()=>[w(o(e.$t("Undo remove stage")),1)]),_:1},8,["onClick"])):y("",!0)])]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})]),_:1},8,["model"])):y("",!0)])])}]]),Rz=["href"],Nz={key:0,class:"fbs_board_card__cover"},Hz=["title","aria-disabled"],jz={class:"icon fbs_board_card__pin__icon"},zz={class:"icon fbs_board_card__pin__icon_outline"},Gz={class:"fbs_board_card__body"},qz={class:"fbs_board_card__content"},Wz={class:"fbs_board_card__title_row"},Kz=["title"],Zz=["title"];const Yz=Ss({name:"BoardCard",components:{Icons:$s,BoardBackgroundPreview:Us,BoardTaskMetaInfo:GN},props:{board:{type:Object,required:!0},numberOfAvatars:{type:Number,default:3}},data:()=>({selectedBoard:null,pinLoading:!1}),computed:{boardUrl(){return this.selectedBoard?null:this.appVars.base_url+"boards/"+this.board.id},plainDescription(){return Os(this.board.description||"")},hasCover(){var e;const t=null==(e=this.board)?void 0:e.background;return!(!t||"object"!=typeof t)&&(!(!t.is_image||!t.image_url)||!!t.color)}},methods:{goToBoard(){if(this.selectedBoard)return null;this.$router.push({name:"board",params:{id:this.board.id}})},togglePinnedBoard(){if(this.pinLoading)return;const e=!!this.board.is_pinned,t=!e;this.board.is_pinned=t,this.updatePinnedState(e,t)},updatePinnedState(e,t){const s=t?"pin-board":"unpin-board";this.pinLoading=!0,this.$put("projects/"+this.board.id+"/"+s).then(()=>{this.emitter.emit("board-pin-state-changed",{boardId:this.board.id,wasPinned:e,isPinned:t})}).catch(t=>{this.board.is_pinned=e,this.handleError(t)}).finally(()=>{this.pinLoading=!1})},handlePinnedBoardRemoved(e){this.board.id===e&&(this.board.is_pinned=!1)}},mounted(){this.emitter.on("remove-pinned-board",this.handlePinnedBoardRemoved)},beforeUnmount(){this.emitter.off("remove-pinned-board",this.handlePinnedBoardRemoved)}},[["render",function(e,t,n,r,d,c){const u=b("board-background-preview"),p=b("Icons"),m=b("board-task-meta-info");return s(),a("a",{class:k(["fbs_board_card",{"fbs_board_card--archived":n.board.archived_at,"fbs_board_card--no_cover":!c.hasCover}]),href:c.boardUrl,onClick:t[3]||(t[3]=h((...e)=>c.goToBoard&&c.goToBoard(...e),["prevent"]))},[c.hasCover?(s(),a("div",Nz,[l(u,{board:n.board},null,8,["board"])])):y("",!0),i("button",{type:"button",class:k(["fbs_board_card__pin",{"fbs_board_card__pin--pinned":n.board.is_pinned}]),title:n.board.is_pinned?e.$t("board is pinned"):e.$t("click to pin board"),"aria-disabled":d.pinLoading?"true":"false",onClick:t[0]||(t[0]=h((...e)=>c.togglePinnedBoard&&c.togglePinnedBoard(...e),["stop","prevent"])),onMouseenter:t[1]||(t[1]=e=>d.selectedBoard=n.board),onMouseleave:t[2]||(t[2]=e=>d.selectedBoard=null)},[i("span",jz,[l(p,{"icon-name":"pin-fill","aria-hidden":"true"})]),i("span",zz,[l(p,{"icon-name":"pin","aria-hidden":"true"})])],42,Hz),i("div",Gz,[i("div",qz,[i("div",Wz,[i("h3",{title:n.board.title},o(n.board.title),9,Kz)]),i("p",{class:"fbs_board_card__desc",title:c.plainDescription},o(c.plainDescription),9,Zz)]),l(m,{board:n.board,"number-of-avatars":n.numberOfAvatars,variant:"card"},null,8,["board","number-of-avatars"])])],10,Rz)}]]);const Jz=Ss({name:"_Board",props:["boards","numberOfAvatars"],components:{BoardCard:Yz}},[["render",function(e,t,i,o,l,n){const h=b("board-card");return s(!0),a(r,null,d(i.boards,e=>(s(),c(h,{key:e.id,board:e,"number-of-avatars":i.numberOfAvatars},null,8,["board","number-of-avatars"]))),128)}]]),Qz=["href","onClick"],Xz={class:"fbs_board_list_item__content"},eG={class:"fbs_board_list_item__title_row"},tG=["title"],sG=["title"],aG={class:"fbs_board_list_item__meta"},iG=["title","aria-disabled","onClick","onMouseenter"],oG={class:"icon fbs_board_card__pin__icon"},lG={class:"icon fbs_board_card__pin__icon_outline"};const nG=Ss({name:"_Board",props:["boards","numberOfAvatars"],components:{Icons:$s,BoardBackgroundPreview:Us,BoardTaskMetaInfo:GN},data:()=>({selectedBoard:null,pinLoadingBoardIds:{}}),computed:{boardRows(){return this.boards.map(e=>({board:e,plainDescription:this.getCachedPlainDescription(e)}))}},methods:{boardUrl(e){return this.selectedBoard?null:this.appVars.base_url+"boards/"+e.id},getCachedPlainDescription(e){const t=e.description||"",s=String(e.id);this.descriptionCache||(this.descriptionCache=new Map);const a=this.descriptionCache.get(s);if(a&&a.description===t)return a.plainDescription;const i=Os(t);return this.descriptionCache.set(s,{description:t,plainDescription:i}),i},goToBoard(e){if(this.selectedBoard)return null;this.$router.push({name:"board",params:{id:e.id}})},selectBoard(e){this.selectedBoard=e},unselectBoard(){this.selectedBoard=null},isPinLoading(e){return!!this.pinLoadingBoardIds[e.id]},togglePinnedBoard(e){if(this.isPinLoading(e))return;const t=!!e.is_pinned,s=!t;e.is_pinned=s,this.updatePinnedState(e,t,s)},updatePinnedState(e,t,s){const a=s?"pin-board":"unpin-board";this.pinLoadingBoardIds={...this.pinLoadingBoardIds,[e.id]:!0},this.$put("projects/"+e.id+"/"+a).then(()=>{this.emitter.emit("board-pin-state-changed",{boardId:e.id,wasPinned:t,isPinned:s})}).catch(s=>{e.is_pinned=t,this.handleError(s)}).finally(()=>{const t={...this.pinLoadingBoardIds};delete t[e.id],this.pinLoadingBoardIds=t})},handlePinnedBoardRemoved(e){const t=this.boards.find(t=>t.id===e);t&&(t.is_pinned=!1)}},created(){this.descriptionCache=new Map},mounted(){this.emitter.on("remove-pinned-board",this.handlePinnedBoardRemoved)},beforeUnmount(){this.emitter.off("remove-pinned-board",this.handlePinnedBoardRemoved)}},[["render",function(e,t,n,c,u,p){const m=b("board-background-preview"),g=b("Icons"),f=b("board-task-meta-info");return s(!0),a(r,null,d(p.boardRows,r=>(s(),a("a",{class:k(["fbs_board_list_item",{"fbs_board_list_item--archived":r.board.archived_at}]),key:r.board.id,href:p.boardUrl(r.board),onClick:h(e=>p.goToBoard(r.board),["prevent"])},[l(m,{class:"fbs_board_list_item__cover",board:r.board,"hide-icon":!0},null,8,["board"]),i("div",Xz,[i("div",eG,[i("h3",{title:r.board.title},o(r.board.title),9,tG)]),i("p",{class:"fbs_board_list_item__desc",title:r.plainDescription},o(r.plainDescription),9,sG)]),i("div",aG,[i("button",{type:"button",class:k(["fbs_board_card__pin",{"fbs_board_card__pin--pinned":r.board.is_pinned}]),title:r.board.is_pinned?e.$t("board is pinned"):e.$t("click to pin board"),"aria-disabled":p.isPinLoading(r.board)?"true":"false",onClick:h(e=>p.togglePinnedBoard(r.board),["stop","prevent"]),onMouseenter:e=>p.selectBoard(r.board),onMouseleave:t[0]||(t[0]=(...e)=>p.unselectBoard&&p.unselectBoard(...e))},[i("span",oG,[l(g,{"icon-name":"pin-fill","aria-hidden":"true"})]),i("span",lG,[l(g,{"icon-name":"pin","aria-hidden":"true"})])],42,iG),l(f,{board:r.board,"number-of-avatars":n.numberOfAvatars,variant:"list","show-archived-badge":!0},null,8,["board","number-of-avatars"])])],10,Qz))),128)}]]),rG={class:"fbs-board-skeletons"},dG={class:"fbs-board-skeleton-bottom"};const cG=Ss({name:"BoardSkeleton",props:["showColumns"]},[["render",function(e,t,o,h,u,p){const m=hs,b=At;return s(),c(b,{animated:""},{template:n(()=>[i("div",rG,[(s(!0),a(r,null,d(o.showColumns??4,e=>(s(),a("div",{class:"fbs-board-skeleton",key:e},[l(m,{style:{width:"100%"}}),l(m,{style:{width:"160px"}}),i("div",dG,[l(m,{variant:"image",style:{width:"30px",height:"30px"}}),l(m,{style:{width:"30px"}})])]))),128))])]),_:1})}],["__scopeId","data-v-fbda9dcb"]]),hG={name:"DrawerHeader",components:{Close:dt,CustomIcon:ml},emits:["close","closeDrawer"],props:{title:{type:String,required:!0},iconName:{type:String,default:""},showIcon:{type:Boolean,default:!0},showClose:{type:Boolean,default:!0},closeLabel:{type:String,default:""},bordered:{type:Boolean,default:!1},translateTitle:{type:Boolean,default:!0}},computed:{resolvedTitle(){return this.translateTitle?this.$t(this.title):this.title},resolvedCloseLabel(){return this.closeLabel||this.$t("Close")}},methods:{closeDrawer(){this.$emit("close"),this.$emit("closeDrawer")}}},uG={class:"fbs-drawer-header__main"},pG={key:0,class:"fbs-drawer-header__icon","aria-hidden":"true"},mG={class:"fbs-drawer-header__title"},bG={class:"fbs-drawer-header__actions"},gG=["aria-label"];const fG=Ss(hG,[["render",function(e,t,r,d,c,h){const u=b("CustomIcon"),p=b("Close"),m=Ne;return s(),a("div",{class:k(["fbs-drawer-header",{"fbs-drawer-header--bordered":r.bordered}])},[i("div",uG,[r.showIcon&&r.iconName?(s(),a("span",pG,[l(u,{"icon-name":r.iconName},null,8,["icon-name"])])):y("",!0),i("h3",mG,o(h.resolvedTitle),1)]),i("div",bG,[_(e.$slots,"actions"),r.showClose?(s(),a("button",{key:0,type:"button",class:"fbs-drawer-header__close","aria-label":h.resolvedCloseLabel,onClick:t[0]||(t[0]=(...e)=>h.closeDrawer&&h.closeDrawer(...e))},[l(m,null,{default:n(()=>[l(p)]),_:1})],8,gG)):y("",!0)])],2)}]]),_G={class:"fbs-csv-mapper"},kG={class:"fbs-board-import-body fbs-csv-mapper__body"},vG={class:"fbs-csv-mapper__table"},yG={class:"fbs-csv-mapper__row fbs-csv-mapper__row--header"},wG={class:"fbs-csv-mapper__field"},CG={class:"fbs-csv-mapper__mobile-label"},TG={class:"fbs-csv-mapper__field"},SG={class:"fbs-csv-mapper__mobile-label"},$G={class:"fbs-board-import-footer fbs-csv-mapper__footer"},VG={key:0};const AG={class:"fbs-add_new_board fbs-board-import"},IG={class:"fbs-json-import-progress"},DG={key:0},BG={key:1},LG={key:2,class:"fbs-import-status-text"},MG={class:"fbs-import-warning-text"},xG={class:"fbs-board-import-body"},PG={class:"import-description"},FG=["href"],EG={class:"fbs-board-import-upload__text"},UG={class:"fbs-trello-coming-soon"},OG={class:"fbs-trello-coming-soon__content"},RG={key:0,class:"fbs-trello-api-form"},NG={class:"import-description"},HG={href:"https://app.asana.com/0/my-apps",target:"_blank",rel:"noopener"},jG={class:"fbs-trello-field"},zG={key:1,class:"fbs-trello-board-select"},GG={class:"fbs-trello-field"},qG={key:0,class:"fbs-trello-field"},WG={class:"fbs-trello-actions"},KG={key:2,class:"fbs-trello-importing"},ZG={class:"fbs-trello-warning"},YG={class:"import-description"},JG=["href"],QG={class:"fbs-board-import-upload__text"},XG={class:"import-description"},eq={key:0},tq={key:1},sq=["href"],aq={class:"fbs-board-import-upload__text"},iq={key:0,class:"fbs-board-import-footer"},oq={key:2,class:"fbs-import-container"};const lq={name:"MoreAddOptions",inject:["eventBus"],components:{Icons:$s,ImportExternal:Ss({name:"ImportExternal",components:{CustomIcon:ml,DrawerHeader:fG,ImportCsvMapper:Ss({name:"ImportCsvMapper",props:["csvResponse"],data:()=>({step:"upload",options:{delimiter:"comma",type:"company"},headers:{},fields:{},columns:[],form:{map:[],file:""},importing:!1,importing_page:1,results:{}}),methods:{handleUploadSuccess(e){this.headers=e.headers,this.form.map=e.map,this.form.file=e.file,this.columns=e.columns,this.fields=e.fields,this.step="map"},importBoard(e=null){let t=null;"folders"==this.$route.name&&(t=this.$route.params.id||null),this.importing=!0,this.$post("import-csv",{...this.form,importing_page:this.importing_page,delimiter:this.options.delimiter,board_id:e,folderId:t}).then(e=>{if(this.results=e,e.has_more)return this.importing_page++,void this.importBoard(e.board_id);this.$notify.success({message:e.message}),this.importing=!1,e.board_id&&this.$router.push({name:"board",params:{id:e.board_id}})}).catch(e=>{this.importing=!1,this.handleError(e)})}},mounted(){this.handleUploadSuccess(this.csvResponse)}},[["render",function(e,t,h,u,p,m){const b=He,_=Be,k=_s,v=Le,C=ze,T=g("loading");return s(),a("div",_G,[f((s(),a("main",kG,[i("div",vG,[i("div",yG,[i("div",null,o(e.$t("CSV Headers")),1),i("div",null,o(e.$t("Task Fields")),1)]),(s(!0),a(r,null,d(p.headers,(t,h)=>(s(),a("div",{key:h,class:"fbs-csv-mapper__row"},[i("div",wG,[i("label",CG,o(e.$t("CSV Headers")),1),l(b,{value:t,disabled:""},null,8,["value"])]),i("div",TG,[i("label",SG,o(e.$t("Task Fields")),1),l(v,{clearable:"",modelValue:p.form.map[h].table,"onUpdate:modelValue":e=>p.form.map[h].table=e},{default:n(()=>[l(k,{label:e.$t("Main Properties")},{default:n(()=>[(s(!0),a(r,null,d(p.columns,(e,t)=>(s(),c(_,{key:t,label:p.fields[e]||e,value:e},null,8,["label","value"]))),128))]),_:1},8,["label"])]),_:1},8,["modelValue","onUpdate:modelValue"])])]))),128))])])),[[T,p.importing]]),i("footer",$G,[f((s(),c(C,{onClick:t[0]||(t[0]=e=>m.importBoard()),disabled:p.importing,type:"primary"},{default:n(()=>[w(o(e.$t("Import Board"))+" ",1),p.results.total?(s(),a("span",VG,"("+o(p.results.total)+" / "+o(p.results.completed)+")",1)):y("",!0)]),_:1},8,["disabled"])),[[T,p.importing]])])])}]])},props:["source"],watch:{},data:()=>({isProcessing:!1,showImport:!1,fileList:[],loading:!1,importDocUrl:"#",viewCsvMapper:!1,csvResponse:[],headers:[],columns:[],isJsonUploading:!1,isJsonProcessing:!1,jsonUploadProgress:0,jsonProcessingProgress:0,jsonImportResults:{},jsonImportPage:1,trelloTab:"json",trelloApiKey:"",trelloToken:"",trelloConnecting:!1,trelloBoards:[],selectedTrelloBoardId:null,trelloImporting:!1,asanaTab:"json",asanaPat:"",asanaConnecting:!1,asanaWorkspaces:[],selectedWorkspaceGid:null,asanaProjectsLoading:!1,asanaProjects:[],selectedProjectGid:null,asanaImporting:!1}),methods:{returnEnter(){},onProgress(){this.loading=!0},getUploadURL(){return"CSV"==this.source?`${this.appVars.rest.url}/csv-upload/`:`${this.appVars.rest.url}/import-file/`},handleUpload(e){if(0===this.fileList.length)return void this.$notify({message:this.$t("Please select a file to upload"),type:"error"});const t=this.fileList[0].raw;if("CSV"!==this.source)return void this.uploadJsonInChunks(t);const s=new FormData;s.append("file",t),s.append("importFrom",this.source),"folders"==this.$route.name&&s.append("folderId",this.$route.params.id);const a=this.getUploadURL(),i={"X-WP-Nonce":this.appVars.rest.nonce};let o=this;i["X-HTTP-Method-Override"]="Post",jQuery.ajax({type:"POST",url:a,headers:i,data:s,contentType:!1,processData:!1,xhr:function(){var e=new window.XMLHttpRequest;return e.upload.addEventListener("progress",function(e){e.lengthComputable&&(o.loading=!0,o.isProcessing=!0)},!1),e},success:function(e){"CSV"==o.source?(o.csvResponse=e,o.viewCsvMapper=!0,o.isProcessing=!1,o.loading=!1):(o.isProcessing=!1,o.$notify({message:e.message,type:"success"}),o.loading=!1,o.$router.push({name:"board",params:{id:e.board_id}}))},error:function(e){o.fileList=[],o.$notify({message:e.responseJSON.message,type:e.responseJSON.type})},complete:function(){o.loading=!1,o.isProcessing=!1,o.$refs.fileInput.value=""}})},async uploadJsonInChunks(e){const t=2097152,s=Math.ceil(e.size/t),a=Date.now()+"_"+Math.random().toString(36).substring(2,10);this.isJsonUploading=!0,this.jsonUploadProgress=0;const i={"X-WP-Nonce":this.appVars.rest.nonce,"X-HTTP-Method-Override":"Post"},o=`${this.appVars.rest.url}/upload-json-chunk/`;let l=null;for(let r=0;r<s;r++){const d=r*t,c=Math.min(d+t,e.size),h=e.slice(d,c),u=new FormData;u.append("chunk",h,"chunk.part"),u.append("chunkIndex",r),u.append("totalChunks",s),u.append("uploadId",a);try{const e=await this.ajaxPromise(o,i,u);this.jsonUploadProgress=Math.round((r+1)/s*100),e.filePath&&(l=e.filePath)}catch(n){return this.isJsonUploading=!1,this.jsonUploadProgress=0,void this.$notify({message:this.$t("Upload failed. Please try again."),type:"error"})}}this.isJsonUploading=!1,l?this.startJsonProcessing(l):this.$notify({message:this.$t("Upload failed."),type:"error"})},ajaxPromise:(e,t,s)=>new Promise((a,i)=>{jQuery.ajax({type:"POST",url:e,headers:t,data:s,contentType:!1,processData:!1,success:a,error:i})}),startJsonProcessing(e){this.isJsonProcessing=!0,this.jsonProcessingProgress=0,this.jsonImportPage=1,this.processJsonPage(e,null)},processJsonPage(e,t,s=0){let a=null;"folders"==this.$route.name&&(a=this.$route.params.id),this.$post("process-json-import",{importing_page:this.jsonImportPage,board_id:t,filePath:e,importFrom:this.source,folderId:a}).then(t=>{if(this.jsonImportResults=t,t.total&&(this.jsonProcessingProgress=Math.round(t.completed/t.total*100)),t.has_more)return this.jsonImportPage=t.last_page+1,void this.processJsonPage(e,t.board_id);this.isJsonProcessing=!1,this.$notify.success({message:t.message}),t.board_id&&this.$router.push({name:"board",params:{id:t.board_id}})}).catch(a=>{const i=a&&a.status;if((504===i||502===i)&&s<3)return void setTimeout(()=>{this.processJsonPage(e,t,s+1)},2e3);this.isJsonProcessing=!1,this.jsonProcessingProgress=0;const o=a&&a.responseJSON&&a.responseJSON.message||this.$t("Import failed. Please try again.");this.$notify({message:o,type:"error"})})},fetchTrelloBoards(){this.trelloConnecting||(this.trelloConnecting=!0,this.$post("trello-boards",{api_key:this.trelloApiKey,token:this.trelloToken}).then(e=>{this.trelloConnecting=!1,this.trelloBoards=e.boards||[],this.trelloBoards.length||this.$notify({message:this.$t("No open boards found in your Trello account."),type:"warning"})}).catch(e=>{this.trelloConnecting=!1;const t=e&&e.responseJSON&&e.responseJSON.message||this.$t("Failed to connect to Trello.");this.$notify({message:t,type:"error"})}))},importSelectedTrelloBoard(){this.trelloImporting||(this.trelloImporting=!0,this.$post("import-trello-board",{api_key:this.trelloApiKey,token:this.trelloToken,trello_board_id:this.selectedTrelloBoardId}).then(e=>{this.trelloImporting=!1,this.$notify.success({message:e.message}),e.board_id&&this.$router.push({name:"board",params:{id:e.board_id}})}).catch(e=>{this.trelloImporting=!1;const t=e&&e.responseJSON&&e.responseJSON.message||this.$t("Failed to import board from Trello.");this.$notify({message:t,type:"error"})}))},fetchAsanaWorkspaces(){this.asanaConnecting||(this.asanaConnecting=!0,this.$post("asana-workspaces",{pat:this.asanaPat}).then(e=>{this.asanaConnecting=!1,this.asanaWorkspaces=e.workspaces||[],this.asanaWorkspaces.length?1===this.asanaWorkspaces.length&&(this.selectedWorkspaceGid=this.asanaWorkspaces[0].gid,this.fetchAsanaProjects()):this.$notify({message:this.$t("No workspaces found for this token."),type:"warning"})}).catch(e=>{this.asanaConnecting=!1;const t=e&&e.responseJSON&&e.responseJSON.message||this.$t("Failed to connect to Asana.");this.$notify({message:t,type:"error"})}))},fetchAsanaProjects(){if(!this.selectedWorkspaceGid||this.asanaProjectsLoading)return;const e=this.selectedWorkspaceGid;this.asanaProjectsLoading=!0,this.asanaProjects=[],this.selectedProjectGid=null,this.$post("asana-projects",{pat:this.asanaPat,workspace_gid:e}).then(t=>{this.asanaProjectsLoading=!1,this.selectedWorkspaceGid===e&&(this.asanaProjects=t.projects||[],this.asanaProjects.length||this.$notify({message:this.$t("No open projects found in this workspace."),type:"warning"}))}).catch(t=>{if(this.asanaProjectsLoading=!1,this.selectedWorkspaceGid!==e)return;const s=t&&t.responseJSON&&t.responseJSON.message||this.$t("Failed to load projects.");this.$notify({message:s,type:"error"})})},importSelectedAsanaProject(){if(this.asanaImporting)return;let e=null;"folders"==this.$route.name&&(e=this.$route.params.id),this.asanaImporting=!0,this.$post("import-asana-project",{pat:this.asanaPat,project_gid:this.selectedProjectGid,folder_id:e}).then(e=>{this.asanaImporting=!1,this.$notify.success({message:e.message}),e.board_id&&this.$router.push({name:"board",params:{id:e.board_id}})}).catch(e=>{this.asanaImporting=!1;const t=e&&e.responseJSON&&e.responseJSON.message||this.$t("Failed to import project from Asana.");this.$notify({message:t,type:"error"})})},handleFooterPrimaryAction(){"Trello"!==this.source||"api"!==this.trelloTab||this.trelloBoards.length?"Asana"!==this.source||"api"!==this.asanaTab||this.asanaWorkspaces.length?this.handleUpload():this.fetchAsanaWorkspaces():this.fetchTrelloBoards()},resetAsanaConnection(){this.asanaWorkspaces=[],this.asanaProjects=[],this.selectedWorkspaceGid=null,this.selectedProjectGid=null},resetImportState(){this.asanaPat="",this.asanaTab="json",this.asanaConnecting=!1,this.asanaProjectsLoading=!1,this.asanaImporting=!1,this.resetAsanaConnection(),this.trelloTab="json",this.trelloApiKey="",this.trelloToken="",this.trelloConnecting=!1,this.trelloBoards=[],this.selectedTrelloBoardId=null,this.trelloImporting=!1,this.fileList=[],this.loading=!1,this.isProcessing=!1},cancelImport(){this.resetImportState(),this.$emit("cancelAddMoreOption")}},computed:{drawerHeaderTitle(){return!this.viewCsvMapper||this.isJsonUploading||this.isJsonProcessing?`${this.$t("Import From")} ${this.source}`:this.$t("Please map the fields")},learnMoreUrl(){return{Trello:"https://fluentboards.com/docs/import-from-trello/",Asana:"https://fluentboards.com/docs/import-boards-from-asana/"}[this.source]||null},acceptType(){return"CSV"==this.source?".csv":".json"},footerPrimaryLabel(){return"Trello"!==this.source||"api"!==this.trelloTab||this.trelloBoards.length?"Asana"!==this.source||"api"!==this.asanaTab||this.asanaWorkspaces.length?"CSV"==this.source?this.$t("Upload"):`${this.$t("Upload")} & ${this.$t("Start Importing")}`:this.$t("Connect & Fetch Workspaces"):this.$t("Connect & Fetch Boards")},footerPrimaryLoading(){return"Trello"!==this.source||"api"!==this.trelloTab||this.trelloBoards.length?"Asana"!==this.source||"api"!==this.asanaTab||this.asanaWorkspaces.length?this.loading:this.asanaConnecting:this.trelloConnecting},footerPrimaryDisabled(){return"Trello"!==this.source||"api"!==this.trelloTab||this.trelloBoards.length?"Asana"!==this.source||"api"!==this.asanaTab||this.asanaWorkspaces.length?this.loading:!this.asanaPat:!this.trelloApiKey||!this.trelloToken},showFooterActions(){return"Trello"===this.source?"json"===this.trelloTab:"Asana"!==this.source||("json"===this.asanaTab||"api"===this.asanaTab&&!this.asanaWorkspaces.length&&!this.asanaImporting)}},mounted(){}},[["render",function(e,t,h,u,p,m){const _=b("drawer-header"),v=ot,C=b("custom-icon"),T=ze,S=lt,$=as,V=He,A=Be,I=Le,D=b("Loading"),B=Ne,L=is,M=b("import-csv-mapper"),x=g("loading");return s(),a("div",AG,[p.isJsonUploading||p.isJsonProcessing?(s(),a("div",{key:0,class:k([e.appVars.isFrontView?"fbs_margin_top_zero_important":"","fbs-import-container","fbs-import-container--progress"])},[l(_,{class:"fbs-board-import-header",title:m.drawerHeaderTitle,"translate-title":!1,"show-icon":!1,onClose:m.cancelImport},null,8,["title","onClose"]),i("div",IG,[p.isJsonUploading?(s(),a("h4",DG,o(e.$t("Uploading file...")),1)):(s(),a("h4",BG,o(e.$t("Processing tasks...")),1)),l(v,{percentage:p.isJsonUploading?p.jsonUploadProgress:p.jsonProcessingProgress,"stroke-width":12,color:"#6268f1"},null,8,["percentage"]),p.isJsonProcessing&&p.jsonImportResults.total?(s(),a("p",LG,o(p.jsonImportResults.completed)+" / "+o(p.jsonImportResults.total)+" "+o(e.$t("tasks processed")),1)):y("",!0),i("p",MG,o(e.$t("Please don't close or leave this page")),1)])],2)):p.viewCsvMapper?(s(),a("div",oq,[l(_,{class:"fbs-board-import-header",title:m.drawerHeaderTitle,"translate-title":!1,"show-icon":!1,onClose:m.cancelImport},null,8,["title","onClose"]),l(M,{csvResponse:p.csvResponse},null,8,["csvResponse"])])):(s(),a("div",{key:1,class:k([e.appVars.isFrontView?"fbs_margin_top_zero_important":"","fbs-import-container"])},[l(_,{class:"fbs-board-import-header",title:m.drawerHeaderTitle,"translate-title":!1,"show-icon":!1,onClose:m.cancelImport},null,8,["title","onClose"]),i("main",xG,["Trello"===h.source?(s(),c(L,{key:0,modelValue:p.trelloTab,"onUpdate:modelValue":t[5]||(t[5]=e=>p.trelloTab=e),class:"fbs-trello-tabs"},{default:n(()=>[l($,{label:e.$t("Upload JSON"),name:"json"},{default:n(()=>[i("p",PG,[i("span",null,o(e.$t("Import Your Data From JSON File")),1),m.learnMoreUrl?(s(),a("a",{key:0,href:m.learnMoreUrl,target:"_blank",rel:"noopener"},o(e.$t("Learn More")),9,FG)):y("",!0)]),f((s(),c(S,{"element-loading-text":e.$t("Processing... It may take a while..."),accept:".json",class:"upload-demo",ref:"fileInput",drag:"",action:"/",limit:1,"file-list":p.fileList,"onUpdate:fileList":t[0]||(t[0]=e=>p.fileList=e),"auto-upload":!1},{default:n(()=>[l(C,{class:"fbs-board-import-upload__icon","icon-name":"import"}),i("div",EG,o(e.$t("Choose a file or drag & drop it here.")),1),l(T,{size:"small"},{default:n(()=>[w(o(e.$t("Browse File")),1)]),_:1})]),_:1},8,["element-loading-text","file-list"])),[[x,p.loading]])]),_:1},8,["label"]),l($,{label:e.$t("Connect with API"),name:"api"},{default:n(()=>[i("div",UG,[i("div",OG,[i("h4",null,o(e.$t("Coming Soon")),1),i("p",null,o(e.$t("Trello API import will be available soon.")),1)])]),y("",!0)]),_:1},8,["label"])]),_:1},8,["modelValue"])):"Asana"===h.source?(s(),c(L,{key:1,modelValue:p.asanaTab,"onUpdate:modelValue":t[10]||(t[10]=e=>p.asanaTab=e),class:"fbs-trello-tabs"},{default:n(()=>[l($,{label:e.$t("Connect with API"),name:"api"},{default:n(()=>[p.asanaWorkspaces.length||p.asanaImporting?y("",!0):(s(),a("div",RG,[i("p",NG,[w(o(e.$t("Enter your Asana Personal Access Token to connect."))+" ",1),i("a",HG,o(e.$t("Get Personal Access Token")),1)]),i("div",jG,[i("label",null,o(e.$t("Personal Access Token")),1),l(V,{modelValue:p.asanaPat,"onUpdate:modelValue":t[6]||(t[6]=e=>p.asanaPat=e),placeholder:e.$t("Paste your Asana PAT"),autocomplete:"off",type:"password","show-password":""},null,8,["modelValue","placeholder"])])])),p.asanaWorkspaces.length&&!p.asanaImporting?(s(),a("div",zG,[i("div",GG,[i("label",null,o(e.$t("Workspace")),1),l(I,{modelValue:p.selectedWorkspaceGid,"onUpdate:modelValue":t[7]||(t[7]=e=>p.selectedWorkspaceGid=e),placeholder:e.$t("Choose a workspace"),filterable:"",class:"fbs-trello-dropdown",onChange:m.fetchAsanaProjects},{default:n(()=>[(s(!0),a(r,null,d(p.asanaWorkspaces,e=>(s(),c(A,{key:e.gid,label:e.name,value:e.gid},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder","onChange"])]),p.selectedWorkspaceGid?(s(),a("div",qG,[i("label",null,o(e.$t("Project")),1),l(I,{modelValue:p.selectedProjectGid,"onUpdate:modelValue":t[8]||(t[8]=e=>p.selectedProjectGid=e),placeholder:p.asanaProjectsLoading?e.$t("Loading projects..."):e.$t("Choose a project"),filterable:"",loading:p.asanaProjectsLoading,class:"fbs-trello-dropdown"},{default:n(()=>[(s(!0),a(r,null,d(p.asanaProjects,e=>(s(),c(A,{key:e.gid,label:e.name,value:e.gid},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder","loading"])])):y("",!0),i("div",WG,[l(T,{onClick:m.resetAsanaConnection},{default:n(()=>[w(o(e.$t("Back")),1)]),_:1},8,["onClick"]),l(T,{disabled:!p.selectedProjectGid,type:"primary",onClick:m.importSelectedAsanaProject},{default:n(()=>[w(o(e.$t("Import Selected Project")),1)]),_:1},8,["disabled","onClick"])])])):y("",!0),p.asanaImporting?(s(),a("div",KG,[l(B,{class:"is-loading fbs-trello-spinner"},{default:n(()=>[l(D)]),_:1}),i("p",null,o(e.$t("Importing project from Asana... This may take a while.")),1),i("p",ZG,o(e.$t("Please don't close or leave this page")),1)])):y("",!0)]),_:1},8,["label"]),l($,{label:e.$t("Upload JSON"),name:"json"},{default:n(()=>[i("p",YG,[i("span",null,o(e.$t("Import Your Data From JSON File")),1),m.learnMoreUrl?(s(),a("a",{key:0,href:m.learnMoreUrl,target:"_blank",rel:"noopener"},o(e.$t("Learn More")),9,JG)):y("",!0)]),f((s(),c(S,{"element-loading-text":e.$t("Processing... It may take a while..."),accept:".json",class:"upload-demo",ref:"fileInput",drag:"",action:"/",limit:1,"file-list":p.fileList,"onUpdate:fileList":t[9]||(t[9]=e=>p.fileList=e),"auto-upload":!1},{default:n(()=>[l(C,{class:"fbs-board-import-upload__icon","icon-name":"import"}),i("div",QG,o(e.$t("Choose a file or drag & drop it here.")),1),l(T,{size:"small"},{default:n(()=>[w(o(e.$t("Browse File")),1)]),_:1})]),_:1},8,["element-loading-text","file-list"])),[[x,p.loading]])]),_:1},8,["label"])]),_:1},8,["modelValue"])):(s(),a(r,{key:2},[i("p",XG,["CSV"==h.source?(s(),a("span",eq,o(e.$t("Import Your Data From CSV File")),1)):(s(),a("span",tq,o(e.$t("Import Your Data From JSON File")),1)),m.learnMoreUrl?(s(),a("a",{key:2,href:m.learnMoreUrl,target:"_blank",rel:"noopener"},o(e.$t("Learn More")),9,sq)):y("",!0)]),f((s(),c(S,{"element-loading-text":e.$t("Processing... It may take a while..."),accept:m.acceptType,class:"upload-demo",ref:"fileInput",drag:"",action:"/",limit:1,"file-list":p.fileList,"onUpdate:fileList":t[11]||(t[11]=e=>p.fileList=e),"auto-upload":!1},{default:n(()=>[l(C,{class:"fbs-board-import-upload__icon","icon-name":"import"}),i("div",aq,o(e.$t("Choose a file or drag & drop it here.")),1),l(T,{size:"small"},{default:n(()=>[w(o(e.$t("Browse File")),1)]),_:1})]),_:1},8,["element-loading-text","accept","file-list"])),[[x,p.loading]])],64))]),m.showFooterActions?(s(),a("footer",iq,[l(T,{disabled:m.footerPrimaryDisabled,loading:m.footerPrimaryLoading,onClick:m.handleFooterPrimaryAction,type:"primary"},{default:n(()=>[w(o(m.footerPrimaryLabel),1)]),_:1},8,["disabled","loading","onClick"])])):y("",!0)],2))])}]])},props:{},emits:["showTask"],computed:{...m(js,["board","stages"])},data:()=>({visible:!1,childVisible:!1,importDrawer:!1,sourceName:null,importOptions:[{source:"Trello",label:"Trello"},{source:"Asana",label:"Asana"},{source:"FluentBoards",label:"FluentBoards"},{source:"CSV",label:"CSV"}]}),watch:{},methods:{toggleVisible(){document.removeEventListener("click",this.handleClickOutside),this.visible=!this.visible,this.visible&&setTimeout(()=>{document.addEventListener("click",this.handleClickOutside)},0)},handleClickOutside(e){var t;(null==(t=this.$refs.addMoreOptionsRef)?void 0:t.contains(e.target))||(this.visible=!1,document.removeEventListener("click",this.handleClickOutside))},openImport(e){this.appVars.has_pro&&(this.importDrawer=!0,this.visible=!1,this.sourceName=e)},cancelAddMoreOption(){this.importDrawer=!1,this.sourceName=null}}},nq={class:"icon"},rq={ref:"addMoreOptionsRef",class:"fbs_more_add_board_options"},dq={class:"fbs-import-option-label"},cq={key:0,class:"fbs-template-pro"};const hq=Ss(lq,[["render",function(e,t,h,u,p,m){const g=b("Icons"),f=ze,_=je,k=b("import-external"),v=Kt;return s(),a(r,null,[l(_,{visible:p.visible,width:240,placement:"bottom","popper-class":"fbs_import_popover"},{reference:n(()=>[l(f,{title:e.$t("Import"),size:"small",onClick:m.toggleVisible},{default:n(()=>[w(o(e.$t("Import"))+" ",1),i("span",nq,[l(g,{"icon-name":"arrow-down"})])]),_:1},8,["title","onClick"])]),default:n(()=>[i("div",rq,[(s(!0),a(r,null,d(p.importOptions,t=>(s(),c(f,{key:t.source,disabled:!e.appVars.has_pro,class:"fbs_import_from_trello",plain:"",onClick:e=>m.openImport(t.source)},{default:n(()=>[i("span",dq,o(e.$t("Import From"))+" "+o(t.label),1),e.appVars.has_pro?y("",!0):(s(),a("span",cq,o(e.$t("Pro")),1))]),_:2},1032,["disabled","onClick"]))),128))],512)]),_:1},8,["visible"]),l(v,{modelValue:p.importDrawer,"onUpdate:modelValue":t[0]||(t[0]=e=>p.importDrawer=e),class:"fbs-board-import-drawer","with-header":!1,size:"615px","append-to-body":"",direction:e.appVars.is_rtl?"ltr":"rtl"},{default:n(()=>[l(k,{source:p.sourceName,onCancelAddMoreOption:m.cancelAddMoreOption},null,8,["source","onCancelAddMoreOption"])]),_:1},8,["modelValue","direction"])],64)}]]),uq={name:"TemplateCard",components:{Icons:$s,BoardBackgroundPreview:Us},props:{template:{type:Object,required:!0},showPreviewButton:{type:Boolean,default:!0},isUserTemplate:{type:Boolean,default:!1}},emits:["use-template","preview-template","edit-template","edit-settings","convert-template","delete-template"],computed:{canManage(){return this.isUserTemplate&&!0===this.template.can_manage},truncatedDescription(){const e=(this.template.description||"").replace(/<[^>]*>/g," ").replace(/\s+/g," ").trim();return e.length>100?e.substring(0,100)+"...":e},stagesCount(){const e=Array.isArray(this.template.stages)?this.template.stages:[];return this.template.stages_count||e.length||0},tasksCount(){const e=Array.isArray(this.template.tasks)?this.template.tasks:[];return this.template.tasks_count||e.length||0},isRoadmapTemplate(){var e;return"roadmap"===(null==(e=this.template)?void 0:e.type)},taskMetaIconName(){return this.isRoadmapTemplate?"lightbulb-line":"task"},taskMetaLabel(){return this.isRoadmapTemplate?this.$t("Ideas"):this.$t("Tasks")},labelsCount(){const e=Array.isArray(this.template.labels)?this.template.labels:[];return this.template.labels_count||e.length||0},coverBoard(){return this.template.preview_image?{background:{is_image:!0,image_url:this.template.preview_image,color:null}}:{background:this.template.background||null}},hasCover(){const e=this.coverBoard.background||{};return!!(e.is_image&&e.image_url||e.color)}},methods:{formatCategory:e=>(e||"").split("-").filter(Boolean).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(" "),handleClick(){this.$emit("preview-template",this.template)},handleMenuCommand(e){const t={edit:"edit-template",settings:"edit-settings",convert:"convert-template",delete:"delete-template"};t[e]&&this.$emit(t[e],this.template)}}},pq={key:1,class:"fbs-template-card-cover"},mq={class:"fbs-template-card-surface"},bq={class:"fbs-template-card-topbar"},gq={class:"fbs-template-card-category-badge"},fq={class:"fbs-template-card-icon","aria-hidden":"true"},_q={class:"fbs-template-card-category"},kq={class:"fbs-template-card-body"},vq={class:"fbs-template-card-text"},yq={class:"fbs-template-card-header"},wq={class:"fbs-template-title"},Cq={class:"fbs-template-description"},Tq={class:"fbs-template-meta"},Sq={key:0,class:"fbs-template-meta-item"},$q={class:"fbs-template-meta-label"},Vq={key:1,class:"fbs-template-meta-item"},Aq={class:"fbs-template-meta-label"},Iq={key:2,class:"fbs-template-meta-item"},Dq={class:"fbs-template-meta-label"},Bq={class:"fbs-template-card-actions"},Lq={class:"icon"},Mq={class:"icon"};const xq={class:"fbs-template-board-preview__content"},Pq={class:"fbs-template-board-preview__header"},Fq={class:"fbs-template-board-preview__title-block"},Eq={class:"fbs-template-board-preview__eyebrow-row"},Uq={key:0,class:"fbs-template-board-preview__eyebrow"},Oq={class:"fbs-template-board-preview__title"},Rq={key:0,class:"fbs-template-board-preview__description"},Nq={class:"fbs-template-board-preview__stats"},Hq={class:"fbs_priority_badge"},jq={class:"icon"},zq={class:"label"},Gq={class:"fbs_priority_badge"},qq={class:"icon"},Wq={class:"label"},Kq={key:0,class:"fbs_priority_badge"},Zq={class:"icon"},Yq={class:"label"},Jq={class:"fbs-template-board-preview__stage-header"},Qq={class:"fbs-template-board-preview__stage-title"},Xq={class:"fbs-template-board-preview__stage-count"},eW={class:"fbs-template-board-preview__task-list"},tW={key:0,class:"fbs-template-board-preview__empty-stage"},sW={class:"fbs-template-board-preview__task-title"},aW={key:1,class:"fbs-template-board-preview__task-meta"},iW=["title"],oW={key:0};const lW={key:1,class:"fbs-template-gallery"},nW={key:0,class:"fbs-template-loading"},rW={key:1,class:"fbs-template-empty"},dW={key:0,style:{"text-align":"center"}},cW={style:{margin:"0 0 8px 0"}},hW={key:2,class:"fbs-template-grid"},uW={class:"fbs-template-coming-soon"},pW={class:"fbs-template-coming-soon__badge"},mW={class:"fbs-template-preview-content"},bW={class:"dialog-footer justify-end"};const gW=Ss({name:"TemplateGallery",components:{TemplateCard:Ss(uq,[["render",function(e,t,r,d,u,p){const m=b("Icons"),g=xe,f=Me,_=Pe,v=b("board-background-preview"),C=ze;return s(),a("div",{class:k(["fbs-template-card",{"fbs-template-card--has-cover":p.hasCover,"fbs-template-card--no-cover":!p.hasCover}]),onClick:t[4]||(t[4]=(...e)=>p.handleClick&&p.handleClick(...e))},[p.canManage?(s(),c(_,{key:0,class:"fbs-template-card-menu",trigger:"click",onClick:t[1]||(t[1]=h(()=>{},["stop"])),onCommand:p.handleMenuCommand},{dropdown:n(()=>[l(f,null,{default:n(()=>[l(g,{command:"edit"},{default:n(()=>[w(o(e.$t("Edit template")),1)]),_:1}),l(g,{command:"settings"},{default:n(()=>[w(o(e.$t("Template settings")),1)]),_:1}),l(g,{command:"convert"},{default:n(()=>[w(o(e.$t("Convert to board")),1)]),_:1}),e.$isAdmin()?(s(),c(g,{key:0,command:"delete",divided:""},{default:n(()=>[w(o(e.$t("Delete template")),1)]),_:1})):y("",!0)]),_:1})]),default:n(()=>[i("span",{class:"fbs-template-card-menu-trigger",onClick:t[0]||(t[0]=h(()=>{},["stop"]))},[l(m,{"icon-name":"dots"})])]),_:1},8,["onCommand"])):y("",!0),p.hasCover?(s(),a("div",pq,[l(v,{board:p.coverBoard},null,8,["board"])])):y("",!0),i("div",mq,[i("div",bq,[i("span",gq,[i("span",fq,[l(m,{"icon-name":"flashlight-fill"})]),i("span",_q,o(p.formatCategory(r.template.category)),1)])]),i("div",kq,[i("div",vq,[i("div",yq,[i("h4",wq,o(r.template.title),1)]),i("p",Cq,o(p.truncatedDescription),1)]),i("div",Tq,[p.stagesCount>0?(s(),a("span",Sq,[i("span",$q,[l(m,{"icon-name":"stage"}),i("span",null,o(e.$t("Stage"))+":",1)]),i("strong",null,o(p.stagesCount),1)])):y("",!0),p.labelsCount>0?(s(),a("span",Vq,[i("span",Aq,[l(m,{"icon-name":"label"}),i("span",null,o(e.$t("Labels"))+":",1)]),i("strong",null,o(p.labelsCount),1)])):y("",!0),p.tasksCount>0?(s(),a("span",Iq,[i("span",Dq,[l(m,{"icon-name":p.taskMetaIconName},null,8,["icon-name"]),i("span",null,o(p.taskMetaLabel)+":",1)]),i("strong",null,o(p.tasksCount),1)])):y("",!0)])]),t[5]||(t[5]=i("div",{class:"fbs-template-card-divider","aria-hidden":"true"},null,-1)),i("div",Bq,[r.showPreviewButton?(s(),c(C,{key:0,link:"",size:"small",class:"fbs-template-action-link fbs-template-action-link--preview no-underline",onClick:t[2]||(t[2]=h(t=>e.$emit("preview-template",r.template),["stop"]))},{default:n(()=>[i("span",Lq,[l(m,{"icon-name":"eye","aria-hidden":"true"})]),i("span",null,o(e.$t("Preview")),1)]),_:1})):y("",!0),l(C,{link:"",size:"small",class:"fbs-template-action-link fbs-template-action-link--use no-underline",onClick:t[3]||(t[3]=h(t=>e.$emit("use-template",r.template),["stop"]))},{default:n(()=>[i("span",null,o(e.$t("Use Template")),1),i("span",Mq,[l(m,{"icon-name":"arrow-right-line","aria-hidden":"true"})])]),_:1})])])],2)}]]),CreateFromTemplate:PR,BoardTemplatePreview:Ss({name:"BoardTemplatePreview",components:{Icons:$s},props:{template:{type:Object,required:!0}},computed:{templateData(){var e,t,s;return{title:"",description:"",category:"",type:"",background:null,...this.template,stages:Array.isArray(null==(e=this.template)?void 0:e.stages)?this.template.stages:[],labels:Array.isArray(null==(t=this.template)?void 0:t.labels)?this.template.labels:[],tasks:Array.isArray(null==(s=this.template)?void 0:s.tasks)?this.template.tasks:[]}},plainDescription(){return(this.templateData.description||"").replace(/<[^>]*>/g," ").replace(/\s+/g," ").trim()},orderedStages(){return[...this.templateData.stages].sort((e,t)=>(e.position||0)-(t.position||0))},orderedTasks(){return[...this.templateData.tasks].sort((e,t)=>{const s=`${e.stage_id??""}`,a=`${t.stage_id??""}`;return s!==a?s.localeCompare(a,void 0,{numeric:!0}):(e.position||0)-(t.position||0)})},labels(){return this.templateData.labels},labelMap(){return this.labels.reduce((e,t)=>(e[t.id]=t,e),{})},tasksByStage(){return this.orderedTasks.reduce((e,t)=>{const s=t.stage_id;return e[s]||(e[s]=[]),e[s].push(t),e},{})},hasImageBackground(){const e=this.templateData.background||{};return!(!e.is_image||!e.image_url)},boardShellStyle(){const e=this.templateData.background||{};return this.hasImageBackground?{backgroundImage:`url(${e.image_url})`}:e.color?{background:e.color}:{}}},methods:{formatCategory:e=>(e||"").split("-").filter(Boolean).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(" "),taskLabels(e){return(e.label_ids||[]).map(e=>this.labelMap[e]).filter(Boolean)},hasLabelTitle:e=>!!(e&&e.title&&e.title.trim()),stageShellStyle:e=>(null==e?void 0:e.bg_color)?{"--fbs-stage-accent-bg":e.bg_color}:null,taskCoverStyle(e){var t;const s=(null==(t=null==e?void 0:e.settings)?void 0:t.cover)||{};return s.backgroundImage?{backgroundImage:`url(${s.backgroundImage})`,backgroundSize:"cover",backgroundPosition:"center"}:s.backgroundColor?{backgroundColor:s.backgroundColor}:null},hasTaskMeta(e){return!!(e.priority||this.taskLabels(e).length||this.taskMeta(e).length)},taskMeta(e){const t=(null==e?void 0:e.settings)||{},s=[];return e.due_at&&s.push({key:"due_at",value:this.formatDate(e.due_at)}),Number(t.subtask_count||0)>0&&s.push({key:"subtasks",value:`${t.subtask_count} ${this.$t("Subtasks")}`}),Number(t.attachment_count||0)>0&&s.push({key:"attachments",value:`${t.attachment_count} ${this.$t("Attachments")}`}),s},priorityKey(e){const t=`${e||""}`.toLowerCase();return["","urgent","high","medium","low"].includes(t)&&t||"none"},formatPriority(e){return e?e.charAt(0).toUpperCase()+e.slice(1):this.$t("No priority")},formatDate(e){const t=new Date(e);return Number.isNaN(t.getTime())?e:new Intl.DateTimeFormat(void 0,{month:"short",day:"numeric",year:"numeric"}).format(t)},handleBoardWheel(e){const t=this.$refs.boardScroller;if(!t||t.scrollWidth<=t.clientWidth)return;const s=e.target.closest(".fbs-template-board-preview__task-list");if(Math.abs(e.deltaX)>Math.abs(e.deltaY)||e.shiftKey)return t.scrollLeft+=e.deltaX||e.deltaY,void e.preventDefault();if(!s)return t.scrollLeft+=e.deltaY,void e.preventDefault();s.scrollHeight>s.clientHeight||e.preventDefault()}}},[["render",function(e,t,n,h,u,p){const m=b("Icons");return s(),a("div",{class:k(["fbs-template-board-preview",{"fbs-template-board-preview--has-image":p.hasImageBackground}]),style:S(p.boardShellStyle)},[i("div",xq,[i("div",Pq,[i("div",Fq,[i("div",Eq,[p.templateData.category?(s(),a("p",Uq,[l(m,{"icon-name":"template"}),w(" "+o(p.formatCategory(p.templateData.category)),1)])):y("",!0)]),i("h3",Oq,o(p.templateData.title),1),p.plainDescription?(s(),a("p",Rq,o(p.plainDescription),1)):y("",!0)]),i("div",Nq,[i("span",Hq,[i("span",jq,[l(m,{"icon-name":"stage"})]),i("span",zq,o(p.orderedStages.length)+" "+o(e.$t("Stages")),1)]),i("span",Gq,[i("span",qq,[l(m,{"icon-name":"task"})]),i("span",Wq,o(p.orderedTasks.length)+" "+o(e.$t("Tasks")),1)]),p.labels.length?(s(),a("span",Kq,[i("span",Zq,[l(m,{"icon-name":"label"})]),i("span",Yq,o(p.labels.length)+" "+o(e.$t("Labels")),1)])):y("",!0)])]),i("div",{ref:"boardScroller",class:"fbs-template-board-preview__board",onWheel:t[0]||(t[0]=(...e)=>p.handleBoardWheel&&p.handleBoardWheel(...e))},[(s(!0),a(r,null,d(p.orderedStages,t=>{var l;return s(),a("div",{key:t.id,class:k(["fbs-template-board-preview__stage",{"fbs-template-board-preview__stage--has-accent":!!t.bg_color}]),style:S(p.stageShellStyle(t))},[i("div",Jq,[i("span",Qq,o(t.title),1),i("span",Xq,o((null==(l=p.tasksByStage[t.id])?void 0:l.length)||0),1)]),i("div",eW,[p.tasksByStage[t.id]&&p.tasksByStage[t.id].length?y("",!0):(s(),a("div",tW,o(e.$t("No tasks")),1)),(s(!0),a(r,null,d(p.tasksByStage[t.id]||[],e=>(s(),a("div",{key:e.id||`${t.id}-${e.position}-${e.title}`,class:"fbs-template-board-preview__task"},[p.taskCoverStyle(e)?(s(),a("div",{key:0,class:"fbs-template-board-preview__task-cover",style:S(p.taskCoverStyle(e))},null,4)):y("",!0),i("h4",sW,o(e.title),1),p.hasTaskMeta(e)?(s(),a("div",aW,[e.priority?(s(),a("span",{key:0,class:k(["fbs-template-board-preview__task-priority",`fbs-template-board-preview__task-priority--${p.priorityKey(e.priority)}`])},o(p.formatPriority(e.priority)),3)):y("",!0),(s(!0),a(r,null,d(p.taskLabels(e),t=>(s(),a("span",{key:t.id||`${e.id}-${t.title}`,class:k(["fbs-template-board-preview__task-label",{"fbs-template-board-preview__task-label--empty":!p.hasLabelTitle(t)}]),style:S({"--fbs-label-dot-color":t.bg_color||"#9CA3AF"}),title:p.hasLabelTitle(t)?t.title:""},[p.hasLabelTitle(t)?(s(),a("span",oW,o(t.title),1)):y("",!0)],14,iW))),128)),(s(!0),a(r,null,d(p.taskMeta(e),t=>(s(),a("span",{key:`${e.id}-${t.key}`,class:"fbs-template-board-preview__task-meta-chip"},["subtasks"===t.key?(s(),c(m,{key:0,"icon-name":"subtask"})):y("",!0),w(" "+o(t.value),1)]))),128))])):y("",!0)]))),128))])],6)}),128))],544)])],6)}]]),TemplateSettingsDialog:zR,EmptyState:Vs,SettingsProNotice:rD},emits:["close","board-created","template-converted","tab-change"],props:{searchQuery:{type:String,default:""},initialTab:{type:String,default:"user"}},data(){return{activeTab:this.initialTab,userTemplates:[],loadingUser:!1,showCreateDialog:!1,showPreviewDialog:!1,selectedTemplate:null,selectedTemplateType:"default",previewData:null,previewTemplateType:"default",previewLoading:!1,previewCache:{},previewRequestId:0,settingsTemplate:null,showSettingsDialog:!1}},computed:{previewDrawerSize:()=>"min(920px, 94vw)",settingsBoard(){return this.settingsTemplate?{id:this.settingsTemplate.id,settings:{template_description:this.settingsTemplate.description||"",template_category:this.settingsTemplate.category||""}}:null},filteredUserTemplates(){if(!this.searchQuery||""===this.searchQuery.trim())return this.userTemplates;const e=this.searchQuery.toLowerCase().trim();return this.userTemplates.filter(t=>{const s=(t.title||"").toLowerCase(),a=(t.description||"").toLowerCase();return s.includes(e)||a.includes(e)})}},watch:{initialTab(e){e&&e!==this.activeTab&&(this.activeTab=e)},activeTab(e){this.$emit("tab-change",e)}},mounted(){this.hasPro&&this.fetchTemplates()},methods:{fetchTemplates(){this.loadingUser=!0,this.$get("templates").then(e=>{this.userTemplates=this.normalizeTemplateCollection(e.user_templates)}).catch(e=>{this.userTemplates=[]}).finally(()=>{this.loadingUser=!1})},normalizeTemplateCollection(e=[]){return Array.isArray(e)?e.map(e=>this.normalizeTemplate(e)):[]},normalizeTemplate(e={}){const t=Array.isArray(e.stages)?e.stages:[],s=Array.isArray(e.labels)?e.labels:[],a=Array.isArray(e.tasks)?e.tasks:[],i=e.background&&"object"==typeof e.background?e.background:null;return{id:e.id??"",title:e.title||"",description:e.description||"",category:e.category||"",type:e.type||"to-do",background:i,preview_image:e.preview_image||"",stages:t,labels:s,tasks:a,stages_count:e.stages_count??t.length,labels_count:e.labels_count??s.length,tasks_count:e.tasks_count??a.length,created_at:e.created_at||"",can_manage:!0===e.can_manage}},openCreateDialog(e,t){this.selectedTemplate=this.normalizeTemplate(e),this.selectedTemplateType=t,this.showCreateDialog=!0},closeCreateDialog(){this.showCreateDialog=!1,this.selectedTemplate=null},handleBoardCreated(e){this.showCreateDialog=!1,this.$emit("board-created",e)},previewTemplate(e,t){const s=++this.previewRequestId;this.previewTemplateType=t,this.showPreviewDialog=!0,this.previewLoading=!0,this.previewData=null;const a=`${t}:${e.id}`;if(this.previewCache[a])return this.previewData=this.previewCache[a],void(this.previewLoading=!1);this.$get("templates/preview",{template_type:t,template_id:e.id}).then(e=>{const t=this.normalizeTemplate(e.preview);this.previewCache[a]=t,s===this.previewRequestId&&(this.previewData=t)}).catch(e=>{s===this.previewRequestId&&(this.showPreviewDialog=!1,this.handleError(e))}).finally(()=>{s===this.previewRequestId&&(this.previewLoading=!1)})},usePreviewedTemplate(){this.previewData&&(this.showPreviewDialog=!1,this.openCreateDialog(this.previewData,this.previewTemplateType))},editTemplate(e){this.$emit("close"),this.$router.push({name:"board",params:{id:e.id}})},openTemplateSettings(e){this.settingsTemplate=e,this.showSettingsDialog=!0},handleTemplateSettingsSaved(){this.settingsTemplate=null,this.previewCache={},this.fetchTemplates()},convertTemplate(e){tt.confirm(this.$t("This template will become a regular board and will appear in your boards list again. Continue?"),this.$t("Convert to board"),{confirmButtonText:this.$t("Convert"),cancelButtonText:this.$t("Cancel"),type:"warning"}).then(()=>{this.$put("projects/"+e.id+"/convert-to-board").then(e=>{this.$notify({type:"success",message:e.message||this.$t("Template has been converted back to a board")}),this.previewCache={},this.fetchTemplates(),this.$emit("template-converted",e.board)}).catch(e=>{this.handleError(e)})}).catch(()=>{})},deleteTemplate(e){tt.confirm(this.$t('This will permanently delete the template board and all of its tasks. If you want to keep it, use "Convert to board" instead. Continue?'),this.$t("Delete template"),{confirmButtonText:this.$t("Delete"),cancelButtonText:this.$t("Cancel"),type:"warning",confirmButtonClass:"el-button--danger"}).then(()=>{this.$del("projects/"+e.id).then(e=>{this.$notify({type:"success",message:e.message||this.$t("Template has been deleted")}),this.previewCache={},this.fetchTemplates()}).catch(e=>{this.handleError(e)})}).catch(()=>{})}}},[["render",function(e,t,h,u,p,m){const _=b("SettingsProNotice"),k=At,v=b("empty-state"),C=b("template-card"),T=as,S=is,$=b("create-from-template"),V=Ge,A=b("board-template-preview"),I=ze,D=Kt,B=b("template-settings-dialog"),L=g("loading");return e.hasPro?(s(),a("div",lW,[l(S,{modelValue:p.activeTab,"onUpdate:modelValue":t[0]||(t[0]=e=>p.activeTab=e),class:"fbs-template-tabs"},{default:n(()=>[l(T,{label:e.$t("My Templates"),name:"user"},{default:n(()=>[p.loadingUser?(s(),a("div",nW,[l(k,{rows:3,animated:""})])):0===m.filteredUserTemplates.length?(s(),a("div",rW,[h.searchQuery&&h.searchQuery.trim()?(s(),a("div",dW,[i("h4",cW,o(e.$t("We couldn't find anything matching your query"))+' "'+o(h.searchQuery)+'"',1),i("p",null,o(e.$t("Please, Try again with a different term")),1)])):(s(),c(v,{key:1,message:e.$t("No templates yet—use Board Menu > Make Template."),"icon-width":105,"icon-height":80},null,8,["message"]))])):(s(),a("div",hW,[(s(!0),a(r,null,d(m.filteredUserTemplates,e=>(s(),c(C,{key:e.id,template:e,"is-user-template":!0,onUseTemplate:t=>m.openCreateDialog(e,"user"),onPreviewTemplate:t=>m.previewTemplate(e,"user"),onEditTemplate:m.editTemplate,onEditSettings:m.openTemplateSettings,onConvertTemplate:m.convertTemplate,onDeleteTemplate:m.deleteTemplate},null,8,["template","onUseTemplate","onPreviewTemplate","onEditTemplate","onEditSettings","onConvertTemplate","onDeleteTemplate"]))),128))]))]),_:1},8,["label"]),l(T,{label:e.$t("Built-in Templates"),name:"default"},{default:n(()=>[i("div",uW,[i("span",pW,o(e.$t("Coming Soon")),1),i("h4",null,o(e.$t("Built-in templates are coming soon")),1),i("p",null,o(e.$t("We are preparing curated board templates. Your custom templates are still available under My Templates.")),1)])]),_:1},8,["label"])]),_:1},8,["modelValue"]),l(V,{modelValue:p.showCreateDialog,"onUpdate:modelValue":t[1]||(t[1]=e=>p.showCreateDialog=e),title:e.$t("Create Board from Template"),width:"500px","close-on-click-modal":!1,"append-to-body":"","destroy-on-close":""},{default:n(()=>[p.selectedTemplate?(s(),c($,{key:0,template:p.selectedTemplate,"template-type":p.selectedTemplateType,onClose:m.closeCreateDialog,onCreated:m.handleBoardCreated},null,8,["template","template-type","onClose","onCreated"])):y("",!0)]),_:1},8,["modelValue","title"]),l(D,{modelValue:p.showPreviewDialog,"onUpdate:modelValue":t[3]||(t[3]=e=>p.showPreviewDialog=e),"append-to-body":"",size:m.previewDrawerSize,direction:e.appVars.is_rtl?"ltr":"rtl",class:"fbs-template-preview-drawer","destroy-on-close":""},{header:n(()=>[i("div",null,o(e.$t("Template"))+" - "+o(p.previewData?p.previewData.title:e.$t("Preview")),1)]),footer:n(()=>[i("div",bW,[l(I,{onClick:t[2]||(t[2]=e=>p.showPreviewDialog=!1)},{default:n(()=>[w(o(e.$t("Close")),1)]),_:1}),l(I,{type:"primary",disabled:!p.previewData,onClick:m.usePreviewedTemplate},{default:n(()=>[w(o(e.$t("Use Template")),1)]),_:1},8,["disabled","onClick"])])]),default:n(()=>[f((s(),a("div",mW,[p.previewData?(s(),c(A,{key:0,template:p.previewData},null,8,["template"])):(s(),c(k,{key:1,rows:6,animated:""}))])),[[L,p.previewLoading]])]),_:1},8,["modelValue","size","direction"]),p.settingsTemplate?(s(),c(B,{key:0,modelValue:p.showSettingsDialog,"onUpdate:modelValue":t[4]||(t[4]=e=>p.showSettingsDialog=e),board:m.settingsBoard,onSaved:m.handleTemplateSettingsSaved},null,8,["modelValue","board","onSaved"])):y("",!0)])):(s(),c(_,{key:0,title:e.$t("Templates"),description:e.$t("Create and reuse custom board templates with Fluent Boards Pro."),"utm-content":"feature_lock_board_templates","button-label":e.$t("Upgrade to Pro")},null,8,["title","description","button-label"]))}]]),fW={key:0,xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 24 24",fill:"none","aria-hidden":"true"},_W={key:1,xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 24 24",fill:"none","aria-hidden":"true"},kW={key:2,xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 24 24",fill:"none","aria-hidden":"true"},vW={key:3,xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 20 20",fill:"none","aria-hidden":"true"},yW={key:4,xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 24 24",fill:"none","aria-hidden":"true"},wW={key:5,xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none","aria-hidden":"true"};const CW={name:"Folders",props:{allBoards:{type:Array,default:()=>[]},boardCounts:{type:Object,default:()=>({all:0,pinned:0,archived:0})},folderMapping:{type:Object,default:()=>({})},currentFolder:{type:Object,default:()=>null},activeFilter:{type:String,default:"active"},templatesOpen:{type:Boolean,default:!1},collapsed:{type:Boolean,default:!1},mobileOpen:{type:Boolean,default:!1}},emits:["folder-selected","show-all-boards","show-templates","show-favorites","show-archived","board-added","folder-mapping-updated","toggle-collapse"],components:{Icons:$s,ProBadge:O_,SidebarIcon:Ss({name:"SidebarIcon",props:{name:{type:String,required:!0}}},[["render",function(e,t,o,l,n,r){return"layout-grid"===o.name?(s(),a("svg",fW,[...t[0]||(t[0]=[i("path",{d:"M3 3H11V11H3V3ZM5 5V9H9V5H5ZM13 3H21V11H13V3ZM15 5V9H19V5H15ZM3 13H11V21H3V13ZM5 15V19H9V15H5ZM13 13H21V21H13V13ZM15 15V19H19V15H15Z",fill:"currentColor"},null,-1)])])):"star"===o.name?(s(),a("svg",_W,[...t[1]||(t[1]=[i("path",{d:"M12 17.27L18.18 21L16.54 13.97L22 9.24L14.81 8.63L12 2L9.19 8.63L2 9.24L7.46 13.97L5.82 21L12 17.27ZM12 14.93L8.24 17.2L9.24 12.92L5.92 10.04L10.29 9.67L12 5.64L13.71 9.67L18.08 10.04L14.76 12.92L15.76 17.2L12 14.93Z",fill:"currentColor"},null,-1)])])):"folder"===o.name?(s(),a("svg",kW,[...t[2]||(t[2]=[i("path",{d:"M3 4H9.41L11.41 6H21C21.55 6 22 6.45 22 7V19C22 19.55 21.55 20 21 20H3C2.45 20 2 19.55 2 19V5C2 4.45 2.45 4 3 4ZM4 6V18H20V8H10.59L8.59 6H4Z",fill:"currentColor"},null,-1)])])):"layout-3"===o.name?(s(),a("svg",vW,[...t[3]||(t[3]=[i("path",{d:"M4 16.75C3.80109 16.75 3.61032 16.671 3.46967 16.5303C3.32902 16.3897 3.25 16.1989 3.25 16V4C3.25 3.80109 3.32902 3.61032 3.46967 3.46967C3.61032 3.32902 3.80109 3.25 4 3.25H16C16.1989 3.25 16.3897 3.32902 16.5303 3.46967C16.671 3.61032 16.75 3.80109 16.75 4V16C16.75 16.1989 16.671 16.3897 16.5303 16.5303C16.3897 16.671 16.1989 16.75 16 16.75H4ZM7 8.5H4.75V15.25H7V8.5ZM15.25 8.5H8.5V15.25H15.25V8.5ZM15.25 4.75H4.75V7H15.25V4.75Z",fill:"#525866"},null,-1)])])):"archive"===o.name?(s(),a("svg",yW,[...t[4]||(t[4]=[i("path",{d:"M3 3H21V9H19V21H5V9H3V3ZM5 5V7H19V5H5ZM7 9V19H17V9H7ZM9 11H15V13H9V11Z",fill:"currentColor"},null,-1)])])):"add"===o.name?(s(),a("svg",wW,[...t[5]||(t[5]=[i("path",{d:"M11 11V5H13V11H19V13H13V19H11V13H5V11H11Z",fill:"currentColor"},null,-1)])])):y("",!0)}]])},data:()=>({folders:[],loading:!1,selectedFolderId:null,isCreatingFolder:!1,folderTitle:"",isEditing:!1,editingFolderId:null,showAddBoardDialog:!1,selectedFolder:null,selectedBoardIds:[],uncategorizedBoards:[],showFoldersDropdown:!1,isMenuHovered:!1}),computed:{isAdmin(){return this.$isAdmin()},isAllBoardsActive(){return"boards"===this.$route.name&&!this.$route.query.fid&&!this.templatesOpen&&"active"===this.activeFilter},isFavoritesActive(){return"pinned"===this.activeFilter},isArchivedActive(){return"archived"===this.activeFilter},isTemplatesActive(){return this.templatesOpen||"templates"===this.$route.name},isFoldersDropdownActive(){return"boards"===this.$route.name&&this.$route.query.fid&&this.showFoldersDropdown},favoriteBoardsCount(){return this.boardCounts.pinned},isTreeVisible(){return this.showFoldersDropdown&&(!this.collapsed||this.isMenuHovered||this.mobileOpen)},sidebarToggleLabel(){return this.mobileOpen||!this.collapsed?this.$t("Close Sidebar"):this.$t("Open Sidebar")}},methods:{onToggleClick(){this.isMenuHovered=!1,this.$emit("toggle-collapse")},initializeFolders(){this.folders=Object.keys(this.folderMapping).map(e=>({id:parseInt(e),title:this.folderMapping[e].title,boards:this.allBoards.filter(t=>this.folderMapping[e].board_ids.includes(t.id))}));let e=[];this.folders.map(t=>{e=e.concat(t.boards)}),this.uncategorizedBoards=this.allBoards.filter(t=>!e.some(e=>e.id===t.id))},selectFolder(e){this.selectedFolderId=e;const t=this.folderMapping[e];if(t){const s=this.allBoards.filter(e=>t.board_ids.includes(e.id));this.$emit("folder-selected",e,s)}},goToBoards(){this.selectedFolderId=null,this.showFoldersDropdown=!1,this.$emit("show-all-boards")},goToFavorites(){this.selectedFolderId=null,this.showFoldersDropdown=!1,this.$emit("show-favorites")},goToArchived(){this.selectedFolderId=null,this.showFoldersDropdown=!1,this.$emit("show-archived")},goToTemplates(){this.selectedFolderId=null,this.showFoldersDropdown=!1,"templates"!==this.$route.name&&this.$router.push({name:"templates"}),this.$emit("show-templates")},toggleFoldersDropdown(){this.showFoldersDropdown=!this.showFoldersDropdown},handleFoldersNavClick(){this.mobileOpen||this.collapsed,this.toggleFoldersDropdown()},handleFoldersNavKeydown(){if(!this.mobileOpen)return this.collapsed?(this.isMenuHovered=!1,this.showFoldersDropdown=!0,void this.$emit("toggle-collapse")):void this.toggleFoldersDropdown();this.toggleFoldersDropdown()},focusCreateFolderInput(){this.$nextTick(()=>{const e=Array.isArray(this.$refs.createFolderInputField)?this.$refs.createFolderInputField[0]:this.$refs.createFolderInputField;null==e||e.focus()})},createFolder(){this.$post("admin/folders",{title:this.folderTitle}).then(e=>{this.folderTitle="",this.isCreatingFolder=!1;let t=e.folder;t.boards=[],this.folders.push(t),t.board_ids=[],this.showFoldersDropdown=!0,this.$emit("folder-mapping-updated",{folder:t,action:"created"})}).catch(e=>{this.handleError(e)})},closeFolderActionDropdowns(){const e=this.$refs.folderActionDropdowns;(Array.isArray(e)?e:[e]).forEach(e=>{null==e||e.handleClose()})},confirmDeleteFolder(e){this.closeFolderActionDropdowns(),this.deleteFolder(e)},editFolder(e){this.closeFolderActionDropdowns(),this.folderTitle=e.title,this.isEditing=!0,this.editingFolderId=e.id,setTimeout(()=>{const e=Array.isArray(this.$refs.editFolderInputField)?this.$refs.editFolderInputField[0]:this.$refs.editFolderInputField;e&&e.focus()},200)},updateFolder(e){const t=this.folderTitle.trim();t?this.$put(`admin/folders/${e.id}`,{title:t}).then(s=>{var a;this.folders=this.folders.map(s=>s.id===e.id?{...s,title:t}:s),this.$notify.success({message:s.message}),this.$emit("folder-mapping-updated",{folder:{id:e.id,title:t,board_ids:(null==(a=this.folderMapping[e.id])?void 0:a.board_ids)||[]},action:"updated"})}).catch(e=>{this.handleError(e)}).finally(()=>{this.cancelEdit()}):this.$notify.warning({message:this.$t("Folder Name is required")})},cancelEdit(){this.isEditing=!1,this.editingFolderId=null,this.folderTitle=""},deleteFolder(e){this.$del(`admin/folders/${e.id}`).then(t=>{this.folders=this.folders.filter(t=>t.id!==e.id),this.selectedFolderId=null,this.$emit("folder-mapping-updated",{folder:e,action:"deleted"}),this.$notify.success({message:t.message})}).catch(e=>{this.handleError(e)}).finally(()=>{this.redirectToBoards()})},redirectToBoards(){this.$router.push({name:"boards"})},showAddBoardToFolder(e){this.closeFolderActionDropdowns(),this.selectedFolder=e,this.showAddBoardDialog=!0},fetchAvailableBoards(){},addBoardToFolder(){this.selectedBoardIds.length&&this.selectedFolder&&this.$post(`admin/folders/${this.selectedFolder.id}/add-board`,{board_ids:this.selectedBoardIds}).then(e=>{const t=this.allBoards.filter(e=>this.selectedBoardIds.includes(e.id)),s=this.folders.findIndex(e=>e.id===this.selectedFolder.id);-1!==s&&this.folders[s].boards.push(...t),this.uncategorizedBoards=this.uncategorizedBoards.filter(e=>!this.selectedBoardIds.includes(e.id)),this.$emit("board-added",this.selectedFolder.id,this.selectedBoardIds),this.$notify.success({message:e.message||this.$t("Boards added to folder successfully")}),this.showAddBoardDialog=!1,this.selectedBoardIds=[]}).catch(e=>{this.handleError(e)})},closeAddBoardDialog(){this.showAddBoardDialog=!1,this.selectedBoardIds=[],this.selectedFolder=null}},mounted(){this.$route.query.fid?(this.selectedFolderId=parseInt(this.$route.query.fid),this.showFoldersDropdown=!0):this.selectedFolderId=null,this.currentFolder&&(this.selectedFolderId=this.currentFolder.id,this.showFoldersDropdown=!0),this.initializeFolders()},watch:{isCreatingFolder(e){e||(this.folderTitle="")},$route(e,t){e.query.fid?(this.selectedFolderId=parseInt(e.query.fid),this.showFoldersDropdown=!0):(this.selectedFolderId=null,e.query.fid||(this.showFoldersDropdown=!1))},allBoards:{handler(){this.initializeFolders()},deep:!0},folderMapping:{handler(){this.initializeFolders()},deep:!0,immediate:!0},currentFolder:{handler(e){e?this.selectedFolderId=e.id:this.$route.query.fid||(this.selectedFolderId=null)},immediate:!0}}},TW={class:"fbs_boards_sidebar__header fbs-section-sidebar__header"},SW=["aria-label","aria-expanded"],$W={class:"fbs_boards_sidebar__title fbs-section-sidebar__title"},VW={key:0,class:"fbs-loading-container"},AW={key:1,class:"fbs-nav-menu"},IW={class:"fbs-nav-icon fbs-section-sidebar__icon"},DW={class:"fbs-nav-label fbs-section-sidebar__label"},BW={class:"fbs-nav-count"},LW={class:"fbs-nav-icon fbs-section-sidebar__icon"},MW={class:"fbs-nav-label fbs-section-sidebar__label"},xW={class:"fbs-nav-count"},PW=["aria-expanded"],FW={class:"fbs-nav-icon fbs-section-sidebar__icon"},EW={class:"fbs-nav-label fbs-section-sidebar__label"},UW={class:"d-flex items-center gap-2"},OW={class:"icon"},RW={class:"fbs-create-folder-inline"},NW={class:"fbs-create-folder-actions"},HW={class:"fbs-folders-dropdown-list fbs_boards_sidebar__tree"},jW={key:0,class:"fbs-empty-folders-dropdown"},zW={key:1},GW=["onClick","onKeydown"],qW={class:"fbs-folder-edit-actions"},WW={class:"fbs-folder-dropdown-item__inner"},KW={class:"fbs-folder-dropdown-name"},ZW={class:"fbs-folder-dropdown-actions"},YW={class:"fbs-folder-dropdown-count"},JW={class:"icon"},QW={class:"fbs-nav-icon fbs-section-sidebar__icon"},XW={class:"fbs-templates-nav__text"},eK={class:"fbs-nav-label fbs-section-sidebar__label fbs-templates-nav__label"},tK={class:"fbs-nav-icon fbs-section-sidebar__icon"},sK={class:"fbs-nav-label fbs-section-sidebar__label"},aK={class:"fbs-nav-count"},iK={class:"fbs-add-board-dialog"},oK={class:"fbs_primary_text font-medium fbs_mb_4"},lK={key:0,class:"fbs-no-boards-message"},nK={key:2,class:"fbs_secondary_text small fbs_mt_2"},rK={class:"dialog-footer justify-end"};const dK={class:"fbs_boards_layout__content"},cK={class:"fbs-heading"},hK={class:"fbs-head-left"},uK=["aria-label","aria-expanded"],pK={class:"fbs-title"},mK={class:"fbs-head-right"},bK=["title"],gK={key:0,class:"fbs-board-header-actions"},fK={class:"icon"},_K={class:"icon"},kK={class:"fbs_sorting_action_btns"},vK={class:"icon"},yK={class:"fbs_sorting_action_wrap fbs_board_filter_dropdown"},wK={class:"fbs_primary_text font-medium fbs_mb_6"},CK={class:"fbs_primary_text font-medium fbs_mb_6 fbs_mt_16"},TK={class:"d-flex gap-8 justify-end fbs-w-full"},SK={class:"icon"},$K={class:"fbs-boards"},VK={key:0,class:"fbs-board-templates-inline"},AK={key:1},IK={key:0,class:"fbs_mt_24"},DK={key:2,class:"fbs_layout_width"},BK={class:"fbs_boards_list_wrap"},LK={key:3,class:"fbs_layout_width"},MK={class:"fbs_boards_list_view_wrap"},xK={key:2,id:"fbs_pagination_boards"},PK={class:"fbs-board-templates-drawer__body"};const FK=Ss({name:"Boards",components:{BoardCard:Yz,Icons:$s,CustomIcon:ml,BoardSkeleton:cG,CreateRoadmap:Oz,AddNewBoard:Mz,Pagination:UO,Board:Jz,BoardListView:nG,MoreAddOptions:hq,TemplateGallery:gW,Folders:Ss(CW,[["render",function(e,t,u,p,m,g){const _=b("Icons"),v=We,C=ze,T=He,S=je,V=xe,A=st,I=Me,D=Pe,B=ks,L=b("ProBadge"),M=Be,x=Le,P=Ge;return s(),a(r,null,[i("div",{id:"fbs-boards-sidebar",class:k(["fbs_boards_sidebar fbs-section-sidebar",{"is-collapsed":u.collapsed,"is-hover-expanded":u.collapsed&&m.isMenuHovered,"is-mobile-open":u.mobileOpen}])},[i("div",TW,[l(v,{enterable:!1,transition:"none",content:g.sidebarToggleLabel,placement:e.appVars.is_rtl?"left":"right"},{default:n(()=>[i("button",{type:"button",class:"fbs_boards_sidebar__toggle fbs-section-sidebar__toggle","aria-label":g.sidebarToggleLabel,"aria-expanded":u.mobileOpen||!u.collapsed?"true":"false",onClick:t[0]||(t[0]=(...e)=>g.onToggleClick&&g.onToggleClick(...e))},[l(_,{"icon-name":"sidebar"})],8,SW)]),_:1},8,["content","placement"]),i("div",$W,o(e.$t("Boards")),1)]),i("nav",{class:"fbs_boards_sidebar__nav fbs-section-sidebar__nav",onMouseenter:t[26]||(t[26]=e=>m.isMenuHovered=!0),onMouseleave:t[27]||(t[27]=e=>m.isMenuHovered=!1)},[i("div",null,[m.loading?(s(),a("div",VW,[i("p",null,o(e.$t("Loading Folders...")),1)])):(s(),a("div",AW,[i("div",{class:k(["fbs-nav-item fbs-section-sidebar__item fbs-all-boards",{"fbs-nav-item-active is-active":g.isAllBoardsActive}]),role:"button",tabindex:"0",onClick:t[1]||(t[1]=(...e)=>g.goToBoards&&g.goToBoards(...e)),onKeydown:[t[2]||(t[2]=$(h((...e)=>g.goToBoards&&g.goToBoards(...e),["prevent"]),["enter"])),t[3]||(t[3]=$(h((...e)=>g.goToBoards&&g.goToBoards(...e),["prevent"]),["space"]))]},[i("span",IW,[l(_,{"icon-name":"board"})]),i("span",DW,o(e.$t("All Boards")),1),i("span",BW,o(u.boardCounts.all),1)],34),i("div",{class:k(["fbs-nav-item fbs-section-sidebar__item",{"fbs-nav-item-active is-active":g.isFavoritesActive}]),role:"button",tabindex:"0",onClick:t[4]||(t[4]=(...e)=>g.goToFavorites&&g.goToFavorites(...e)),onKeydown:[t[5]||(t[5]=$(h((...e)=>g.goToFavorites&&g.goToFavorites(...e),["prevent"]),["enter"])),t[6]||(t[6]=$(h((...e)=>g.goToFavorites&&g.goToFavorites(...e),["prevent"]),["space"]))]},[i("span",LW,[l(_,{"icon-name":"pin"})]),i("span",MW,o(e.$t("Pinned")),1),i("span",xW,o(g.favoriteBoardsCount),1)],34),i("div",{class:k(["fbs-nav-item fbs-section-sidebar__item fbs_boards_sidebar__folders_toggle",{"is-open":m.showFoldersDropdown}]),role:"button",tabindex:"0","aria-expanded":m.showFoldersDropdown?"true":"false",onClick:t[12]||(t[12]=(...e)=>g.handleFoldersNavClick&&g.handleFoldersNavClick(...e)),onKeydown:[t[13]||(t[13]=$(h((...e)=>g.handleFoldersNavKeydown&&g.handleFoldersNavKeydown(...e),["self","prevent"]),["enter"])),t[14]||(t[14]=$(h((...e)=>g.handleFoldersNavKeydown&&g.handleFoldersNavKeydown(...e),["self","prevent"]),["space"]))]},[i("span",FW,[l(_,{"icon-name":"folder"})]),i("span",EW,o(e.$t("Folders")),1),i("div",UW,[g.isAdmin?(s(),c(S,{key:0,visible:m.isCreatingFolder,"onUpdate:visible":t[11]||(t[11]=e=>m.isCreatingFolder=e),trigger:"click",placement:e.appVars.is_rtl?"bottom-end":"bottom-start",width:240,"popper-class":"fbs-create-folder-popover",onShow:g.focusCreateFolderInput},{reference:n(()=>[l(C,{text:"",class:"mini only-icon-btn fbs-add-folder-btn","aria-label":e.$t("Create Folder"),onClick:t[7]||(t[7]=h(()=>{},["stop"]))},{default:n(()=>[i("span",OW,[l(_,{"icon-name":"plus"})])]),_:1},8,["aria-label"])]),default:n(()=>[i("div",RW,[l(T,{ref:"createFolderInputField",modelValue:m.folderTitle,"onUpdate:modelValue":t[8]||(t[8]=e=>m.folderTitle=e),placeholder:e.$t("Enter folder name"),size:"small",onKeyup:[$(g.createFolder,["enter"]),t[9]||(t[9]=$(e=>m.isCreatingFolder=!1,["esc"]))]},null,8,["modelValue","placeholder","onKeyup"]),i("div",NW,[l(C,{class:"fbs_mr_0 fbs_ml_0",size:"small",type:"primary",onClick:g.createFolder},{default:n(()=>[w(o(e.$t("Save")),1)]),_:1},8,["onClick"]),l(C,{class:"fbs_mr_0 fbs_ml_0",size:"small",onClick:t[10]||(t[10]=e=>m.isCreatingFolder=!1)},{default:n(()=>[w(o(e.$t("Cancel")),1)]),_:1})])])]),_:1},8,["visible","placement","onShow"])):y("",!0),l(_,{"icon-name":"arrow-down",class:"fbs_dropdown_arrow"})])],42,PW),l(B,null,{default:n(()=>[f(i("div",HW,[0===m.folders.length?(s(),a("div",jW,[i("p",null,o(e.$t("No folders yet")),1)])):(s(),a("div",zW,[(s(!0),a(r,null,d(m.folders,d=>{var u;return s(),a("div",{key:d.id,class:k(["fbs-folder-dropdown-item",{"fbs-folder-dropdown-item-active":d.id===m.selectedFolderId,"fbs-folder-dropdown-item-editing":m.isEditing&&m.editingFolderId===d.id}]),role:"button",tabindex:"0",onClick:e=>g.selectFolder(d.id),onKeydown:[$(h(e=>g.selectFolder(d.id),["self","prevent"]),["enter"]),$(h(e=>g.selectFolder(d.id),["self","prevent"]),["space"])]},[m.isEditing&&m.editingFolderId===d.id?(s(),a("div",{key:0,class:"fbs-folder-edit-form",onClick:t[16]||(t[16]=h(()=>{},["stop"]))},[l(T,{ref_for:!0,ref:"editFolderInputField",modelValue:m.folderTitle,"onUpdate:modelValue":t[15]||(t[15]=e=>m.folderTitle=e),size:"small",class:"fbs-folder-edit-input",onKeyup:[$(h(e=>g.updateFolder(d),["stop"]),["enter"]),$(h(g.cancelEdit,["stop"]),["esc"])]},null,8,["modelValue","onKeyup"]),i("div",qW,[l(C,{size:"small",type:"primary",onClick:h(e=>g.updateFolder(d),["stop"]),class:"fbs_mr_0 fbs_ml_0"},{default:n(()=>[w(o(e.$t("Save")),1)]),_:1},8,["onClick"]),l(C,{size:"small",onClick:h(g.cancelEdit,["stop"]),class:"fbs_mr_0 fbs_ml_0"},{default:n(()=>[w(o(e.$t("Cancel")),1)]),_:1},8,["onClick"])])])):(s(),a(r,{key:1},[i("div",WW,[i("span",KW,o(d.title),1)]),i("div",ZW,[i("span",YW,o((null==(u=null==d?void 0:d.boards)?void 0:u.length)||0),1),g.isAdmin?(s(),c(D,{key:0,ref_for:!0,ref:"folderActionDropdowns",trigger:"click",placement:e.appVars.is_rtl?"bottom-end":"bottom-start","hide-on-click":!1,onClick:t[19]||(t[19]=h(()=>{},["stop"]))},{dropdown:n(()=>[l(I,null,{default:n(()=>[l(V,{onClick:h(e=>g.showAddBoardToFolder(d),["stop"])},{default:n(()=>[w(o(e.$t("Add Board")),1)]),_:1},8,["onClick"]),l(V,{onClick:h(e=>g.editFolder(d),["stop"])},{default:n(()=>[w(o(e.$t("Edit Folder")),1)]),_:1},8,["onClick"]),l(V,{class:"fbs_folder_delete_item"},{default:n(()=>[l(A,{width:200,title:e.$t("Delete this folder?"),placement:"top",onConfirm:e=>g.confirmDeleteFolder(d),onCancel:g.closeFolderActionDropdowns},{reference:n(()=>[i("span",{class:"fbs_folder_delete_item__label",onClick:t[18]||(t[18]=h(()=>{},["stop"]))},o(e.$t("Delete Folder")),1)]),_:1},8,["title","onConfirm","onCancel"])]),_:2},1024)]),_:2},1024)]),default:n(()=>[l(C,{text:"",class:"el-dropdown-link mini only-icon-btn",onClick:t[17]||(t[17]=h(()=>{},["stop"]))},{default:n(()=>[i("span",JW,[l(_,{"icon-name":"dots"})])]),_:1})]),_:2},1032,["placement"])):y("",!0)])],64))],42,GW)}),128))]))],512),[[U,g.isTreeVisible]])]),_:1}),i("div",{class:k(["fbs-nav-item fbs-section-sidebar__item fbs-templates-nav",{"fbs-nav-item-active is-active":g.isTemplatesActive}]),role:"button",tabindex:"0",onClick:t[20]||(t[20]=(...e)=>g.goToTemplates&&g.goToTemplates(...e)),onKeydown:[t[21]||(t[21]=$(h((...e)=>g.goToTemplates&&g.goToTemplates(...e),["prevent"]),["enter"])),t[22]||(t[22]=$(h((...e)=>g.goToTemplates&&g.goToTemplates(...e),["prevent"]),["space"]))]},[i("span",QW,[l(_,{"icon-name":"template"})]),i("span",XW,[i("span",eK,o(e.$t("Templates")),1),e.hasPro?y("",!0):(s(),c(L,{key:0,class:"fbs-templates-nav__pro-badge",size:"small"}))])],34),i("div",{class:k(["fbs-nav-item fbs-section-sidebar__item",{"fbs-nav-item-active is-active":g.isArchivedActive}]),role:"button",tabindex:"0",onClick:t[23]||(t[23]=(...e)=>g.goToArchived&&g.goToArchived(...e)),onKeydown:[t[24]||(t[24]=$(h((...e)=>g.goToArchived&&g.goToArchived(...e),["prevent"]),["enter"])),t[25]||(t[25]=$(h((...e)=>g.goToArchived&&g.goToArchived(...e),["prevent"]),["space"]))]},[i("span",tK,[l(_,{"icon-name":"archive"})]),i("span",sK,o(e.$t("Archived")),1),i("span",aK,o(u.boardCounts.archived),1)],34)]))])],32)],2),l(P,{modelValue:m.showAddBoardDialog,"onUpdate:modelValue":t[29]||(t[29]=e=>m.showAddBoardDialog=e),title:e.$t("Add Board to Folder"),width:"400px","close-on-click-modal":!1},{footer:n(()=>[i("div",rK,[l(C,{onClick:g.closeAddBoardDialog},{default:n(()=>[w(o(e.$t("Cancel")),1)]),_:1},8,["onClick"]),l(C,{type:"primary",onClick:g.addBoardToFolder,disabled:!m.selectedBoardIds.length||0===m.uncategorizedBoards.length},{default:n(()=>[w(o(e.$t("Add Boards")),1)]),_:1},8,["onClick","disabled"])])]),default:n(()=>{var l;return[i("div",iK,[i("div",oK,o(e.$t("Select a board to add to"))+' "'+o(null==(l=m.selectedFolder)?void 0:l.title)+'": ',1),0===m.uncategorizedBoards.length?(s(),a("div",lK,[i("p",null,o(e.$t("No uncategorized boards available. All boards are already in folders.")),1)])):(s(),c(x,{key:1,modelValue:m.selectedBoardIds,"onUpdate:modelValue":t[28]||(t[28]=e=>m.selectedBoardIds=e),placeholder:e.$t("Select Boards"),style:{width:"100%"},filterable:"",multiple:""},{default:n(()=>[(s(!0),a(r,null,d(m.uncategorizedBoards,e=>(s(),c(M,{key:e.id,label:e.title,value:e.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])),m.uncategorizedBoards.length>0?(s(),a("div",nK,o(e.$t("Showing"))+" "+o(m.uncategorizedBoards.length)+" "+o(e.$t("uncategorized board(s)")),1)):y("",!0)])]}),_:1},8,["modelValue","title"])],64)}]]),CustomPopover:ja,EmptyState:Vs},data(){return{pageTitle:this.$t("Boards"),boards:[{}],drawer:!1,importDrawer:!1,src:null,allBoards:[],originalBoards:[],fetchedOption:null,boardCounts:{all:0,pinned:0,archived:0},tasks:[],pagination:{current_page:1,per_page:100,total:0},loading:!1,isShowingTemplates:!1,isTemplateDrawerOpen:!1,sortData:[{label:this.$t("Created Date"),slug:"created_at"},{label:this.$t("Title"),slug:"title"}],query:{order:"created_at",orderBy:"DESC"},creatingRoadmap:!1,numberOfAvatars:3,searchInput:"",templateSearchInput:"",templateDrawerSearchInput:"",searchDebounce:null,searching:!1,options:[{value:"active",label:this.$t("Active")},{value:"archived",label:this.$t("Archived")},{value:"pinned",label:this.$t("Pinned")}],optionSelected:"active",pageName:this.$route.name,folderBoardsId:[],viewType:"card",selectedFolderId:null,isShowingFolderBoards:!1,folderMapping:{},currentFolder:null,filtering:!1,isSortPopoverOpen:!1,isSearchExpanded:!1,isFoldersSidebarCollapsed:window.innerWidth<=1024,isMobileMenuOpen:!1,isLargeScreen:window.innerWidth>768}},mounted(){this.initializeBoardFilterFromRoute(),this.fetchBoards(),this.initializeFolderState(),!this.boardTemplatesEnabled||"templates"!==this.$route.name&&"templates"!==this.$route.query.view||this.handleShowTemplates(),window.addEventListener("resize",this.handleWindowResize),this.emitter.on("board-pin-state-changed",this.handleBoardPinStateChanged),this.$changeTitle()},beforeUnmount(){window.removeEventListener("resize",this.handleWindowResize),this.emitter.off("board-pin-state-changed",this.handleBoardPinStateChanged)},computed:{boardRouteType(){return"roadmap"===this.$route.name?this.$t("Roadmap"):this.$t("Boards")},isAdmin(){return this.$isAdmin()},canCreateBoard(){return this.$canCreateBoard()},boardTemplatesEnabled:()=>!0,templateInitialTab(){return"built-in"===this.$route.query.type?"default":"user"},templatesDrawerSize:()=>"min(1040px, 94vw)",showSearchInput(){return this.isLargeScreen||this.isSearchExpanded||!!this.activeSearchInput},activeSearchInput:{get(){return this.isShowingTemplates?this.templateSearchInput:this.searchInput},set(e){this.isShowingTemplates?this.templateSearchInput=e:this.searchInput=e}},displayPageTitle(){return this.isShowingTemplates?this.$t("Templates"):this.currentFolder?this.currentFolder.title:this.$t("Boards")},boardsEmptyStateMessage(){return this.searching?`${this.$t("We couldn't find anything matching your query")} "${this.searchInput}"`:"No boards yet"}},watch:{$route(e,t){this.pageName=e.name;const s="templates"===t.name||"templates"===t.query.view;"templates"===e.name||"templates"===e.query.view?s||this.handleShowTemplates():(s&&(this.isShowingTemplates=!1),e.query.fid!==t.query.fid&&(e.query.fid?(this.selectedFolderId=parseInt(e.query.fid),this.isShowingFolderBoards=!0,this.isShowingTemplates=!1):(this.selectedFolderId=null,this.isShowingFolderBoards=!1,this.currentFolder=null,this.originalBoards.length>0&&(this.allBoards=[...this.originalBoards]))),e.query.filter!==t.query.filter&&(this.optionSelected=["pinned","archived"].includes(e.query.filter)?e.query.filter:"active",this.pagination.current_page=1),this.fetchBoards())}},beforeMount(){"no"==this.appVars.is_onboarded&&"roadmaps"!=this.$route.name&&this.$router.push({name:"onboarding",params:{}})},methods:{handleFolderSelection(e,t){if(this.closeMobileMenu(),this.selectedFolderId=e,this.isShowingFolderBoards=!0,this.optionSelected="active",this.folderMapping[e]){const t=this.folderMapping[e].board_ids;this.allBoards=this.originalBoards.filter(e=>t.includes(e.id)),this.currentFolder=this.folderMapping[e]}this.filterBoards(),this.$router.replace({name:"boards",query:{fid:e}})},handleShowAllBoards(){this.closeMobileMenu(),this.resetBoardScope("active"),this.goToBoardScope({name:"boards",query:{}})},handleShowFavorites(){this.showFilteredBoards("pinned")},handleShowArchived(){this.showFilteredBoards("archived")},showFilteredBoards(e){this.closeMobileMenu(),this.resetBoardScope(e),this.goToBoardScope({name:"boards",query:{filter:e}})},resetBoardScope(e){this.selectedFolderId=null,this.isShowingFolderBoards=!1,this.isShowingTemplates=!1,this.currentFolder=null,this.optionSelected=e,this.searchInput="",this.searching=!1,this.templateSearchInput="",this.templateDrawerSearchInput="",this.pagination.current_page=1},goToBoardScope(e){this.$route.name!==e.name||(this.$route.query.filter||"")!==(e.query.filter||"")||this.$route.query.fid||this.$route.query.view?this.$router.replace(e):this.fetchBoards()},handleShowTemplates(){this.closeMobileMenu(),this.selectedFolderId=null,this.isShowingFolderBoards=!1,this.isShowingTemplates=!0,this.currentFolder=null,this.optionSelected="active",this.templateSearchInput=""},handleTemplateTabChange(e){if("templates"!==this.$route.name)return;if(("built-in"===this.$route.query.type?"default":"user")===e)return;const t="default"===e?{type:"built-in"}:{};this.$router.replace({name:"templates",query:t})},handleStartFromTemplate(){this.boardTemplatesEnabled&&(this.isTemplateDrawerOpen=!0,this.templateDrawerSearchInput="")},closeTemplatesDrawer(){this.isTemplateDrawerOpen=!1},handleTemplatesDrawerClosed(){this.templateDrawerSearchInput=""},handleBoardCreatedFromTemplate(e){this.isTemplateDrawerOpen=!1,this.closeCreateBoardDialog(),this.$router.push({name:"board",params:{id:e.id}})},searchTemplates(){},handleNewBoardAdded(){this.isShowingFolderBoards=!1,this.fetchBoards()},closeCreateBoardDialog(){this.drawer=!1},initializeFolderState(){this.$route.query.fid&&(this.selectedFolderId=parseInt(this.$route.query.fid),this.isShowingFolderBoards=!0)},initializeBoardFilterFromRoute(){["pinned","archived"].includes(this.$route.query.filter)&&(this.optionSelected=this.$route.query.filter)},fetchBoards(e={}){this.isShowingFolderBoards&&this.originalBoards.length>0&&!this.filtering&&this.fetchedOption===this.optionSelected?this.filterBoards():(e.order=this.query.order,e.orderBy=this.query.orderBy,e.per_page=this.pagination.per_page,e.page=this.pagination.current_page,e.searchInput=this.searchInput.trim(),e.option=this.optionSelected,this.loading=!0,this.$get("projects",e).then(t=>{if(this.fetchedOption=e.option,this.originalBoards=[...t.boards.data],this.allBoards=t.boards.data,this.filterBoards(),this.pagination=t.boards,t.board_counts&&(this.boardCounts=t.board_counts),t.folder_mapping&&(this.folderMapping=t.folder_mapping),t.current_folder&&(this.currentFolder=t.current_folder,this.selectedFolderId=t.current_folder.id,this.isShowingFolderBoards=!0,this.folderMapping[t.current_folder.id])){const e=this.folderMapping[t.current_folder.id].board_ids;this.allBoards=this.originalBoards.filter(t=>e.includes(t.id))}const s=this.$route.query.fid;s&&this.handleFolderSelection(s)}).catch(e=>{this.handleError(e)}).finally(()=>{this.loading=!1,this.filtering=!1}))},debounceSearchBoard(){this.searching=!!this.searchInput.trim(),this.filterBoards()},handleHeaderSearchInput(){this.isShowingTemplates||this.searchDebounce()},handleWindowResize(){this.isLargeScreen=window.innerWidth>768,this.isMobileBoardsViewport()||(this.isMobileMenuOpen=!1)},toggleFoldersSidebar(){this.isMobileBoardsViewport()?this.closeMobileMenu():this.isFoldersSidebarCollapsed=!this.isFoldersSidebarCollapsed},isMobileBoardsViewport:()=>!("undefined"==typeof window||!window.matchMedia)&&window.matchMedia("(max-width: 1024px)").matches,toggleMobileMenu(){this.isMobileMenuOpen=!this.isMobileMenuOpen},closeMobileMenu(){this.isMobileMenuOpen=!1},openHeaderSearch(){this.isSearchExpanded=!0,this.$nextTick(()=>{this.$refs.boardSearchInput&&this.$refs.boardSearchInput.focus&&this.$refs.boardSearchInput.focus()})},handleHeaderSearchBlur(){this.activeSearchInput.trim()||(this.isSearchExpanded=!1)},collapseHeaderSearch(){this.activeSearchInput.trim()||(this.isSearchExpanded=!1)},filterBoards(){let e=this.allBoards;if(e="pinned"===this.optionSelected?e.filter(e=>!0===e.is_pinned&&!e.archived_at):"archived"===this.optionSelected?e.filter(e=>e.archived_at):e.filter(e=>!e.archived_at),this.searchInput.trim()){const t=this.searchInput.trim().toLowerCase();e=e.filter(e=>(e.title||"").toLowerCase().includes(t))}this.boards=e},applyBoardControls(){this.filtering=!0,this.Storage.set("board_sort",JSON.stringify(this.query)),this.fetchBoards()},applySort(){this.applyBoardControls(),this.isSortPopoverOpen=!1},handleViewTypeChange(e){this.viewType=e,this.Storage.set("board_view_type",e)},boardAddedToFolder(e,t){this.folderMapping[e]&&(this.folderMapping[e].board_ids=[...this.folderMapping[e].board_ids,...t]),this.selectedFolderId===e&&(this.allBoards=this.originalBoards.filter(t=>this.folderMapping[e].board_ids.includes(t.id)),this.currentFolder=this.folderMapping[e],this.filterBoards())},handleFolderMappingUpdate(e){"deleted"===e.action?delete this.folderMapping[e.folder.id]:(this.folderMapping[e.folder.id]={id:e.folder.id,title:e.folder.title,board_ids:e.folder.board_ids},this.currentFolder&&this.currentFolder.id===e.folder.id&&(this.currentFolder.title=e.folder.title))},handleBoardPinStateChanged({boardId:e,wasPinned:t,isPinned:s}){const a=Number(e),i=e=>{Number(e.id)===a&&(e.is_pinned=s)};if(this.originalBoards.forEach(i),this.allBoards.forEach(i),t!==s){const e=s?1:-1;this.boardCounts={...this.boardCounts,pinned:Math.max(0,Number(this.boardCounts.pinned||0)+e)}}this.filterBoards()}},created(){this.query=JSON.parse(this.Storage.get("board_sort",JSON.stringify(this.query))),this.viewType=this.Storage.get("board_view_type","card"),this.searchDebounce=Se(this.debounceSearchBoard.bind(this),400)}},[["render",function(e,t,h,u,p,m){const g=b("folders"),f=b("Icons"),_=He,v=xt,C=Mt,T=ze,S=Be,V=Le,A=b("CustomPopover"),I=b("more-add-options"),D=b("template-gallery"),B=b("empty-state"),L=b("BoardSkeleton"),M=b("board-card"),x=b("board-list-view"),P=b("pagination"),F=Kt,E=b("add-new-board"),U=Ge,O=b("create-roadmap");return s(),a("div",{class:k(["fbs-welcome_dashboard fbs_regular_view fbs_boards_layout fbs-section-page",{"is-collapsed":p.isFoldersSidebarCollapsed}])},[i("div",{class:k(["fbs-boards-menu-overlay",{"is-open":p.isMobileMenuOpen}]),onClick:t[0]||(t[0]=(...e)=>m.closeMobileMenu&&m.closeMobileMenu(...e))},null,2),l(g,{"all-boards":p.originalBoards,"board-counts":p.boardCounts,"folder-mapping":p.folderMapping,"current-folder":p.currentFolder,"active-filter":p.optionSelected,"templates-open":p.isShowingTemplates,collapsed:p.isFoldersSidebarCollapsed,"mobile-open":p.isMobileMenuOpen,onToggleCollapse:m.toggleFoldersSidebar,onFolderSelected:m.handleFolderSelection,onShowAllBoards:m.handleShowAllBoards,onShowTemplates:m.handleShowTemplates,onShowFavorites:m.handleShowFavorites,onShowArchived:m.handleShowArchived,onBoardAdded:m.boardAddedToFolder,onFolderMappingUpdated:m.handleFolderMappingUpdate},null,8,["all-boards","board-counts","folder-mapping","current-folder","active-filter","templates-open","collapsed","mobile-open","onToggleCollapse","onFolderSelected","onShowAllBoards","onShowTemplates","onShowFavorites","onShowArchived","onBoardAdded","onFolderMappingUpdated"]),i("div",dK,[i("div",cK,[i("div",hK,[i("button",{type:"button",class:"fbs-boards-mobile-menu-button","aria-label":e.$t("Open boards menu"),"aria-expanded":p.isMobileMenuOpen?"true":"false","aria-controls":"fbs-boards-sidebar",onClick:t[1]||(t[1]=(...e)=>m.toggleMobileMenu&&m.toggleMobileMenu(...e))},[l(f,{"icon-name":"sidebar"})],8,uK),i("div",pK,[i("h3",null,o(m.displayPageTitle),1)])]),i("div",mK,[i("div",{class:k(["fbs_board_search",{"is-expanded":m.showSearchInput,"is-inline":p.isLargeScreen}])},[m.showSearchInput?(s(),c(_,{key:1,ref:"boardSearchInput",modelValue:m.activeSearchInput,"onUpdate:modelValue":t[3]||(t[3]=e=>m.activeSearchInput=e),onInput:m.handleHeaderSearchInput,onBlur:m.handleHeaderSearchBlur,onKeyup:$(m.collapseHeaderSearch,["esc"]),class:"fbs_board_search_input",placeholder:p.isShowingTemplates?e.$t("Search Templates"):e.$t("Search Boards"),clearable:"","prefix-icon":"Search"},null,8,["modelValue","onInput","onBlur","onKeyup","placeholder"])):(s(),a("button",{key:0,type:"button",class:"fbs_board_search_icon",title:p.isShowingTemplates?e.$t("Search Templates"):e.$t("Search Boards"),onClick:t[2]||(t[2]=(...e)=>m.openHeaderSearch&&m.openHeaderSearch(...e))},[...t[16]||(t[16]=[i("span",{class:"icon"},[i("svg",{xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 20 20",fill:"none","aria-hidden":"true",focusable:"false"},[i("path",{d:"M14.5232 13.4627L17.7355 16.6742L16.6742 17.7355L13.4627 14.5232C12.2678 15.4812 10.7815 16.0022 9.25 16C5.524 16 2.5 12.976 2.5 9.25C2.5 5.524 5.524 2.5 9.25 2.5C12.976 2.5 16 5.524 16 9.25C16.0022 10.7815 15.4812 12.2678 14.5232 13.4627ZM13.0187 12.9062C13.9706 11.9274 14.5021 10.6153 14.5 9.25C14.5 6.349 12.1502 4 9.25 4C6.349 4 4 6.349 4 9.25C4 12.1502 6.349 14.5 9.25 14.5C10.6153 14.5021 11.9274 13.9706 12.9062 13.0187L13.0187 12.9062V12.9062Z",fill:"#525866"})])],-1)])],8,bK))],2),p.isShowingTemplates?y("",!0):(s(),a("div",gK,[l(C,{modelValue:p.viewType,"onUpdate:modelValue":t[4]||(t[4]=e=>p.viewType=e),class:"fbs_sort_order_group fbs_tasks_view_btns fbs_sort_order_group__only_icon",size:"small","aria-label":e.$t("Select view"),onChange:m.handleViewTypeChange},{default:n(()=>[l(v,{value:"card",title:e.$t("Card view")},{default:n(()=>[i("span",fK,[l(f,{"icon-name":"grid"})])]),_:1},8,["title"]),l(v,{value:"list",title:e.$t("List view")},{default:n(()=>[i("span",_K,[l(f,{"icon-name":"list"})])]),_:1},8,["title"])]),_:1},8,["modelValue","aria-label","onChange"]),i("div",kK,[l(A,{modelValue:p.isSortPopoverOpen,"onUpdate:modelValue":t[9]||(t[9]=e=>p.isSortPopoverOpen=e),placement:"bottom-end",width:280,popoverClass:"fbs_sort_popover fbs_board_filter_popover"},{trigger:n(()=>[l(T,{title:e.$t("Sort"),class:"only-icon-btn",size:"small"},{default:n(()=>[i("span",vK,[l(f,{"icon-name":"filter"})])]),_:1},8,["title"])]),default:n(()=>[i("div",yK,[i("div",wK,o(e.$t("Filter")),1),l(V,{modelValue:p.optionSelected,"onUpdate:modelValue":t[5]||(t[5]=e=>p.optionSelected=e),placeholder:e.$t("Select filter")},{default:n(()=>[(s(!0),a(r,null,d(p.options,t=>(s(),c(S,{key:t.value,label:e.$t(t.label),value:t.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"]),i("div",CK,o(e.$t("Sort By")),1),l(C,{modelValue:p.query.order,"onUpdate:modelValue":t[6]||(t[6]=e=>p.query.order=e),class:"flex-column items-start gap-6 fbs_mb_16"},{default:n(()=>[(s(!0),a(r,null,d(p.sortData,e=>(s(),c(v,{size:"small",key:e.slug,value:e.slug,class:"fbs_mr_0 fbs_ml_0 h-auto"},{default:n(()=>[w(o(e.label),1)]),_:2},1032,["value"]))),128))]),_:1},8,["modelValue"]),l(C,{modelValue:p.query.orderBy,"onUpdate:modelValue":t[7]||(t[7]=e=>p.query.orderBy=e),class:"fbs_sort_order_group"},{default:n(()=>[l(v,{size:"small",value:"ASC",label:"ASC"},{default:n(()=>[w(o(e.$t("Ascending")),1)]),_:1}),l(v,{size:"small",value:"DESC",label:"DESC"},{default:n(()=>[w(o(e.$t("Descending")),1)]),_:1})]),_:1},8,["modelValue"]),i("div",TK,[l(T,{type:"primary",onClick:t[8]||(t[8]=e=>m.applySort())},{default:n(()=>[w(o(e.$t("Apply")),1)]),_:1})])])]),_:1},8,["modelValue"])]),m.isAdmin?(s(),c(I,{key:0})):y("",!0),m.canCreateBoard?(s(),c(T,{key:1,type:"primary",class:"fbs_mr_0 fbs_ml_0",size:"small",onClick:t[10]||(t[10]=e=>p.drawer=!0)},{default:n(()=>[i("span",SK,[l(f,{"icon-name":"plus"})]),w(" "+o(e.$t("Add Board")),1)]),_:1})):y("",!0)]))])]),i("div",{class:k(["fbs-dashboard_boards",{"fbs-dashboard_boards--templates":p.isShowingTemplates}])},[i("div",$K,[p.isShowingTemplates?(s(),a("div",VK,[m.boardTemplatesEnabled?(s(),c(D,{key:0,"search-query":p.templateSearchInput,"initial-tab":m.templateInitialTab,onBoardCreated:m.handleBoardCreatedFromTemplate,onTemplateConverted:m.handleNewBoardAdded,onTabChange:m.handleTemplateTabChange,onClose:m.handleShowAllBoards},null,8,["search-query","initial-tab","onBoardCreated","onTemplateConverted","onTabChange","onClose"])):y("",!0)])):(s(),a("div",AK,[0!=p.boards.length||p.loading?y("",!0):(s(),a("div",IK,[l(B,{message:m.boardsEmptyStateMessage,"icon-width":180,"icon-height":140},null,8,["message"])])),p.loading?(s(),c(L,{key:1,"show-columns":4})):y("",!0),!p.loading&&p.boards.length&&"card"===p.viewType?(s(),a("div",DK,[i("div",BK,[(s(!0),a(r,null,d(p.boards,e=>(s(),c(M,{key:e.id,board:e,"number-of-avatars":3},null,8,["board"]))),128))])])):!p.loading&&p.boards.length?(s(),a("div",LK,[i("div",MK,[l(x,{boards:p.boards,"number-of-avatars":3},null,8,["boards"])])])):y("",!0)])),"folders"==p.pageName||p.isShowingTemplates?y("",!0):(s(),a("div",xK,[l(P,{pagination:p.pagination,onFetch:m.fetchBoards,divide_into_two_column:!1,layout_data:"prev, pager, next"},null,8,["pagination","onFetch"])]))]),l(F,{modelValue:p.isTemplateDrawerOpen,"onUpdate:modelValue":t[12]||(t[12]=e=>p.isTemplateDrawerOpen=e),"append-to-body":"",size:m.templatesDrawerSize,direction:e.appVars.is_rtl?"ltr":"rtl",class:"fbs-board-templates-drawer","show-close":!0,"destroy-on-close":"",onClosed:m.handleTemplatesDrawerClosed},{header:n(()=>[i("div",null,o(e.$t("Board Templates")),1)]),default:n(()=>[i("div",PK,[l(_,{modelValue:p.templateDrawerSearchInput,"onUpdate:modelValue":t[11]||(t[11]=e=>p.templateDrawerSearchInput=e),class:"fbs-board-templates-drawer__search fbs_mb_8",placeholder:e.$t("Search Templates"),clearable:"","prefix-icon":"Search"},null,8,["modelValue","placeholder"]),m.boardTemplatesEnabled&&p.isTemplateDrawerOpen?(s(),c(D,{key:0,"search-query":p.templateDrawerSearchInput,onBoardCreated:m.handleBoardCreatedFromTemplate,onTemplateConverted:m.handleNewBoardAdded,onClose:m.closeTemplatesDrawer},null,8,["search-query","onBoardCreated","onTemplateConverted","onClose"])):y("",!0)])]),_:1},8,["modelValue","size","direction","onClosed"]),l(U,{draggable:"",modelValue:p.drawer,"onUpdate:modelValue":t[13]||(t[13]=e=>p.drawer=e),width:"700px",class:"fbs-create-board-dialog","show-close":!1,"close-on-click-modal":!1,"destroy-on-close":!0,"lock-scroll":!1,"append-to-body":""},{default:n(()=>[l(E,{onCloseDrawer:m.closeCreateBoardDialog,onNewBoardAdded:m.handleNewBoardAdded,onStartFromTemplate:m.handleStartFromTemplate,drawerVisible:p.drawer,folderBoardsId:p.folderBoardsId},null,8,["onCloseDrawer","onNewBoardAdded","onStartFromTemplate","drawerVisible","folderBoardsId"])]),_:1},8,["modelValue"]),l(U,{"modal-class":"fbs-roadmap-dialog",title:e.$t("Create new roadmap"),modelValue:p.creatingRoadmap,"onUpdate:modelValue":t[15]||(t[15]=e=>p.creatingRoadmap=e),width:"60%","close-on-click-modal":!1,"destroy-on-close":!0,"append-to-body":""},{default:n(()=>[l(O,{onCloseCreateModalEvent:t[14]||(t[14]=e=>p.creatingRoadmap=!1)})]),_:1},8,["title","modelValue"])],2)])],2)}]]),EK={class:"fbs-settings-page-header"},UK={class:"fbs-settings-page-header__title"},OK=["id"];const RK=Ss({name:"SettingsPageHeader",props:{title:{type:String,required:!0},actionsId:{type:String,default:"fbs-settings-page-header-actions"}}},[["render",function(e,t,l,n,r,d){return s(),a("div",EK,[i("div",UK,[_(e.$slots,"prefix"),i("span",null,o(l.title),1)]),i("div",{id:l.actionsId,class:"fbs-settings-page-header__actions"},[_(e.$slots,"actions")],8,OK)])}]]),NK={name:"SettingsSaveButton",emits:["save"],props:{label:{type:String,default:"Save"},loading:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},shortcut:{type:String,default:"⌘S"},showShortcut:{type:Boolean,default:!0},enableShortcut:{type:Boolean,default:!0}},mounted(){this.enableShortcut&&window.addEventListener("keydown",this.handleShortcut)},beforeUnmount(){this.enableShortcut&&window.removeEventListener("keydown",this.handleShortcut)},methods:{requestSave(){this.disabled||this.loading||this.$emit("save")},handleShortcut(e){const t=e.key?e.key.toLowerCase():"";(e.metaKey||e.ctrlKey)&&"s"===t&&(e.preventDefault(),this.requestSave())}}},HK={key:0,class:"cmd"};const jK=["aria-label"],zK={class:"sidebar-banner fbs-settings-sidebar__header fbs-section-sidebar__header"},GK=["aria-label","aria-expanded"],qK={class:"fbs-section-sidebar__title"},WK={class:"icon fbs-settings-sidebar__item-icon fbs-section-sidebar__icon","aria-hidden":"true"},KK={class:"txt fbs-section-sidebar__label"},ZK={class:"icon fbs-settings-sidebar__item-icon fbs-section-sidebar__icon","aria-hidden":"true"},YK={class:"txt fbs-section-sidebar__label"},JK={class:"icon fbs-settings-sidebar__item-icon fbs-section-sidebar__icon","aria-hidden":"true"},QK={class:"txt fbs-section-sidebar__label"},XK={class:"icon fbs-settings-sidebar__item-icon fbs-section-sidebar__icon","aria-hidden":"true"},eZ={class:"txt fbs-section-sidebar__label"},tZ={class:"icon fbs-settings-sidebar__item-icon fbs-section-sidebar__icon","aria-hidden":"true"},sZ={class:"txt fbs-section-sidebar__label"},aZ={class:"fbs-settings-sidebar__webhooks-title"},iZ={class:"icon fbs-settings-sidebar__item-icon fbs-section-sidebar__icon","aria-hidden":"true"},oZ={class:"txt fbs-section-sidebar__label"},lZ={key:0,class:"fbs-settings-sidebar__nested-rail","aria-hidden":"true",role:"presentation"},nZ={class:"txt fbs-section-sidebar__label"},rZ={class:"txt fbs-section-sidebar__label"},dZ={class:"icon fbs-settings-sidebar__item-icon fbs-section-sidebar__icon","aria-hidden":"true"},cZ={class:"txt fbs-section-sidebar__label"},hZ={class:"icon fbs-settings-sidebar__item-icon fbs-section-sidebar__icon","aria-hidden":"true"},uZ={class:"txt fbs-section-sidebar__label"},pZ={class:"right-content fbs-settings-frame__content"},mZ=["aria-label","aria-expanded"],bZ={class:"label"};const gZ=Ss({name:"Settings",components:{Icons:$s,ArrowDown:it,ArrowUp:yt,Histogram:ls,SettingsPageHeader:RK,SettingsSaveButton:Ss(NK,[["render",function(e,t,i,l,r,d){const h=ze;return s(),c(h,{disabled:i.disabled||i.loading,loading:i.loading,type:"primary",onClick:d.requestSave,size:"small"},{default:n(()=>[!i.loading&&i.showShortcut&&i.shortcut?(s(),a("span",HK,o(i.shortcut),1)):y("",!0),w(" "+o(e.$t(i.label)),1)]),_:1},8,["disabled","loading","onClick"])}]])},provide(){return{setSettingsHeaderAction:e=>this.setSettingsHeaderAction(e),clearSettingsHeaderAction:e=>this.clearSettingsHeaderAction(e)}},data:()=>({isWebhooksOpened:!1,selectedMenu:"general-settings",isSidebarCollapsed:!1,isSidebarHovered:!1,isMobileMenuOpen:!1,settingsHeaderAction:null,webhookRoutes:["incoming-webhook","outgoing-webhook"],webhooksCloseIcon:x(it),webhooksOpenIcon:x(yt),routeTitles:{"general-settings":"General Settings","ai-settings":"AI Model Setup","mcp-settings":"MCP for AI Agents",modules:"Features & Modules",membersrole:"Members Role","roadmap-settings":"Roadmap",license:"License Management","incoming-webhook":"Incoming Webhooks","outgoing-webhook":"Outgoing Webhooks"}}),computed:{activeHeaderTitle(){return this.$t(this.routeTitles[this.selectedMenu]||"Settings")},defaultOpeneds(){return this.isWebhookRoute?["webhooks"]:[]},isWebhookRoute(){return this.webhookRoutes.includes(this.selectedMenu)},isWebhookMenuActive(){return this.isWebhooksOpened||this.isWebhookRoute},activeSettingsHeaderAction(){return this.settingsHeaderAction&&this.settingsHeaderAction.routeName===this.selectedMenu?this.settingsHeaderAction:null},settingsHeaderBadgeClasses(){if(!this.activeSettingsHeaderAction||"badge"!==this.activeSettingsHeaderAction.type)return[];const e={success:"fbs_priority_badge_success",warning:"fbs_priority_badge_warning",neutral:"fbs_priority_badge_neutral",info:"fbs_priority_badge_info",danger:"fbs_priority_badge_danger"},t=[e[this.activeSettingsHeaderAction.tone]||e.neutral];return this.activeSettingsHeaderAction.className&&t.push(this.activeSettingsHeaderAction.className),t}},watch:{$route:{handler(){this.selectedMenu=this.$route.name,this.closeMobileMenu(),this.syncWebhooksMenu()},deep:!0,immediate:!0}},methods:{closeWebhooksMenu(){this.isWebhooksOpened=!1,this.$nextTick(()=>{this.$refs.settingsMenu&&this.$refs.settingsMenu.close&&this.$refs.settingsMenu.close("webhooks")})},toggleSidebar(){this.isMobileSettingsViewport()?this.closeMobileMenu():(this.isSidebarHovered=!1,this.isSidebarCollapsed=!this.isSidebarCollapsed)},isMobileSettingsViewport:()=>!("undefined"==typeof window||!window.matchMedia)&&window.matchMedia("(max-width: 1024px)").matches,toggleMobileMenu(){this.isMobileMenuOpen=!this.isMobileMenuOpen},closeMobileMenu(){this.isMobileMenuOpen=!1,this.isSidebarHovered=!1},goToPage(e){this.closeMobileMenu(),this.$route.name!==e&&(this.selectedMenu=e,this.$router.push({name:e}))},handleMenuClose(e){"webhooks"===e&&(this.isWebhooksOpened=!1)},handleMenuOpen(e){"webhooks"===e&&(this.isWebhooksOpened=!0)},openWebhooksMenu(){this.isWebhooksOpened=!0,this.$nextTick(()=>{this.$refs.settingsMenu&&this.$refs.settingsMenu.open&&this.$refs.settingsMenu.open("webhooks")})},syncWebhooksMenu(){this.isWebhookRoute?this.openWebhooksMenu():this.closeWebhooksMenu()},setSettingsHeaderAction(e){e&&e.routeName&&e.type?this.settingsHeaderAction={...e}:this.settingsHeaderAction=null},clearSettingsHeaderAction(e=null){(!e||this.settingsHeaderAction&&this.settingsHeaderAction.routeName===e)&&(this.settingsHeaderAction=null)},runSettingsHeaderAction(){const e=this.activeSettingsHeaderAction;e&&"save"===e.type&&"function"==typeof e.handler&&(e.loading||e.disabled||e.handler())}}},[["render",function(e,t,r,d,h,u){const p=b("Icons"),m=vs,g=ys,f=ws,_=b("SettingsSaveButton"),v=b("SettingsPageHeader"),w=b("router-view");return s(),a("div",{class:k(["fbs_welcome-settings fbs_regular_view fbs-settings-frame fbs-section-page",{"is-collapsed":h.isSidebarCollapsed}])},[i("div",{class:k(["fbs-settings-menu-overlay",{"is-open":h.isMobileMenuOpen}]),onClick:t[0]||(t[0]=(...e)=>u.closeMobileMenu&&u.closeMobileMenu(...e))},null,2),i("aside",{id:"fbs-settings-sidebar",class:k(["left-sidebar fbs-settings-frame__sidebar fbs-section-sidebar",{"is-open":h.isMobileMenuOpen,"is-collapsed":h.isSidebarCollapsed,"is-hover-expanded":h.isSidebarHovered}]),"aria-label":e.$t("Settings")},[i("div",zK,[i("button",{type:"button",class:"fbs-settings-sidebar__header-icon fbs-heading-icon fbs-section-sidebar__toggle","aria-label":h.isSidebarCollapsed?e.$t("Show settings menu"):e.$t("Hide settings menu"),"aria-expanded":h.isSidebarCollapsed?"false":"true",onClick:t[1]||(t[1]=(...e)=>u.toggleSidebar&&u.toggleSidebar(...e))},[l(p,{"icon-name":"sidebar"})],8,GK),i("h3",qK,o(e.$t("Settings")),1)]),l(f,{ref:"settingsMenu",class:"sidebar-menu fbs-settings-sidebar__menu fbs-section-sidebar__nav","default-active":h.selectedMenu,"default-openeds":u.defaultOpeneds,onMouseenter:t[2]||(t[2]=e=>h.isSidebarHovered=!0),onMouseleave:t[3]||(t[3]=e=>h.isSidebarHovered=!1),onOpen:u.handleMenuOpen,onClose:u.handleMenuClose,onSelect:u.goToPage},{default:n(()=>[l(m,{index:"general-settings",class:k(["menu-items fbs-settings-sidebar__item fbs-section-sidebar__item","general-settings"===h.selectedMenu?"menu-selected":""]),"aria-current":"general-settings"===h.selectedMenu?"page":null},{default:n(()=>[i("span",WK,[l(p,{"icon-name":"gear"})]),i("span",KK,o(e.$t("General Settings")),1)]),_:1},8,["class","aria-current"]),l(m,{index:"membersrole",class:k(["menu-items fbs-settings-sidebar__item fbs-section-sidebar__item","membersrole"===h.selectedMenu?"menu-selected":""]),"aria-current":"membersrole"===h.selectedMenu?"page":null},{default:n(()=>[i("span",ZK,[l(p,{"icon-name":"users"})]),i("span",YK,o(e.$t("Member Role")),1)]),_:1},8,["class","aria-current"]),e.appVars.fluent_roadmap_exists?(s(),c(m,{key:0,index:"roadmap-settings",class:k(["menu-items fbs-settings-sidebar__item fbs-section-sidebar__item","roadmap-settings"===h.selectedMenu?"menu-selected":""]),"aria-current":"roadmap-settings"===h.selectedMenu?"page":null},{default:n(()=>[i("span",JK,[l(p,{"icon-name":"roadmap"})]),i("span",QK,o(e.$t("Roadmap")),1)]),_:1},8,["class","aria-current"])):y("",!0),l(m,{index:"ai-settings",class:k(["menu-items fbs-settings-sidebar__item fbs-section-sidebar__item","ai-settings"===h.selectedMenu?"menu-selected":""]),"aria-current":"ai-settings"===h.selectedMenu?"page":null},{default:n(()=>[i("span",XK,[l(p,{"icon-name":"ai"})]),i("span",eZ,o(e.$t("AI Model Setup")),1)]),_:1},8,["class","aria-current"]),l(m,{index:"mcp-settings",class:k(["menu-items fbs-settings-sidebar__item fbs-section-sidebar__item","mcp-settings"===h.selectedMenu?"menu-selected":""]),"aria-current":"mcp-settings"===h.selectedMenu?"page":null},{default:n(()=>[i("span",tZ,[l(p,{"icon-name":"mcp","icon-class":"fbs_mcp_icon"})]),i("span",sZ,o(e.$t("MCP for AI Agent")),1)]),_:1},8,["class","aria-current"]),l(g,{index:"webhooks",class:k(["fbs-settings-sidebar__webhooks-group",{"menu-selected":u.isWebhookMenuActive,"fbs-settings-sidebar__webhooks-group--opened":h.isWebhooksOpened}]),"expand-open-icon":h.webhooksOpenIcon,"expand-close-icon":h.webhooksCloseIcon},{title:n(()=>[i("span",aZ,[i("span",iZ,[l(p,{"icon-name":"webhooks"})]),i("span",oZ,o(e.$t("Webhooks")),1)])]),default:n(()=>[h.isWebhooksOpened?(s(),a("li",lZ)):y("",!0),l(m,{index:"incoming-webhook",class:k(["menu-items fbs-settings-sidebar__nested-item","incoming-webhook"===h.selectedMenu?"menu-selected":""]),"aria-current":"incoming-webhook"===h.selectedMenu?"page":null},{default:n(()=>[i("span",nZ,o(e.$t("Incoming Webhooks")),1)]),_:1},8,["class","aria-current"]),l(m,{index:"outgoing-webhook",class:k(["menu-items fbs-settings-sidebar__nested-item","outgoing-webhook"===h.selectedMenu?"menu-selected":""]),"aria-current":"outgoing-webhook"===h.selectedMenu?"page":null},{default:n(()=>[i("span",rZ,o(e.$t("Outgoing Webhooks")),1)]),_:1},8,["class","aria-current"])]),_:1},8,["class","expand-open-icon","expand-close-icon"]),l(m,{index:"modules",class:k(["menu-items fbs-settings-sidebar__item fbs-section-sidebar__item","modules"===h.selectedMenu?"menu-selected":""]),"aria-current":"modules"===h.selectedMenu?"page":null},{default:n(()=>[i("span",dZ,[l(p,{"icon-name":"modules"})]),i("span",cZ,o(e.$t("Features & Modules")),1)]),_:1},8,["class","aria-current"]),y("",!0),e.hasPro?(s(),c(m,{key:2,index:"license",class:k(["menu-items fbs-settings-sidebar__item fbs-section-sidebar__item","license"===h.selectedMenu?"menu-selected":""]),"aria-current":"license"===h.selectedMenu?"page":null},{default:n(()=>[i("span",hZ,[l(p,{"icon-name":"license"})]),i("span",uZ,o(e.$t("License Management")),1)]),_:1},8,["class","aria-current"])):y("",!0)]),_:1},8,["default-active","default-openeds","onOpen","onClose","onSelect"])],10,jK),i("main",pZ,[l(v,{title:u.activeHeaderTitle},{prefix:n(()=>[i("button",{type:"button",class:"fbs-settings-mobile-menu-button","aria-label":e.$t("Open settings menu"),"aria-expanded":h.isMobileMenuOpen?"true":"false","aria-controls":"fbs-settings-sidebar",onClick:t[4]||(t[4]=(...e)=>u.toggleMobileMenu&&u.toggleMobileMenu(...e))},[l(p,{"icon-name":"sidebar"})],8,mZ)]),actions:n(()=>[u.activeSettingsHeaderAction&&"save"===u.activeSettingsHeaderAction.type?(s(),a("div",{key:0,class:k(u.activeSettingsHeaderAction.wrapperClass||"fbs-settings-page-header__action-group")},[l(_,{loading:u.activeSettingsHeaderAction.loading,disabled:u.activeSettingsHeaderAction.disabled,onSave:u.runSettingsHeaderAction},null,8,["loading","disabled","onSave"])],2)):u.activeSettingsHeaderAction&&"badge"===u.activeSettingsHeaderAction.type?(s(),a("span",{key:1,class:k(["fbs_priority_badge",u.settingsHeaderBadgeClasses])},[i("span",bZ,o(u.activeSettingsHeaderAction.label),1)],2)):y("",!0)]),_:1},8,["title"]),l(w,null,{default:n(({Component:e,route:t})=>[(s(),c(K(e),{key:t.name||t.path}))]),_:1})])],2)}]]),fZ={class:"fbs-add-member"},_Z={class:"fbs-add-member-members"},kZ={class:"icon"},vZ={class:"fbs_primary_text font-medium fbs_mb_4"},yZ=["src","alt","title"],wZ={class:"fbs-add-member-member-content"},CZ={class:"fbs-add-member-member-name"},TZ={class:"fbs-add-member-member-email"},SZ={key:1,class:"fbs-add-member-members__loading"},$Z={key:2,class:"fbs-add-member-members__empty"},VZ={key:0,class:"fbs-add-member-error"},AZ={class:"fbs-add-member-access-card__content"},IZ={class:"fbs-add-member-access-card__icon fbs-add-member-access-card__icon--user"},DZ={class:"fbs-add-member-access-card__text"},BZ={class:"fbs-add-member-access-card__title"},LZ={class:"fbs-add-member-access-card__description"},MZ={class:"fbs-add-member-access-card__indicator","aria-hidden":"true"},xZ={class:"fbs-add-member-access-card__content"},PZ={class:"fbs-add-member-access-card__icon fbs-add-member-access-card__icon--shield"},FZ={class:"fbs-add-member-access-card__text"},EZ={class:"fbs-add-member-access-card__title"},UZ={class:"fbs-add-member-access-card__description"},OZ={class:"fbs-add-member-access-card__indicator","aria-hidden":"true"},RZ={key:0,class:"fbs-add-member-error"},NZ={key:1,class:"fbs-add-member-admin-notice"},HZ={class:"fbs-add-member-admin-notice__icon"};const jZ=Ss({name:"AddMember",components:{Icons:$s},props:{boards:{type:Array,default:()=>[]},users:{type:Array,default:()=>[]}},emits:["closeDrawer","savingChange"],data:()=>({searchQuery:"",searchTimer:null,ajaxUsers:[],ajaxUsersLoading:!1,ajaxUsersRequestSeq:0,selectedUserIds:[],form:{addType:"addToBoards",board_id:null},errorUsers:!1,errorBoards:!1,saving:!1,isViewerOnly:!1}),computed:{fullAdminAccessNotice(){return this.$t("Full Admins have access to all boards by default, so no board selection is needed.")},existingMemberIds(){return new Set(this.users.map(e=>Number(e.ID)).filter(Boolean))},eligibleAjaxUsers(){return this.ajaxUsers.filter(e=>!this.existingMemberIds.has(Number(e.id)))},submittableMemberIds(){const e=this.selectedUserIds.map(e=>Number(e)).filter(e=>Number.isInteger(e)&&e>0);return[...new Set(e)].filter(e=>!this.existingMemberIds.has(e))}},watch:{selectedUserIds(e){(e||[]).length&&(this.errorUsers=!1)},"form.board_id"(e){e&&(this.errorBoards=!1)},"form.addType"(){this.errorBoards=!1,this.errorUsers=!1}},methods:{normalizeAjaxUser(e){return{id:Number(e.id),display_name:e.name||e.title||e.email||this.$t("Unknown User"),email:e.email||"",photo:e.photo||""}},handleUserSearchInput(){this.selectedUserIds=[],this.errorUsers=!1,this.queueFetchUsers()},queueFetchUsers(){this.searchTimer&&clearTimeout(this.searchTimer),this.searchTimer=setTimeout(()=>{this.fetchAjaxUsers()},250)},fetchAjaxUsers(){this.searchTimer&&(clearTimeout(this.searchTimer),this.searchTimer=null);const e=this.ajaxUsersRequestSeq+1,t=this.searchQuery;return this.ajaxUsersRequestSeq=e,this.ajaxUsersLoading=!0,this.$get("ajax-options",{search:t,option_key:"users"}).then(s=>{if(e!==this.ajaxUsersRequestSeq||t!==this.searchQuery)return;const a=Array.isArray(s.options)?s.options:[];this.ajaxUsers=a.map(e=>this.normalizeAjaxUser(e)).filter(e=>e.id),this.pruneSelectedUsers()}).catch(s=>{e===this.ajaxUsersRequestSeq&&t===this.searchQuery&&this.$handleError(s)}).finally(()=>{e===this.ajaxUsersRequestSeq&&t===this.searchQuery&&(this.ajaxUsersLoading=!1)})},pruneSelectedUsers(){this.selectedUserIds=this.submittableMemberIds},focusUserSearchInput(){this.$nextTick(()=>{setTimeout(()=>{if(!this.$refs.userSearchInput)return;if(this.$refs.userSearchInput.focus)return void this.$refs.userSearchInput.focus();const e=this.$refs.userSearchInput.$el?this.$refs.userSearchInput.$el.querySelector("input"):null;e&&e.focus()},0)})},setSaving(e){this.saving=e,this.$emit("savingChange",e)},addAsAdmin(){return this.setSaving(!0),this.$post("managers/add-admins",{user_ids:this.submittableMemberIds}).then(e=>{this.$notify.success({title:this.$t("Success"),message:e.message}),this.selectedUserIds=[],this.emitter.emit("addNewSuperAdmin"),this.closeCreateProjectDrawer()}).catch(e=>{this.$handleError(e)}).finally(()=>{this.setSaving(!1)})},addUsersToBoards(){return this.setSaving(!0),this.$post("managers/add-users-to-boards",{user_ids:this.submittableMemberIds,board_ids:[this.form.board_id],is_viewer_only:this.isViewerOnly?"yes":null}).then(e=>{this.$notify.success({title:this.$t("Success"),message:e.message}),this.selectedUserIds=[],this.form.board_id=null,this.closeCreateProjectDrawer()}).catch(e=>{this.$handleError(e)}).finally(()=>{this.setSaving(!1)})},closeCreateProjectDrawer(){this.$emit("closeDrawer")},save(){if(!this.saving)return 0===this.submittableMemberIds.length?(this.errorUsers=!0,void this.$notify.error({message:this.$t("Please select at least one new member")})):"addToBoards"!==this.form.addType||this.form.board_id?"addToBoards"===this.form.addType?this.addUsersToBoards():this.addAsAdmin():(this.errorBoards=!0,void this.$notify.error({message:this.$t("Please select a board")}))}},mounted(){this.fetchAjaxUsers()},beforeUnmount(){this.searchTimer&&clearTimeout(this.searchTimer)}},[["render",function(e,t,u,p,m,_){const k=b("Icons"),v=He,C=qe,T=Bt,S=gt,$=xt,V=Mt,A=Be,I=Le,D=bt,B=g("loading");return s(),a("div",fZ,[l(D,{class:"fbs-add-member-form","label-position":"top","require-asterisk-position":"right",model:m.form,onSubmit:t[5]||(t[5]=h(()=>{},["prevent"]))},{default:n(()=>[i("div",null,[l(S,{label:e.$t("Name or Email"),required:""},{default:n(()=>[i("div",_Z,[l(v,{ref:"userSearchInput",modelValue:m.searchQuery,"onUpdate:modelValue":t[0]||(t[0]=e=>m.searchQuery=e),placeholder:e.$t("Type name or email"),clearable:"",onInput:_.handleUserSearchInput,onClear:_.handleUserSearchInput},{prefix:n(()=>[i("span",kZ,[l(k,{"icon-name":"search"})])]),_:1},8,["modelValue","placeholder","onInput","onClear"]),i("div",vZ,o(e.$t("Available Users")),1),_.eligibleAjaxUsers.length?(s(),c(T,{key:0,modelValue:m.selectedUserIds,"onUpdate:modelValue":t[1]||(t[1]=e=>m.selectedUserIds=e),class:"fbs-add-member-member-list"},{default:n(()=>[(s(!0),a(r,null,d(_.eligibleAjaxUsers,e=>(s(),c(C,{key:e.id,label:e.id,class:"fbs-add-member-member-row fbs-add-member-member-checkbox"},{default:n(()=>[i("img",{class:"fbs-add-member-member-avatar",src:e.photo,alt:e.display_name,title:e.display_name},null,8,yZ),i("span",wZ,[i("span",CZ,o(e.display_name),1),i("span",TZ,o(e.email),1)])]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])):m.ajaxUsersLoading?f((s(),a("div",SZ,null,512)),[[B,m.ajaxUsersLoading]]):(s(),a("p",$Z,o(e.$t("No users found")),1))]),m.errorUsers?(s(),a("span",VZ,o(e.$t("Please select at least one new member")),1)):y("",!0)]),_:1},8,["label"]),l(S,{label:e.$t("Board"),required:""},{default:n(()=>[l(V,{modelValue:m.form.addType,"onUpdate:modelValue":t[2]||(t[2]=e=>m.form.addType=e),class:"fbs-add-member-access-options"},{default:n(()=>[l($,{label:"addToBoards",class:"fbs-add-member-access-card"},{default:n(()=>[i("span",AZ,[i("span",IZ,[l(k,{"icon-name":"user-line"})]),i("span",DZ,[i("span",BZ,o(e.$t("Board Member")),1),i("span",LZ,o(e.$t("Access to selected boards only")),1)])]),i("span",MZ,[l(k,{"icon-name":"check-small"})])]),_:1}),l($,{label:"fluentBoardsAdmin",class:"fbs-add-member-access-card"},{default:n(()=>[i("span",xZ,[i("span",PZ,[l(k,{"icon-name":"shield-star-line"})]),i("span",FZ,[i("span",EZ,o(e.$t("Full Admin Access")),1),i("span",UZ,o(e.$t("All boards, members & settings")),1)])]),i("span",OZ,[l(k,{"icon-name":"check-small"})])]),_:1})]),_:1},8,["modelValue"])]),_:1},8,["label"]),"addToBoards"===m.form.addType?(s(),a(r,{key:0},[l(S,{label:e.$t("Board"),required:""},{default:n(()=>[l(I,{placeholder:e.$t("Select Board"),modelValue:m.form.board_id,"onUpdate:modelValue":t[3]||(t[3]=e=>m.form.board_id=e),filterable:""},{default:n(()=>[(s(!0),a(r,null,d(u.boards,e=>(s(),c(A,{key:e.id,label:e.title,value:e.id},null,8,["label","value"]))),128))]),_:1},8,["placeholder","modelValue"]),m.errorBoards?(s(),a("span",RZ,o(e.$t("Please select a board")),1)):y("",!0)]),_:1},8,["label"]),l(C,{class:"fbs-settings-checkbox fbs-add-member-view-only",modelValue:m.isViewerOnly,"onUpdate:modelValue":t[4]||(t[4]=e=>m.isViewerOnly=e)},{default:n(()=>[w(o(e.$t("Grant access with view-only permissions.")),1)]),_:1},8,["modelValue"])],64)):(s(),a("div",NZ,[i("span",HZ,[l(k,{"icon-name":"shield-check-line"})]),i("p",null,o(_.fullAdminAccessNotice),1)]))])]),_:1},8,["model"])])}]]),zZ={class:"icon"},GZ={class:"fbs-manage-access-popover__content"},qZ={class:"fbs-manage-access-popover__title"},WZ={class:"fbs-manage-access-popover__label fbs_mb_4"},KZ={class:"fbs-manage-access-popover__label fbs_mb_4"},ZZ={class:"fbs-manage-access-popover__actions"};const YZ={class:"fbs-manage-member"},JZ={class:"fbs-manage-member-profile"},QZ=["src","title","alt"],XZ={class:"fbs-manage-member-profile__content"},eY={class:"fbs-settings-row__label fbs-manage-member-profile__name"},tY={class:"fbs-settings-row__description fbs-manage-member-profile__email"},sY={key:0,class:"fbs-manage-member-profile__actions"},aY={class:"icon"},iY={key:0,class:"fbs-manage-member-access fbs-manage-member-access--all"},oY={key:0},lY={key:1},nY={key:1,class:"fbs-manage-member-access"},rY={class:"fbs-manage-member-access__top"},dY={key:0,class:"fbs-settings-table-shell fbs-manage-member-access__table-shell"},cY={class:"fbs-settings-native-table fbs-manage-member-access__table"},hY={class:"fbs-settings-table-header fbs-manage-member-access__header--board"},uY={class:"fbs-settings-table-header fbs-manage-member-access__header--role"},pY={class:"fbs-settings-table-cell fbs-manage-member-access__board-cell"},mY={class:"fbs-manage-member-access__board-title"},bY={class:"fbs-settings-table-cell fbs-manage-member-access__role-cell"},gY={type:"button",class:"fbs-manage-member-access__role-trigger"},fY={class:"fbs-manage-member-access__role-label"},_Y={key:1,class:"fbs-manage-member-access__empty"};const kY={class:"fbs-member-role-chips"},vY=["href","title"],yY=["title"],wY=["aria-label"],CY={class:"fbs-member-role-chip-popover__content"},TY=["href","title"],SY=["title"];const $Y={class:"fbs-member-role-table-shell"},VY={class:"screen-reader-text"},AY={class:"icon"},IY={class:"fbs-settings-table-empty fbs-member-role-table__empty"};const DY={class:"fbs_layout_width"},BY={key:1,class:"fbs-settings-page-body fbs-settings_members_role"},LY={class:"fbs-member-role-wrapper"},MY={class:"fbs_table_wrapper"},xY={class:"fbs_table_header"},PY={class:"fbs_table_header_inner"},FY={class:"fbs_table_header_inner_left"},EY={class:"icon"},UY={class:"fbs_table_header_inner_actions"},OY={class:"icon"},RY={class:"fbs_table_body"},NY={class:"dialog-footer justify-end"},HY={class:"dialog-footer justify-end"};const jY=Ss({name:"MembersRole",components:{Icons:$s,ManageMember:Ss({name:"ManageMember",emits:["saved","savingChange"],props:{user:{type:Object,required:!0},boards:{type:Array,default:()=>[]}},components:{Icons:$s,AddBoardAccessPopover:Ss({name:"AddBoardAccessPopover",components:{Icons:$s},emits:["add"],props:{boards:{type:Array,default:()=>[]}},data:()=>({visible:!1,form:{boardId:"",role:"member"}}),computed:{canAdd(){return!!this.form.boardId&&!!this.form.role}},methods:{resetForm(){this.form.boardId="",this.form.role="member"},closePopover(){this.visible=!1},addBoard(){if(!this.canAdd)return;const e=this.boards.find(e=>Number(e.id)===Number(this.form.boardId));e&&(this.$emit("add",{id:e.id,title:e.title,role:this.form.role}),this.closePopover())}}},[["render",function(e,t,u,p,m,g){const f=b("Icons"),_=ze,k=Be,v=Le,y=gt,C=bt,T=je;return s(),c(T,{visible:m.visible,"onUpdate:visible":t[3]||(t[3]=e=>m.visible=e),disabled:!u.boards.length,placement:"bottom-start",trigger:"click",width:"360","popper-class":"fbs-manage-access-popover",onHide:g.resetForm},{reference:n(()=>[l(_,{link:"",class:"no-underline hover-underline",disabled:!u.boards.length},{default:n(()=>[i("span",zZ,[l(f,{"icon-name":"plus"})]),w(" "+o(e.$t("Add New Board")),1)]),_:1},8,["disabled"])]),default:n(()=>[i("div",GZ,[i("h4",qZ,o(e.$t("Add new board")),1),l(C,{class:"fbs-manage-access-popover__form","label-width":"0",onSubmit:t[2]||(t[2]=h(()=>{},["prevent"]))},{default:n(()=>[l(y,{class:"fbs-manage-access-popover__field"},{default:n(()=>[i("label",WZ,o(e.$t("Board")),1),l(v,{modelValue:m.form.boardId,"onUpdate:modelValue":t[0]||(t[0]=e=>m.form.boardId=e),filterable:"",teleported:!1,placeholder:e.$t("Select Board")},{default:n(()=>[(s(!0),a(r,null,d(u.boards,e=>(s(),c(k,{key:e.id,label:e.title,value:e.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])]),_:1}),l(y,{class:"fbs-manage-access-popover__field"},{default:n(()=>[i("label",KZ,o(e.$t("Role")),1),l(v,{modelValue:m.form.role,"onUpdate:modelValue":t[1]||(t[1]=e=>m.form.role=e),teleported:!1,placeholder:e.$t("Select Role")},{default:n(()=>[l(k,{label:e.$t("Viewer"),value:"viewer"},null,8,["label"]),l(k,{label:e.$t("Member"),value:"member"},null,8,["label"]),l(k,{label:e.$t("Manager"),value:"admin"},null,8,["label"])]),_:1},8,["modelValue","placeholder"])]),_:1})]),_:1}),i("div",ZZ,[l(_,{class:"fbs_mr_0 fbs_ml_0",onClick:g.closePopover},{default:n(()=>[w(o(e.$t("Cancel")),1)]),_:1},8,["onClick"]),l(_,{type:"primary",class:"fbs_mr_0 fbs_ml_0",disabled:!g.canAdd,onClick:g.addBoard},{default:n(()=>[w(o(e.$t("Add")),1)]),_:1},8,["disabled","onClick"])])])]),_:1},8,["visible","disabled","onHide"])}]]),EmptyState:Vs,ArrowDown:it},data:()=>({isWorking:!1,accessRows:[]}),computed:{hasAllAccess(){return this.user.is_super||this.user.is_wpadmin},availableBoards(){const e=this.accessRows.map(e=>Number(e.id));return this.boards.filter(t=>!e.includes(Number(t.id)))},rolePayload(){return this.accessRows.reduce((e,t)=>(["admin","member","viewer"].includes(t.role)&&(e[t.id]=t.role),e),{})}},watch:{user:{immediate:!0,handler(){this.initializeAccessRows()}}},methods:{normalizeAccessRow(e){const t=["admin","member","viewer"].includes(e.role)?e.role:"member";return{id:Number(e.id),title:e.title||this.$t("Untitled Board"),role:t}},initializeAccessRows(){const e=Array.isArray(this.user.boards)?this.user.boards:[];this.accessRows=e.map(e=>this.normalizeAccessRow(e))},addAccessRow(e){const t=Number(e.id);this.accessRows.some(e=>Number(e.id)===t)||this.accessRows.push(this.normalizeAccessRow(e))},handleRoleChange(e){""===e.role&&(this.accessRows=this.accessRows.filter(t=>Number(t.id)!==Number(e.id)))},roleLabel(e){return{admin:this.$t("Manager"),member:this.$t("Member"),viewer:this.$t("Viewer")}[e]||this.$t("No Access")},updateBoardRole(e,t){e.role="no_access"===t?"":t,this.handleRoleChange(e)},setSuper(){this.isWorking=!0,this.$emit("savingChange",!0),this.$post("managers/add-admins",{user_ids:[this.user.ID]}).then(e=>{this.$notify.success({title:this.$t("Success"),message:e.message}),this.user.is_super=!0,this.$emit("saved",this.user)}).catch(e=>{this.$handleError(e)}).finally(()=>{this.isWorking=!1,this.$emit("savingChange",!1)})},removeSuper(){this.isWorking=!0,this.$emit("savingChange",!0),this.$post("managers/remove-admins",{user_ids:[this.user.ID]}).then(e=>{this.user.is_super=!1,this.$notify.success({title:this.$t("Success"),message:e.message}),this.$emit("saved",this.user)}).catch(e=>{this.$handleError(e)}).finally(()=>{this.isWorking=!1,this.$emit("savingChange",!1)})},saveAccess(){return this.hasAllAccess?Promise.resolve():(this.isWorking=!0,this.$emit("savingChange",!0),this.$post("managers/roles/"+this.user.ID,{roles:this.rolePayload}).then(e=>{this.user.boards=this.accessRows.map(e=>Object.assign({},e)),this.$notify.success({title:this.$t("Success"),message:e.message}),this.$emit("saved",this.user)}).catch(e=>{throw this.$handleError(e),e}).finally(()=>{this.isWorking=!1,this.$emit("savingChange",!1)}))}}},[["render",function(e,t,h,u,p,m){const g=ze,f=b("Icons"),_=b("add-board-access-popover"),k=b("ArrowDown"),v=Ne,C=xe,T=Me,S=Pe,$=b("empty-state");return s(),a("div",YZ,[i("div",JZ,[i("img",{class:"fbs-manage-member-profile__avatar",src:h.user.photo,title:h.user.display_name,alt:h.user.display_name},null,8,QZ),i("div",XZ,[i("span",eY,o(h.user.display_name),1),i("span",tY,o(h.user.email),1)]),h.user.is_wpadmin?y("",!0):(s(),a("div",sY,[h.user.is_super?(s(),c(g,{key:1,plain:"",type:"danger",size:"small",loading:p.isWorking,onClick:t[1]||(t[1]=e=>m.removeSuper(h.user.ID))},{default:n(()=>[i("span",aY,[l(f,{"icon-name":"delete"})]),w(" "+o(e.$t("Demote from FluentBoards Admin")),1)]),_:1},8,["loading"])):(s(),c(g,{key:0,size:"small",loading:p.isWorking,onClick:t[0]||(t[0]=e=>m.setSuper(h.user.ID))},{default:n(()=>[w(o(e.$t("Promote to Full Admin")),1)]),_:1},8,["loading"]))]))]),m.hasAllAccess?(s(),a("div",iY,[h.user.is_wpadmin?(s(),a("p",oY,o(e.$t("member_full_access_notice")),1)):(s(),a("p",lY,o(e.$t("As a Board Admin, this user will get access to all the boards and resources")),1))])):(s(),a("div",nY,[i("div",rY,[i("h3",null,o(e.$t("Manage Access")),1),l(_,{boards:m.availableBoards,onAdd:m.addAccessRow},null,8,["boards","onAdd"])]),p.accessRows.length?(s(),a("div",dY,[i("table",cY,[i("thead",null,[i("tr",null,[i("th",hY,o(e.$t("Board")),1),i("th",uY,o(e.$t("Role")),1)])]),i("tbody",null,[(s(!0),a(r,null,d(p.accessRows,t=>(s(),a("tr",{key:t.id,class:"fbs-manage-member-access__row"},[i("td",pY,[i("span",mY,o(t.title),1)]),i("td",bY,[l(S,{class:"fbs-manage-member-access__role-dropdown",trigger:"click",onCommand:e=>m.updateBoardRole(t,e)},{dropdown:n(()=>[l(T,{class:"fbs-manage-member-access__role-menu"},{default:n(()=>[l(C,{command:"no_access"},{default:n(()=>[w(o(e.$t("No Access")),1)]),_:1}),l(C,{command:"viewer"},{default:n(()=>[w(o(e.$t("Viewer")),1)]),_:1}),l(C,{command:"member"},{default:n(()=>[w(o(e.$t("Member")),1)]),_:1}),l(C,{command:"admin"},{default:n(()=>[w(o(e.$t("Manager")),1)]),_:1})]),_:1})]),default:n(()=>[i("button",gY,[i("span",fY,o(m.roleLabel(t.role)),1),l(v,{class:"fbs-manage-member-access__role-arrow"},{default:n(()=>[l(k)]),_:1})])]),_:2},1032,["onCommand"])])]))),128))])])])):(s(),a("div",_Y,[l($,{message:"No board access yet","icon-width":84,"icon-height":64})]))]))])}]]),AddMember:jZ,MemberRoleTable:Ss({name:"MemberRoleTable",components:{Icons:$s,EmptyState:Vs,MemberRoleAccessChips:Ss({name:"MemberRoleAccessChips",props:{user:{type:Object,required:!0},baseUrl:{type:String,default:""},visibleCount:{type:Number,default:2}},computed:{accessChips(){if(this.user.is_wpadmin)return[{key:`${this.user.ID}-all-access`,label:this.$t("All Access")},{key:`${this.user.ID}-wp-admin`,label:this.$t("WordPress Administrator")}];if(this.user.is_super)return[{key:`${this.user.ID}-all-access`,label:this.$t("All Access")},{key:`${this.user.ID}-fbs-admin`,label:this.$t("FluentBoards Admin")}];const e=Array.isArray(this.user.boards)?this.user.boards:[];return e.length?e.map(e=>({key:`${this.user.ID}-${e.id}`,label:e.title||this.$t("Untitled Board"),url:this.boardUrl(e)})):[{key:`${this.user.ID}-no-access`,label:this.$t("No Access")}]},visibleChips(){return this.accessChips.slice(0,this.visibleCount)},hiddenChips(){return this.accessChips.slice(this.visibleCount)}},methods:{boardUrl(e){return`${this.baseUrl}boards/${e.id}`},truncateChipLabel:e=>!e||e.length<=20?e:`${e.substring(0,20)}...`}},[["render",function(e,t,l,h,u,p){const m=je;return s(),a("div",kY,[(s(!0),a(r,null,d(p.visibleChips,e=>(s(),a(r,{key:e.key},[e.url?(s(),a("a",{key:0,class:"fbs-settings-chip fbs-member-role-chip",href:e.url,title:e.label},o(p.truncateChipLabel(e.label)),9,vY)):(s(),a("span",{key:1,class:"fbs-settings-chip fbs-member-role-chip",title:e.label},o(p.truncateChipLabel(e.label)),9,yY))],64))),128)),p.hiddenChips.length?(s(),c(m,{key:0,placement:"bottom",trigger:"click","popper-class":"fbs-member-role-chip-popover",width:272},{reference:n(()=>[i("button",{type:"button",class:"fbs-settings-chip fbs-member-role-chip fbs-member-role-chip--overflow","aria-label":e.$t("Show more roles")},o(p.hiddenChips.length)+"+ ",9,wY)]),default:n(()=>[i("div",CY,[(s(!0),a(r,null,d(p.hiddenChips,e=>(s(),a(r,{key:e.key},[e.url?(s(),a("a",{key:0,class:"fbs-settings-chip fbs-member-role-chip",href:e.url,title:e.label},o(p.truncateChipLabel(e.label)),9,TY)):(s(),a("span",{key:1,class:"fbs-settings-chip fbs-member-role-chip",title:e.label},o(p.truncateChipLabel(e.label)),9,SY))],64))),128))])]),_:1})):y("",!0)])}]])},props:{users:{type:Array,default:()=>[]},baseUrl:{type:String,default:""}},emits:["manage"]},[["render",function(e,t,r,d,c,h){const u=es,p=b("MemberRoleAccessChips"),m=b("Icons"),g=ze,f=b("empty-state"),_=ss;return s(),a("div",$Y,[l(_,{class:"fbs-member-role-table",data:r.users,"row-key":"ID"},{empty:n(()=>[i("div",IY,[l(f,{message:"No members found","icon-width":84,"icon-height":64})])]),default:n(()=>[l(u,{label:e.$t("ID"),width:"120"},{default:n(({row:e})=>[w(" #"+o(e.ID),1)]),_:1},8,["label"]),l(u,{label:e.$t("Name"),prop:"display_name",width:"180","show-overflow-tooltip":""},null,8,["label"]),l(u,{label:e.$t("Email"),prop:"email","min-width":"282","show-overflow-tooltip":""},null,8,["label"]),l(u,{label:e.$t("Role"),"min-width":"282"},{default:n(({row:e})=>[l(p,{user:e,"base-url":r.baseUrl},null,8,["user","base-url"])]),_:1},8,["label"]),l(u,{width:"80",align:"center"},{header:n(()=>[i("span",VY,o(e.$t("Actions")),1)]),default:n(({row:t})=>[l(g,{text:"",class:"mini only-icon-btn","aria-label":e.$t("Manage"),title:e.$t("Manage"),onClick:s=>e.$emit("manage",t)},{default:n(()=>[i("span",AY,[l(m,{"icon-name":"pen"})])]),_:1},8,["aria-label","title","onClick"])]),_:1})]),_:1},8,["data"])])}]]),SettingsProNotice:rD},data:()=>({users:[],boards:[],loading:!1,search_input:"",drawerVisible:!1,clickedUser:null,drawerAddMember:!1,addMemberSaving:!1,manageMemberSaving:!1}),computed:{filteredUsers(){if(!this.search_input)return this.users;const e=this.search_input.toLowerCase();return this.users.filter(t=>this.userMatchesSearch(t,e))},selectedUserHasAllAccess(){return!(!this.clickedUser||!this.clickedUser.is_super&&!this.clickedUser.is_wpadmin)}},beforeMount(){"no"==this.appVars.is_onboarded&&"roadmap"!=this.$route.name&&this.$router.push({name:"onboarding",params:{}})},methods:{getAllFluentTasksUsers(){this.loading=!0,this.$get("managers").then(e=>{this.users=e.users,this.boards=e.boards}).catch(e=>{this.handleError(e)}).finally(()=>{this.loading=!1})},showBoardsByUser(e){this.clickedUser=e,this.drawerVisible=!0},requestCloseAddMemberDrawer(){this.addMemberSaving||(this.drawerAddMember=!1)},completeAddMember(){this.drawerAddMember=!1},beforeCloseAddMemberDrawer(e){this.addMemberSaving||e()},handleAddMemberDrawerClose(){this.addMemberSaving=!1,this.getAllFluentTasksUsers()},submitAddMember(){this.$refs.addMemberForm&&!this.addMemberSaving&&this.$refs.addMemberForm.save()},focusAddMemberSearch(){this.$refs.addMemberForm&&this.$refs.addMemberForm.focusUserSearchInput&&this.$refs.addMemberForm.focusUserSearchInput()},submitManageMemberAccess(){if(!this.$refs.manageMember||this.manageMemberSaving)return;const e=this.$refs.manageMember.saveAccess();e&&"function"==typeof e.catch&&e.catch(()=>{})},handleManageMemberSaved(e){this.clickedUser=e},beforeCloseManageUserPermissionDrawer(e){this.manageMemberSaving||e()},userMatchesSearch(e,t){const s=(Array.isArray(e.boards)?e.boards:[]).some(e=>(e.title||"").toLowerCase().includes(t));return String(e.ID).includes(t)||(e.display_name||"").toLowerCase().includes(t)||(e.email||"").toLowerCase().includes(t)||s},requestCloseManageUserPermissionDrawer(){this.manageMemberSaving||(this.drawerVisible=!1)},handleManageUserPermissionDrawerClose(){this.manageMemberSaving||(this.getAllFluentTasksUsers(),this.clickedUser=null)}},mounted(){this.appVars.has_pro&&this.getAllFluentTasksUsers()}},[["render",function(e,t,r,d,h,u){const p=b("SettingsProNotice"),m=b("Icons"),g=He,f=ze,_=At,k=b("MemberRoleTable"),v=b("AddMember"),C=Kt,T=b("manage-member");return s(),a("div",DY,[e.appVars.has_pro?(s(),a("div",BY,[i("div",LY,[i("div",MY,[i("div",xY,[i("div",PY,[i("div",FY,[l(g,{modelValue:h.search_input,"onUpdate:modelValue":t[0]||(t[0]=e=>h.search_input=e),size:"small",placeholder:e.$t("Search managers...")},{prefix:n(()=>[i("span",EY,[l(m,{"icon-name":"search"})])]),_:1},8,["modelValue","placeholder"])]),i("div",UY,[l(f,{type:"primary",size:"small",onClick:t[1]||(t[1]=e=>h.drawerAddMember=!0)},{default:n(()=>[i("span",OY,[l(m,{"icon-name":"plus"})]),w(" "+o(e.$t("Add Members")),1)]),_:1})])])]),i("div",RY,[h.loading?(s(),c(_,{key:0,animated:"",rows:6,class:"fbs-member-role-skeleton"})):(s(),c(k,{key:1,users:u.filteredUsers,"base-url":e.appVars.base_url,onManage:u.showBoardsByUser},null,8,["users","base-url","onManage"]))])])]),l(C,{class:"fbs_right_sidebar fbs-add-member-drawer",onClose:u.handleAddMemberDrawerClose,onOpened:u.focusAddMemberSearch,modelValue:h.drawerAddMember,"onUpdate:modelValue":t[3]||(t[3]=e=>h.drawerAddMember=e),"destroy-on-close":"","before-close":u.beforeCloseAddMemberDrawer,"close-on-click-modal":!h.addMemberSaving,"close-on-press-escape":!h.addMemberSaving,"show-close":!h.addMemberSaving,size:"min(614px, 100vw)","append-to-body":"","body-class":"fbs-settings-drawer-body fbs-add-member-drawer__body","footer-class":"fbs-settings-drawer-footer fbs-add-member-drawer__footer",direction:e.appVars.is_rtl?"ltr":"rtl",title:e.$t("Add member")},{footer:n(()=>[i("div",NY,[l(f,{disabled:h.addMemberSaving,onClick:u.requestCloseAddMemberDrawer},{default:n(()=>[w(o(e.$t("Cancel")),1)]),_:1},8,["disabled","onClick"]),l(f,{type:"primary",loading:h.addMemberSaving,onClick:u.submitAddMember},{default:n(()=>[w(o(e.$t("Add Member")),1)]),_:1},8,["loading","onClick"])])]),default:n(()=>[l(v,{ref:"addMemberForm",boards:h.boards,users:h.users,onCloseDrawer:u.completeAddMember,onSavingChange:t[2]||(t[2]=e=>h.addMemberSaving=e)},null,8,["boards","users","onCloseDrawer"])]),_:1},8,["onClose","onOpened","modelValue","before-close","close-on-click-modal","close-on-press-escape","show-close","direction","title"]),l(C,{modelValue:h.drawerVisible,"onUpdate:modelValue":t[5]||(t[5]=e=>h.drawerVisible=e),size:"50%","before-close":u.beforeCloseManageUserPermissionDrawer,"close-on-click-modal":!h.manageMemberSaving,"close-on-press-escape":!h.manageMemberSaving,onClose:u.handleManageUserPermissionDrawerClose,class:"fbs-manage-user-permission-drawer","body-class":"fbs-settings-drawer-body fbs-manage-user-permission-drawer__body","footer-class":"fbs-settings-drawer-footer fbs-manage-user-permission-drawer__footer","show-close":!h.manageMemberSaving,"append-to-body":"",direction:e.appVars.is_rtl?"ltr":"rtl",title:e.$t("Manage User Permissions")},{footer:n(()=>[i("div",HY,[l(f,{disabled:h.manageMemberSaving,onClick:u.requestCloseManageUserPermissionDrawer},{default:n(()=>[w(o(e.$t("Cancel")),1)]),_:1},8,["disabled","onClick"]),u.selectedUserHasAllAccess?y("",!0):(s(),c(f,{key:0,type:"primary",loading:h.manageMemberSaving,onClick:u.submitManageMemberAccess},{default:n(()=>[w(o(e.$t("Update Access")),1)]),_:1},8,["loading","onClick"]))])]),default:n(()=>[h.clickedUser?(s(),c(T,{key:0,ref:"manageMember",user:h.clickedUser,boards:h.boards,onSavingChange:t[4]||(t[4]=e=>h.manageMemberSaving=e),onSaved:u.handleManageMemberSaved},null,8,["user","boards","onSaved"])):y("",!0)]),_:1},8,["modelValue","before-close","close-on-click-modal","close-on-press-escape","onClose","show-close","direction","title"])])):(s(),c(p,{key:0,title:e.$t("Member Role"),description:e.$t("Invite non-admin users and manage board access roles with Fluent Boards Pro."),"utm-content":"feature_lock_member_roles","button-label":e.$t("Upgrade to Pro")},null,8,["title","description","button-label"]))])}]]),zY={key:1,class:"fbs-roadmap-settings-panel"},GY={class:"fbs-general-settings-wrapper fbs-roadmap-settings-wrapper"},qY={class:"fbs-settings-form-panel fbs-roadmap-settings-card"},WY={class:"fbs-roadmap-settings-fields"},KY={class:"fbs-roadmap-settings-section"},ZY={class:"fbs-roadmap-settings-switch-line"},YY={class:"fbs-roadmap-settings-switch-label"},JY={key:0,class:"fbs-roadmap-settings-dependent-options"},QY={key:1,class:"fbs-roadmap-settings-crm-fields"},XY={class:"fbs-roadmap-settings-field-label"},eJ={class:"fbs-roadmap-settings-field-label"},tJ={class:"fbs-roadmap-settings-section"},sJ={class:"fbs-roadmap-settings-switch-line"},aJ={class:"fbs-roadmap-settings-switch-label"},iJ={key:0,class:"fbs-roadmap-settings-dependent-options"},oJ={class:"fbs-roadmap-settings-section"},lJ={class:"fbs-roadmap-settings-switch-line"},nJ={class:"fbs-roadmap-settings-switch-label"},rJ={key:0,class:"fbs-roadmap-settings-dependent-options"},dJ={class:"fbs-roadmap-settings-auth-section"},cJ={class:"fbs-roadmap-settings-auth-label"},hJ={class:"fbs-roadmap-settings-smartcode-hint"};const uJ=Ss({name:"RoadmapSettings",components:{SettingsProNotice:rD},inject:{setSettingsHeaderAction:{default:null},clearSettingsHeaderAction:{default:null}},data:()=>({saving:!1,loading:!1,settings:{enable_new_idea_submission:!0,new_idea_require_auth:!0,enable_new_comment_submission:!0,new_idea_comment_require_auth:!0,enable_new_vote_submission:!0,new_idea_vote_require_auth:!1,add_user_to_crm_new_idea_submission:!1,crm_tags:[],crm_lists:[],auth_html:"<p>Please login to vote, comment and add new ideas.</p> <a href='{login_url}'>Login</a>"},crmTags:window.fluentAddonVars.available_crm_tags||[],crmLists:window.fluentAddonVars.available_crm_lists||[],fluent_crm_exists:window.fluentAddonVars.fluent_crm_exists,fluent_roadmap_exists:window.fluentAddonVars.fluent_roadmap_exists}),watch:{loading(){this.registerHeaderAction()},saving(){this.registerHeaderAction()}},mounted(){this.registerHeaderAction(),this.globalSettings()},beforeUnmount(){this.clearHeaderAction()},methods:{registerHeaderAction(){this.appVars.has_pro&&"function"==typeof this.setSettingsHeaderAction&&this.setSettingsHeaderAction({routeName:this.$route.name,type:"save",loading:this.saving,disabled:this.loading,handler:this.saveSettings,wrapperClass:"fbs-roadmap-settings-subtopbar__actions"})},clearHeaderAction(){"function"==typeof this.clearSettingsHeaderAction&&this.clearSettingsHeaderAction(this.$route.name)},globalSettings(){this.loading=!0,this.$get("admin/roadmap/settings").then(e=>{this.updateSettings(e.settings)}).catch(e=>{this.$handleError(e)}).finally(()=>{this.loading=!1})},saveSettings(){this.saving=!0;const e={};Object.keys(this.settings).forEach(t=>{e[t]="auth_html"!==t&&"crm_tags"!==t&&"crm_lists"!==t?this.trueToYesConverter(this.settings[t]):this.settings[t]}),this.$post("admin/roadmap/settings",{settings:e}).then(e=>{this.$notify({title:this.$t("Success"),message:e.message,type:"success"})}).catch(e=>{this.$handleError(e)}).finally(()=>{this.saving=!1})},trueToYesConverter:e=>e?"yes":"no",yesToTrueConverter:e=>"yes"==e,updateSettings(e){"object"==typeof e&&null!==e&&Object.keys(e).forEach(t=>{Object.prototype.hasOwnProperty.call(this.settings,t)&&(this.settings[t]="auth_html"===t||"crm_tags"===t||"crm_lists"===t?e[t]:this.yesToTrueConverter(e[t]))})}}},[["render",function(e,t,u,p,m,_){const k=b("SettingsProNotice"),v=Jt,C=qe,T=Be,S=Le,$=He,V=bt,A=g("loading");return e.appVars.has_pro?(s(),a("div",zY,[f((s(),a("div",GY,[i("div",qY,[m.loading?y("",!0):(s(),c(V,{key:0,class:"fbs-roadmap-settings-form","label-position":"top",onSubmit:t[10]||(t[10]=h(()=>{},["prevent"]))},{default:n(()=>[i("div",WY,[i("section",KY,[i("div",ZY,[l(v,{modelValue:m.settings.enable_new_idea_submission,"onUpdate:modelValue":t[0]||(t[0]=e=>m.settings.enable_new_idea_submission=e),class:"fbs-settings-switch",size:"small"},null,8,["modelValue"]),i("span",YY,o(e.$t("Enable idea submission")),1)]),m.settings.enable_new_idea_submission?(s(),a("div",JY,[l(C,{modelValue:m.settings.new_idea_require_auth,"onUpdate:modelValue":t[1]||(t[1]=e=>m.settings.new_idea_require_auth=e),class:"fbs-settings-checkbox fbs-roadmap-settings-checkbox"},{default:n(()=>[w(o(e.$t("User need to be logged in to submit a new idea")),1)]),_:1},8,["modelValue"]),m.fluent_crm_exists&&m.fluent_roadmap_exists?(s(),c(C,{key:0,modelValue:m.settings.add_user_to_crm_new_idea_submission,"onUpdate:modelValue":t[2]||(t[2]=e=>m.settings.add_user_to_crm_new_idea_submission=e),class:"fbs-settings-checkbox fbs-roadmap-settings-checkbox"},{default:n(()=>[w(o(e.$t("Add users to FluentCRM when a new idea is submitted")),1)]),_:1},8,["modelValue"])):y("",!0),m.settings.add_user_to_crm_new_idea_submission&&m.fluent_crm_exists&&m.fluent_roadmap_exists?(s(),a("div",QY,[i("label",XY,[w(o(e.$t("Select CRM Tags"))+" ",1),l(S,{modelValue:m.settings.crm_tags,"onUpdate:modelValue":t[3]||(t[3]=e=>m.settings.crm_tags=e),class:"fbs-settings-control fbs-roadmap-settings-select",multiple:"",placeholder:e.$t("Select tags")},{default:n(()=>[(s(!0),a(r,null,d(m.crmTags,e=>(s(),c(T,{key:e.id,label:e.title,value:String(e.id)},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])]),i("label",eJ,[w(o(e.$t("Select CRM Lists"))+" ",1),l(S,{modelValue:m.settings.crm_lists,"onUpdate:modelValue":t[4]||(t[4]=e=>m.settings.crm_lists=e),class:"fbs-settings-control fbs-roadmap-settings-select",multiple:"",placeholder:e.$t("Select lists")},{default:n(()=>[(s(!0),a(r,null,d(m.crmLists,e=>(s(),c(T,{key:e.id,label:e.title,value:String(e.id)},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])])):y("",!0)])):y("",!0)]),t[11]||(t[11]=i("div",{class:"fbs-roadmap-settings-divider"},null,-1)),i("section",tJ,[i("div",sJ,[l(v,{modelValue:m.settings.enable_new_comment_submission,"onUpdate:modelValue":t[5]||(t[5]=e=>m.settings.enable_new_comment_submission=e),class:"fbs-settings-switch",size:"small"},null,8,["modelValue"]),i("span",aJ,o(e.$t("Enable comment submission")),1)]),m.settings.enable_new_comment_submission?(s(),a("div",iJ,[l(C,{modelValue:m.settings.new_idea_comment_require_auth,"onUpdate:modelValue":t[6]||(t[6]=e=>m.settings.new_idea_comment_require_auth=e),class:"fbs-settings-checkbox fbs-roadmap-settings-checkbox"},{default:n(()=>[w(o(e.$t("User need to be logged in to add a comment")),1)]),_:1},8,["modelValue"])])):y("",!0)]),t[12]||(t[12]=i("div",{class:"fbs-roadmap-settings-divider"},null,-1)),i("section",oJ,[i("div",lJ,[l(v,{modelValue:m.settings.enable_new_vote_submission,"onUpdate:modelValue":t[7]||(t[7]=e=>m.settings.enable_new_vote_submission=e),class:"fbs-settings-switch",size:"small"},null,8,["modelValue"]),i("span",nJ,o(e.$t("Enable vote submission")),1)]),m.settings.enable_new_vote_submission?(s(),a("div",rJ,[l(C,{modelValue:m.settings.new_idea_vote_require_auth,"onUpdate:modelValue":t[8]||(t[8]=e=>m.settings.new_idea_vote_require_auth=e),class:"fbs-settings-checkbox fbs-roadmap-settings-checkbox"},{default:n(()=>[w(o(e.$t("User need to be logged in to vote for an idea")),1)]),_:1},8,["modelValue"])])):y("",!0)]),t[13]||(t[13]=i("div",{class:"fbs-roadmap-settings-divider"},null,-1)),i("section",dJ,[i("label",cJ,o(e.$t("Require Auth Content")),1),l($,{modelValue:m.settings.auth_html,"onUpdate:modelValue":t[9]||(t[9]=e=>m.settings.auth_html=e),class:"fbs-settings-textarea fbs-roadmap-settings-auth-textarea",type:"textarea",rows:4,placeholder:e.$t("Please enter the content")},null,8,["modelValue","placeholder"]),i("p",hJ,o(e.$t("Available smartcode: {current_url}")),1)])])]),_:1}))])])),[[A,m.loading]])])):(s(),c(k,{key:0,title:e.$t("Roadmap"),description:e.$t("Collect ideas, votes, and public feedback using Roadmap in Fluent Boards Pro."),"utm-content":"feature_lock_roadmap","button-label":e.$t("Upgrade to Pro")},null,8,["title","description","button-label"]))}]]),pJ=["aria-label"],mJ={class:"fbs_member_sidebar_header--title fbs-section-sidebar__title"},bJ={class:"fbs_menu_title fbs-section-sidebar__label"},gJ={class:"menu_right_icon"},fJ={class:"fbs_member_content"},_J={class:"fbs_member_topbar"},kJ={class:"fbs_member_topbar--title"},vJ=["aria-label"],yJ={class:"fbs_member_body"},wJ={class:"fbs_layout_width"};const CJ=Ss({name:"Member",inject:["eventBus"],components:{Icons:$s,CustomIcon:ml},data:()=>({userId:null,isSidebarCollapsed:!1,isMenuHovered:!1,isMobileOpen:!1}),mounted(){this.userId=this.$route.params.user_id},computed:{currentPageTitle(){const e=this.sidebarMenus.find(e=>e.path===this.$route.path);return e?e.title:""},sidebarMenus(){const e=[{title:"Overview",path:`/member/${this.userId}/overview`,icon:"overview"},{title:"Tasks",path:`/member/${this.userId}/tasks`,icon:"task"},{title:"Activities",path:`/member/${this.userId}/activities`,icon:"activities"}];return this.appVars.me&&this.appVars.me.id==this.userId&&(e.push({title:"Notifications",path:`/member/${this.userId}/preferences`,icon:"notifications"}),e.push({title:"Layouts",path:`/member/${this.userId}/layouts`,icon:"layout"})),e}},methods:{toggleSidebar(){window.innerWidth<=768?this.isMobileOpen=!1:(this.isMenuHovered=!1,this.isSidebarCollapsed=!this.isSidebarCollapsed)},changeRoute(e="overview"){this.$router.push({path:`/member/${this.userId}/${e}`})}},watch:{$route(e,t){if(window.innerWidth<=768&&(this.isMobileOpen=!1),e.params.user_id!=t.params.user_id){this.userId=e.params.user_id;e.path.split("/")[3]||this.changeRoute()}}}},[["render",function(e,t,h,u,p,m){const g=b("Icons"),f=We,_=vs,v=ws,y=b("router-view");return s(),a("div",{class:k(["fbs_member_page fbs-section-page",{"is-collapsed":p.isSidebarCollapsed}])},[i("div",{class:k(["fbs_member_sidebar fbs-section-sidebar",{"is-collapsed":p.isSidebarCollapsed,"is-hover-expanded":p.isMenuHovered,"is-open":p.isMobileOpen}])},[i("div",{class:k(["fbs_member_sidebar_header fbs-section-sidebar__header",{"is-collapsed":p.isSidebarCollapsed}])},[l(f,{enterable:!1,transition:"none",content:p.isSidebarCollapsed?e.$t("Open Sidebar"):e.$t("Close Sidebar"),placement:e.appVars.is_rtl?"left":"right"},{default:n(()=>[i("button",{type:"button",class:"fbs_member_sidebar_header--btn fbs-section-sidebar__toggle","aria-label":p.isSidebarCollapsed?e.$t("Open Sidebar"):e.$t("Close Sidebar"),onClick:t[0]||(t[0]=(...e)=>m.toggleSidebar&&m.toggleSidebar(...e))},[l(g,{"icon-name":"sidebar"})],8,pJ)]),_:1},8,["content","placement"]),i("div",mJ,o(e.$t("Profile")),1)],2),l(v,{class:"fbs-section-sidebar__nav",onMouseenter:t[1]||(t[1]=e=>p.isMenuHovered=!0),onMouseleave:t[2]||(t[2]=e=>p.isMenuHovered=!1),"default-active":e.$route.path,router:!0},{default:n(()=>[(s(!0),a(r,null,d(m.sidebarMenus,t=>(s(),c(_,{key:t.path,class:"fbs-section-sidebar__item",index:t.path,title:e.$t(t.title)},{default:n(()=>[l(g,{"icon-name":t.icon,class:"fbs_menu_icon fbs-section-sidebar__icon"},null,8,["icon-name"]),i("span",bJ,[w(o(t.title)+" ",1),i("span",gJ,[l(g,{"icon-name":"arrow-right"})])])]),_:2},1032,["index","title"]))),128))]),_:1},8,["default-active"])],2),i("div",fJ,[i("div",_J,[i("h3",kJ,[i("button",{type:"button",class:"fbs_member_topbar--toggle","aria-label":e.$t("Open Sidebar"),onClick:t[3]||(t[3]=e=>p.isMobileOpen=!0)},[l(g,{"icon-name":"sidebar"})],8,vJ),w(" "+o(e.$t(m.currentPageTitle)),1)])]),i("div",yJ,[i("div",wJ,[l(y)])])])],2)}]]),TJ=u("onboarding",{state:()=>({step:1,defaultStages:[{title:"Open",settings:{default_task_status:"open",is_template:!1}},{title:"In Progress",settings:{default_task_status:"open",is_template:!1}},{title:"Completed",settings:{default_task_status:"closed",is_template:!1}}],board:{title:"",description:"",type:"to-do",stages:[]},task:{title:""}}),actions:{setStep(e){this.step=e},updateDefaultStages(e){this.defaultStages=e},setBoard(e){this.board=e},setTask(e){this.task=e}},persist:{storage:{getItem:e=>p.getItem(e),setItem:(e,t)=>p.setItem(e,t)}}}),SJ={name:"StepOne",components:{CustomIcon:ml},data:()=>({loading:!1,boardError:{title:!1,currency:!1}}),computed:{...m(TJ,["step","board"])},methods:{...M(TJ,["setStep","setBoard"]),returnEnter(){},goToDefineStages(){return this.checkFirstStepValidity()?(this.setBoard(this.board),void this.setStep(2)):void 0},checkFirstStepValidity(){let e=0;return""==this.board.title?(++e,this.boardError.title=!0):this.boardError.title=!1,!(e>0)},skipBoardCreate(){this.$put("projects/skip-onboarding").then(e=>{this.appVars.is_onboarded="yes",this.$router.push({name:"boards"})}).catch(e=>{this.handleError(e)})}}},$J={class:"fbs-onboarding-step"},VJ={class:"fbs-onboarding-step-banner"},AJ={class:"fbs-onboarding-step-banner-icon"},IJ={class:"fbs-onboarding-step-banner-text"},DJ={class:"fbs-onboarding-step-form"},BJ={class:"fbs-onboarding-step-form-label"},LJ={class:"fbs-onboarding-step-form-input"},MJ={key:0,class:"fbs-onboarding-input-error"},xJ={class:"fbs-onboarding-step-form-label"},PJ={class:"fbs-onboarding-step-form-description"},FJ={class:"fbs-onboarding-step-form-action"};const EJ=Ss(SJ,[["render",function(e,t,n,r,d,c){const u=b("custom-icon"),p=He;return s(),a("div",$J,[i("div",VJ,[i("div",AJ,[l(u,{"icon-name":"list-dash"})]),i("div",IJ,o(e.$t("Describe Your Board")),1)]),i("div",DJ,[i("p",BJ,o(e.$t("Board Title"))+" * ",1),i("div",LJ,[l(p,{type:"text",size:"large",onKeydown:$(h(c.returnEnter,["prevent"]),["enter"]),placeholder:"Title",modelValue:e.board.title,"onUpdate:modelValue":t[0]||(t[0]=t=>e.board.title=t),required:""},null,8,["onKeydown","modelValue"]),d.boardError.title?(s(),a("p",MJ," **"+o(e.$t("Title is required")),1)):y("",!0)]),i("p",xJ,o(e.$t("Board Description")),1),i("div",PJ,[l(p,{autosize:{minRows:4,maxRows:6},type:"textarea",placeholder:e.$t("Your board description goes here"),modelValue:e.board.description,"onUpdate:modelValue":t[1]||(t[1]=t=>e.board.description=t)},null,8,["placeholder","modelValue"])]),i("div",FJ,[i("div",{onClick:t[2]||(t[2]=(...e)=>c.skipBoardCreate&&c.skipBoardCreate(...e)),class:"fbs-step-action-skip-step"},o(e.$t("Skip Onboarding")),1),i("div",{class:"fbs-step-action fbs-step-action-next-step fbs-push-right",onClick:t[3]||(t[3]=(...e)=>c.goToDefineStages&&c.goToDefineStages(...e))},o(e.$t("Next Step")),1)])])])}]]),UJ={name:"StepTwo",components:{CustomIcon:ml,Delete:et},data:()=>({}),mounted(){},computed:{...m(TJ,["defaultStages"])},methods:{...M(TJ,["setStep","updateDefaultStages"]),goToCreateTaskStep(){this.updateDefaultStages(this.defaultStages),this.setStep(3)},returnEnter(){},backToPreviousStep(){this.updateDefaultStages(this.defaultStages),this.setStep(1)},deleteStage(e){e>=0&&e<this.defaultStages.length&&this.defaultStages.splice(e,1)},handleAddStages(){this.defaultStages.push({title:"New Stage",settings:{default_task_status:"open",is_template:!1}})}}},OJ={class:"fbs-onboarding-step"},RJ={class:"fbs-onboarding-step-banner"},NJ={class:"fbs-onboarding-step-banner-icon"},HJ={class:"fbs-onboarding-step-banner-text"},jJ={class:"fbs-onboarding-step-form"},zJ={class:"fbs-onboarding-step-form-label"},GJ={key:1,class:"fbs-onboarding-input-error"},qJ={class:"fbs-onboarding-stage-add-action"},WJ={class:"fbs-onboarding-step-form-action"};const KJ=Ss(UJ,[["render",function(e,t,u,p,m,g){const f=b("custom-icon"),_=He,k=b("Delete"),v=Ne,C=ze;return s(),a("div",OJ,[i("div",RJ,[i("div",NJ,[l(f,{"icon-name":"clip-board"})]),i("div",HJ,o(e.$t("Define Board Stages")),1)]),i("div",jJ,[i("p",zJ,o(e.$t("Stage Name"))+" * ",1),(s(!0),a(r,null,d(e.defaultStages,(t,i)=>(s(),a("div",{key:i,class:"fbs-onboarding-step-form-input"},[l(_,{type:"text",onKeydown:$(h(g.returnEnter,["prevent"]),["enter"]),modelValue:t.title,"onUpdate:modelValue":e=>t.title=e,size:"large",placeholder:"Please Input"},null,8,["onKeydown","modelValue","onUpdate:modelValue"]),e.defaultStages.length>1?(s(),c(C,{key:0,class:"fbs-delete-onboarding-stage",onClick:e=>g.deleteStage(i)},{default:n(()=>[l(v,null,{default:n(()=>[l(k)]),_:1})]),_:1},8,["onClick"])):y("",!0),t.title?y("",!0):(s(),a("p",GJ,"**"+o(e.$t("Stage is required")),1))]))),128)),i("div",qJ,[l(C,{onClick:g.handleAddStages,class:"add-stage"},{default:n(()=>[...t[2]||(t[2]=[w("+ Add Stage",-1)])]),_:1},8,["onClick"])]),i("div",WJ,[i("div",{onClick:t[0]||(t[0]=(...e)=>g.backToPreviousStep&&g.backToPreviousStep(...e)),class:"fbs-step-action fbs-step-action-go-back fbs-push-right"},o(e.$t("Go Back")),1),i("div",{onClick:t[1]||(t[1]=(...e)=>g.goToCreateTaskStep&&g.goToCreateTaskStep(...e)),class:"fbs-step-action fbs-step-action-next-step"},o(e.$t("Next Step")),1)])])])}]]),ZJ={name:"StepThree",components:{CustomIcon:ml},data:()=>({loading:!1,isSkipped:!1,withFluentCRM:!0,taskError:{title:!1}}),computed:{...m(TJ,["task","board","defaultStages"])},methods:{...M(TJ,["setStep","setTask","setBoard","updateDefaultStages"]),clickSkipThirdStep(){this.isSkipped=!0,this.createFirstBoard()},returnEnter(){},backToPreviousStep(){this.setStep(2),this.setTask(this.task)},createFirstBoard(){this.checkTaskCreateValidity()&&(this.loading=!0,this.$post("projects/onboard",{board:this.board,stages:this.defaultStages,task:this.isSkipped?null:this.task,withFluentCRM:this.withFluentCRM?"yes":"no"}).then(e=>{this.$notify({message:e.message,type:"success"}),window.fluentAddonVars.is_onboarded="yes",this.$router.push({name:"board",params:{id:e.board.id}}),this.setDefaultAll()}).catch(e=>{this.handleError(e)}).finally(()=>{this.loading=!1,this.isSkipped=!1}))},checkTaskCreateValidity(){if(this.isSkipped)return!0;let e=0;return""==this.task.title?(++e,this.taskError.title=!0):this.taskError.title=!1,!(e>0)},setDefaultAll(){this.setBoard({title:"",description:"",type:"to-do",stages:[]}),this.updateDefaultStages([{title:"Open",settings:{default_task_status:"open",is_template:!1}},{title:"In Progress",settings:{default_task_status:"open",is_template:!1}},{title:"Completed",settings:{default_task_status:"closed",is_template:!1}}]),this.setTask({title:""}),this.setStep(1)}}},YJ={key:0,style:{"margin-top":"150px"}},JJ={key:1,class:"fbs-onboarding-step"},QJ={class:"fbs-onboarding-step-banner"},XJ={class:"fbs-onboarding-step-banner-icon"},eQ={class:"fbs-onboarding-step-banner-text"},tQ={class:"fbs-onboarding-step-form"},sQ={class:"fbs-onboarding-step-form-label"},aQ={class:"fbs-onboarding-step-form-input"},iQ={key:0,class:"fbs-onboarding-input-error"},oQ={key:2,class:"fbs-onboarding-step-form-description"},lQ={class:"fbs-onboarding-step-form-description"},nQ={class:"fbs-onboarding-feature-list"},rQ={class:"fbs-onboarding-learn-more"},dQ={href:"https://fluentcrm.com/",target:"_blank",rel:"noopener noreferrer"},cQ={class:"fbs-onboarding-step-form-action"};const hQ={name:"Onboarding",components:{StepOne:EJ,StepTwo:KJ,StepThree:Ss(ZJ,[["render",function(e,t,d,u,p,m){const _=b("custom-icon"),k=He,v=qe,C=g("loading");return p.loading?f((s(),a("div",YJ,null,512)),[[C,p.loading]]):(s(),a("div",JJ,[i("div",QJ,[i("div",XJ,[l(_,{"icon-name":"file-add"})]),i("div",eQ,o(e.$t("Add a Task to Board")),1)]),i("div",tQ,[i("p",sQ,o(e.$t("Task Title"))+" * ",1),i("div",aQ,[l(k,{type:"text",size:"large",onKeydown:$(h(m.returnEnter,["prevent"]),["enter"]),placeholder:"Title",modelValue:e.task.title,"onUpdate:modelValue":t[0]||(t[0]=t=>e.task.title=t)},null,8,["onKeydown","modelValue"]),p.taskError.title?(s(),a("p",iQ,"**"+o(e.$t("Title is required")),1)):y("",!0),e.appVars.fluent_crm_exists?y("",!0):(s(),c(v,{key:1,modelValue:p.withFluentCRM,"onUpdate:modelValue":t[1]||(t[1]=e=>p.withFluentCRM=e),label:"true",class:"fbs-onboarding-step-form-checkbox"},{default:n(()=>[w(o(e.$t("Install FluentCRM Plugin to get enhanced experience")),1)]),_:1},8,["modelValue"])),e.appVars.fluent_crm_exists?(s(),a("p",oQ,o(e.$t("FluentCRM is already installed. Associate contacts with tasks, run email automations, and keep everything in sync.")),1)):p.withFluentCRM?(s(),a(r,{key:3},[i("p",lQ,o(e.$t("Supercharge your boards with FluentCRM—your self‑hosted email marketing automation for WordPress.")),1),i("ul",nQ,[i("li",null,o(e.$t("Manage leads and customers from inside your boards")),1),i("li",null,o(e.$t("Run email campaigns and automations")),1)]),i("p",rQ,[i("a",dQ,o(e.$t("Learn more")),1)])],64)):y("",!0)]),i("div",cQ,[i("div",{onClick:t[2]||(t[2]=(...e)=>m.clickSkipThirdStep&&m.clickSkipThirdStep(...e)),class:"fbs-step-action-skip-step"},o(e.$t("Skip Task Creation")),1),i("div",{onClick:t[3]||(t[3]=(...e)=>m.backToPreviousStep&&m.backToPreviousStep(...e)),class:"fbs-step-action fbs-step-action-go-back fbs-push-right"},o(e.$t("Go Back")),1),i("div",{onClick:t[4]||(t[4]=(...e)=>m.createFirstBoard&&m.createFirstBoard(...e)),class:"fbs-step-action fbs-step-action-next-step"},o(e.$t("Create Board"))+" & "+o(e.$t("Add Task")),1)])])]))}]]),CustomIcon:ml},data:()=>({loading:!1,createBoard:!0,active:1,board:{title:"",description:"",type:"to-do",currency:"USD",stages:[]},boardError:{title:!1,currency:!1},currencies:[],stages:[],trackRemoveStages:[],skipThirdStep:!1,defaultStagesSetting:[{title:"Open",settings:{default_task_status:"open",is_template:!1}},{title:"In Progress",settings:{default_task_status:"open",is_template:!1}},{title:"Completed",settings:{default_task_status:"closed",is_template:!1}}]}),watch:{step(e){this.active=e}},mounted(){this.active=this.step},computed:{...m(TJ,["step"]),percentage(){return this.active/3*100},formattedPercentage(){return this.percentage.toFixed(0)}},methods:{},beforeMount(){"yes"==this.appVars.is_onboarded&&this.$router.push({name:"boards",params:{}})}},uQ={key:0,class:"fbs-board-landing-page-loading"},pQ={class:"loading-div"},mQ={class:"fbs-onboarding"},bQ={class:"fbs-onboarding-banner"},gQ={class:"fbs-onboarding-banner-welcome"},fQ={class:"fbs-onboarding-banner-text"},_Q={class:"fbs-onboarding-banner-text"},kQ={class:"fbs-onboarding-board-create"},vQ={class:"fbs-onboarding-board-create-steps"},yQ={class:"fbs-onboarding-board-create-step"},wQ={class:"fbs-onboarding-board-create-step-next"},CQ={class:"fbs-onboarding-board-create-step"},TQ={class:"fbs-onboarding-board-create-step-next"},SQ={class:"fbs-onboarding-board-create-step"};const $Q=Ss(hQ,[["render",function(e,t,n,r,d,h){const u=ot,p=b("custom-icon"),m=b("step-one"),_=b("step-two"),v=b("step-three"),w=g("loading");return s(),a("div",null,[d.loading?(s(),a("div",uQ,[f(i("div",pQ,null,512),[[w,d.loading]])])):y("",!0),i("div",mQ,[i("div",bQ,[i("p",gQ,o(e.$t("Welcome")),1),i("p",fQ,o(e.$t("You've successfully Installed The Plugin"))+".",1),i("p",_Q,o(e.$t("Please Create Your First Board"))+".",1)]),i("div",kQ,[i("h2",null,o(e.$t("Create Your Board")),1),i("div",vQ,[l(u,{percentage:h.formattedPercentage},null,8,["percentage"]),i("div",yQ,[i("div",{class:k(["fbs-onboarding-board-create-step-number",d.active?"fbs-active-step-number":""])},"1",2),i("div",{class:k(["fbs-onboarding-board-create-step-name",d.active?"fbs-active-step-text":""])},o(e.$t("Name Your Board")),3),i("div",wQ,[l(p,{"icon-name":d.active?"right-checked":"right-unchecked"},null,8,["icon-name"])])]),i("div",CQ,[i("div",{class:k(["fbs-onboarding-board-create-step-number",2==d.active||3==d.active?"fbs-active-step-number":""])},o(e.$t("2")),3),i("div",{class:k(["fbs-onboarding-board-create-step-name",2==d.active||3==d.active?"fbs-active-step-text":""])},o(e.$t("Define Stages")),3),i("div",TQ,[l(p,{"icon-name":2==d.active||3==d.active?"right-checked":"right-unchecked"},null,8,["icon-name"])])]),i("div",SQ,[i("div",{class:k(["fbs-onboarding-board-create-step-number",3==d.active?"fbs-active-step-number":""])},o(e.$t("3")),3),i("div",{class:k(["fbs-onboarding-board-create-step-name",3==d.active?"fbs-active-step-text":""])},o(e.$t("Create First Task")),3)])]),1==d.active?(s(),c(m,{key:0})):y("",!0),2==d.active?(s(),c(_,{key:1})):y("",!0),3==d.active?(s(),c(v,{key:2})):y("",!0)])])])}],["__scopeId","data-v-a3557298"]]),VQ={class:"fbs-license-status"},AQ={class:"fbs-license-status__summary"},IQ={class:"fbs-license-status__copy"},DQ={class:"fbs-license-status__hint"},BQ={class:"fbs-license-details"},LQ={class:"fbs-license-details__row"},MQ={class:"fbs-license-details__label"},xQ={class:"fbs-license-details__masked-key-value"},PQ={class:"fbs-license-details__row"},FQ={class:"fbs-license-details__label"},EQ={class:"fbs-license-details__value"};const UQ={key:1,class:"fbs-license-settings-panel"},OQ={class:"fbs-settings-page-body fbs-license-settings-wrapper"},RQ={key:0,class:"fbs-license-state fbs-license-state--loading"},NQ={key:1,class:"fbs-license-activation-form"},HQ={class:"fbs-license-copy"},jQ={class:"fbs-license-input-group"},zQ=["disabled"],GQ={class:"fbs-license-verify-text"},qQ={class:"fbs-license-purchase-copy"},WQ={target:"_blank",href:"https://fluentboards.com"},KQ={key:2,class:"fbs-license-error-message"};const ZQ=Ss({name:"LicenseSettings",components:{LicenseStatusCard:Ss({name:"LicenseStatusCard",components:{CustomIcon:ml},props:{status:{type:String,required:!0,validator:e=>["valid","expired"].includes(e)},maskedLicenseKey:{type:String,default:""},expires:{type:[String,Number],default:""}},emits:["action"],computed:{isExpired(){return"expired"===this.status},statusIconName(){return this.isExpired?"license-expired-status":"license-activated-status"},expirationLabel(){return this.expires||this.$t("Lifetime")}}},[["render",function(e,t,n,r,d,c){const u=b("custom-icon");return s(),a("div",VQ,[i("div",AQ,[l(u,{class:"fbs-license-status__featured-icon","icon-name":c.statusIconName,"aria-hidden":"true"},null,8,["icon-name"]),i("div",IQ,[i("h3",null,o(c.isExpired?e.$t("Looks Like Your License has been Expired!"):e.$t("Congratulations! Your License Key is Valid & Activated")),1),i("div",DQ,[i("span",null,o(c.isExpired?e.$t("Have a new license key?"):e.$t("Want to deactivate this license?")),1),i("a",{href:"#",onClick:t[0]||(t[0]=h(t=>e.$emit("action"),["prevent"]))},o(e.$t("Click here")),1)])])]),i("div",BQ,[i("div",LQ,[i("span",MQ,o(e.$t("License Key")),1),i("span",xQ,o(n.maskedLicenseKey),1)]),i("div",PQ,[i("span",FQ,o(e.$t("Expires on")),1),i("span",EQ,o(c.expirationLabel),1)])])])}]]),SettingsProNotice:rD},data:()=>({fetching:!1,verifying:!1,licenseData:{},licenseKey:"",showNewLicenseInput:!1,errorMessage:""}),methods:{handleLicenseStatusAction(){"valid"!==this.licenseData.status?this.showNewLicenseInput=!0:this.deactivateLicense()},getSettings(){this.hasPro&&(this.errorMessage="",this.fetching=!0,this.$get("license",{verify:!0}).then(e=>{this.licenseData=e}).catch(e=>{this.handleError(e)}).finally(()=>{this.fetching=!1}))},verifyLicense(){if(!this.licenseKey)return this.$notify({title:this.$t("Error"),message:this.$t("Please provide a license key"),type:"error"}),void(this.errorMessage=this.$t("Please provide a license key"));this.verifying=!0,this.errorMessage="",this.$post("license",{license_key:this.licenseKey}).then(e=>{this.licenseData=e.license_data,this.licenseKey="",this.$notify({title:this.$t("Success"),message:e.message,type:"success"})}).catch(e=>{let t="";t="string"==typeof e?e:e&&e.message?e.message:this.convertToText(e),t||(t=this.$t("Something is wrong!")),this.errorMessage=t,this.handleError(e)}).finally(()=>{this.verifying=!1})},deactivateLicense(){this.verifying=!0,this.$del("license").then(e=>{this.licenseKey="",this.licenseData=e.license_data,this.$notify({title:this.$t("Success"),message:e.message,type:"success"})}).catch(e=>{this.handleError(e)}).finally(()=>{this.verifying=!1})}},mounted(){this.hasPro&&this.getSettings()}},[["render",function(e,t,n,d,h,u){const p=b("SettingsProNotice"),m=b("license-status-card"),_=He,v=g("loading");return s(),a(r,null,[e.appVars.has_pro?y("",!0):(s(),c(p,{key:0,title:e.$t("License Management"),description:e.$t("Activate and manage your Fluent Boards Pro license to unlock premium features."),"utm-content":"settings_license","button-label":e.$t("Upgrade to Pro")},null,8,["title","description","button-label"])),e.hasPro?(s(),a("div",UQ,[f((s(),a("div",OQ,[i("div",{class:k(["fbs-settings-panel fbs-license-settings-card","fbs_license_"+h.licenseData.status])},[h.fetching?f((s(),a("div",RQ,[i("h3",null,o(e.$t("Fetching License Information Please wait")),1)])),[[v,h.fetching]]):(s(),a(r,{key:1},["valid"===h.licenseData.status||"expired"===h.licenseData.status&&!h.showNewLicenseInput?(s(),c(m,{key:0,status:h.licenseData.status,"masked-license-key":h.licenseData.masked_license_key,expires:h.licenseData.expires,onAction:u.handleLicenseStatusAction},null,8,["status","masked-license-key","expires","onAction"])):(s(),a("div",NQ,[i("div",HQ,[i("h3",null,o(e.$t("Please Provide a license key of FluentBoards")),1),i("p",null,o(e.$t("Basic information about your business that appears in emails and forms.")),1)]),i("div",jQ,[l(_,{modelValue:h.licenseKey,"onUpdate:modelValue":t[0]||(t[0]=e=>h.licenseKey=e),placeholder:e.$t("License key"),"aria-label":e.$t("License key"),class:"fbs-settings-control fbs-license-input",type:"password","show-password":""},null,8,["modelValue","placeholder","aria-label"]),i("button",{class:"fbs-settings-secondary-action fbs-license-verify-button",type:"button",disabled:!h.licenseKey,onClick:t[1]||(t[1]=e=>u.verifyLicense())},[t[2]||(t[2]=i("span",{class:"fbs-license-verify-icon","aria-hidden":"true"},[i("svg",{viewBox:"0 0 16.5 8.99207",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[i("path",{d:"M8.93775 5.25411C8.7467 6.36417 8.14642 7.36226 7.25544 8.05136C6.36445 8.74046 5.24749 9.07049 4.12507 8.9763C3.00264 8.88211 1.9563 8.37055 1.19262 7.5426C0.428933 6.71465 0.00339216 5.63048 0.00000187515 4.50411C-0.00102824 3.37507 0.422395 2.28689 1.18626 1.45548C1.95013 0.62407 2.99862 0.11018 4.12371 0.0157691C5.2488 -0.0786414 6.36827 0.253328 7.26001 0.945811C8.15176 1.63829 8.75061 2.64069 8.93775 3.75411H16.5V5.25411H15V8.25411H13.5V5.25411H12V8.25411H10.5V5.25411H8.93775ZM4.5 7.50411C5.29565 7.50411 6.05871 7.18804 6.62132 6.62544C7.18393 6.06283 7.5 5.29976 7.5 4.50411C7.5 3.70847 7.18393 2.9454 6.62132 2.38279C6.05871 1.82019 5.29565 1.50411 4.5 1.50411C3.70435 1.50411 2.94129 1.82019 2.37868 2.38279C1.81607 2.9454 1.5 3.70847 1.5 4.50411C1.5 5.29976 1.81607 6.06283 2.37868 6.62544C2.94129 7.18804 3.70435 7.50411 4.5 7.50411V7.50411Z",fill:"currentColor"})])],-1)),i("span",GQ,o(e.$t("Verify license")),1)],8,zQ)]),i("p",qQ,[w(o(e.$t("Don't have a license key?"))+" ",1),i("a",WQ,o(e.$t("Purchase one here")),1)])]))],64)),h.errorMessage?(s(),a("p",KQ,o(h.errorMessage),1)):y("",!0)],2)])),[[v,h.verifying]])])):y("",!0)],64)}]]),YQ={class:"fbs-feature-module-row"},JQ={class:"fbs-feature-module-row__copy"},QQ={class:"fbs-feature-module-row__title-line"},XQ={class:"fbs-feature-module-row__title"},eX={class:"label"},tX={class:"fbs-feature-module-row__description"},sX={key:0,class:"fbs-feature-module-row__controls"},aX={key:0,class:"fbs-feature-module-row__action"},iX={key:1,class:"fbs-feature-module-row__switch"};const oX=Ss({name:"FeatureModuleRow",props:{title:{type:String,required:!0},description:{type:String,required:!0},badgeText:{type:String,default:""},badgeTone:{type:String,default:"neutral"}},computed:{badgeClass(){return`fbs_priority_badge__${this.badgeTone}`}}},[["render",function(e,t,l,n,r,d){return s(),a("div",YQ,[i("div",JQ,[i("div",QQ,[i("span",XQ,o(l.title),1),l.badgeText?(s(),a("span",{key:0,class:k(["fbs_priority_badge small",d.badgeClass])},[i("span",eX,o(l.badgeText),1)],2)):y("",!0)]),i("p",tX,o(l.description),1)]),e.$slots.action||e.$slots.switch?(s(),a("div",sX,[e.$slots.action?(s(),a("div",aX,[_(e.$slots,"action")])):y("",!0),e.$slots.switch?(s(),a("div",iX,[_(e.$slots,"switch")])):y("",!0)])):y("",!0)])}]]),lX="fluent_boards_frontend_portal_drawer_open",nX=["href"],rX={class:"fbs-feature-settings-note fbs-front-panel-intro"},dX={class:"fbs-front-panel-switch-row"},cX={class:"fbs-front-panel-switch-label"},hX={class:"fbs-front-panel-render-section"},uX={class:"fbs-front-panel-section-label"},pX={class:"fbs-front-panel-radio__content"},mX={class:"fbs-front-panel-radio__title"},bX={class:"fbs-front-panel-radio__description"},gX={class:"fbs-front-panel-radio__content"},fX={class:"fbs-front-panel-radio__title"},_X={class:"fbs-front-panel-radio__description"},kX={class:"fbs-front-panel-field-label"},vX={class:"fbs-front-panel-field-help"},yX={class:"fbs-front-panel-page-option"},wX={class:"fbs-front-panel-page-option__title"},CX={class:"fbs-front-panel-page-option__id"},TX={key:0,class:"fbs-front-panel-url-preview"},SX={class:"fbs-front-panel-url-preview__value"},$X=["href","aria-label","title"],VX={class:"icon"},AX={class:"fbs-front-panel-shortcode"},IX={class:"fbs-front-panel-shortcode__hint"},DX={class:"fbs-front-panel-field-help"},BX={class:"fbs-front-panel-url-preview"},LX={class:"fbs-front-panel-url-preview__value"},MX=["href","aria-label","title"],xX={class:"fbs-settings-footer-actions"};const PX=Ss({name:"FrontPanel",props:["featureModules"],emits:["save"],components:{Icons:$s,CopyDocument:Xe,CustomIcon:ml,DrawerHeader:fG,FeatureModuleRow:oX,InfoFilled:vt},data:()=>({showSettings:!1,pages:[],loading_pages:!1}),computed:{frontendStatusText(){return"yes"==this.featureModules.frontend.enabled?this.$t("Enabled"):this.$t("Disabled")},frontendStatusTone(){return"yes"==this.featureModules.frontend.enabled?"enabled":"disabled"},portalPreviewUrl(){return`${(this.appVars.site_url||`${window.location.origin}/`).replace(/\/+$/,"")}/${String(this.featureModules.frontend.slug||"projects").trim().replace(/^\/+|\/+$/g,"")||"projects"}`},selectedPageUrl(){const e=Number(this.featureModules.frontend.page_id),t=this.pages.find(t=>Number(t.id)===e);return(null==t?void 0:t.url)||""}},methods:{saveSettings(){this.$emit("save",{reopenDrawer:!0})},getPages(){this.loading_pages=!0,this.$get("admin/pages").then(e=>{this.pages=e.pages}).catch(e=>{this.$handleError(e)}).finally(()=>{this.loading_pages=!1})},async handleCopyShortcode(e){try{navigator.clipboard&&window.isSecureContext?(await navigator.clipboard.writeText(e),this.$notify({message:this.$t("Shortcode copied"),type:"success"})):this.fallbackCopyTextToClipboard(e)}catch(t){this.fallbackCopyTextToClipboard(e)}},fallbackCopyTextToClipboard(e){const t=document.createElement("textarea");t.value=e,t.style.top="0",t.style.left="0",t.style.position="fixed",t.style.opacity="0",document.body.appendChild(t),t.focus(),t.select();try{document.execCommand("copy")?this.$notify({message:this.$t("Shortcode copied"),type:"success"}):this.$notify({message:this.$t("Failed to copy shortcode"),type:"error"})}catch(s){this.$notify({message:this.$t("Failed to copy shortcode"),type:"error"})}document.body.removeChild(t)},updateModule(){this.$emit("save",{reopenDrawer:!1})},reopenAfterSave(){try{const e="yes"===sessionStorage.getItem(lX);sessionStorage.removeItem(lX),e&&(this.showSettings=!0)}catch(e){}}},mounted(){this.getPages(),this.reopenAfterSave()}},[["render",function(e,t,u,p,m,g){const f=ze,_=Jt,k=b("FeatureModuleRow"),v=b("InfoFilled"),C=Ne,T=xt,S=Mt,V=Be,A=Le,I=b("Icons"),D=b("CopyDocument"),B=gt,L=He,M=b("custom-icon"),x=bt,P=Kt;return s(),a(r,null,[l(k,{title:e.$t("Front Portal"),description:e.$t("Load FluentBoards in frontend"),"badge-text":g.frontendStatusText,"badge-tone":g.frontendStatusTone},W({action:n(()=>[e.appVars.has_pro?(s(),c(f,{key:0,size:"small",onClick:t[0]||(t[0]=e=>m.showSettings=!0)},{default:n(()=>[w(o(e.$t("Manage")),1)]),_:1})):(s(),a("a",{key:1,target:"_blank",class:"el-button no-underline el-button--small",href:e.$getUpgradeUrl("feature_lock_frontend_portal")},o(e.$t("Upgrade to Pro")),9,nX))]),_:2},[e.appVars.has_pro?{name:"switch",fn:n(()=>[l(_,{modelValue:u.featureModules.frontend.enabled,"onUpdate:modelValue":t[1]||(t[1]=e=>u.featureModules.frontend.enabled=e),onChange:t[2]||(t[2]=e=>g.updateModule()),class:"fbs-settings-switch","active-value":"yes","inactive-value":"no",width:"32"},null,8,["modelValue"])]),key:"0"}:void 0]),1032,["title","description","badge-text","badge-tone"]),l(P,{"append-to-body":"",class:"fbs_right_sidebar",size:"min(560px, 100vw)",modelValue:m.showSettings,"onUpdate:modelValue":t[12]||(t[12]=e=>m.showSettings=e),"body-class":"fbs-settings-drawer-body","footer-class":"fbs-settings-drawer-footer",direction:e.appVars.is_rtl?"ltr":"rtl",title:e.$t("Frontend Portal Settings")},{footer:n(()=>[i("div",xX,[l(f,{onClick:t[11]||(t[11]=e=>m.showSettings=!1),class:"fbs_mr_0 fbs_ml_0","aria-label":e.$t("Cancel")},{default:n(()=>[w(o(e.$t("Cancel")),1)]),_:1},8,["aria-label"]),l(f,{type:"primary",onClick:g.saveSettings,class:"fbs_mr_0 fbs_ml_0","aria-label":e.$t("Save")},{default:n(()=>[w(o(e.$t("Save")),1)]),_:1},8,["onClick","aria-label"])])]),default:n(()=>[l(x,{class:"fbs-media-storage-form fbs-front-panel-form",modelValue:u.featureModules.frontend,"onUpdate:modelValue":t[10]||(t[10]=e=>u.featureModules.frontend=e),"label-position":"top"},{default:n(()=>[i("p",rX,o(e.$t("The frontend portal lets authorized users view and manage Fluent Boards from your website without opening the WordPress admin area.")),1),i("div",dX,[l(_,{modelValue:u.featureModules.frontend.enabled,"onUpdate:modelValue":t[3]||(t[3]=e=>u.featureModules.frontend.enabled=e),class:"fbs-settings-switch fbs-front-panel-enable-switch","active-value":"yes","inactive-value":"no",width:"32"},null,8,["modelValue"]),i("span",cX,o(e.$t("Enable frontend portal")),1)]),"yes"==u.featureModules.frontend.enabled?(s(),a(r,{key:0},[i("div",hX,[i("div",uX,[i("span",null,o(e.$t("How would you like to display the portal?")),1),l(C,{class:"fbs-front-panel-section-info"},{default:n(()=>[l(v)]),_:1})]),l(S,{modelValue:u.featureModules.frontend.render_type,"onUpdate:modelValue":t[4]||(t[4]=e=>u.featureModules.frontend.render_type=e),class:"fbs-settings-radio-group fbs-front-panel-radio-group"},{default:n(()=>[l(T,{class:"fbs-settings-radio fbs-front-panel-radio",value:"standalone"},{default:n(()=>[i("span",pX,[i("span",mX,o(e.$t("Dedicated portal URL")),1),i("span",bX,o(e.$t("Create a standalone portal page at a custom URL.")),1)])]),_:1}),l(T,{class:"fbs-settings-radio fbs-front-panel-radio",value:"shortcode"},{default:n(()=>[i("span",gX,[i("span",fX,o(e.$t("WordPress page using a shortcode")),1),i("span",_X,o(e.$t("Embed the portal on any existing WordPress page.")),1)])]),_:1})]),_:1},8,["modelValue"])]),"shortcode"===u.featureModules.frontend.render_type?(s(),c(B,{key:0,class:"fbs-front-panel-page-field"},{label:n(()=>[i("span",kX,o(e.$t("Select a WordPress page")),1)]),default:n(()=>[i("div",vX,o(e.$t("Choose the page where you want to display the portal.")),1),l(A,{modelValue:u.featureModules.frontend.page_id,"onUpdate:modelValue":t[5]||(t[5]=e=>u.featureModules.frontend.page_id=e),class:"fbs-settings-control",placeholder:e.$t("Select a page"),loading:m.loading_pages,clearable:""},{default:n(()=>[(s(!0),a(r,null,d(m.pages,e=>(s(),c(V,{key:e.id,label:e.title,value:e.id},{default:n(()=>[i("span",yX,[i("span",wX,o(e.title),1),i("span",CX,"#"+o(e.id),1)])]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","placeholder","loading"]),g.selectedPageUrl?(s(),a("div",TX,[i("span",null,o(e.$t("Selected page URL:")),1),i("div",SX,[i("code",null,o(g.selectedPageUrl),1),i("a",{href:g.selectedPageUrl,target:"_blank",rel:"noopener noreferrer","aria-label":e.$t("Visit selected page"),title:e.$t("Visit selected page")},[l(f,{class:"only-icon-btn extra-small",size:"small"},{default:n(()=>[i("span",VX,[l(I,{"icon-name":"external-link"})])]),_:1})],8,$X)])])):y("",!0),i("div",AX,[i("span",IX,o(e.$t("Add this shortcode to the selected page:")),1),i("code",{ref:"copyShortcode",class:"fbs-front-panel-shortcode__copy",role:"button",tabindex:"0",onClick:t[6]||(t[6]=e=>g.handleCopyShortcode("[fluent_boards]")),onKeydown:[t[7]||(t[7]=$(h(e=>g.handleCopyShortcode("[fluent_boards]"),["prevent"]),["enter"])),t[8]||(t[8]=$(h(e=>g.handleCopyShortcode("[fluent_boards]"),["prevent"]),["space"]))]},[t[13]||(t[13]=i("span",null,"[fluent_boards]",-1)),l(C,{class:"fbs-front-panel-shortcode__copy-icon"},{default:n(()=>[l(D)]),_:1})],544)])]),_:1})):(s(),c(B,{key:1,class:"fbs-front-panel-page-field fbs-front-panel-url-field",label:e.$t("Portal URL slug")},{default:n(()=>[i("div",DX,o(e.$t("Choose the final part of your portal URL.")),1),l(L,{modelValue:u.featureModules.frontend.slug,"onUpdate:modelValue":t[9]||(t[9]=e=>u.featureModules.frontend.slug=e),class:"fbs-settings-control",placeholder:e.$t("e.g., projects")},null,8,["modelValue","placeholder"]),i("div",BX,[i("span",null,o(e.$t("Your portal will be available at:")),1),i("div",LX,[i("code",null,o(g.portalPreviewUrl),1),i("a",{class:"fbs-front-panel-visit-link",href:g.portalPreviewUrl,target:"_blank",rel:"noopener noreferrer","aria-label":e.$t("Visit portal"),title:e.$t("Visit portal")},[l(M,{"icon-name":"external-link"})],8,MX)])])]),_:1},8,["label"]))],64)):y("",!0)]),_:1},8,["modelValue"])]),_:1},8,["modelValue","direction","title"])],64)}]]),FX=["href"],EX={key:0,class:"white_loaded"},UX={key:1},OX={key:0,class:"fbs_secondary_text small fbs_mt_4"},RX={class:"fbs-storage-location-row"},NX={class:"fbs-storage-location-row__label"},HX={class:"fbs_secondary_text small fbs_mt_4 fbs_mb_8"},jX={class:"fbs-feature-settings-doc-link",target:"_blank",rel:"noopener",href:"https://fluentboards.com/docs/fluentboards-integration-with-cloudflare-r2/"},zX={class:"fcom_cloudflare_settings"},GX={class:"fbs_secondary_text small fbs_mt_4 fbs_mb_8"},qX={class:"fbs-feature-settings-doc-link",target:"_blank",rel:"noopener",href:"https://fluentboards.com/docs/fluentboards-integration-with-amazon-s3/"},WX={class:"fcom_s3_settings"},KX={class:"fbs_secondary_text small fbs_mt_4 fbs_mb_8"},ZX={class:"fbs-feature-settings-doc-link",target:"_blank",rel:"noopener",href:"https://fluentboards.com/docs/fluentboards-integration-with-digital-ocean/"},YX={class:"fcom_s3_settings"},JX={class:"fbs_secondary_text small fbs_mt_4 fbs_mb_8"},QX={class:"fbs-feature-settings-doc-link",target:"_blank",rel:"noopener",href:"https://fluentboards.com/docs/fluentboards-integration-with-backblaze/"},XX={class:"fcom_s3_settings"},e1={key:4,class:"fbs-feature-settings-default-note"},t1={key:2},s1={class:"fbs_secondary_text small fbs_mt_4 fbs_mb_8"},a1={class:"dialog-footer justify-end"};const i1=Ss({name:"StorageSettings",components:{DrawerHeader:fG,FeatureModuleRow:oX},data:()=>({storageConfig:!1,showSettings:!1,fetching:!1,saving:!1,storageDrivers:{local:"Server Storage",cloudflare_r2:"Cloudflare R2 (Recommended)",amazon_s3:"Amazon S3",digital_ocean:"Digital Ocean Spaces",blackblaze_b2:"Blackblaze B2"},storageRegions:!1}),computed:{storageStatusText(){var e;const t=(null==(e=this.storageConfig)?void 0:e.driver)||"local";return this.fetching?this.$t("Loading"):"local"===t?this.$t("Local"):this.$t(this.storageDrivers[t]||t)},storageStatusTone(){var e;return"local"!==((null==(e=this.storageConfig)?void 0:e.driver)||"local")?"enabled":"neutral"},canSaveStorageConfig(){return!!this.storageConfig&&!this.fetching&&!this.storageConfig.is_defined}},watch:{"storageConfig.endpoint":function(e,t){if(e!=t&&"blackblaze_b2"===this.storageConfig.driver&&(this.storageConfig.region=null==e?void 0:e.split(".")[1]),e!=t&&"digital_ocean"===this.storageConfig.driver){const t=e.match(/^https:\/\/([^\.]+)\.([^\.]+)\.digitaloceanspaces\.com/);t&&(this.storageConfig.bucket=t[1],this.storageConfig.region=t[2])}}},methods:{fetchSettings(){this.fetching=!0,this.$get("admin/storage-settings").then(e=>{this.storageConfig=e.config,this.storageRegions=e.config.regions}).catch(e=>{this.$handleError(e)}).finally(()=>{this.fetching=!1})},openSettings(){this.showSettings=!0},saveSettings(){var e;this.saving=!0,(null==(e=this.storageConfig)?void 0:e.public_url)&&(this.storageConfig.public_url=this.storageConfig.public_url.trim().replace(/\/+$/,"")),this.$post("admin/storage-settings",{config:this.storageConfig}).then(e=>{this.$notify({title:this.$t("Success"),message:e.message,type:"success"})}).catch(e=>{this.$handleError(e)}).finally(()=>{this.saving=!1})},maybeResetConfig(){let e=this.storageConfig.driver;this.storageConfig={driver:e}},handleCommand(e){this.storageConfig.driver=e,this.maybeResetConfig()},queryRegions(e,t){let s;"amazon_s3"===this.storageConfig.driver?s=this.storageRegions.amazon_s3_region:"digital_ocean_s3"===this.storageConfig.driver&&(s=this.storageRegions.digital_ocean_region);t((e?s.filter(t=>[...e.toLowerCase()].every((e,s)=>t.toLowerCase()[s]===e)):s).map(e=>({value:e})))}},mounted(){this.appVars.has_pro&&this.fetchSettings()}},[["render",function(e,t,h,u,p,m){const g=ze,f=b("FeatureModuleRow"),_=At,k=Be,v=Le,C=He,T=gt,S=Cs,$=bt,V=Kt;return s(),a(r,null,[l(f,{title:e.$t("Media Storage"),description:e.$t("Manage media file storage location"),"badge-text":m.storageStatusText,"badge-tone":m.storageStatusTone},{action:n(()=>[e.appVars.has_pro?(s(),c(g,{key:0,size:"small",onClick:t[0]||(t[0]=e=>p.showSettings=!0)},{default:n(()=>[w(o(e.$t("Manage")),1)]),_:1})):(s(),a("a",{key:1,target:"_blank",class:"el-button no-underline el-button--small",href:e.$getUpgradeUrl("feature_lock_media_storage")},o(e.$t("Upgrade to Pro")),9,FX))]),_:1},8,["title","description","badge-text","badge-tone"]),l(V,{class:"fbs_right_sidebar","close-on-click-modal":!1,"append-to-body":"",size:"min(560px, 100vw)",modelValue:p.showSettings,"onUpdate:modelValue":t[25]||(t[25]=e=>p.showSettings=e),"body-class":"fbs-settings-drawer-body","footer-class":"fbs-settings-drawer-footer",title:e.$t("Configure Media Storage"),direction:e.appVars.is_rtl?"ltr":"rtl",onClose:t[26]||(t[26]=e=>p.showSettings=!1)},{footer:n(()=>[i("div",a1,[l(g,{class:"fbs_mr_0 fbs_ml_0",onClick:t[24]||(t[24]=e=>p.showSettings=!1)},{default:n(()=>[w(o(e.$t("Cancel")),1)]),_:1}),m.canSaveStorageConfig?(s(),c(g,{key:0,class:"fbs_mr_0 fbs_ml_0",type:"primary",loading:p.saving,disabled:p.saving,onClick:m.saveSettings},{default:n(()=>[w(o(e.$t("Save")),1)]),_:1},8,["loading","disabled","onClick"])):y("",!0)])]),default:n(()=>[p.fetching?(s(),a("div",EX,[l(_,{rows:5,animated:!0})])):p.storageConfig?(s(),a("div",UX,[p.storageConfig.is_defined?(s(),a("div",OX,o(e.$t("Your Cloud Storage Settings has been defined in wp-config.php file. This can not be edited.")),1)):(s(),c($,{key:1,class:"fbs-media-storage-form","label-position":"top"},{default:n(()=>[i("div",RX,[i("span",NX,o(e.$t("Storage Location")),1),l(v,{"model-value":p.storageConfig.driver,class:"fbs-settings-control fbs-storage-location-select",placeholder:e.$t("Select Storage Location"),onChange:m.handleCommand},{default:n(()=>[(s(!0),a(r,null,d(p.storageDrivers,(t,a)=>(s(),c(k,{key:a,label:e.$t(t),value:a},null,8,["label","value"]))),128))]),_:1},8,["model-value","placeholder","onChange"])]),"cloudflare_r2"===p.storageConfig.driver?(s(),a(r,{key:0},[i("div",HX,[w(o(e.$t("Please"))+" ",1),i("a",jX,o(e.$t("read the documentation first")),1),w(" "+o(e.$t("to configure Cloudflare R2.")),1)]),i("div",zX,[l(T,{label:e.$t("Cloudflare Account ID")},{default:n(()=>[l(C,{modelValue:p.storageConfig.account_id,"onUpdate:modelValue":t[1]||(t[1]=e=>p.storageConfig.account_id=e),class:"fbs-settings-control",placeholder:e.$t("eg: 1718cb5a51e65c8f19e8eec44a012hd32")},null,8,["modelValue","placeholder"])]),_:1},8,["label"]),l(T,{label:e.$t("Cloudflare Access Key")},{default:n(()=>[l(C,{class:"fbs-settings-control",type:"password",modelValue:p.storageConfig.access_key,"onUpdate:modelValue":t[2]||(t[2]=e=>p.storageConfig.access_key=e)},null,8,["modelValue"])]),_:1},8,["label"]),l(T,{label:e.$t("Cloudflare Secret Key")},{default:n(()=>[l(C,{class:"fbs-settings-control",type:"password",modelValue:p.storageConfig.secret_key,"onUpdate:modelValue":t[3]||(t[3]=e=>p.storageConfig.secret_key=e)},null,8,["modelValue"])]),_:1},8,["label"]),l(T,{label:e.$t("Cloudflare Bucket Name")},{default:n(()=>[l(C,{class:"fbs-settings-control",modelValue:p.storageConfig.bucket,"onUpdate:modelValue":t[4]||(t[4]=e=>p.storageConfig.bucket=e)},null,8,["modelValue"])]),_:1},8,["label"]),l(T,{label:e.$t("Cloudflare Bucket Public URL")},{default:n(()=>[l(C,{class:"fbs-settings-control",modelValue:p.storageConfig.public_url,"onUpdate:modelValue":t[5]||(t[5]=e=>p.storageConfig.public_url=e)},null,8,["modelValue"])]),_:1},8,["label"]),l(T,{label:e.$t("Bucket Sub-Folder (Optional)")},{default:n(()=>[l(C,{modelValue:p.storageConfig.sub_folder,"onUpdate:modelValue":t[6]||(t[6]=e=>p.storageConfig.sub_folder=e),class:"fbs-settings-control",placeholder:e.$t("If you want to store files in a folder in the bucket")},null,8,["modelValue","placeholder"])]),_:1},8,["label"])])],64)):"amazon_s3"===p.storageConfig.driver?(s(),a(r,{key:1},[i("div",GX,[w(o(e.$t("Please"))+" ",1),i("a",qX,o(e.$t("read the documentation first")),1),w(" "+o(e.$t("to configure Amazon S3.")),1)]),t[27]||(t[27]=i("hr",{class:"fbs-feature-settings-divider"},null,-1)),i("div",WX,[l(T,{label:e.$t("Amazon S3 Region")},{default:n(()=>[l(S,{modelValue:p.storageConfig.region,"onUpdate:modelValue":t[7]||(t[7]=e=>p.storageConfig.region=e),"fetch-suggestions":m.queryRegions,clearable:"",class:"fbs-settings-control w-100",placeholder:e.$t("Select Amazon S3 Region")},null,8,["modelValue","fetch-suggestions","placeholder"])]),_:1},8,["label"]),l(T,{label:e.$t("Amazon S3 Access Key")},{default:n(()=>[l(C,{class:"fbs-settings-control",type:"password",modelValue:p.storageConfig.access_key,"onUpdate:modelValue":t[8]||(t[8]=e=>p.storageConfig.access_key=e)},null,8,["modelValue"])]),_:1},8,["label"]),l(T,{label:e.$t("Amazon S3 Secret Key")},{default:n(()=>[l(C,{class:"fbs-settings-control",type:"password",modelValue:p.storageConfig.secret_key,"onUpdate:modelValue":t[9]||(t[9]=e=>p.storageConfig.secret_key=e)},null,8,["modelValue"])]),_:1},8,["label"]),l(T,{label:e.$t("Amazon S3 Bucket Name")},{default:n(()=>[l(C,{class:"fbs-settings-control",modelValue:p.storageConfig.bucket,"onUpdate:modelValue":t[10]||(t[10]=e=>p.storageConfig.bucket=e)},null,8,["modelValue"])]),_:1},8,["label"]),l(T,{label:e.$t("Bucket Sub-Folder (Optional)")},{default:n(()=>[l(C,{class:"fbs-settings-control",placeholder:e.$t("If you want to store files in a folder in the bucket"),modelValue:p.storageConfig.sub_folder,"onUpdate:modelValue":t[11]||(t[11]=e=>p.storageConfig.sub_folder=e)},null,8,["placeholder","modelValue"])]),_:1},8,["label"])])],64)):"digital_ocean"===p.storageConfig.driver?(s(),a(r,{key:2},[i("div",KX,[w(o(e.$t("Please"))+" ",1),i("a",ZX,o(e.$t("read the documentation first")),1),w(" "+o(e.$t("to configure Digital Ocean Spaces.")),1)]),t[28]||(t[28]=i("hr",{class:"fbs-feature-settings-divider"},null,-1)),i("div",YX,[l(T,{label:e.$t("Spaces Object Storage Access Key")},{default:n(()=>[l(C,{class:"fbs-settings-control",type:"password",modelValue:p.storageConfig.access_key,"onUpdate:modelValue":t[12]||(t[12]=e=>p.storageConfig.access_key=e)},null,8,["modelValue"])]),_:1},8,["label"]),l(T,{label:e.$t("Spaces Object Storage Secret Key")},{default:n(()=>[l(C,{class:"fbs-settings-control",type:"password",modelValue:p.storageConfig.secret_key,"onUpdate:modelValue":t[13]||(t[13]=e=>p.storageConfig.secret_key=e)},null,8,["modelValue"])]),_:1},8,["label"]),l(T,{label:e.$t("Spaces Object Storage Endpoint")},{default:n(()=>[l(C,{class:"fbs-settings-control",modelValue:p.storageConfig.endpoint,"onUpdate:modelValue":t[14]||(t[14]=e=>p.storageConfig.endpoint=e)},null,8,["modelValue"])]),_:1},8,["label"]),l(T,{label:e.$t("Spaces Object Storage Bucket Name")},{default:n(()=>[l(C,{class:"fbs-settings-control",modelValue:p.storageConfig.bucket,"onUpdate:modelValue":t[15]||(t[15]=e=>p.storageConfig.bucket=e)},null,8,["modelValue"])]),_:1},8,["label"]),l(T,{label:e.$t("Spaces Object Storage Region")},{default:n(()=>[l(C,{class:"fbs-settings-control",readonly:"",type:"text",modelValue:p.storageConfig.region,"onUpdate:modelValue":t[16]||(t[16]=e=>p.storageConfig.region=e)},null,8,["modelValue"])]),_:1},8,["label"]),l(T,{label:e.$t("Bucket Sub-Folder (Optional)")},{default:n(()=>[l(C,{class:"fbs-settings-control",placeholder:e.$t("If you want to store files in a folder in the bucket"),modelValue:p.storageConfig.sub_folder,"onUpdate:modelValue":t[17]||(t[17]=e=>p.storageConfig.sub_folder=e)},null,8,["placeholder","modelValue"])]),_:1},8,["label"])])],64)):"blackblaze_b2"===p.storageConfig.driver?(s(),a(r,{key:3},[i("div",JX,[w(o(e.$t("Please"))+" ",1),i("a",QX,o(e.$t("read the documentation first")),1),w(" "+o(e.$t("to configure Backblaze B2.")),1)]),t[29]||(t[29]=i("hr",{class:"fbs-feature-settings-divider"},null,-1)),i("div",XX,[l(T,{label:e.$t("Blackblaze Key ID")},{default:n(()=>[l(C,{class:"fbs-settings-control",type:"password",modelValue:p.storageConfig.access_key,"onUpdate:modelValue":t[18]||(t[18]=e=>p.storageConfig.access_key=e)},null,8,["modelValue"])]),_:1},8,["label"]),l(T,{label:e.$t("Blackblaze Application Key")},{default:n(()=>[l(C,{class:"fbs-settings-control",type:"password",modelValue:p.storageConfig.secret_key,"onUpdate:modelValue":t[19]||(t[19]=e=>p.storageConfig.secret_key=e)},null,8,["modelValue"])]),_:1},8,["label"]),l(T,{label:e.$t("Blackblaze Endpoint")},{default:n(()=>[l(C,{class:"fbs-settings-control",modelValue:p.storageConfig.endpoint,"onUpdate:modelValue":t[20]||(t[20]=e=>p.storageConfig.endpoint=e)},null,8,["modelValue"])]),_:1},8,["label"]),l(T,{label:e.$t("Blackblaze Bucket Name")},{default:n(()=>[l(C,{class:"fbs-settings-control",modelValue:p.storageConfig.bucket,"onUpdate:modelValue":t[21]||(t[21]=e=>p.storageConfig.bucket=e)},null,8,["modelValue"])]),_:1},8,["label"]),l(T,{label:e.$t("Blackblaze Region")},{default:n(()=>[l(C,{class:"fbs-settings-control",readonly:"",type:"text",modelValue:p.storageConfig.region,"onUpdate:modelValue":t[22]||(t[22]=e=>p.storageConfig.region=e)},null,8,["modelValue"])]),_:1},8,["label"]),l(T,{label:e.$t("Blackblaze Sub-Folder (Optional)")},{default:n(()=>[l(C,{class:"fbs-settings-control",placeholder:e.$t("If you want to store files in a folder in the bucket"),modelValue:p.storageConfig.sub_folder,"onUpdate:modelValue":t[23]||(t[23]=e=>p.storageConfig.sub_folder=e)},null,8,["placeholder","modelValue"])]),_:1},8,["label"])])],64)):(s(),a("p",e1,o(e.$t("Your files will be stored in the default WordPress Uploads Folder")),1))]),_:1}))])):(s(),a("div",t1,[i("div",s1,o(e.$t("Config could not be loaded")),1)]))]),_:1},8,["modelValue","title","direction"])],64)}]]),o1={name:"MenuPositionSettings",components:{DrawerHeader:fG,FeatureModuleRow:oX},props:{featureModules:{type:Object,required:!0},saving:{type:Boolean,default:!1}},emits:["save"],data:()=>({showSettings:!1}),computed:{menuPositionStatusText(){var e,t;return"yes"==(null==(t=null==(e=this.featureModules)?void 0:e.menu_settings)?void 0:t.in_fluent_crm)?this.$t("In FluentCRM"):this.$t("Stand - Alone")},menuPositionStatusTone(){var e,t;return"yes"==(null==(t=null==(e=this.featureModules)?void 0:e.menu_settings)?void 0:t.in_fluent_crm)?"enabled":"neutral"}}},l1=["href"],n1={class:"fbs-menu-position-priority-label"},r1={class:"fbs-settings-footer-actions"};const d1=Ss(o1,[["render",function(e,t,d,h,u,p){const m=ze,g=b("FeatureModuleRow"),f=xt,_=Mt,k=gt,v=Ct,C=bt,T=Kt;return s(),a(r,null,[l(g,{title:e.$t("Menu Position"),description:e.$t("Menu Position: Standalone / In FluentCRM"),"badge-text":p.menuPositionStatusText,"badge-tone":p.menuPositionStatusTone},{action:n(()=>[e.appVars.has_pro?(s(),a(r,{key:0},[e.appVars.fluent_crm_exists?(s(),c(m,{key:0,size:"small",onClick:t[0]||(t[0]=e=>u.showSettings=!0)},{default:n(()=>[w(o(e.$t("Manage")),1)]),_:1})):(s(),c(m,{key:1,size:"small",disabled:""},{default:n(()=>[w(o(e.$t("Manage")),1)]),_:1}))],64)):(s(),a("a",{key:1,target:"_blank",class:"el-button no-underline el-button--small",href:e.$getUpgradeUrl("feature_lock_menu_position")},o(e.$t("Upgrade to Pro")),9,l1))]),_:1},8,["title","description","badge-text","badge-tone"]),l(T,{"append-to-body":"",class:"fbs_right_sidebar",size:"min(560px, 100vw)",modelValue:u.showSettings,"onUpdate:modelValue":t[5]||(t[5]=e=>u.showSettings=e),title:e.$t("Menu Position"),"body-class":"fbs-settings-drawer-body","footer-class":"fbs-settings-drawer-footer",direction:e.appVars.is_rtl?"ltr":"rtl"},{footer:n(()=>[i("div",r1,[l(m,{size:"small",onClick:t[3]||(t[3]=e=>u.showSettings=!1)},{default:n(()=>[w(o(e.$t("Cancel")),1)]),_:1}),l(m,{type:"primary",size:"small",loading:d.saving,disabled:d.saving,onClick:t[4]||(t[4]=t=>e.$emit("save"))},{default:n(()=>[w(o(e.$t("Save")),1)]),_:1},8,["loading","disabled"])])]),default:n(()=>[l(C,{class:"fbs-media-storage-form","label-position":"top"},{default:n(()=>[l(k,{label:e.$t("Menu Position Type")},{default:n(()=>[l(_,{modelValue:d.featureModules.menu_settings.in_fluent_crm,"onUpdate:modelValue":t[1]||(t[1]=e=>d.featureModules.menu_settings.in_fluent_crm=e),class:"fbs-settings-radio-group"},{default:n(()=>[l(f,{class:"fbs-settings-radio",value:"yes"},{default:n(()=>[w(o(e.$t("Append in FluentCRM Menu")),1)]),_:1}),l(f,{class:"fbs-settings-radio",value:"no"},{default:n(()=>[w(o(e.$t("Show as Standalone")),1)]),_:1})]),_:1},8,["modelValue"])]),_:1},8,["label"]),"no"==d.featureModules.menu_settings.in_fluent_crm?(s(),c(k,{key:0,class:"fbs-menu-position-priority-field"},{label:n(()=>[i("span",n1,[w(o(e.$t("Menu Position Priority")),1),t[6]||(t[6]=i("span",null,"*",-1))])]),default:n(()=>[l(v,{modelValue:d.featureModules.menu_settings.menu_position,"onUpdate:modelValue":t[2]||(t[2]=e=>d.featureModules.menu_settings.menu_position=e),min:1,max:200,type:"number"},null,8,["modelValue"])]),_:1})):y("",!0)]),_:1})]),_:1},8,["modelValue","title","direction"])],64)}]]),c1={name:"RecommendedAddonCard",components:{CustomIcon:ml,InfoFilled:vt},emits:["install"],props:{addon:{type:Object,required:!0},addonName:{type:String,required:!0},saving:{type:Boolean,default:!1}},computed:{formattedDescription(){return this.addon.short_desc&&""!==this.addon.short_desc?this.addon.short_desc:this.addon.description?this.addon.description.split(" ").slice(0,5).join(" ")+"...":""},actionIcon(){return 0===(this.addon.action_text||"").indexOf("Activate")?"check-line":"download-2-line"},addonLogoAlt(){return`${this.addon.title} Logo`}},methods:{emitInstall(){this.$emit("install",this.addonName,this.addon)}}},h1={class:"fbs-recommended-addon-card"},u1={class:"fbs-recommended-addon-card__top"},p1={class:"fbs-recommended-addon-card__logo"},m1=["src","alt"],b1={class:"fbs-recommended-addon-card__copy"},g1={class:"fbs-recommended-addon-card__title-row"},f1=["textContent"],_1={key:1,class:"fbs_priority_badge fbs_priority_badge_success small"},k1={class:"label"},v1=["textContent"],y1=["href"],w1={class:"icon"},C1=["href"],T1={class:"icon"},S1={class:"icon"};const $1={class:"fbs-settings-page-body fbs-feature-modules-page"},V1={class:"fbs-settings-panel fbs-feature-modules-panel"},A1={class:"fbs-settings-panel__header fbs-feature-modules-panel__header"},I1={key:0,class:"fbs-settings-panel__body fbs-feature-modules-panel__body"},D1={key:0,class:"el-button no-underline el-button--small is-link hover-underline",target:"_blank",rel:"noopener",href:"https://fluentboards.com/docs/task-time-tracking/"},B1={class:"icon"},L1=["href"],M1={key:0,class:"el-button no-underline el-button--small is-link hover-underline",target:"_blank",rel:"noopener",href:"https://fluentboards.com/docs/recurring-task/"},x1={class:"icon"},P1=["href"],F1={class:"fbs-settings-panel fbs-recommended-addons-panel"},E1={class:"fbs-settings-panel__header fbs-recommended-addons-panel__header"},U1={class:"fbs-settings-panel__body fbs-recommended-addons-panel__body"},O1={class:"fbs-recommended-addons-grid"};const R1=Ss({name:"FeaturesSettings",components:{StorageSettings:i1,FrontPanel:PX,MenuPositionSettings:d1,FeatureModuleRow:oX,RecommendedAddonCard:Ss(c1,[["render",function(e,t,r,d,h,u){const p=b("InfoFilled"),m=Ne,g=We,f=b("custom-icon"),_=ze;return s(),a("article",h1,[i("div",u1,[i("div",p1,[i("img",{src:r.addon.logo,alt:u.addonLogoAlt},null,8,m1)]),i("div",b1,[i("div",g1,[i("h4",null,o(r.addon.title),1),r.addon.description?(s(),c(g,{key:0,effect:"dark",placement:"top"},{content:n(()=>[i("div",{class:"fbs-recommended-addon-card__tooltip",textContent:o(r.addon.description)},null,8,f1)]),default:n(()=>[l(m,{class:"fbs-recommended-addon-card__info"},{default:n(()=>[l(p)]),_:1})]),_:1})):y("",!0),r.addon.is_installed?(s(),a("span",_1,[i("span",k1,o(e.$t("Installed")),1)])):y("",!0)]),i("p",{textContent:o(u.formattedDescription)},null,8,v1)])]),r.addon.is_installed?(s(),a("a",{key:0,class:"el-button no-underline",target:"_blank",rel:"noopener",href:r.addon.associate_doc},[i("span",null,[w(o(e.$t("Learn More"))+" ",1),i("span",w1,[l(f,{"icon-name":"external-link"})])])],8,y1)):r.addon.install_url?(s(),a("a",{key:1,class:"el-button el-button--primary no-underline",target:"_blank",rel:"noopener noreferrer",href:r.addon.install_url},[i("span",T1,[l(f,{"icon-name":u.actionIcon},null,8,["icon-name"])]),w(" "+o(r.addon.action_text),1)],8,C1)):(s(),c(_,{key:2,type:"primary",loading:r.saving,disabled:r.saving,onClick:u.emitInstall},{default:n(()=>[i("span",S1,[l(f,{"icon-name":u.actionIcon},null,8,["icon-name"])]),w(" "+o(r.addon.action_text),1)]),_:1},8,["loading","disabled","onClick"]))])}]]),CustomIcon:ml},data:()=>({loading:!1,addOns:[],saving:!1,featureModules:null}),watch:{"featureModules.menu_settings.menu_position":function(e){this.featureModules.menu_settings.menu_position=parseFloat(e)}},methods:{getModuleStatusText(e){return"yes"==(null==e?void 0:e.enabled)?this.$t("Enabled"):this.$t("Disabled")},getModuleStatusTone:e=>"yes"==(null==e?void 0:e.enabled)?"enabled":"disabled",getSettings(){this.loading=!0,this.$get("admin/feature-modules").then(e=>{this.addOns=e.addons,this.featureModules=e.featureModules}).catch(e=>{this.$handleError(e)}).finally(()=>{this.loading=!1})},saveSettings(e={}){const t=!0===(null==e?void 0:e.reopenDrawer);this.$post("admin/feature-modules",{settings:this.featureModules}).then(e=>{if(this.getSettings(),this.$notify({title:this.$t("Success"),message:e.message,type:"success"}),t)try{sessionStorage.setItem(lX,"yes")}catch(a){}const s=window.location.href.includes("wp-admin/admin.php");"no"!=e.featureModules.frontend.enabled||s?location.reload(!0):location.href=this.appVars.admin_url+"?page=fluent-boards#"+this.$route.path,this.$refs.time_tracking&&this.$refs.time_tracking.hide()}).catch(e=>{this.$handleError(e)}).finally(()=>{})},installPlugin(e,t={}){this.saving=!0;const s=t.install_route||"admin/feature-modules/install-plugin",a=t.install_route?{}:{plugin:e};this.$post(s,a).then(e=>{this.getSettings(),this.$notify({title:!1===e.is_installed?this.$t("Error"):this.$t("Success"),message:e.message,type:!1===e.is_installed?"error":"success"}),!1!==e.is_installed&&window.location.reload(!0)}).catch(e=>{this.$handleError(e)}).finally(()=>{this.saving=!1})}},mounted(){this.getSettings()}},[["render",function(e,t,h,u,p,m){const _=b("custom-icon"),k=Jt,v=b("FeatureModuleRow"),C=b("front-panel"),T=b("storage-settings"),S=b("menu-position-settings"),$=b("recommended-addon-card"),V=g("loading");return s(),a("div",null,[f((s(),a("div",$1,[i("section",V1,[i("div",A1,[i("h3",null,o(e.$t("Advanced Modules")),1)]),p.featureModules?(s(),a("div",I1,[l(v,{title:e.$t("Time Tracking"),description:e.$t("Track time on tasks and get detailed reports."),"badge-text":m.getModuleStatusText(p.featureModules.timeTracking),"badge-tone":m.getModuleStatusTone(p.featureModules.timeTracking)},W({action:n(()=>[e.appVars.has_pro?(s(),a("a",D1,[i("span",null,[w(o(e.$t("Learn More"))+" ",1),i("span",B1,[l(_,{"icon-name":"external-link"})])])])):(s(),a("a",{key:1,target:"_blank",class:"el-button no-underline el-button--small",href:e.$getUpgradeUrl("feature_lock_time_tracking")},o(e.$t("Upgrade to Pro")),9,L1))]),_:2},[e.appVars.has_pro?{name:"switch",fn:n(()=>[l(k,{modelValue:p.featureModules.timeTracking.enabled,"onUpdate:modelValue":t[0]||(t[0]=e=>p.featureModules.timeTracking.enabled=e),onChange:m.saveSettings,class:"fbs-settings-switch","active-value":"yes","inactive-value":"no"},null,8,["modelValue","onChange"])]),key:"0"}:void 0]),1032,["title","description","badge-text","badge-tone"]),l(v,{title:e.$t("Recurring Task"),description:e.$t("Automate recurring task creation"),"badge-text":m.getModuleStatusText(p.featureModules.recurring_task),"badge-tone":m.getModuleStatusTone(p.featureModules.recurring_task)},W({action:n(()=>[e.appVars.has_pro?(s(),a("a",M1,[i("span",null,[w(o(e.$t("Learn More"))+" ",1),i("span",x1,[l(_,{"icon-name":"external-link"})])])])):(s(),a("a",{key:1,target:"_blank",class:"el-button no-underline el-button--small",href:e.$getUpgradeUrl("feature_lock_recurring_tasks")},o(e.$t("Upgrade to Pro")),9,P1))]),_:2},[e.appVars.has_pro?{name:"switch",fn:n(()=>[l(k,{modelValue:p.featureModules.recurring_task.enabled,"onUpdate:modelValue":t[1]||(t[1]=e=>p.featureModules.recurring_task.enabled=e),onChange:m.saveSettings,class:"fbs-settings-switch","active-value":"yes","inactive-value":"no"},null,8,["modelValue","onChange"])]),key:"0"}:void 0]),1032,["title","description","badge-text","badge-tone"]),l(C,{onSave:m.saveSettings,featureModules:p.featureModules},null,8,["onSave","featureModules"]),l(T),l(S,{"feature-modules":p.featureModules,saving:p.saving,onSave:m.saveSettings},null,8,["feature-modules","saving","onSave"])])):y("",!0)]),i("section",F1,[i("div",E1,[i("h3",null,o(e.$t("Recommended Plugins and Addons")),1)]),i("div",U1,[i("div",O1,[(s(!0),a(r,null,d(p.addOns,(e,t)=>(s(),c($,{key:t,addon:e,"addon-name":t,saving:p.saving,onInstall:m.installPlugin},null,8,["addon","addon-name","saving","onInstall"]))),128))])])])])),[[V,p.loading]])])}]]);class N1{static get(e,t=""){let s=localStorage.getItem("fluent_board_pref");return s?(s=JSON.parse(s),Ie(s,e,t)):t}static set(e,t){let s=localStorage.getItem("fluent_board_pref");s=s?JSON.parse(s):{},s[e]=t,localStorage.setItem("fluent_board_pref",JSON.stringify(s))}static remove(e){let t=localStorage.getItem("fluent_board_pref");t&&(t=JSON.parse(t),delete t[e],localStorage.setItem("fluent_board_pref",JSON.stringify(t)))}static clear(){localStorage.removeItem("fluent_board_pref")}}const H1={class:"fbs_member_tasks_table"},j1={class:"fbs-table-container"},z1={class:"fbs-task-title-text"},G1={class:"fbs_member_tasks_table__board"},q1={class:"fbs_member_tasks_table__stage"},W1={class:"icon"},K1={class:"label"},Z1={key:0,class:"fbs-task-labels fbs-task-labels-sidebar"},Y1={key:1,class:"fbs_member_tasks_table__muted"},J1={class:"icon"},Q1={class:"label"},X1={class:"fbs_member_tasks_table__empty"},e0={key:0,class:"fbs-pagination-container"};const t0=["aria-label"],s0=["aria-pressed","disabled","onClick"],a0={key:0,class:"fbs_more_tab_item"},i0=["aria-label","disabled"],o0={class:"fbs_member_more_menu_item"},l0={class:"fbs_member_tab_count"},n0={class:"icon"},r0={class:"fbs_sorting_action_wrap"},d0={class:"icon"},c0={class:"icon"},h0={key:0,class:"fbs-dashboard-task-list"},u0=["href","onClick"],p0={key:0,class:"fbs-dashboard-task-divider"},m0={key:1,class:"fbs_task_not_found fbs_member_tasks_empty"},b0={key:2,class:"fbs_member_tasks_loading"},g0={key:3,class:"fbs_member_tasks_end"};const f0=Ss({name:"MemberAllTasks",inject:["eventBus"],components:{EmptyState:Vs,BaseCard:YP,DashboardTaskCard:XH,MemberTasksTable:Ss({name:"MemberTasksTable",components:{Icons:$s,EmptyState:Vs,PaginationBar:qO},emits:["loading"],props:{userId:{type:[Number,String],required:!0},taskType:{type:String,default:"assigned"},boardIds:{type:Array,default:()=>[]},orderBy:{type:String,default:"created_at"},order:{type:String,default:"DESC"},sortApply:{type:Number,default:0}},data:()=>({rows:[],isLoading:!1,requestSequence:0,pagination:{current_page:1,per_page:20,total:0,last_page:1}}),computed:{supportedPageSizes:()=>[10,20,50]},watch:{isLoading(e){this.$emit("loading",e)},userId(){this.reloadFromFirstPage()},taskType(){this.reloadFromFirstPage()},boardIds(){this.reloadFromFirstPage()},sortApply(){this.reloadFromFirstPage()}},mounted(){this.fetchTasks()},methods:{reloadFromFirstPage(){this.pagination.current_page=1,this.fetchTasks()},fetchTasks(){const e=++this.requestSequence;this.isLoading=!0,this.$get("member/"+this.userId+"/tasks",{page:this.pagination.current_page,per_page:this.pagination.per_page,taskType:this.taskType,boardIds:this.boardIds,orderBy:this.orderBy,order:(this.order||"DESC").toUpperCase()}).then(t=>{if(e!==this.requestSequence)return;this.rows=t.tasks||[];const s=t.paginationInfo||{},a=parseInt(s.per_page,10);a>0&&(this.pagination.per_page=a),this.pagination.current_page=parseInt(s.current_page,10)||1,this.pagination.last_page=parseInt(s.last_page,10)||1,this.pagination.total=parseInt(s.total,10)||0}).catch(t=>{e===this.requestSequence&&this.handleError(t)}).finally(()=>{e===this.requestSequence&&(this.isLoading=!1)})},onPaginate(){this.fetchTasks()},taskRoute:e=>({name:"task",params:{id:e.board_id,taskIdName:e.id+"-"+e.slug}}),showTask(e){this.$router.push(this.taskRoute(e))},taskBoardLabel(e){var t;return(null==(t=null==e?void 0:e.board)?void 0:t.title)||this.$t("No board")},taskStageLabel(e){var t;return(null==(t=null==e?void 0:e.stage)?void 0:t.title)?e.stage.title:"closed"===(null==e?void 0:e.status)?this.$t("Completed"):this.$t("Open")},priorityMeta:e=>GE(null==e?void 0:e.priority),priorityLabel(e){return this.$t(this.priorityMeta(e).label)},priorityIcon(e){return"priority-"+this.priorityMeta(e).key},hasPriority(e){return"none"!==this.priorityMeta(e).key},priorityChipClass(e){return["fbs_priority_badge",`fbs_priority_badge_${this.priorityMeta(e).key}`]},taskLabels:e=>Array.isArray(null==e?void 0:e.labels)?e.labels:[],labelChipStyle:e=>({"--fbs-label-dot-color":e.bg_color||"var(--fbs-folder-accent)"}),labelTextStyle:()=>"",isOverdue:e=>e.due_at&&new Date(e.due_at)<new Date&&"closed"!==e.status,dueDateLabel(e){return Tl(null==e?void 0:e.due_at)||this.$t("No date")}}},[["render",function(e,t,u,p,m,_){const v=b("router-link"),w=es,C=b("Icons"),T=b("empty-state"),$=ss,V=b("pagination-bar"),A=g("loading");return s(),a("div",H1,[i("div",j1,[f((s(),c($,{class:"fbs_member_tasks_table__el-table",data:m.rows,"row-key":"id",onRowClick:_.showTask},{empty:n(()=>[i("div",X1,[l(T,{message:"No Tasks","icon-width":84,"icon-height":64})])]),default:n(()=>[l(w,{label:e.$t("Task Name"),prop:"title","min-width":"292"},{default:n(({row:s})=>[l(v,{class:"fbs_member_tasks_table__task-link",to:_.taskRoute(s),"aria-label":e.$t("Open task")+": "+s.title,onClick:t[0]||(t[0]=h(()=>{},["stop"]))},{default:n(()=>[i("span",z1,o(s.title),1)]),_:2},1032,["to","aria-label"])]),_:1},8,["label"]),l(w,{label:e.$t("Board"),width:"160"},{default:n(({row:e})=>[i("span",G1,o(_.taskBoardLabel(e)),1)]),_:1},8,["label"]),l(w,{label:e.$t("Stage"),"min-width":"128"},{default:n(({row:e})=>[i("span",q1,o(_.taskStageLabel(e)),1)]),_:1},8,["label"]),l(w,{label:e.$t("Priority"),"min-width":"100"},{default:n(({row:e})=>[_.hasPriority(e)?(s(),a("span",{key:0,class:k(_.priorityChipClass(e))},[i("span",W1,[l(C,{"icon-name":_.priorityIcon(e)},null,8,["icon-name"])]),i("span",K1,o(_.priorityLabel(e)),1)],2)):y("",!0)]),_:1},8,["label"]),l(w,{label:e.$t("Labels"),"min-width":"299"},{default:n(({row:e})=>[_.taskLabels(e).length?(s(),a("div",Z1,[(s(!0),a(r,null,d(_.taskLabels(e),e=>(s(),a("div",{class:k(["fbs-task-label",{"fbs-task-label-empty":!e.title}]),key:e.id,style:S(_.labelChipStyle(e))},[i("span",{style:S(_.labelTextStyle(e))},o(e.title),5)],6))),128))])):(s(),a("span",Y1,"—"))]),_:1},8,["label"]),l(w,{label:e.$t("Dates"),"min-width":"190"},{default:n(({row:e})=>[i("span",{class:k(["fbs_priority_badge",{fbs_priority_badge_high:_.isOverdue(e)}])},[i("span",J1,[l(C,{"icon-name":"calendar"})]),i("span",Q1,o(_.dueDateLabel(e)),1)],2)]),_:1},8,["label"])]),_:1},8,["data","onRowClick"])),[[A,m.isLoading]]),m.rows.length?(s(),a("div",e0,[l(V,{pagination:m.pagination,page_sizes:_.supportedPageSizes,onFetch:_.onPaginate},null,8,["pagination","page_sizes","onFetch"])])):y("",!0)])])}]]),Icons:$s},data(){return{tasks:[],tasksPagination:{},tasksLoading:!1,tableLoading:!1,noMoreTasks:!1,viewMode:"list",listScrollContainer:null,sortToken:0,currentTasksType:"assigned",tasksTabs:["due_today","assigned","upcoming","overdue","mentioned","completed","others"],tabsConfig:[],taskCounts:{},taskCountsRequestToken:0,maxPrimaryTaskTabs:4,tabLabels:{due_today:this.$t("Due Today"),assigned:this.$t("Assigned"),upcoming:this.$t("Upcoming"),overdue:this.$t("Overdue"),mentioned:this.$t("Mentioned"),completed:this.$t("Completed"),others:this.$t("Others")},boards:[],selectedBoardIds:[],sortData:[{label:this.$t("Created Date"),slug:"created_at"},{label:this.$t("Priority"),slug:"priority"},{label:this.$t("Title"),slug:"title"},{label:this.$t("Due Date"),slug:"due_at"}],query:{order:"DESC",orderBy:"created_at"},screenWidth:window.screen.width}},computed:{controlsDisabled(){return"table"===this.viewMode?this.tableLoading:this.tasksLoading},visibleTabs(){return this.orderedVisibleTabs.slice(0,this.maxPrimaryTaskTabs)},moreTabs(){return this.orderedVisibleTabs.slice(this.maxPrimaryTaskTabs)},activeOverflowTaskTab(){return this.moreTabs.find(e=>e===this.currentTasksType)||null},moreTabLabel(){return this.activeOverflowTaskTab?this.tabLabels[this.activeOverflowTaskTab]||this.activeOverflowTaskTab:this.$t("More")},orderedVisibleTabs(){if(!this.tabsConfig.length)return this.tasksTabs;const e=this.tabsConfig.filter(e=>"true"==e.visible&&this.tasksTabs.includes(e.name)).sort((e,t)=>e.order-t.order).map(e=>e.name);return e.length?e:this.tasksTabs},maxSelectCollapseNumber(){return this.screenWidth>=1235?1:this.screenWidth>=780?4:this.screenWidth>=387?2:1},filterStorageKey(){return"fbs_member_tasks_filter_"+this.$route.params.user_id},emptyStateLabel(){return{due_today:"No Due Today Tasks",assigned:"No Assigned Tasks",upcoming:"No Upcoming Tasks",overdue:"No Overdue Tasks",mentioned:"No Mentioned Tasks",completed:"No Completed Tasks",others:"No Other Tasks"}[this.currentTasksType]??"No Tasks"}},watch:{viewMode(e){"list"!==e?this.removeScrollListener():this.$nextTick(()=>{this.addScrollListener()})},$route(e,t){e.params.user_id!=t.params.user_id&&(this.loadFilterState(),this.tasks=[],this.tasksPagination={},"list"===this.viewMode&&this.getMemberAssociatedTasks(),this.getUserBoards(),this.getTaskCounts())}},mounted(){this.loadFilterState(),"list"===this.viewMode&&this.$nextTick(()=>{this.addScrollListener()}),this.getUserBoards(),this.getTabsConfig().finally(()=>{"list"===this.viewMode&&this.getMemberAssociatedTasks()}),this.getTaskCounts()},beforeUnmount(){this.removeScrollListener()},methods:{loadFilterState(){var e,t;const s=N1.get(this.filterStorageKey,null),a=null==(t=null==(e=this.$route)?void 0:e.query)?void 0:t.tab;s?(this.currentTasksType=this.normalizeTaskType(a??s.tab),this.query.orderBy=s.orderBy??"created_at",this.query.order=s.order??"DESC",this.selectedBoardIds=s.boardIds??[],this.viewMode="table"===s.view?"table":"list"):(this.currentTasksType=this.normalizeTaskType(a),this.query.orderBy="created_at",this.query.order="DESC",this.selectedBoardIds=[],this.viewMode="list")},normalizeTaskType(e){return this.tasksTabs.includes(e)?e:"assigned"},saveFilterState(){N1.set(this.filterStorageKey,{tab:this.currentTasksType,orderBy:this.query.orderBy,order:this.query.order,boardIds:this.selectedBoardIds,view:this.viewMode})},onViewModeChange(e){this.saveFilterState(),"list"===e&&this.reloadList()},reloadList(){this.tasks=[],this.tasksPagination={},this.noMoreTasks=!1,this.getMemberAssociatedTasks()},handleListScroll(){if("list"!==this.viewMode||!this.listScrollContainer)return;const e=this.listScrollContainer;e.scrollHeight-e.scrollTop-e.clientHeight<=10&&this.getMemberAssociatedTasks()},addScrollListener(){const e=this.$el.querySelector(".fbs_member_all_tasks__body");e&&this.listScrollContainer!==e&&(this.removeScrollListener(),this.listScrollContainer=e,this.listScrollContainer.addEventListener("scroll",this.handleListScroll))},removeScrollListener(){this.listScrollContainer&&(this.listScrollContainer.removeEventListener("scroll",this.handleListScroll),this.listScrollContainer=null)},getMemberAssociatedTasks(){var e,t,s,a;if(!this.tasksLoading){if(this.tasksLoading=!0,this.noMoreTasks=!1,this.tasksPagination.hasOwnProperty("last_page")&&this.tasksPagination.hasOwnProperty("current_page")&&(null==(e=this.tasksPagination)?void 0:e.last_page)<=(null==(t=this.tasksPagination)?void 0:t.current_page))return this.tasksLoading=!1,void(0!=this.tasks.length&&(this.noMoreTasks=!0));this.$get("member/"+this.$route.params.user_id+"/tasks",{page:(null==(s=this.tasksPagination)?void 0:s.current_page)?+(null==(a=this.tasksPagination)?void 0:a.current_page)+1:1,taskType:this.currentTasksType,boardIds:this.selectedBoardIds,orderBy:this.query.orderBy,order:this.query.order}).then(e=>{const t=[...this.tasks,...e.tasks];this.tasks=this.deduplicateTasksById(t),this.tasksPagination=e.paginationInfo}).catch(e=>{this.handleError(e)}).finally(()=>{this.tasksLoading=!1})}},showTask(e){this.$router.push({name:"task",params:{id:e.board_id,taskIdName:e.id+"-"+e.slug}})},getUserBoards(){this.$get("member/"+this.$route.params.user_id+"/projects").then(e=>{this.boards=e.boards}).catch(e=>{this.handleError(e)})},getTabsConfig(){return this.$get("tasks/task-tabs/config").then(e=>{this.tabsConfig=e.data||[],this.orderedVisibleTabs.includes(this.currentTasksType)||this.changeTasksTab(this.orderedVisibleTabs[0])}).catch(e=>{this.handleError(e)})},getTaskCounts(){const e=++this.taskCountsRequestToken,t=String(this.$route.params.user_id),s=[...this.selectedBoardIds],a=JSON.stringify(s),i=()=>e===this.taskCountsRequestToken&&String(this.$route.params.user_id)===t&&JSON.stringify(this.selectedBoardIds)===a;this.$get("member/"+t+"/task-counts",{boardIds:s}).then(e=>{i()&&(this.taskCounts=e.counts||{})}).catch(e=>{i()&&this.handleError(e)})},formattedTaskCount(e){return this.taskCounts[e]??0},changeTasksTab(e){"others"===(e=this.normalizeTaskType(e))&&"due_at"===this.query.orderBy&&(this.query.orderBy="created_at",this.query.order="DESC"),this.currentTasksType=e,this.$router.push({query:{...this.$route.query,tab:e}}),this.saveFilterState(),"list"===this.viewMode&&this.reloadList()},filterByBoard(){this.saveFilterState(),this.getTaskCounts(),"list"===this.viewMode&&(this.tasksLoading=!1,this.reloadList())},applySort(){this.saveFilterState(),"table"!==this.viewMode?(this.tasksLoading=!1,this.reloadList()):this.sortToken++},deduplicateTasksById(e){const t=new Map;return e.forEach(e=>{t.set(e.id,e)}),Array.from(t.values())}}},[["render",function(e,t,u,p,m,_){const v=b("Icons"),C=xe,T=Me,S=Pe,$=Be,V=Le,A=ze,I=xt,D=Mt,B=je,L=b("MemberTasksTable"),M=b("dashboard-task-card"),x=b("empty-state"),P=b("BaseCard"),F=g("loading");return s(),c(P,{class:"fbs_member_tasks_card","no-body-padding":"table"===m.viewMode||m.tasks.length>0,"body-class":"list"===m.viewMode?"fbs_member_all_tasks__body":""},{title:n(()=>[i("div",{class:"fbs_member_tab",role:"group","aria-label":e.$t("Task filters")},[(s(!0),a(r,null,d(_.visibleTabs,e=>(s(),a("button",{key:e,type:"button",class:k(["fbs_member_tab_button",{"is-active":m.currentTasksType===e}]),"aria-pressed":m.currentTasksType===e,disabled:_.controlsDisabled,onClick:t=>_.changeTasksTab(e)},[i("span",null,o(m.tabLabels[e]||e),1)],10,s0))),128)),_.moreTabs.length?(s(),a("div",a0,[l(S,{trigger:"click","popper-class":"fbs-member-task-tabs-more-menu",onCommand:_.changeTasksTab},{dropdown:n(()=>[l(T,null,{default:n(()=>[(s(!0),a(r,null,d(_.moreTabs,e=>(s(),c(C,{key:e,command:e,class:k({"is-active":m.currentTasksType===e})},{default:n(()=>[i("span",o0,[i("span",null,o(m.tabLabels[e]||e),1),i("span",l0,o(_.formattedTaskCount(e)),1)])]),_:2},1032,["command","class"]))),128))]),_:1})]),default:n(()=>[i("button",{type:"button",class:k(["fbs_more_trigger",_.moreTabs.includes(m.currentTasksType)?"is-active":""]),"aria-haspopup":"menu","aria-label":e.$t("More"),disabled:_.controlsDisabled},[w(o(_.moreTabLabel)+" ",1),l(v,{"icon-name":"arrow-down"})],10,i0)]),_:1},8,["onCommand"])])):y("",!0)],8,t0)]),header_action:n(()=>[l(V,{modelValue:m.selectedBoardIds,"onUpdate:modelValue":t[0]||(t[0]=e=>m.selectedBoardIds=e),multiple:"",clearable:"","collapse-tags":"","collapse-tags-tooltip":"","max-collapse-tags":_.maxSelectCollapseNumber,placeholder:e.$t("Select Board To Filter"),class:"fbs_member_filter_by_board",disabled:_.controlsDisabled,onChange:_.filterByBoard,filterable:"",size:"small"},{default:n(()=>[(s(!0),a(r,null,d(m.boards,e=>(s(),c($,{key:e.id,label:e.title,value:e.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue","max-collapse-tags","placeholder","disabled","onChange"]),l(B,{placement:"bottom-end",title:e.$t("Sort By"),width:240,trigger:"click","popper-class":"fbs_sort_popover"},{reference:n(()=>[l(A,{title:e.$t("Sort"),"aria-label":e.$t("Sort"),size:"small",class:"only-icon-btn",disabled:_.controlsDisabled},{default:n(()=>[i("span",n0,[l(v,{"icon-name":"sort"})])]),_:1},8,["title","aria-label","disabled"])]),default:n(()=>[i("div",r0,[l(D,{modelValue:m.query.orderBy,"onUpdate:modelValue":t[1]||(t[1]=e=>m.query.orderBy=e)},{default:n(()=>[(s(!0),a(r,null,d(m.sortData,e=>f((s(),c(I,{key:e.slug,value:e.slug,disabled:"others"==m.currentTasksType&&"due_at"==e.slug},{default:n(()=>[w(o(e.label),1)]),_:2},1032,["value","disabled"])),[[U,"others"!=m.currentTasksType||"due_at"!=e.slug]])),128))]),_:1},8,["modelValue"]),l(D,{modelValue:m.query.order,"onUpdate:modelValue":t[2]||(t[2]=e=>m.query.order=e),class:"fbs_sort_order_group"},{default:n(()=>[l(I,{size:"small",value:"ASC",label:"ASC"},{default:n(()=>[w(o(e.$t("Ascending")),1)]),_:1}),l(I,{size:"small",value:"DESC",label:"DESC"},{default:n(()=>[w(o(e.$t("Descending")),1)]),_:1})]),_:1},8,["modelValue"]),l(A,{class:"fbs-apply-btn",type:"primary",onClick:t[3]||(t[3]=e=>_.applySort())},{default:n(()=>[w(o(e.$t("Apply")),1)]),_:1})])]),_:1},8,["title"]),l(D,{modelValue:m.viewMode,"onUpdate:modelValue":t[4]||(t[4]=e=>m.viewMode=e),class:"fbs_sort_order_group fbs_tasks_view_btns fbs_sort_order_group__only_icon",size:"small",disabled:_.controlsDisabled,"aria-label":e.$t("Select view"),onChange:_.onViewModeChange},{default:n(()=>[l(I,{value:"list",title:e.$t("List view")},{default:n(()=>[i("span",d0,[l(v,{"icon-name":"list-table"})])]),_:1},8,["title"]),l(I,{value:"table",title:e.$t("Table view")},{default:n(()=>[i("span",c0,[l(v,{"icon-name":"table"})])]),_:1},8,["title"])]),_:1},8,["modelValue","disabled","aria-label","onChange"])]),body:n(()=>["table"===m.viewMode?(s(),c(L,{key:0,"user-id":e.$route.params.user_id,"task-type":m.currentTasksType,"board-ids":m.selectedBoardIds,"order-by":m.query.orderBy,order:m.query.order,"sort-apply":m.sortToken,onLoading:t[5]||(t[5]=e=>m.tableLoading=e)},null,8,["user-id","task-type","board-ids","order-by","order","sort-apply"])):(s(),a(r,{key:1},[m.tasks.length>0?(s(),a("div",h0,[(s(!0),a(r,null,d(m.tasks,(t,o)=>(s(),a(r,{key:t.id},[i("a",{href:e.$getTaskUrl(t),class:"fbs-dashboard-task-link",onClick:h(e=>_.showTask(t),["prevent"])},[l(M,{task:t},null,8,["task"])],8,u0),o<m.tasks.length-1?(s(),a("hr",p0)):y("",!0)],64))),128))])):y("",!0),0!==m.tasks.length||m.tasksLoading||m.noMoreTasks?y("",!0):(s(),a("div",m0,[l(x,{message:_.emptyStateLabel,"icon-width":126,"icon-height":96},null,8,["message"])])),m.tasksLoading?f((s(),a("div",b0,null,512)),[[F,m.tasksLoading]]):y("",!0),m.noMoreTasks?(s(),a("p",g0,o(e.$t("No more tasks")),1)):y("",!0)],64))]),_:1},8,["no-body-padding","body-class"])}]]),_0={class:"fbs_max_w_800"},k0={key:0,class:"fbs_member_activities__list"},v0={key:1,style:{height:"80px",width:"100%","margin-bottom":"30px"}},y0={key:2,style:{"text-align":"center"}},w0={key:3,class:"fbs-task-not-found"};const C0=Ss({name:"MemberActivities",components:{BaseCard:YP,EmptyState:Vs,ActivityListItem:km,ActivityMessage:MV},data:()=>({allActivities:[],activitiesToShow:[],activityLoading:!1,noMoreActivity:!1}),mounted(){this.getMemberRelatedActivities()},methods:{onScroll(){const e=this.$refs.scrollContainer;e.scrollHeight-e.scrollTop-e.clientHeight<=10&&this.getMemberRelatedActivities()},getMemberRelatedActivities(){var e,t,s,a;if(!this.activityLoading){if(this.activityLoading=!0,this.noMoreActivity=!1,this.allActivities.hasOwnProperty("last_page")&&this.allActivities.hasOwnProperty("current_page")&&(null==(e=this.allActivities)?void 0:e.last_page)<=(null==(t=this.allActivities)?void 0:t.current_page))return this.activityLoading=!1,void(this.noMoreActivity=this.activitiesToShow.length>0);this.$get("member/"+this.$route.params.user_id+"/activities",{page:(null==(s=this.allActivities)?void 0:s.current_page)?+(null==(a=this.allActivities)?void 0:a.current_page)+1:1}).then(e=>{this.allActivities=e.pagination,this.activitiesToShow=[...this.activitiesToShow,...e.activities]}).catch(e=>{this.handleError(e)}).finally(()=>{this.activityLoading=!1})}}}},[["render",function(e,t,h,u,p,m){const _=At,k=b("ActivityMessage"),v=b("ActivityListItem"),C=b("empty-state"),T=b("BaseCard"),S=g("loading");return s(),a("div",_0,[l(T,null,{body:n(()=>[i("div",{ref:"scrollContainer",class:"fbs-board-member-tasks-activities",onScroll:t[0]||(t[0]=(...e)=>m.onScroll&&m.onScroll(...e))},[p.activityLoading&&!p.activitiesToShow.length?(s(),c(_,{key:0,animated:"",rows:12})):(s(),a(r,{key:1},[p.activitiesToShow.length?(s(),a("div",k0,[(s(!0),a(r,null,d(p.activitiesToShow,(t,a)=>(s(),c(v,{key:t.id,last:a===p.activitiesToShow.length-1},{title:n(()=>[l(k,{activity:t},null,8,["activity"])]),date:n(()=>[w(o(e.$humanTimeDiff(t.created_at)),1)]),_:2},1032,["last"]))),128))])):y("",!0),p.activityLoading&&p.allActivities.current_page!=p.allActivities.last_page?f((s(),a("div",v0,null,512)),[[S,p.activityLoading]]):y("",!0),p.noMoreActivity?(s(),a("p",y0,o(e.$t("No more activities")),1)):y("",!0),p.activityLoading||p.activitiesToShow.length?y("",!0):(s(),a("div",w0,[l(C,{message:"No activities yet","icon-width":126,"icon-height":96})]))],64))],544)]),_:1})])}]]),T0={class:"fbs_stat_widget"},S0={class:"fbs_stat_widget__body"},$0={key:0,class:"fbs_stat_widget__title"},V0={key:1,class:"fbs_stat_widget__value"};const A0={class:"fbs_member_stats"},I0={class:"fbs_member_stats_grid"},D0={class:"fbs_member_stats_grid"};const B0=Ss({name:"MemberStats",components:{StatWidget:Ss({name:"StatWidget"},[["render",function(e,t,o,l,n,r){return s(),a("div",T0,[i("div",S0,[e.$slots.title?(s(),a("span",$0,[_(e.$slots,"title")])):y("",!0),e.$slots.value?(s(),a("span",V0,[_(e.$slots,"value")])):y("",!0)])])}]])},props:{userId:{type:Number,required:!0}},data:()=>({loading:!0,stats:[]}),mounted(){this.fetchStats()},watch:{userId(){this.fetchStats()}},methods:{fetchStats(){this.loading=!0;const e=this.userId;this.$get(`member/${e}/stats`).then(t=>{this.userId===e&&(this.stats=this.buildStats(t))}).catch(()=>{}).finally(()=>{this.loading=!1})},buildStats(e){return[{key:"assigned_tasks",title:this.$t("Assigned Tasks"),value:e.assigned_tasks??0},{key:"completed_tasks",title:this.$t("Completed"),value:e.completed_tasks??0},{key:"total_boards",title:this.$t("Active Boards"),value:e.total_boards??0},{key:"unread_notifications",title:this.$t("Notifications"),value:e.unread_notifications??0}]}}},[["render",function(e,t,h,u,p,m){const g=hs,f=b("StatWidget"),_=At;return s(),a("div",A0,[l(_,{loading:p.loading,animated:""},{template:n(()=>[i("div",I0,[(s(),a(r,null,d(4,e=>l(g,{key:e,class:"fbs_member_stats_skeleton",variant:"text"})),64))])]),default:n(()=>[i("div",D0,[(s(!0),a(r,null,d(p.stats,e=>(s(),c(f,{key:e.key},{title:n(()=>[w(o(e.title),1)]),value:n(()=>[w(o(e.value),1)]),_:2},1024))),128))])]),_:1},8,["loading"])])}]]),L0={class:"fbs_member_overview_recent_tasks"},M0={class:"fbs-dashboard-widget-title"},x0={key:0,class:"fbs-dashboard-task-list"},P0=["href","onClick"],F0={key:0,class:"fbs-dashboard-task-divider"},E0={key:1,class:"fbs-dashboard-empty-compact"};const U0={class:"fbs_max_w_800"},O0={class:"fbs_member_card"},R0={class:"fbs_member_name_email fbs_member_profile_skeleton_identity"},N0={class:"fbs_member_links fbs_member_profile_skeleton_links"},H0={class:"fbs_member_card"},j0={class:"fbs_member_profile_photo"},z0=["src","alt"],G0={class:"fbs_member_name_email"},q0={class:"fbs_member_name"},W0={class:"fbs_member_email"},K0={class:"fbs_member_tags"},Z0=["aria-label"],Y0=["aria-label"],J0={class:"fbs_member_links"},Q0={key:0,class:"fbs_member_links_item"},X0={class:"icon"},e2={key:1,class:"fbs_member_links_item"},t2={class:"icon"};const s2=Ss({name:"MemberOverview",components:{RecentTasks:Ss({name:"RecentTasks",components:{EmptyState:Vs,BaseCard:YP,DashboardTaskCard:XH},props:{userId:{type:Number,required:!0}},data:()=>({loading:!1,tasks:[]}),mounted(){this.getRecentTasks()},methods:{getRecentTasks(){this.loading=!0;const e=this.userId;this.$get("member/"+e+"/tasks",{page:1,taskType:"assigned",orderBy:"created_at",order:"DESC",per_page:5}).then(t=>{this.userId===e&&(this.tasks=t.tasks||[])}).catch(t=>{this.userId===e&&this.handleError(t)}).finally(()=>{this.userId===e&&(this.loading=!1)})},showTask(e){this.$router.push({name:"task",params:{id:e.board_id,taskIdName:e.id+"-"+e.slug}})},viewAllTasks(){this.$router.push({path:`/member/${this.userId}/tasks`,query:{tab:"assigned"}})}},watch:{userId(){this.tasks=[],this.getRecentTasks()}}},[["render",function(e,t,u,p,m,g){const f=ze,_=At,k=b("dashboard-task-card"),v=b("empty-state"),C=b("BaseCard");return s(),a("div",L0,[l(C,{class:"fbs-dashboard-side-card","no-body-padding":!m.loading},{title:n(()=>[i("h3",M0,o(e.$t("Recent Tasks")),1)]),header_action:n(()=>[l(f,{link:"",class:"no-underline hover-underline fbs_mr_0 fbs_ml_0",onClick:g.viewAllTasks},{default:n(()=>[w(o(e.$t("View All")),1)]),_:1},8,["onClick"])]),body:n(()=>[m.loading?(s(),c(_,{key:0,animated:"",rows:5})):(s(),a(r,{key:1},[m.tasks.length?(s(),a("div",x0,[(s(!0),a(r,null,d(m.tasks,(t,o)=>(s(),a(r,{key:t.id},[i("a",{href:e.$getTaskUrl(t),class:"fbs-dashboard-task-link",onClick:h(e=>g.showTask(t),["prevent"])},[l(k,{task:t},null,8,["task"])],8,P0),o<m.tasks.length-1?(s(),a("hr",F0)):y("",!0)],64))),128))])):(s(),a("div",E0,[l(v,{message:"No recent tasks","icon-width":84,"icon-height":64})]))],64))]),_:1},8,["no-body-padding"])])}]]),Icons:$s,BaseCard:YP,MemberStats:B0},data:()=>({loading:!1,member:{}}),mounted(){this.getMemberInfo()},methods:{getMemberInfo(){this.loading=!0;const e=this.$route.params.user_id;this.$get("member/"+e).then(t=>{this.$route.params.user_id==e&&(this.member=t.user)}).catch(t=>{this.$route.params.user_id==e&&this.handleError(t)}).finally(()=>{this.$route.params.user_id==e&&(this.loading=!1)})},getContactURL:e=>window.fluentAddonVars.crm_base_url+`subscribers/${e}/boards`,getWpProfileURL:e=>window.fluentAddonVars.site_url+`wp-admin/user-edit.php?user_id=${e}`},watch:{"$route.params.user_id"(e){this.getMemberInfo()}}},[["render",function(e,t,r,d,c,h){const u=hs,p=b("Icons"),m=ze,g=At,f=b("BaseCard"),_=b("MemberStats"),k=b("RecentTasks");return s(),a("div",U0,[l(f,null,{body:n(()=>[l(g,{loading:c.loading,animated:""},{template:n(()=>[i("div",O0,[l(u,{class:"fbs_member_profile_skeleton_avatar",variant:"circle"}),i("div",R0,[l(u,{class:"fbs_member_profile_skeleton_name",variant:"h3"}),l(u,{class:"fbs_member_profile_skeleton_email",variant:"text"}),l(u,{class:"fbs_member_profile_skeleton_role",variant:"text"})]),i("div",N0,[l(u,{class:"fbs_member_profile_skeleton_button",variant:"button"}),l(u,{class:"fbs_member_profile_skeleton_button",variant:"button"})])])]),default:n(()=>[i("div",H0,[i("div",j0,[i("img",{src:c.member.photo,alt:c.member.display_name},null,8,z0)]),i("div",G0,[i("p",q0,o(c.member.display_name),1),i("p",W0,o(c.member.user_email),1),i("p",K0,["yes"==c.member.is_wp_admin?(s(),a("span",{key:0,class:"fbs_badge","aria-label":e.$t("FluentBoards admin have all privileges")},o(e.$t("WP Admin")),9,Z0)):y("",!0),"fbs_admin"==c.member.fbs_role?(s(),a("span",{key:1,class:"fbs_badge","aria-label":e.$t("Wordpress admin have all privileges")},o(e.$t("FluentBoards Admin")),9,Y0)):y("",!0)])]),i("div",J0,[c.member.fluentcrm_subscriber&&"yes"==e.appVars.me.is_wp_admin?(s(),a("div",Q0,[l(m,{tag:"a",size:"small",href:h.getContactURL(c.member.fluentcrm_subscriber.id),target:"_blank",rel:"noopener noreferrer","aria-label":e.$t("CRM Profile")},{default:n(()=>[i("span",X0,[l(p,{"icon-name":"crm-icon"})]),w(" "+o(e.$t("CRM Profile")),1)]),_:1},8,["href","aria-label"])])):y("",!0),"yes"==e.appVars.me.is_wp_admin?(s(),a("div",e2,[l(m,{tag:"a",size:"small",href:h.getWpProfileURL(c.member.ID),target:"_blank",rel:"noopener noreferrer","aria-label":e.$t("WP Profile")},{default:n(()=>[i("span",t2,[l(p,{"icon-name":"wordpress"})]),w(" "+o(e.$t("WP Profile")),1)]),_:1},8,["href","aria-label"])])):y("",!0)])])]),_:1},8,["loading"])]),_:1}),l(_,{"user-id":parseInt(e.$route.params.user_id)},null,8,["user-id"]),l(k,{"user-id":parseInt(e.$route.params.user_id)},null,8,["user-id"])])}]]),a2={name:"SettingsRow",props:{label:{type:String,default:""},description:{type:String,default:""},labelFor:{type:String,default:null},divider:{type:Boolean,default:!0},center:{type:Boolean,default:!1}}},i2={class:"fbs-settings-row__copy"},o2=["for"],l2={key:0,class:"fbs-settings-row__description"},n2={class:"fbs-settings-row__control"};const r2={key:1,class:"fbs-general-settings-panel"},d2={class:"fbs-general-settings-wrapper"},c2={class:"fbs-settings-form-panel fbs-general-settings-card"},h2={class:"fbs-settings-fields"},u2={class:"fbs-general-settings-logo-field"},p2=["src","alt"],m2={key:1},b2={class:"fbs-general-settings-logo-actions"},g2={class:"icon"},f2={class:"fbs-general-settings-switch-group"},_2={class:"fbs-general-settings-switch-block"},k2={class:"fbs-general-settings-switch-row"},v2={class:"fbs-general-settings-switch-content"},y2={class:"fbs-settings-row__label"},w2={class:"fbs-settings-row__description"},C2={key:0,class:"fbs-general-settings-switch-extra"},T2={class:"fbs-settings-meta-list"},S2={class:"fbs-settings-meta-item"},$2={class:"fbs-settings-meta-chip"},V2={class:"fbs-settings-meta-item"},A2={class:"fbs-settings-meta-chip"},I2={class:"fbs-general-settings-switch-block"},D2={class:"fbs-general-settings-switch-row"},B2={class:"fbs-general-settings-switch-content"},L2={class:"fbs-settings-row__label"},M2={class:"fbs-settings-row__description"};const x2=Ss({name:"GeneralSettings",components:{Icons:$s,SettingsRow:Ss(a2,[["render",function(e,t,l,n,r,d){return s(),a("div",{class:k(["fbs-settings-row",{"fbs-settings-row--center":l.center,"fbs-settings-row--no-divider":!l.divider}])},[i("div",i2,[_(e.$slots,"title",{},()=>[_(e.$slots,"label",{},()=>[l.label?(s(),a("label",{key:0,class:"fbs-settings-row__label",for:l.labelFor},o(l.label),9,o2)):y("",!0)])]),_(e.$slots,"description",{},()=>[l.description?(s(),a("p",l2,o(l.description),1)):y("",!0)])]),i("div",n2,[_(e.$slots,"field",{},()=>[_(e.$slots,"default")])])],2)}]]),SettingsProNotice:rD},inject:{setSettingsHeaderAction:{default:null},clearSettingsHeaderAction:{default:null}},data:()=>({daily_remind_at:"08:00",daily_reminder_enabled:!0,loading:!1,saving:!1,server_time:fluentAddonVars.server_time,server_timezone:"",business_name:"",business_address:"",business_logo:"",business_logo_data:"",business_logo_name:"",allow_members_to_create_boards:!1,previousReminder:{daily_remind_at:"08:00",daily_reminder_enabled:!0,business_name:"",business_address:"",business_logo:"",allow_members_to_create_boards:!1}}),watch:{loading(){this.registerHeaderAction()},saving(){this.registerHeaderAction()}},mounted(){this.registerHeaderAction(),this.getGeneralSettings()},beforeUnmount(){this.clearHeaderAction()},computed:{logoInitial(){const e=this.business_name?this.business_name.trim():"";return e?e.charAt(0).toUpperCase():"B"},reminderValueChanged(){return this.daily_remind_at!==this.previousReminder.daily_remind_at||this.daily_reminder_enabled!==this.previousReminder.daily_reminder_enabled||this.business_name!==this.previousReminder.business_name||this.business_address!==this.previousReminder.business_address||this.business_logo!==this.previousReminder.business_logo||this.allow_members_to_create_boards!==this.previousReminder.allow_members_to_create_boards}},methods:{registerHeaderAction(){this.appVars.has_pro&&"function"==typeof this.setSettingsHeaderAction&&this.setSettingsHeaderAction({routeName:this.$route.name,type:"save",loading:this.saving,disabled:this.loading,handler:this.saveSettings,wrapperClass:"fbs-general-settings-subtopbar__actions"})},clearHeaderAction(){"function"==typeof this.clearSettingsHeaderAction&&this.clearSettingsHeaderAction(this.$route.name)},getGeneralSettings(){this.loading=!0,this.$get("admin/general-settings").then(e=>{this.daily_remind_at=e.settings.daily_remind_at?e.settings.daily_remind_at:"08:00",this.daily_reminder_enabled="true"==e.settings.daily_reminder_enabled,this.business_name=e.settings.business_name||"",this.business_address=this.getBusinessAddressFromSettings(e.settings),this.business_logo=e.settings.business_logo||"",this.allow_members_to_create_boards=!0===e.settings.allow_members_to_create_boards||"true"===e.settings.allow_members_to_create_boards,this.server_timezone=e.server_timezone,this.previousReminder.daily_remind_at=this.daily_remind_at,this.previousReminder.daily_reminder_enabled=this.daily_reminder_enabled,this.previousReminder.business_name=this.business_name,this.previousReminder.business_address=this.business_address,this.previousReminder.business_logo=this.business_logo,this.previousReminder.allow_members_to_create_boards=this.allow_members_to_create_boards}).catch(e=>{this.$handleError(e)}).finally(()=>{this.loading=!1})},saveSettings(){const e={daily_reminder_enabled:this.daily_reminder_enabled,daily_remind_at:this.daily_remind_at,business_name:this.business_name,business_address:this.business_address,business_logo:this.business_logo,business_logo_data:this.business_logo_data,business_logo_name:this.business_logo_name,allow_members_to_create_boards:this.allow_members_to_create_boards};this.saving=!0,this.$post("admin/general-settings",{updatedSettings:e}).then(e=>{this.$notify.success({title:this.$t("Success"),message:e.message}),this.getGeneralSettings(),this.business_logo_data="",this.business_logo_name=""}).catch(e=>{this.$handleError(e)}).finally(()=>{this.saving=!1})},beforeUpload(e){if(!["image/jpeg","image/png"].includes(e.type))return this.$notify.error({title:"Error",message:this.$t("File type not allowed (jpg or png only)")}),!1;return!!(e.size/1024<500)||(this.$notify.error({title:"Error",message:this.$t("File size must be less than 500KB")}),!1)},getBusinessAddressFromSettings:e=>e.business_address?e.business_address:[e.business_street_address,e.business_city,e.business_state,e.business_postal_code,e.business_country].filter(Boolean).join(", "),triggerLogoSelect(){this.$refs.hiddenLogoTrigger&&this.$refs.hiddenLogoTrigger.click()},removeLogo(){this.business_logo="",this.business_logo_data="",this.business_logo_name=""},manualReplaceLogo(e){const t=e.target.files[0];if(!t)return;if(!this.beforeUpload(t))return;const s=new FileReader;s.onload=e=>{this.business_logo=e.target.result,this.business_logo_data=e.target.result,this.business_logo_name=t.name},s.readAsDataURL(t)}}},[["render",function(e,t,r,d,u,p){const m=b("SettingsProNotice"),_=He,k=b("SettingsRow"),v=rt,C=ze,T=b("Icons"),S=Jt,$=Je,V=bt,A=g("loading");return e.appVars.has_pro?(s(),a("div",r2,[f((s(),a("div",d2,[i("div",c2,[l(V,{onSubmit:t[6]||(t[6]=h(()=>{},["prevent"]))},{default:n(()=>[i("div",h2,[l(k,{label:e.$t("Business Name"),description:e.$t("Used in outgoing emails and public pages.")},{default:n(()=>[l(_,{modelValue:u.business_name,"onUpdate:modelValue":t[0]||(t[0]=e=>u.business_name=e),placeholder:e.$t("e.g., MyBusiness.Inc"),maxlength:"120",autocomplete:"off"},null,8,["modelValue","placeholder"])]),_:1},8,["label","description"]),l(k,{label:e.$t("Logo"),description:e.$t("PNG/JPEG, min 400x400px. Shown on branded content.")},{default:n(()=>[i("div",u2,[l(v,{size:40,class:"fbs-general-settings-logo-preview",shape:"circle"},{default:n(()=>[u.business_logo?(s(),a("img",{key:0,src:u.business_logo,alt:e.$t("Business Logo")},null,8,p2)):(s(),a("span",m2,o(p.logoInitial),1))]),_:1}),i("div",b2,[l(C,{size:"small",onClick:p.triggerLogoSelect,class:"fbs_ml_0 fbs_mr_0"},{default:n(()=>[w(o(e.$t("Change")),1)]),_:1},8,["onClick"]),u.business_logo?(s(),c(C,{key:0,size:"small",class:"only-icon-btn fbs_ml_0 fbs_mr_0","aria-label":e.$t("Delete logo"),title:e.$t("Delete logo"),plain:"",onClick:p.removeLogo,type:"danger"},{default:n(()=>[i("span",g2,[l(T,{"icon-name":"delete"})])]),_:1},8,["aria-label","title","onClick"])):y("",!0)]),i("input",{ref:"hiddenLogoTrigger",class:"fbs-general-settings-file-input",type:"file",accept:"image/png,image/jpeg",onChange:t[1]||(t[1]=(...e)=>p.manualReplaceLogo&&p.manualReplaceLogo(...e))},null,544)])]),_:1},8,["label","description"]),l(k,{label:e.$t("Business Full Address"),description:e.$t("May appear in email footers for compliance.")},{default:n(()=>[l(_,{modelValue:u.business_address,"onUpdate:modelValue":t[2]||(t[2]=e=>u.business_address=e),type:"textarea",placeholder:e.$t("Full business address"),maxlength:"250",autosize:{minRows:2,maxRows:6},resize:"none"},null,8,["modelValue","placeholder"])]),_:1},8,["label","description"]),i("div",f2,[i("div",_2,[i("div",k2,[l(S,{class:"fbs_mt_2",modelValue:u.daily_reminder_enabled,"onUpdate:modelValue":t[3]||(t[3]=e=>u.daily_reminder_enabled=e),size:"small"},null,8,["modelValue"]),i("div",v2,[i("div",y2,o(e.$t("Daily Reminder")),1),i("p",w2,o(e.$t("Send a daily task summary email at the selected time.")),1)])]),u.daily_reminder_enabled?(s(),a("div",C2,[l($,{modelValue:u.daily_remind_at,"onUpdate:modelValue":t[4]||(t[4]=e=>u.daily_remind_at=e),class:"fbs-settings-control fbs-general-settings-time-select",start:"00:00",step:"00:15",end:"23:45",placeholder:e.$t("Select Time")},null,8,["modelValue","placeholder"]),i("div",T2,[i("span",S2,[w(o(e.$t("Server Time:"))+" ",1),i("span",$2,o(u.server_time),1)]),i("span",V2,[w(o(e.$t("Timezone:"))+" ",1),i("span",A2,o(u.server_timezone),1)])])])):y("",!0)]),i("div",I2,[i("div",D2,[l(S,{class:"fbs_mt_2",modelValue:u.allow_members_to_create_boards,"onUpdate:modelValue":t[5]||(t[5]=e=>u.allow_members_to_create_boards=e),size:"small"},null,8,["modelValue"]),i("div",B2,[i("div",L2,o(e.$t("Board Creation Permission")),1),i("p",M2,o(e.$t("Allow all board members to create new boards. They will become the board manager automatically.")),1)])])])])])]),_:1})])])),[[A,u.loading]])])):(s(),c(m,{key:0,title:e.$t("General Settings"),description:e.$t("Manage business details, daily reminders, and board creation permissions with Fluent Boards Pro."),"utm-content":"feature_lock_general_settings","button-label":e.$t("Upgrade to Pro")},null,8,["title","description","button-label"]))}]]),P2={class:"fbs-mcp-settings"},F2={class:"fbs-mcp-settings-body"},E2={class:"fbs-mcp-panel fbs-mcp-enable-panel"},U2={class:"fbs-mcp-switch-row"},O2={class:"fbs-mcp-switch-copy"},R2={key:0,class:"fbs-mcp-panel"},N2={class:"fbs-mcp-status-row"},H2={class:"fbs-mcp-status-copy"},j2={key:0},z2={key:1},G2={class:"fbs-mcp-status-action"},q2=["href"],W2=["href"],K2={key:2,class:"fbs_priority_badge fbs_priority_badge_success"},Z2={class:"label"},Y2={class:"fbs-mcp-row"},J2={class:"fbs-mcp-copy-line"},Q2={class:"fbs-mcp-row"},X2={key:1,class:"fbs-mcp-panel fbs-mcp-client-panel"},e8={class:"fbs-mcp-help"},t8=["href"],s8={class:"fbs-mcp-creds"},a8={key:0,class:"fbs-mcp-local-dev"},i8={key:1},o8={class:"fbs-mcp-help"},l8={class:"fbs-mcp-snippet"},n8={key:0,class:"fbs-mcp-hint"},r8={class:"fbs-mcp-security-note"};const d8=Ss({name:"MCPSettings",inject:{setSettingsHeaderAction:{default:null},clearSettingsHeaderAction:{default:null}},data:()=>({loading:!1,installing:!1,mcpEnabled:"yes",activeClient:"claude-code",snippetCache:{},username:"",appPassword:"",localDevOverride:!1,localDevInitialized:!1,status:{adapter_installed:!1,adapter_active:!1,adapter_provider:"",standalone_adapter_installed:!1,toolkit_installed:!1,toolkit_active:!1,toolkit_adapter_available:!1,adapter_version:null,toolkit_version:null,abilities_api_loaded:!1,endpoint_url:"",tools_count:0,mcp_enabled:!0,app_passwords_url:"",plugins_url:"",can_auto_install_adapter:!1,toolkit_download_url:"",current_user_login:"",is_local_dev:!1}}),computed:{isEnabled(){return"yes"===this.mcpEnabled},statusLabel(){return this.isEnabled?this.status.adapter_active?this.$t("Connected"):this.status.adapter_installed?this.$t("Adapter Inactive"):this.$t("Adapter Required"):this.$t("Disabled")},statusTone(){return this.isEnabled?this.status.adapter_active?"success":"warning":"neutral"},adapterDescription(){return this.status.adapter_active&&"toolkit"===this.status.adapter_provider?this.status.toolkit_version?`${this.$t("FluentHub")} ${this.status.toolkit_version}`:this.$t("FluentHub"):this.status.adapter_active&&this.status.adapter_version?`${this.$t("WordPress MCP Adapter")} ${this.status.adapter_version}`:this.status.toolkit_installed&&this.status.toolkit_active?this.$t("FluentHub is active, but this version does not include the bundled MCP adapter yet."):this.$t("Adapter is installed but not active.")},activeSnippet(){return this.snippetCache[this.activeClient]||null},credentialsReady(){return!(!this.username||!this.appPassword.trim())},basicAuthValue(){if(!this.credentialsReady)return"";try{return btoa(this.username+":"+this.appPassword)}catch(e){return""}},renderedSnippet(){if(!this.activeSnippet)return"";const e=this.activeSnippet.snippet||"";return this.credentialsReady?e.replace(/<base64\([^)]+\)>/g,this.basicAuthValue).replace(/<your-username>/g,this.username).replace(/<your-application-password>/g,this.appPassword):e}},watch:{statusLabel(){this.registerHeaderAction()},statusTone(){this.registerHeaderAction()}},methods:{registerHeaderAction(){"function"==typeof this.setSettingsHeaderAction&&this.setSettingsHeaderAction({routeName:this.$route.name,type:"badge",label:this.statusLabel,tone:this.statusTone})},clearHeaderAction(){"function"==typeof this.clearSettingsHeaderAction&&this.clearSettingsHeaderAction(this.$route.name)},loadStatus(){return this.loading=!0,this.$get("admin/mcp/status").then(e=>{this.status={...this.status,...e},this.mcpEnabled=e.mcp_enabled?"yes":"no",e.current_user_login&&!this.username&&(this.username=e.current_user_login),this.localDevInitialized||(this.localDevOverride=!!e.is_local_dev,this.localDevInitialized=!0)}).catch(e=>{this.$handleError(e)}).finally(()=>{this.loading=!1})},toggleMcp(e){this.$post("admin/mcp/toggle",{mcp_enabled:e}).then(e=>{this.$notify.success({message:e.message}),this.status.mcp_enabled=!!e.mcp_enabled}).catch(t=>{this.mcpEnabled="yes"===e?"no":"yes",this.$handleError(t)})},installAdapter(){this.installing=!0,this.$post("admin/mcp/install-adapter").then(e=>{this.$notify.success({message:e.message}),this.loadStatus()}).catch(e=>{this.$handleError(e)}).finally(()=>{this.installing=!1})},loadSnippet(e){if(this.snippetCache[e])return Promise.resolve(this.snippetCache[e]);const t={client:e};return"claude-desktop"===e&&(t.local_dev=this.localDevOverride?"yes":"no"),this.$get("admin/mcp/config-snippet",t).then(t=>(this.snippetCache[e]=t,t)).catch(e=>{this.$handleError(e)})},onTabChange(e){this.activeClient=e,this.loadSnippet(e)},onLocalDevToggle(){delete this.snippetCache["claude-desktop"],"claude-desktop"===this.activeClient&&this.loadSnippet("claude-desktop")},copy(e){if(!e)return;const t=()=>{const t=document.createElement("textarea");t.value=e,document.body.appendChild(t),t.select(),document.execCommand("copy"),document.body.removeChild(t),this.$notify.success({message:this.$t("Copied to clipboard")})};navigator.clipboard&&navigator.clipboard.writeText?navigator.clipboard.writeText(e).then(()=>{this.$notify.success({message:this.$t("Copied to clipboard")})}).catch(()=>{t()}):t()}},mounted(){this.registerHeaderAction(),this.loadStatus().then(()=>{this.status.adapter_active&&this.status.mcp_enabled&&this.loadSnippet(this.activeClient)})},beforeUnmount(){this.clearHeaderAction()}},[["render",function(e,t,d,h,u,p){const m=Jt,b=ze,_=He,k=as,v=is,C=qe,T=g("loading");return s(),a("div",P2,[f((s(),a("div",F2,[i("div",E2,[i("div",U2,[l(m,{modelValue:u.mcpEnabled,"onUpdate:modelValue":t[0]||(t[0]=e=>u.mcpEnabled=e),"active-value":"yes","inactive-value":"no",onChange:p.toggleMcp},null,8,["modelValue","onChange"]),i("div",O2,[i("h4",null,o(e.$t("Enable MCP for AI Agents")),1),i("p",null,o(e.$t("Expose Fluent Boards tools through the WordPress MCP Adapter so authorized AI clients can read and write board data.")),1)])])]),p.isEnabled?(s(),a("div",R2,[i("div",N2,[i("div",H2,[i("h4",null,o(e.$t("Status")),1),u.status.adapter_installed?(s(),a("p",z2,o(p.adapterDescription),1)):(s(),a("p",j2,o(e.$t("Fluent Boards MCP tools become available after FluentHub or the WordPress MCP Adapter is installed and active.")),1))]),i("div",G2,[u.status.adapter_installed?(s(),a(r,{key:1},[u.status.toolkit_installed&&!u.status.adapter_active&&u.status.can_auto_install_adapter?(s(),c(b,{key:0,type:"primary",size:"small",loading:u.installing,onClick:p.installAdapter},{default:n(()=>[w(o(e.$t("Activate FluentHub")),1)]),_:1},8,["loading","onClick"])):u.status.adapter_active?(s(),a("span",K2,[i("span",Z2,o(e.$t("Connected")),1)])):(s(),a("a",{key:1,href:u.status.plugins_url,target:"_blank",rel:"noopener noreferrer"},o(e.$t("Open Plugins page")),9,W2))],64)):(s(),a(r,{key:0},[u.status.can_auto_install_adapter?(s(),c(b,{key:0,type:"primary",size:"small",loading:u.installing,onClick:p.installAdapter},{default:n(()=>[w(o(e.$t("Install FluentHub")),1)]),_:1},8,["loading","onClick"])):(s(),a("a",{key:1,href:u.status.toolkit_download_url,target:"_blank",rel:"noopener noreferrer"},o(e.$t("Get FluentHub")),9,q2))],64))])]),u.status.adapter_installed?(s(),a(r,{key:0},[i("div",Y2,[i("div",null,[i("strong",null,o(e.$t("Endpoint URL")),1),i("p",null,o(e.$t("MCP clients connect to this URL.")),1)]),i("div",J2,[i("code",null,o(u.status.endpoint_url),1),l(b,{size:"small",onClick:t[1]||(t[1]=e=>p.copy(u.status.endpoint_url))},{default:n(()=>[w(o(e.$t("Copy")),1)]),_:1})])]),i("div",Q2,[i("div",null,[i("strong",null,o(e.$t("Tools available")),1),i("p",null,o(e.$t("Includes board, task, move, archive, and comment tools.")),1)]),i("strong",null,o(u.status.tools_count),1)])],64)):y("",!0)])):y("",!0),u.status.adapter_active&&p.isEnabled?(s(),a("div",X2,[i("h4",null,o(e.$t("Connect a client")),1),i("p",e8,[w(o(e.$t("Generate a WordPress Application Password from your profile, then enter the username and app password below to fill the snippet."))+" ",1),i("a",{href:u.status.app_passwords_url,target:"_blank",rel:"noopener noreferrer"},o(e.$t("Open Application Passwords")),9,t8)]),i("div",s8,[l(_,{modelValue:u.username,"onUpdate:modelValue":t[2]||(t[2]=e=>u.username=e),placeholder:e.$t("WordPress username")},null,8,["modelValue","placeholder"]),l(_,{modelValue:u.appPassword,"onUpdate:modelValue":t[3]||(t[3]=e=>u.appPassword=e),type:"password","show-password":"",placeholder:e.$t("Application password")},null,8,["modelValue","placeholder"])]),l(v,{modelValue:u.activeClient,"onUpdate:modelValue":t[4]||(t[4]=e=>u.activeClient=e),onTabChange:p.onTabChange},{default:n(()=>[l(k,{label:e.$t("Claude Code"),name:"claude-code"},null,8,["label"]),l(k,{label:e.$t("OpenAI Codex"),name:"codex"},null,8,["label"]),l(k,{label:e.$t("Cursor"),name:"cursor"},null,8,["label"]),l(k,{label:e.$t("Other"),name:"generic"},null,8,["label"]),l(k,{label:e.$t("Claude Desktop"),name:"claude-desktop"},null,8,["label"])]),_:1},8,["modelValue","onTabChange"]),"claude-desktop"===u.activeClient?(s(),a("div",a8,[l(C,{modelValue:u.localDevOverride,"onUpdate:modelValue":t[5]||(t[5]=e=>u.localDevOverride=e),onChange:p.onLocalDevToggle},{default:n(()=>[w(o(e.$t("Local dev with self-signed SSL")),1)]),_:1},8,["modelValue","onChange"])])):y("",!0),p.activeSnippet?(s(),a("div",i8,[i("p",o8,o(p.activeSnippet.instructions),1),i("pre",l8,o(p.renderedSnippet),1),l(b,{type:"primary",size:"small",onClick:t[6]||(t[6]=e=>p.copy(p.renderedSnippet))},{default:n(()=>[w(o(e.$t("Copy snippet")),1)]),_:1}),p.credentialsReady?y("",!0):(s(),a("span",n8,o(e.$t("Fill in credentials to replace the placeholders.")),1))])):y("",!0),i("div",r8,o(e.$t("MCP lets compatible AI clients connect to Fluent Boards using your WordPress authorization. Keep application passwords private and revoke them from your profile when access is no longer needed.")),1)])):y("",!0)])),[[T,u.loading]])])}]]),c8={open_ai:[{value:"auto",label:"Auto"},{value:"gpt-5.5",label:"GPT-5.5"},{value:"gpt-5.4",label:"GPT-5.4"},{value:"gpt-5.4-mini",label:"GPT-5.4 Mini"},{value:"gpt-5.4-nano",label:"GPT-5.4 Nano"},{value:"gpt-4.1",label:"GPT-4.1"},{value:"gpt-4o",label:"GPT-4o"},{value:"gpt-4o-mini",label:"GPT-4o Mini"}],claude:[{value:"auto",label:"Auto"},{value:"claude-opus-4-7",label:"Claude Opus 4.7"},{value:"claude-sonnet-4-6",label:"Claude Sonnet 4.6"},{value:"claude-haiku-4-5-20251001",label:"Claude Haiku 4.5"},{value:"claude-opus-4-6",label:"Claude Opus 4.6"}],gemini:[{value:"auto",label:"Auto"},{value:"gemini-3.5-flash",label:"Gemini 3.5 Flash"},{value:"gemini-3.1-pro-preview",label:"Gemini 3.1 Pro Preview"},{value:"gemini-3-flash-preview",label:"Gemini 3 Flash Preview"},{value:"gemini-3.1-flash-lite",label:"Gemini 3.1 Flash-Lite"},{value:"gemini-2.5-flash",label:"Gemini 2.5 Flash"},{value:"gemini-2.5-pro",label:"Gemini 2.5 Pro"},{value:"gemini-2.5-flash-lite",label:"Gemini 2.5 Flash Lite"}],wordpress:[{value:"wordpress",label:"WordPress Default Model"}]},h8={class:"fbs_ai_settings"},u8={class:"fbs_ai_max_w"},p8={class:"d-flex items-start gap-16"},m8={class:"fbs_ai_switch"},b8={class:"fbs_ai_switch_label"},g8={class:"fbs_primary_text font-medium fbs_mb_4"},f8={class:"fbs_secondary_text small"},_8={class:"fbs_ai_row"},k8={class:"fbs_ai_row_label"},v8={class:"fbs_ai_row_title"},y8={class:"fbs_ai_row_desc"},w8={class:"fbs_ai_row_field"},C8={class:"fbs_ai_row"},T8={class:"fbs_ai_row_label"},S8={class:"fbs_ai_row_title"},$8={class:"fbs_ai_row_desc"},V8={class:"fbs_ai_row_field"},A8={class:"fbs_ai_row"},I8={class:"fbs_ai_row_label"},D8={class:"fbs_ai_row_title"},B8={class:"fbs_ai_row_desc"},L8={class:"fbs_ai_row_field"},M8={class:"fbs_ai_wp_note"},x8={class:"fbs_ai_text_muted"},P8={key:0,class:"fbs_ai_text_warning"},F8={class:"fbs_ai_wp_link"},E8=["href"],U8={class:"fbs_ai_row"},O8={class:"fbs_ai_row_label"},R8={class:"fbs_ai_row_title"},N8={class:"fbs_ai_row_desc"},H8={class:"fbs_ai_row_field"},j8={class:"fbs_ai_row"},z8={class:"fbs_ai_row_label"},G8={class:"fbs_ai_row_title"},q8={class:"fbs_ai_row_desc"},W8={class:"fbs_ai_row_field"};const K8=Ss({name:"AiSettings",components:{BaseCard:YP},inject:{setSettingsHeaderAction:{default:null},clearSettingsHeaderAction:{default:null}},data:()=>({loading:!1,saving:!1,testLoading:!1,initialLoaded:!1,hasWordPressAi:!1,connectorsUrl:"",settings:{is_enabled:"no",provider:"",api_key:"",model:"auto",custom_prompt:""},providers:[{value:"wordpress",label:"WordPress AI (Recommended)"},{value:"open_ai",label:"OpenAI"},{value:"claude",label:"Anthropic Claude"},{value:"gemini",label:"Google Gemini"}]}),computed:{availableModels(){return c8[this.settings.provider]||[]},currentProviderLabel(){const e=this.providers.find(e=>e.value===this.settings.provider);return e?e.label:""},filteredProviders(){return this.providers}},watch:{"settings.provider"(e,t){this.initialLoaded&&e!==t&&(this.settings.model="wordpress"===e?"wordpress":"auto")},saving(){this.registerHeaderAction()},loading(){this.registerHeaderAction()}},methods:{registerHeaderAction(){"function"==typeof this.setSettingsHeaderAction&&this.setSettingsHeaderAction({routeName:this.$route.name,type:"save",loading:this.saving,disabled:this.loading,handler:this.saveSettings})},clearHeaderAction(){"function"==typeof this.clearSettingsHeaderAction&&this.clearSettingsHeaderAction(this.$route.name)},fetchSettings(){this.loading=!0,this.initialLoaded=!1,this.$get("ai/settings").then(e=>{e.settings&&(this.settings={...this.settings,...e.settings}),this.hasWordPressAi=!!e.has_wordpress_ai,this.connectorsUrl=e.connectors_url||"",this.settings.provider&&!this.settings.model&&(this.settings.model="wordpress"===this.settings.provider?"wordpress":"auto")}).catch(e=>{this.$handleError(e)}).finally(()=>{this.loading=!1,this.$nextTick(()=>{this.initialLoaded=!0})})},saveSettings(){this.saving=!0,this.$post("ai/settings",{settings:this.settings}).then(e=>{this.$notify.success({message:e.message})}).catch(e=>{this.$handleError(e)}).finally(()=>{this.saving=!1})},testConnection(){this.settings.provider&&this.settings.model?"wordpress"===this.settings.provider||this.settings.api_key?(this.testLoading=!0,this.$post("ai/test",{settings:this.settings}).then(e=>{this.$notify.success({message:e.message})}).catch(e=>{this.$handleError(e)}).finally(()=>{this.testLoading=!1})):this.$notify.error({message:this.$t("Please enter an API key.")}):this.$notify.error({message:this.$t("Please select a provider and model first.")})}},mounted(){this.registerHeaderAction(),this.fetchSettings()},beforeUnmount(){this.clearHeaderAction()}},[["render",function(e,t,h,u,p,m){const _=Jt,k=b("BaseCard"),v=Be,C=Le,T=He,S=ze,$=g("loading");return f((s(),a("div",h8,[i("div",u8,[l(k,null,{body:n(()=>[i("div",p8,[i("div",m8,[l(_,{modelValue:p.settings.is_enabled,"onUpdate:modelValue":t[0]||(t[0]=e=>p.settings.is_enabled=e),"active-value":"yes","inactive-value":"no"},null,8,["modelValue"])]),i("div",b8,[i("div",g8,o(e.$t("Enable AI")),1),i("div",f8,o(e.$t("When enabled, AI will be available in the task description editor.")),1)])])]),_:1}),"yes"===p.settings.is_enabled?(s(),a(r,{key:0},[l(k,null,{title:n(()=>[w(o(e.$t("AI Provider")),1)]),body:n(()=>[i("div",_8,[i("div",k8,[i("div",v8,o(e.$t("Provider")),1),i("div",y8,o(e.$t("Select the AI service you want to use.")),1)]),i("div",w8,[l(C,{modelValue:p.settings.provider,"onUpdate:modelValue":t[1]||(t[1]=e=>p.settings.provider=e),size:"large",placeholder:e.$t("Select Provider"),class:"fbs_ai_full"},{default:n(()=>[(s(!0),a(r,null,d(m.filteredProviders,e=>(s(),c(v,{key:e.value,label:e.label,value:e.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])])]),p.settings.provider?(s(),a(r,{key:0},[t[5]||(t[5]=i("div",{class:"fbs_divider fbs_mt_20 fbs_mb_20"},null,-1)),i("div",C8,[i("div",T8,[i("div",S8,o(e.$t("Model")),1),i("div",$8,o(e.$t("Choose the AI model for text generation.")),1)]),i("div",V8,[l(C,{modelValue:p.settings.model,"onUpdate:modelValue":t[2]||(t[2]=e=>p.settings.model=e),size:"large",placeholder:e.$t("Select Model"),class:"fbs_ai_full",disabled:"wordpress"===p.settings.provider},{default:n(()=>[(s(!0),a(r,null,d(m.availableModels,e=>(s(),c(v,{key:e.value,label:e.label,value:e.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder","disabled"])])])],64)):y("",!0)]),_:1}),p.settings.provider?(s(),c(k,{key:0},{title:n(()=>[w(o("wordpress"===p.settings.provider?e.$t("WordPress AI Configuration"):e.$t("API Key")),1)]),body:n(()=>["wordpress"!==p.settings.provider?(s(),a(r,{key:0},[i("div",A8,[i("div",I8,[i("div",D8,o(e.$t("API Key")),1),i("div",B8,o(e.$t("Enter your API key for"))+" "+o(m.currentProviderLabel)+". "+o(e.$t("It is shared across the Fluent suite.")),1)]),i("div",L8,[l(T,{modelValue:p.settings.api_key,"onUpdate:modelValue":t[3]||(t[3]=e=>p.settings.api_key=e),type:"password","show-password":"",autocomplete:"off","data-1p-ignore":"","data-lpignore":"true","data-bwignore":"",placeholder:e.$t("Enter API Key"),class:"fbs_ai_full"},null,8,["modelValue","placeholder"])])]),t[6]||(t[6]=i("div",{class:"fbs_divider fbs_mt_20 fbs_mb_20"},null,-1))],64)):(s(),a(r,{key:1},[i("div",M8,[i("p",x8,o(e.$t("WordPress AI relies on the native WordPress AI Client. Ensure you have configured an AI provider plugin or your hosting supports the WP AI Client API.")),1),p.hasWordPressAi?y("",!0):(s(),a("p",P8,o(e.$t("WordPress AI requires WordPress 7.0 or higher.")),1)),i("p",F8,[i("a",{href:p.connectorsUrl||"options-connectors.php",target:"_blank",rel:"noopener noreferrer"},o(e.$t("Configure WordPress AI Connectors")),9,E8)])]),t[7]||(t[7]=i("div",{class:"fbs_divider fbs_mt_20 fbs_mb_20"},null,-1))],64)),i("div",U8,[i("div",O8,[i("div",R8,o(e.$t("Verify Connection")),1),i("div",N8,o("wordpress"===p.settings.provider?e.$t("Test WordPress AI configuration to make sure it works."):e.$t("Test your API key to make sure it works.")),1)]),i("div",H8,[l(S,{loading:p.testLoading,onClick:m.testConnection},{default:n(()=>[w(o(e.$t("Test Connection")),1)]),_:1},8,["loading","onClick"])])])]),_:1})):y("",!0),l(k,null,{title:n(()=>[w(o(e.$t("Custom Instructions")),1)]),body:n(()=>[i("div",j8,[i("div",z8,[i("div",G8,o(e.$t("Custom System Prompt")),1),i("div",q8,o(e.$t("These instructions are included with every AI request. Use this to set your writing style or any specific guidelines.")),1)]),i("div",W8,[l(T,{modelValue:p.settings.custom_prompt,"onUpdate:modelValue":t[4]||(t[4]=e=>p.settings.custom_prompt=e),type:"textarea",rows:4,autocomplete:"off",placeholder:e.$t("e.g. Always write concisely and use checklists for steps."),class:"fbs_ai_full"},null,8,["modelValue","placeholder"])])])]),_:1})],64)):y("",!0)])])),[[$,p.loading]])}]]),Z8={name:"UserGlobalNotifications",components:{NotificationPreference:BS,BaseCard:YP},data:()=>({search_input:null,loading:!1,savingSettings:!1,email_check_all:!1,oldSettings:null}),computed:{...m(js,["board","currentNotificationSettings","notificationCheckAll"]),isArchived(){return!!this.board.archived_at}},mounted(){this.getUserGlobalNotificationSetting()},methods:{...M(js,["loadNotificationSettings","updateNotificationSettings"]),checkAllEmailNotification(){this.updateNotificationSettings({key:"all",value:null})},getUserGlobalNotificationSetting(){this.$get("get-global-notification-settings").then(e=>{this.oldSettings=e.currentSettings,this.loadNotificationSettings(this.oldSettings)}).catch(e=>{this.handleError(e)}).finally(()=>{this.loading=!1})},saveSettings(){this.savingSettings=!0,this.$post("update-global-notification-settings",{updatedSettings:this.currentNotificationSettings}).then(e=>{this.$notify.success({title:"Success",message:e.message})}).catch(e=>{this.handleError(e)}).finally(()=>{this.savingSettings=!1})},cancelUpdate(){this.loadNotificationSettings(this.oldSettings)}}},Y8={class:"fbs_max_w_800"},J8={class:"d-flex items-center gap-10"},Q8={class:"fbs_primary_text"};const X8={key:0,class:"fbs-member-preferences"};const e5=Ss({name:"Preferences",components:{Notifications:Ss(Z8,[["render",function(e,t,r,d,c,h){const u=Jt,p=b("notification-preference"),m=ze,g=b("base-card");return s(),a("div",Y8,[l(g,{"body-loading":c.loading},{title:n(()=>[w(o(e.$t("Email Notification Preferences")),1)]),header_action:n(()=>[i("div",J8,[i("div",Q8,o(e.$t("Enable All")),1),l(u,{disabled:h.isArchived,modelValue:e.notificationCheckAll,"onUpdate:modelValue":t[0]||(t[0]=t=>e.notificationCheckAll=t),size:"small",onChange:h.checkAllEmailNotification},null,8,["disabled","modelValue","onChange"])])]),body:n(()=>[l(p,{"show-watch-preferences":!0})]),footer:n(()=>[l(m,{onClick:h.cancelUpdate},{default:n(()=>[w(o(e.$t("Cancel")),1)]),_:1},8,["onClick"]),l(m,{type:"primary",disabled:c.savingSettings,loading:c.savingSettings,onClick:h.saveSettings},{default:n(()=>[w(o(e.$t("Save")),1)]),_:1},8,["disabled","loading","onClick"])]),_:1},8,["body-loading"])])}]])},computed:{isFluentBoardsUser(){return this.appVars.me.fluent_boards_capabilities.length>0}},mounted(){this.$route.params.user_id!=this.appVars.me.id&&this.$router.push({path:`/member/${this.$route.params.user_id}/tasks`})}},[["render",function(e,t,i,o,n,r){const d=b("notifications");return r.isFluentBoardsUser?(s(),a("div",X8,[l(d)])):y("",!0)}]]),t5={name:"CardviewPreference",components:{TaskListRow:AS},props:{boardId:{type:Number,default:null}},data:()=>({}),mounted(){},computed:{...m(Xi,["dashboardViewSettings","dashboardViewCheckAll"])},watch:{"dashboardViewSettings.dashboard_view_label"(e){this.updateDashboardViewSettings({key:"dashboard_view_label",value:e})},"dashboardViewSettings.dashboard_view_priority"(e){this.updateDashboardViewSettings({key:"dashboard_view_priority",value:e})},"dashboardViewSettings.dashboard_view_assignee"(e){this.updateDashboardViewSettings({key:"dashboard_view_assignee",value:e})},"dashboardViewSettings.dashboard_view_subtask"(e){this.updateDashboardViewSettings({key:"dashboard_view_subtask",value:e})},"dashboardViewSettings.dashboard_view_attachment"(e){this.updateDashboardViewSettings({key:"dashboard_view_attachment",value:e})},"dashboardViewSettings.dashboard_view_due_date"(e){this.updateDashboardViewSettings({key:"dashboard_view_due_date",value:e})},"dashboardViewSettings.dashboard_view_comment"(e){this.updateDashboardViewSettings({key:"dashboard_view_comment",value:e})},"dashboardViewSettings.dashboard_view_notification"(e){this.updateDashboardViewSettings({key:"dashboard_view_notification",value:e})}},methods:{...M(Xi,["updateDashboardViewSettings"]),checkAllDashboardViewSettings(){this.updateDashboardViewSettings({key:"all",value:null})}}},s5={class:"fbs_notification_preference fbs_layout_preference"},a5={class:"fbs_notification_preference__header"},i5={class:"d-flex items-center gap-10"},o5={class:"fbs_primary_text"},l5={class:"fbs_notification_preference__body"};const n5=Ss(t5,[["render",function(e,t,r,d,c,h){const u=Jt,p=b("task-list-row");return s(),a("div",s5,[i("div",a5,[i("p",null,o(e.$t("Kanban View Preference")),1),i("div",i5,[i("div",o5,o(e.$t("Enable All")),1),l(u,{modelValue:e.dashboardViewCheckAll,"onUpdate:modelValue":t[0]||(t[0]=t=>e.dashboardViewCheckAll=t),size:"small",onChange:h.checkAllDashboardViewSettings},null,8,["modelValue","onChange"])])]),i("div",l5,[l(p,null,{title:n(()=>[w(o(e.$t("Labels")),1)]),description:n(()=>[w(o(e.$t("dashboard_view_label")),1)]),"right-actions":n(()=>[l(u,{size:"small",modelValue:e.dashboardViewSettings.dashboard_view_label,"onUpdate:modelValue":t[1]||(t[1]=t=>e.dashboardViewSettings.dashboard_view_label=t)},null,8,["modelValue"])]),_:1}),l(p,null,{title:n(()=>[w(o(e.$t("Priority")),1)]),description:n(()=>[w(o(e.$t("dashboard_view_priority")),1)]),"right-actions":n(()=>[l(u,{size:"small",modelValue:e.dashboardViewSettings.dashboard_view_priority,"onUpdate:modelValue":t[2]||(t[2]=t=>e.dashboardViewSettings.dashboard_view_priority=t)},null,8,["modelValue"])]),_:1}),l(p,null,{title:n(()=>[w(o(e.$t("Assignees")),1)]),description:n(()=>[w(o(e.$t("dashboard_view_assignee")),1)]),"right-actions":n(()=>[l(u,{size:"small",modelValue:e.dashboardViewSettings.dashboard_view_assignee,"onUpdate:modelValue":t[3]||(t[3]=t=>e.dashboardViewSettings.dashboard_view_assignee=t)},null,8,["modelValue"])]),_:1}),l(p,null,{title:n(()=>[w(o(e.$t("Subtask Count")),1)]),description:n(()=>[w(o(e.$t("dashboard_view_subtask")),1)]),"right-actions":n(()=>[l(u,{size:"small",modelValue:e.dashboardViewSettings.dashboard_view_subtask,"onUpdate:modelValue":t[4]||(t[4]=t=>e.dashboardViewSettings.dashboard_view_subtask=t)},null,8,["modelValue"])]),_:1}),l(p,null,{title:n(()=>[w(o(e.$t("Attachment Count")),1)]),description:n(()=>[w(o(e.$t("dashboard_view_attachment")),1)]),"right-actions":n(()=>[l(u,{size:"small",modelValue:e.dashboardViewSettings.dashboard_view_attachment,"onUpdate:modelValue":t[5]||(t[5]=t=>e.dashboardViewSettings.dashboard_view_attachment=t)},null,8,["modelValue"])]),_:1}),l(p,null,{title:n(()=>[w(o(e.$t("Dates")),1)]),description:n(()=>[w(o(e.$t("dashboard_view_due_date")),1)]),"right-actions":n(()=>[l(u,{size:"small",modelValue:e.dashboardViewSettings.dashboard_view_due_date,"onUpdate:modelValue":t[6]||(t[6]=t=>e.dashboardViewSettings.dashboard_view_due_date=t)},null,8,["modelValue"])]),_:1}),l(p,null,{title:n(()=>[w(o(e.$t("Comment")),1)]),description:n(()=>[w(o(e.$t("dashboard_view_comment")),1)]),"right-actions":n(()=>[l(u,{size:"small",modelValue:e.dashboardViewSettings.dashboard_view_comment,"onUpdate:modelValue":t[7]||(t[7]=t=>e.dashboardViewSettings.dashboard_view_comment=t)},null,8,["modelValue"])]),_:1}),l(p,null,{title:n(()=>[w(o(e.$t("Notification")),1)]),description:n(()=>[w(o(e.$t("dashboard_view_notification")),1)]),"right-actions":n(()=>[l(u,{size:"small",modelValue:e.dashboardViewSettings.dashboard_view_notification,"onUpdate:modelValue":t[8]||(t[8]=t=>e.dashboardViewSettings.dashboard_view_notification=t)},null,8,["modelValue"])]),_:1})])])}]]),r5={name:"ListviewPreference",components:{TaskListRow:AS},props:{boardId:{type:Number,default:null}},data:()=>({}),mounted(){},computed:{...m(Xi,["listviewSettings","listviewCheckAll"])},watch:{"listviewSettings.dashboard_view_label"(e){this.updateListviewSettings({key:"dashboard_view_label",value:e})},"listviewSettings.dashboard_view_priority"(e){this.updateListviewSettings({key:"dashboard_view_priority",value:e})},"listviewSettings.dashboard_view_assignee"(e){this.updateListviewSettings({key:"dashboard_view_assignee",value:e})},"listviewSettings.dashboard_view_subtask"(e){this.updateListviewSettings({key:"dashboard_view_subtask",value:e})},"listviewSettings.dashboard_view_attachment"(e){this.updateListviewSettings({key:"dashboard_view_attachment",value:e})},"listviewSettings.dashboard_view_due_date"(e){this.updateListviewSettings({key:"dashboard_view_due_date",value:e})},"listviewSettings.dashboard_view_comment"(e){this.updateListviewSettings({key:"dashboard_view_comment",value:e})},"listviewSettings.dashboard_view_notification"(e){this.updateListviewSettings({key:"dashboard_view_notification",value:e})}},methods:{...M(Xi,["updateListviewSettings"]),checkAllListviewSettings(){this.updateListviewSettings({key:"all",value:null})}}},d5={class:"fbs_notification_preference fbs_layout_preference"},c5={class:"fbs_notification_preference__header"},h5={class:"d-flex items-center gap-10"},u5={class:"fbs_primary_text"},p5={class:"fbs_notification_preference__body"};const m5=Ss(r5,[["render",function(e,t,r,d,c,h){const u=Jt,p=b("task-list-row");return s(),a("div",d5,[i("div",c5,[i("p",null,o(e.$t("List View Preference")),1),i("div",h5,[i("div",u5,o(e.$t("Enable All")),1),l(u,{modelValue:e.listviewCheckAll,"onUpdate:modelValue":t[0]||(t[0]=t=>e.listviewCheckAll=t),size:"small",onChange:h.checkAllListviewSettings},null,8,["modelValue","onChange"])])]),i("div",p5,[l(p,null,{title:n(()=>[w(o(e.$t("Labels")),1)]),description:n(()=>[w(o(e.$t("dashboard_view_label")),1)]),"right-actions":n(()=>[l(u,{size:"small",modelValue:e.listviewSettings.dashboard_view_label,"onUpdate:modelValue":t[1]||(t[1]=t=>e.listviewSettings.dashboard_view_label=t)},null,8,["modelValue"])]),_:1}),l(p,null,{title:n(()=>[w(o(e.$t("Priority")),1)]),description:n(()=>[w(o(e.$t("dashboard_view_priority")),1)]),"right-actions":n(()=>[l(u,{size:"small",modelValue:e.listviewSettings.dashboard_view_priority,"onUpdate:modelValue":t[2]||(t[2]=t=>e.listviewSettings.dashboard_view_priority=t)},null,8,["modelValue"])]),_:1}),l(p,null,{title:n(()=>[w(o(e.$t("Assignees")),1)]),description:n(()=>[w(o(e.$t("dashboard_view_assignee")),1)]),"right-actions":n(()=>[l(u,{size:"small",modelValue:e.listviewSettings.dashboard_view_assignee,"onUpdate:modelValue":t[3]||(t[3]=t=>e.listviewSettings.dashboard_view_assignee=t)},null,8,["modelValue"])]),_:1}),l(p,null,{title:n(()=>[w(o(e.$t("Subtask Count")),1)]),description:n(()=>[w(o(e.$t("dashboard_view_subtask")),1)]),"right-actions":n(()=>[l(u,{size:"small",modelValue:e.listviewSettings.dashboard_view_subtask,"onUpdate:modelValue":t[4]||(t[4]=t=>e.listviewSettings.dashboard_view_subtask=t)},null,8,["modelValue"])]),_:1}),l(p,null,{title:n(()=>[w(o(e.$t("Attachment Count")),1)]),description:n(()=>[w(o(e.$t("dashboard_view_attachment")),1)]),"right-actions":n(()=>[l(u,{size:"small",modelValue:e.listviewSettings.dashboard_view_attachment,"onUpdate:modelValue":t[5]||(t[5]=t=>e.listviewSettings.dashboard_view_attachment=t)},null,8,["modelValue"])]),_:1}),l(p,null,{title:n(()=>[w(o(e.$t("Dates")),1)]),description:n(()=>[w(o(e.$t("dashboard_view_due_date")),1)]),"right-actions":n(()=>[l(u,{size:"small",modelValue:e.listviewSettings.dashboard_view_due_date,"onUpdate:modelValue":t[6]||(t[6]=t=>e.listviewSettings.dashboard_view_due_date=t)},null,8,["modelValue"])]),_:1}),l(p,null,{title:n(()=>[w(o(e.$t("Comment")),1)]),description:n(()=>[w(o(e.$t("dashboard_view_comment")),1)]),"right-actions":n(()=>[l(u,{size:"small",modelValue:e.listviewSettings.dashboard_view_comment,"onUpdate:modelValue":t[7]||(t[7]=t=>e.listviewSettings.dashboard_view_comment=t)},null,8,["modelValue"])]),_:1}),l(p,null,{title:n(()=>[w(o(e.$t("Notification")),1)]),description:n(()=>[w(o(e.$t("dashboard_view_notification")),1)]),"right-actions":n(()=>[l(u,{size:"small",modelValue:e.listviewSettings.dashboard_view_notification,"onUpdate:modelValue":t[8]||(t[8]=t=>e.listviewSettings.dashboard_view_notification=t)},null,8,["modelValue"])]),_:1})])])}]]),b5={name:"TableviewPreference",components:{TaskListRow:AS},props:{boardId:{type:Number,default:null}},data:()=>({}),computed:{...m(Xi,["tableviewSettings","tableviewCheckAll"])},watch:{"tableviewSettings.table_view_priority"(e){this.updateTableviewSettings({key:"table_view_priority",value:e})},"tableviewSettings.table_view_status"(e){this.updateTableviewSettings({key:"table_view_status",value:e})},"tableviewSettings.table_view_dates"(e){this.updateTableviewSettings({key:"table_view_dates",value:e})},"tableviewSettings.table_view_assignees"(e){this.updateTableviewSettings({key:"table_view_assignees",value:e})},"tableviewSettings.table_view_labels"(e){this.updateTableviewSettings({key:"table_view_labels",value:e})},"tableviewSettings.table_view_created_at"(e){this.updateTableviewSettings({key:"table_view_created_at",value:e})},"tableviewSettings.table_view_subtasks"(e){this.updateTableviewSettings({key:"table_view_subtasks",value:e})},"tableviewSettings.table_view_activity"(e){this.updateTableviewSettings({key:"table_view_activity",value:e})}},methods:{...M(Xi,["updateTableviewSettings"]),checkAllTableviewSettings(){this.updateTableviewSettings({key:"all",value:null})}}},g5={class:"fbs_notification_preference fbs_layout_preference"},f5={class:"fbs_notification_preference__header"},_5={class:"d-flex items-center gap-10"},k5={class:"fbs_primary_text"},v5={class:"fbs_notification_preference__body"};const y5={name:"TaskDashboardView",props:["view"],components:{CardviewPreference:n5,ListviewPreference:m5,TableviewPreference:Ss(b5,[["render",function(e,t,r,d,c,h){const u=Jt,p=b("task-list-row");return s(),a("div",g5,[i("div",f5,[i("p",null,o(e.$t("Table View Preference")),1),i("div",_5,[i("div",k5,o(e.$t("Enable All")),1),l(u,{modelValue:e.tableviewCheckAll,"onUpdate:modelValue":t[0]||(t[0]=t=>e.tableviewCheckAll=t),size:"small",onChange:h.checkAllTableviewSettings},null,8,["modelValue","onChange"])])]),i("div",v5,[l(p,null,{title:n(()=>[w(o(e.$t("Priority")),1)]),description:n(()=>[w(o(e.$t("Show Task Priority in Table")),1)]),"right-actions":n(()=>[l(u,{size:"small",modelValue:e.tableviewSettings.table_view_priority,"onUpdate:modelValue":t[1]||(t[1]=t=>e.tableviewSettings.table_view_priority=t)},null,8,["modelValue"])]),_:1}),l(p,null,{title:n(()=>[w(o(e.$t("Status")),1)]),description:n(()=>[w(o(e.$t("Show Task Status in Table")),1)]),"right-actions":n(()=>[l(u,{size:"small",modelValue:e.tableviewSettings.table_view_status,"onUpdate:modelValue":t[2]||(t[2]=t=>e.tableviewSettings.table_view_status=t)},null,8,["modelValue"])]),_:1}),l(p,null,{title:n(()=>[w(o(e.$t("Dates")),1)]),description:n(()=>[w(o(e.$t("Show Task Dates in Table")),1)]),"right-actions":n(()=>[l(u,{size:"small",modelValue:e.tableviewSettings.table_view_dates,"onUpdate:modelValue":t[3]||(t[3]=t=>e.tableviewSettings.table_view_dates=t)},null,8,["modelValue"])]),_:1}),l(p,null,{title:n(()=>[w(o(e.$t("Assignees")),1)]),description:n(()=>[w(o(e.$t("Show Task Assignees in Table")),1)]),"right-actions":n(()=>[l(u,{size:"small",modelValue:e.tableviewSettings.table_view_assignees,"onUpdate:modelValue":t[4]||(t[4]=t=>e.tableviewSettings.table_view_assignees=t)},null,8,["modelValue"])]),_:1}),l(p,null,{title:n(()=>[w(o(e.$t("Labels")),1)]),description:n(()=>[w(o(e.$t("Show Task Labels in Table")),1)]),"right-actions":n(()=>[l(u,{size:"small",modelValue:e.tableviewSettings.table_view_labels,"onUpdate:modelValue":t[5]||(t[5]=t=>e.tableviewSettings.table_view_labels=t)},null,8,["modelValue"])]),_:1}),l(p,null,{title:n(()=>[w(o(e.$t("Created At")),1)]),description:n(()=>[w(o(e.$t("Show Task Created At in Table")),1)]),"right-actions":n(()=>[l(u,{size:"small",modelValue:e.tableviewSettings.table_view_created_at,"onUpdate:modelValue":t[6]||(t[6]=t=>e.tableviewSettings.table_view_created_at=t)},null,8,["modelValue"])]),_:1}),l(p,null,{title:n(()=>[w(o(e.$t("Subtasks")),1)]),description:n(()=>[w(o(e.$t("Show Task Subtasks in Table")),1)]),"right-actions":n(()=>[l(u,{size:"small",modelValue:e.tableviewSettings.table_view_subtasks,"onUpdate:modelValue":t[7]||(t[7]=t=>e.tableviewSettings.table_view_subtasks=t)},null,8,["modelValue"])]),_:1}),l(p,null,{title:n(()=>[w(o(e.$t("Activity")),1)]),description:n(()=>[w(o(e.$t("Show Task Activity in Table")),1)]),"right-actions":n(()=>[l(u,{size:"small",modelValue:e.tableviewSettings.table_view_activity,"onUpdate:modelValue":t[8]||(t[8]=t=>e.tableviewSettings.table_view_activity=t)},null,8,["modelValue"])]),_:1})])])}]])},data:()=>({search_input:null,loading:!1,email_check_all:!1,settingsRequestId:0,isHydratingSettings:!1,savingSettings:!1,pendingAutoSave:!1,autoSaveTimer:null}),watch:{view(){this.getUserDashboardViewSetting()},activeViewSettings:{deep:!0,handler(){this.isHydratingSettings||this.queueAutoSaveSettings()}}},computed:{...m(Xi,["dashboardViewSettings","listviewSettings","tableviewSettings"]),activeViewSettings(){return"kanbanview"==this.view?this.dashboardViewSettings:"listview"==this.view?this.listviewSettings:this.tableviewSettings}},mounted(){this.getUserDashboardViewSetting()},beforeUnmount(){window.clearTimeout(this.autoSaveTimer)},methods:{...M(Xi,["loadDashboardViewSettings","loadlistviewSettings","loadTableviewSettings"]),getUserDashboardViewSetting(){const e=this.view,t=++this.settingsRequestId;window.clearTimeout(this.autoSaveTimer),this.pendingAutoSave=!1,this.loading=!0,this.isHydratingSettings=!0,this.$get("get-dashboard-view-settings",{view:e}).then(s=>{if(t!==this.settingsRequestId||e!==this.view)return;const a=s.currentSettings;"kanbanview"==e?this.loadDashboardViewSettings(a):"listview"==e?this.loadlistviewSettings(a):this.loadTableviewSettings(a)}).catch(e=>{this.handleError(e)}).finally(()=>{t===this.settingsRequestId&&(this.loading=!1,this.$nextTick(()=>{this.isHydratingSettings=!1}))})},queueAutoSaveSettings(){window.clearTimeout(this.autoSaveTimer),this.autoSaveTimer=window.setTimeout(()=>{this.saveSettings()},300)},saveSettings(){this.savingSettings?this.pendingAutoSave=!0:(this.savingSettings=!0,this.$put("update-dashboard-view-settings",{updatedSettings:Object.assign({},this.activeViewSettings),view:this.view}).catch(e=>{this.handleError(e)}).finally(()=>{this.savingSettings=!1,this.pendingAutoSave&&(this.pendingAutoSave=!1,this.queueAutoSaveSettings())}))}}},w5={class:"fbs_notification_settings_global"},C5={class:"fbs-global_settings_notification_contents"};const T5={class:"fbs_max_w_800"},S5=["aria-label"],$5=["aria-pressed","onClick"],V5={key:0,class:"fbs-member-preferences"};const A5={class:"fbs-webhook-settings-panel fbs_pt_24 fbs_pr_24 fbs_pl_24"},I5={class:"fbs_layout_width"},D5={class:"fbs_table_wrapper"},B5={class:"fbs_table_header"},L5={class:"fbs_table_header_inner"},M5={class:"fbs_table_header_inner_left"},x5={class:"icon"},P5={class:"fbs_table_header_inner_actions"},F5={class:"icon"},E5={class:"fbs_table_body"},U5={class:"fbs-webhook-table-empty"},O5={class:"fbs-webhook-expand-row"},R5={class:"fbs-webhook-expand-title"},N5={class:"fbs-webhook-expand-meta"},H5={class:"fbs-webhook-smart-url"},j5={class:"fbs-webhook-smart-url__text"},z5={class:"screen-reader-text"},G5={class:"d-flex flex-wrap items-center gap-4 justify-end"},q5={class:"icon"},W5={class:"icon"},K5={key:0,class:"fbs-webhook-create-edit-details"},Z5={class:"fbs-webhook-incoming-required-note"},Y5={target:"_blank",rel:"noopener",href:"https://fluentboards.com/docs/incoming-webhook/"},J5={class:"fbs-settings-table-shell fbs-webhook-table-card fbs-webhook-fields-table-shell"},Q5={class:"fbs-webhook-table-empty"},X5={class:"dialog-footer justify-end"};const e3={key:1,class:"incoming-webhook-container"};const t3=["board","task"],s3=(e,t,s)=>s||!(e.params.id&&e.params.id===t.params.id&&t3.includes(e.name)&&t3.includes(t.name))&&{left:0,top:0},a3=[{name:"onboarding",path:"/onboarding",component:$Q},{name:"dashboard",path:"/",component:Tj,meta:{active_menu:"dashboard"}},{name:"boards",path:"/boards",component:FK,meta:{active_menu:"boards"}},{name:"templates",path:"/templates",component:FK,meta:{active_menu:"boards"}},{name:"board",path:"/boards/:id",component:BN,alias:"/board/:id/tasks",meta:{active_menu:"boards"}},{name:"board",path:"/boards/:id",component:BN,alias:"/board/:id/tasks",meta:{active_menu:"boards"}},{name:"task",path:"/boards/:id/tasks/:taskIdName",component:BN},{path:"/reports",component:()=>De(()=>import("./admin/Components/Report/Reports.js?ver=2.0.10"),[],import.meta.url),meta:{active_menu:"reports"},children:[{name:"reports",path:"",component:()=>De(()=>import("./admin/Components/Report/Overview/Overview.js?ver=2.0.10"),[],import.meta.url),meta:{active_menu:"reports"}},{name:"tasks_report",path:"tasks",component:()=>De(()=>import("./admin/Components/Report/Tasks/Tasks.js?ver=2.0.10"),[],import.meta.url),meta:{active_menu:"reports"}},{name:"timesheet_report",path:"timesheet",component:()=>De(()=>import("./admin/Components/Report/Timesheet/Timesheet.js?ver=2.0.10"),[],import.meta.url),meta:{active_menu:"reports"}},{name:"activity_report",path:"activity",component:()=>De(()=>import("./admin/Components/Report/Activity/Activity.js?ver=2.0.10"),[],import.meta.url),meta:{active_menu:"reports"}},{name:"roadmap_report",path:"roadmap",component:()=>De(()=>import("./admin/Components/Report/Roadmap/Roadmap.js?ver=2.0.10"),[],import.meta.url),meta:{active_menu:"reports"}},{name:"roadmap_report_legacy",path:"roadmap/:id",redirect:e=>({name:"roadmap_report",query:{...e.query,board_id:e.params.id}})}]},{name:"add-ons",path:"/add-ons",component:R1,meta:{active_menu:"add-ons"}},{name:"member",path:"/member/:user_id",component:CJ,redirect:e=>({name:"member-overview",params:{user_id:e.params.user_id}}),children:[{name:"member-overview",path:"overview",component:s2},{name:"member-tasks",path:"tasks",component:f0},{name:"member-activities",path:"activities",component:C0},{name:"preferences",path:"preferences",component:e5},{name:"layouts",path:"layouts",component:Ss({name:"Layouts",components:{BaseCard:YP,TaskDashboardViewPreferences:Ss(y5,[["render",function(e,t,i,o,l,n){const r=b("cardview-preference"),d=b("listview-preference"),h=b("tableview-preference"),u=g("loading");return s(),a("div",w5,[f((s(),a("div",C5,["kanbanview"==i.view?(s(),c(r,{key:0})):"listview"==i.view?(s(),c(d,{key:1})):(s(),c(h,{key:2}))])),[[u,l.loading]])])}]])},data:()=>({currentLayout:"kanbanview",layoutTabs:["kanbanview","tableview","listview"]}),computed:{tabLabels(){return{kanbanview:this.$t("Kanban View"),tableview:this.$t("Table View"),listview:this.$t("List View")}},isFluentBoardsUser(){return this.appVars.me.fluent_boards_capabilities.length>0}},methods:{changeLayoutTab(e){this.currentLayout=e}},mounted(){this.$route.params.user_id!=this.appVars.me.id&&this.$router.push({path:`/member/${this.$route.params.user_id}/tasks`})}},[["render",function(e,t,c,h,u,p){const m=b("task-dashboard-view-preferences"),g=b("BaseCard");return s(),a("div",T5,[l(g,{"no-body-padding":!0},{title:n(()=>[i("div",{class:"fbs_member_tab",role:"group","aria-label":e.$t("Layout")},[(s(!0),a(r,null,d(u.layoutTabs,e=>(s(),a("button",{key:e,type:"button",class:k(["fbs_member_tab_button",{"is-active":u.currentLayout===e}]),"aria-pressed":u.currentLayout===e,onClick:t=>p.changeLayoutTab(e)},o(p.tabLabels[e]),11,$5))),128))],8,S5)]),header_action:n(()=>[...t[0]||(t[0]=[])]),body:n(()=>[p.isFluentBoardsUser?(s(),a("div",V5,[l(m,{view:u.currentLayout},null,8,["view"])])):y("",!0)]),_:1})])}]])}]},{name:"settings",path:"/settings",component:gZ,meta:{active_menu:"settings"},redirect:"/settings/general-settings",children:[{name:"membersrole",path:"members-role",component:jY},{name:"roadmap-settings",path:"roadmap-settings",component:uJ},{name:"general-settings",path:"general-settings",component:x2},{name:"mcp-settings",path:"mcp-settings",component:d8},{name:"ai-settings",path:"ai-settings",component:K8},{name:"license",path:"license",component:ZQ},{name:"modules",path:"modules",component:R1},{name:"incoming-webhook",path:"incoming-webhook",component:Ss({name:"IncomingWebhookPage",components:{IncomingWebhook:Ss({name:"IncomingWebhook",components:{ConfirmationDialog:Za,Icons:$s,CopyDocument:Xe,CustomIcon:ml,EmptyState:Vs,ItemCopier:Ss({name:"ItemCopier",components:{ItemCopierButton:GV},props:{text:{type:[String,Number],default:""}}},[["render",function(e,t,a,i,o,r){const d=b("item-copier-button"),h=He;return s(),c(h,{size:"small",readonly:!0,"model-value":a.text},{append:n(()=>[l(d,{text:a.text,"aria-label":e.$t("Copy item"),"success-message":e.$t("Copied to your clipboard"),"error-message":e.$t("Your Browser does not support JS copy. Please copy manually")},null,8,["text","aria-label","success-message","error-message"])]),_:1},8,["model-value"])}]])},props:{boardId:{type:[Number,String],default:null}},data:()=>({loading:!1,deleteDialogVisible:!1,webhookIdToDelete:null,deletingWebhook:!1,isEditing:!1,search:"",drawerAddWebhook:!1,webhook:{name:"",board:"",stage:""},webhooks:[],boards:[],stages:[],all_stages:[],drawerTitle:"",id:null,fields:[]}),methods:{openAddWebhookDrawer(){this.isEditing=!1,this.webhook={...this.schema},this.drawerTitle=this.$t("Create New Incoming Webhook"),this.drawerAddWebhook=!0},getWebhooks(){this.loading=!0,this.$get("webhooks",{search:this.search}).then(e=>{this.webhooks=e.webhooks,this.fields=e.fields,this.schema=e.schema}).catch(()=>{}).finally(()=>{this.loading=!1})},addWebhook(){this.webhook.name?this.webhook.board?this.webhook.stage?this.$post("webhooks",this.webhook).then(e=>{this.$notify.success({title:this.$t("Success"),message:this.$t("Webhook added successfully!")}),this.webhooks=e.webhooks,this.webhook=e.webhook,this.edit(e.webhook,e.id)}).catch(e=>{this.$handleError(e)}):this.$notify.error({title:"Error",message:"Please select a stage!"}):this.$notify.error({title:"Error",message:"Please select a board!"}):this.$notify.error({title:"Error",message:"Name cannot be empty!"})},edit(e,t=null){this.id=t,this.isEditing=!0,this.drawerAddWebhook=!0,this.drawerTitle="Webhook: "+e.name,e.board&&(this.getStagesByBoard(e.board),this.webhook.name=e.name,this.webhook.url=e.url,this.webhook.board=this.boards.find(t=>t.id==e.board).id,this.webhook.stage=this.all_stages.find(t=>t.id==e.stage).id)},update(){this.$put(`webhooks/${this.id}`,this.webhook).then(e=>{this.webhooks=e.webhooks,this.$notify.success({title:this.$t("Success"),message:e.message})}).catch(e=>{this.$handleError(e)}).finally(()=>{this.drawerAddWebhook=!1})},requestDeleteWebhook(e){this.webhookIdToDelete=e,this.deleteDialogVisible=!0},confirmDeleteWebhook(){this.deletingWebhook||null===this.webhookIdToDelete||(this.deletingWebhook=!0,this.$del("webhooks/"+this.webhookIdToDelete).then(e=>{this.webhooks=e.webhooks,this.$notify.success({title:this.$t("Success"),message:this.$t("Webhook removed successfully!")}),this.deleteDialogVisible=!1}).catch(e=>{this.$handleError(e)}).finally(()=>{this.deletingWebhook=!1}))},cancelDeleteWebhook(){this.deletingWebhook||(this.deleteDialogVisible=!1)},resetDeleteWebhookDialog(){this.deletingWebhook||(this.webhookIdToDelete=null)},copySmartUrl(e){let t=!1;if(window.clipboardData&&window.clipboardData.setData)window.clipboardData.clipboardData.setData("Text",e),t=!0;else if(document.queryCommandSupported&&document.queryCommandSupported("copy")){const a=document.createElement("textarea");a.textContent=e,a.style.position="fixed",document.body.appendChild(a),a.select();try{document.execCommand("copy"),t=!0}catch(s){t=!1}finally{document.body.removeChild(a)}}t?this.$notify({message:this.$t("Copied to your clipboard"),position:this.appVars.is_rtl?"bottom-left":"bottom-right",customClass:this.appVars.is_rtl?"bottom_left":"bottom_right",type:"success"}):this.$notify({message:this.$t("Your Browser does not support JS copy. Please copy manually"),position:this.appVars.is_rtl?"bottom-left":"bottom-right",customClass:this.appVars.is_rtl?"bottom_left":"bottom_right",type:"error"})},getBoards(){this.$get("projects/list-of-boards").then(e=>{this.boards=e.boards,this.all_stages=e.all_stages}).catch(e=>{this.$handleError(e)})},getStagesByBoard(e){this.stages=this.all_stages.filter(t=>t.board_id==parseInt(e))},showBoardTitle(e){if(!e)return"";const t=this.boards.find(t=>t.id===parseInt(e));return t?t.title:"No Board"},showStageTitle(e){if(!e)return"";const t=this.all_stages.find(t=>t.id===parseInt(e));return t?t.title:"No Stage"}},mounted(){this.getWebhooks(),this.getBoards()}},[["render",function(e,t,h,u,p,m){const g=b("Icons"),f=He,_=ze,v=At,C=b("empty-state"),T=b("custom-icon"),S=es,V=b("CopyDocument"),A=Ne,I=ss,D=gt,B=Be,L=Le,M=Ts,x=b("item-copier"),P=bt,F=Kt,E=b("confirmation-dialog");return s(),a("div",A5,[i("div",I5,[i("div",D5,[i("div",B5,[i("div",L5,[i("div",M5,[l(f,{modelValue:p.search,"onUpdate:modelValue":t[0]||(t[0]=e=>p.search=e),"aria-label":e.$t("Search fields by label..."),placeholder:e.$t("Search fields by label..."),onKeyup:$(m.getWebhooks,["enter"]),onChange:m.getWebhooks,onClear:m.getWebhooks,size:"small",clearable:""},{prefix:n(()=>[i("span",x5,[l(g,{"icon-name":"search"})])]),_:1},8,["modelValue","aria-label","placeholder","onKeyup","onChange","onClear"])]),i("div",P5,[l(_,{type:"primary",size:"small",onClick:m.openAddWebhookDrawer},{default:n(()=>[i("span",F5,[l(g,{"icon-name":"plus"})]),w(" "+o(e.$t("Create Webhook")),1)]),_:1},8,["onClick"])])])]),i("div",E5,[p.loading?(s(),c(v,{key:0,animated:"",rows:6})):(s(),c(I,{key:1,data:p.webhooks},{empty:n(()=>[i("div",U5,[l(C,{message:"No incoming webhook","icon-width":84,"icon-height":64})])]),default:n(()=>[l(S,{width:"44",type:"expand"},{expand:n(({expanded:e})=>[l(T,{class:k(["fbs-webhook-expand-toggle-icon",{"is-expanded":e}]),"icon-name":"webhook-expand"},null,8,["class"])]),default:n(t=>[i("div",O5,[i("h5",R5,o(e.$t("Mapped Board & Stage")),1),i("div",N5,[i("p",null,[w(o(e.$t("Board"))+": ",1),i("strong",null,o(m.showBoardTitle(t.row.value.board)),1)]),i("p",null,[w(o(e.$t("Stage"))+": ",1),i("strong",null,o(m.showStageTitle(t.row.value.stage)),1)])])])]),_:1}),l(S,{"min-width":100,label:e.$t("Title")},{default:n(e=>[w(o(e.row.value.name),1)]),_:1},8,["label"]),l(S,{"min-width":250,label:e.$t("Smart URL")},{default:n(t=>[i("div",H5,[i("span",j5,o(t.row.value.url),1),l(_,{text:"",class:"fbs-webhook-smart-url-copy","aria-label":e.$t("Copy Smart URL"),onClick:e=>m.copySmartUrl(t.row.value.url)},{default:n(()=>[l(A,{class:"fbs-webhook-smart-url-copy__icon"},{default:n(()=>[l(V)]),_:1})]),_:1},8,["aria-label","onClick"])])]),_:1},8,["label"]),l(S,{width:"156",align:"center","header-align":"center"},{header:n(()=>[i("span",z5,o(e.$t("Actions")),1)]),default:n(t=>[i("div",G5,[l(_,{text:"",class:"fbs_mr_0 fbs_ml_0 only-icon-btn","aria-label":e.$t("Edit Webhook"),onClick:e=>m.edit(t.row.value,t.row.id),size:"small"},{default:n(()=>[i("span",q5,[l(g,{"icon-name":"pen"})])]),_:1},8,["aria-label","onClick"]),l(_,{size:"small",text:"",class:"fbs_mr_0 fbs_ml_0 only-icon-btn","aria-label":e.$t("Delete Webhook"),onClick:e=>m.requestDeleteWebhook(t.row.id)},{default:n(()=>[i("span",W5,[l(g,{"icon-name":"delete"})])]),_:1},8,["aria-label","onClick"])])]),_:1})]),_:1},8,["data"]))])])]),l(F,{class:"fbs_right_sidebar fbs-webhook-create-drawer fbs-webhook-incoming-drawer",modelValue:p.drawerAddWebhook,"onUpdate:modelValue":t[7]||(t[7]=e=>p.drawerAddWebhook=e),size:"min(614px, 100vw)","append-to-body":"","body-class":"fbs-settings-drawer-body fbs-webhook-create-drawer__body","footer-class":"fbs-settings-drawer-footer fbs-webhook-create-drawer__footer",direction:e.appVars.is_rtl?"ltr":"rtl",title:p.isEditing?p.drawerTitle:e.$t("Create New Incoming Webhook")},{footer:n(()=>[i("div",X5,[l(_,{onClick:t[5]||(t[5]=e=>p.drawerAddWebhook=!1)},{default:n(()=>[w(o(e.$t("Cancel")),1)]),_:1}),l(_,{type:"primary",onClick:t[6]||(t[6]=e=>p.isEditing?m.update():m.addWebhook())},{default:n(()=>[w(o(p.isEditing?e.$t("Update"):e.$t("Create Webhook")),1)]),_:1})])]),default:n(()=>[l(P,{"label-position":"top","require-asterisk-position":"right",model:p.webhook},{default:n(()=>[l(D,{label:e.$t("Webhook Name"),required:""},{default:n(()=>[l(f,{modelValue:p.webhook.name,"onUpdate:modelValue":t[1]||(t[1]=e=>p.webhook.name=e),type:"text",placeholder:e.$t("Write Webhook name here.."),required:""},null,8,["modelValue","placeholder"])]),_:1},8,["label"]),l(D,{label:e.$t("Board"),required:""},{default:n(()=>[l(L,{modelValue:p.webhook.board,"onUpdate:modelValue":t[2]||(t[2]=e=>p.webhook.board=e),placeholder:e.$t("Select Board"),clearable:"",filterable:"",onChange:t[3]||(t[3]=e=>m.getStagesByBoard(p.webhook.board))},{default:n(()=>[(s(!0),a(r,null,d(p.boards,e=>(s(),c(B,{key:e.id,label:e.title,value:e.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])]),_:1},8,["label"]),l(D,{label:e.$t("Default Stage"),required:""},{default:n(()=>[l(L,{modelValue:p.webhook.stage,"onUpdate:modelValue":t[4]||(t[4]=e=>p.webhook.stage=e),placeholder:e.$t("Select stage"),clearable:"",filterable:""},{default:n(()=>[(s(!0),a(r,null,d(p.stages,e=>(s(),c(B,{key:e.id,label:e.title,value:e.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])]),_:1},8,["label"]),p.isEditing?(s(),a("div",K5,[t[9]||(t[9]=i("div",{class:"fbs_divider fbs_mb_20"},null,-1)),l(M,{type:"info",closable:!1,title:e.$t("Webhook.Copy_Webhook_url")},null,8,["title"]),l(x,{text:p.webhook.url,class:"fbs-webhook-incoming-url-copier"},null,8,["text"]),l(M,{type:"info",closable:!1,class:"fbs-webhook-incoming-key-alert"},{default:n(()=>[w(o(e.$t("Webhook.copy_webhook_keys_intro"))+" ",1),i("span",Z5,o(e.$t("Task title is required!")),1),t[8]||(t[8]=w()),i("a",Y5,o(e.$t("Learn more")),1)]),_:1}),i("div",J5,[l(I,{class:"fbs-settings-data-table fbs-webhook-data-table",height:"250",data:p.fields},{empty:n(()=>[i("div",Q5,[l(C,{message:"No incoming webhook","icon-width":84,"icon-height":64})])]),default:n(()=>[l(S,{label:e.$t("Task Field"),prop:"field.field",width:"150"},null,8,["label"]),l(S,{label:e.$t("Key"),prop:"key"},null,8,["label"]),l(S,{label:e.$t("Rules"),prop:"field.rules"},null,8,["label"]),l(S,{label:e.$t("Description"),prop:"field.description","min-width":"300"},null,8,["label"])]),_:1},8,["data"])])])):y("",!0)]),_:1},8,["model"])]),_:1},8,["modelValue","direction","title"]),l(E,{"dialog-visible":p.deleteDialogVisible,loading:p.deletingWebhook,title:e.$t("Confirmation Required"),message:e.$t("Are you sure you want to delete this webhook?"),"confirm-text":e.$t("Delete Webhook"),onConfirm:m.confirmDeleteWebhook,onCancel:m.cancelDeleteWebhook,onClosed:m.resetDeleteWebhookDialog},null,8,["dialog-visible","loading","title","message","confirm-text","onConfirm","onCancel","onClosed"])])}]]),SettingsProNotice:rD},props:{boardId:{type:[Number,String],default:null}}},[["render",function(e,t,i,o,n,r){const d=b("SettingsProNotice"),h=b("incoming-webhook",!0);return e.appVars.has_pro?(s(),a("div",e3,[l(h,{boardId:i.boardId},null,8,["boardId"])])):(s(),c(d,{key:0,title:e.$t("Incoming Webhooks"),description:e.$t("Create incoming webhook endpoints to connect external tools with Fluent Boards Pro."),"utm-content":"feature_lock_incoming_webhook","button-label":e.$t("Upgrade to Pro")},null,8,["title","description","button-label"]))}]])},{name:"outgoing-webhook",path:"outgoing-webhook",component:cD}]}],i3=function(e,t,s={}){var a,i;const o=`${window.fluentAddonVars.rest.url}/${t}`,l=e.toUpperCase(),n={};return(null==(i=null==(a=window.fluentAddonVars)?void 0:a.rest)?void 0:i.nonce)&&(n["X-WP-Nonce"]=window.fluentAddonVars.rest.nonce),window.fluentAddonVars.public_mode&&"GET"!==l?Promise.reject({message:"This board is read-only in public view."}):(-1!==["PUT","PATCH","DELETE"].indexOf(l)&&(n["X-HTTP-Method-Override"]=e,e="POST"),"POST"==e&&(window.request_is_pending=!0),window.fluentAddonVars.public_mode&&window.fluentAddonVars.public_token&&(s.public_token=window.fluentAddonVars.public_token),s.query_timestamp=Date.now(),new Promise((t,a)=>{window.jQuery.ajax({url:o,type:e,data:s,headers:n}).then(e=>t(e)).fail(e=>a(e.responseJSON)).then(()=>window.request_is_pending=!1)}))},o3={get:(e,t={})=>i3("GET",e,t),post:(e,t={})=>i3("POST",e,t),delete:(e,t={})=>i3("DELETE",e,t),put:(e,t={})=>i3("PUT",e,t),uploadFile(e,t={}){var s,a;if(window.fluentAddonVars.public_mode)return Promise.reject({message:"This board is read-only in public view."});const i=`${window.fluentAddonVars.rest.url}/${e}`,o={};return(null==(a=null==(s=window.fluentAddonVars)?void 0:s.rest)?void 0:a.nonce)&&(o["X-WP-Nonce"]=window.fluentAddonVars.rest.nonce),new Promise((e,s)=>{window.jQuery.ajax({url:i,type:"POST",data:t,headers:o,processData:!1,contentType:!1}).then(t=>e(t)).fail(e=>s(e.responseJSON))})}};jQuery(document).ajaxSuccess((e,t,s)=>{const a=t.getResponseHeader("X-WP-Nonce");a&&(window.fluentAddonVars.rest_nonce=a)});const l3={beforeMount(e){let t=!1;const s=e=>{t&&(e.preventDefault(),t=!1)},a=e=>{t=!0},i=e=>{setTimeout(()=>{t=!1})};e.addEventListener("contextmenu",s),e.addEventListener("touchstart",a),e.addEventListener("touchend",i),e.__preventContextMenu__={handleContextMenu:s,handleTouchStart:a,handleTouchEnd:i}},unmounted(e){const{handleContextMenu:t,handleTouchStart:s,handleTouchEnd:a}=e.__preventContextMenu__;e.removeEventListener("contextmenu",t),e.removeEventListener("touchstart",s),e.removeEventListener("touchend",a),delete e.__preventContextMenu__}},n3=(e,t)=>{if(!e||!t)return e||"";const s=new URL(e);return s.searchParams.set("utm_content",t),s.toString()};export{Pp as $,km as A,ml as C,fG as D,UO as P,o3 as R,N1 as S,pT as T,hT as a,Al as b,Tl as c,Sl as d,Cl as e,_l as f,Il as g,yl as h,fl as i,gl as j,bl as k,n3 as l,Bl as m,l3 as n,s3 as o,BN as p,O_ as q,a3 as r,Vl as s,$l as t,rD as u,Dl as v};
6