@loicngr/kobo 1.4.9 → 1.4.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/dist/server/routes/workspaces.js +2 -0
  2. package/dist/server/services/settings-service.js +10 -0
  3. package/dist/server/services/workspace-service.js +3 -3
  4. package/package.json +1 -1
  5. package/src/client/dist/spa/assets/{ActivityFeed-jhus97Cf.js → ActivityFeed-CWcNkgNz.js} +1 -1
  6. package/src/client/dist/spa/assets/CreatePage-3gOfOT7H.js +2 -0
  7. package/src/client/dist/spa/assets/CreatePage-DByy8YPu.css +1 -0
  8. package/src/client/dist/spa/assets/{DiffViewer-BmAd7k-Q.js → DiffViewer-BB0uMnDB.js} +2 -2
  9. package/src/client/dist/spa/assets/{MainLayout-BW7daPf7.js → MainLayout-Di4zIHM4.js} +2 -2
  10. package/src/client/dist/spa/assets/{QExpansionItem-Ch5P6bzC.js → QExpansionItem-dnmzWHId.js} +1 -1
  11. package/src/client/dist/spa/assets/{QList-tXJCQz3K.js → QList-CwbqTC_9.js} +1 -1
  12. package/src/client/dist/spa/assets/{QMenu-BE-OO3N4.js → QMenu-C_LDF5uF.js} +1 -1
  13. package/src/client/dist/spa/assets/{QPage-CkDrNXyM.js → QPage-0Qoiu-SJ.js} +1 -1
  14. package/src/client/dist/spa/assets/SettingsPage-2D1mycBC.js +1 -0
  15. package/src/client/dist/spa/assets/SettingsPage-CdWgxXBN.css +1 -0
  16. package/src/client/dist/spa/assets/{WorkspacePage-LkjOnfKV.js → WorkspacePage-D6ilyDGt.js} +3 -3
  17. package/src/client/dist/spa/assets/{cssMode-hVzqeL3Y.js → cssMode-CWtayDKW.js} +1 -1
  18. package/src/client/dist/spa/assets/{editor.api-CDy2oNdA.js → editor.api-DeuH5Z7J.js} +1 -1
  19. package/src/client/dist/spa/assets/{editor.main-By6Nm4Uo.js → editor.main-CHvDgl6E.js} +3 -3
  20. package/src/client/dist/spa/assets/{freemarker2-DsZ7OE8f.js → freemarker2-3a7cf3Uc.js} +1 -1
  21. package/src/client/dist/spa/assets/{handlebars-BwM3WWoa.js → handlebars-BjDKZgtm.js} +1 -1
  22. package/src/client/dist/spa/assets/{html-BevRIlIZ.js → html-CxHAAoPw.js} +1 -1
  23. package/src/client/dist/spa/assets/{htmlMode-B1A5H5QY.js → htmlMode-DhXtvpCN.js} +1 -1
  24. package/src/client/dist/spa/assets/i18n-BG0I8c3l.js +1 -0
  25. package/src/client/dist/spa/assets/i18n-BvyUMouA.js +1 -0
  26. package/src/client/dist/spa/assets/{index-BxBqipDT.js → index-Dh7opLow.js} +3 -3
  27. package/src/client/dist/spa/assets/{javascript-Cbwf_WZd.js → javascript-CFSWGGGJ.js} +1 -1
  28. package/src/client/dist/spa/assets/{jsonMode-DXxkqMuk.js → jsonMode-k2An8_pW.js} +1 -1
  29. package/src/client/dist/spa/assets/{liquid-CMWSadqH.js → liquid-Cq4t-XTr.js} +1 -1
  30. package/src/client/dist/spa/assets/{mdx-CXFMxs0m.js → mdx-UB8RrpeD.js} +1 -1
  31. package/src/client/dist/spa/assets/{monaco.contribution-DojwMy68.js → monaco.contribution-B9W_lLWp.js} +2 -2
  32. package/src/client/dist/spa/assets/{python-Ct1-RX08.js → python-n8QHA1-s.js} +1 -1
  33. package/src/client/dist/spa/assets/{razor-BLUxJqNg.js → razor-DQrmL_Eu.js} +1 -1
  34. package/src/client/dist/spa/assets/{settings-B0JkmJA1.js → settings-CuK-S6HH.js} +1 -1
  35. package/src/client/dist/spa/assets/{tsMode-DfoQS6sD.js → tsMode-DqHf0yz_.js} +1 -1
  36. package/src/client/dist/spa/assets/{typescript-Ce2TQPtr.js → typescript-C2OgYZBp.js} +1 -1
  37. package/src/client/dist/spa/assets/{xml-C9QcFOCj.js → xml-BD4Y8hNI.js} +1 -1
  38. package/src/client/dist/spa/assets/{yaml-CpUUJmRX.js → yaml-dxD-q88Q.js} +1 -1
  39. package/src/client/dist/spa/index.html +3 -3
  40. package/src/client/dist/spa/assets/CreatePage-BErPWWmP.js +0 -2
  41. package/src/client/dist/spa/assets/CreatePage-CgqSs5JM.css +0 -1
  42. package/src/client/dist/spa/assets/SettingsPage-B5j-Zv91.js +0 -1
  43. package/src/client/dist/spa/assets/SettingsPage-BzsaegMp.css +0 -1
  44. package/src/client/dist/spa/assets/i18n-BLHRwr9N.js +0 -1
  45. package/src/client/dist/spa/assets/i18n-yBCUfaG0.js +0 -1
@@ -1,2 +1,2 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/DiffViewer-BmAd7k-Q.js","assets/index-BxBqipDT.js","assets/vue-i18n-nv59vAyH.js","assets/scroll-CWjBCoBR.js","assets/settings-B0JkmJA1.js","assets/use-checkbox-DwkIkUAc.js","assets/private.use-form-1cZLVjGN.js","assets/i18n-yBCUfaG0.js","assets/index-eX_lKHSg.css","assets/_plugin-vue_export-helper-CLHv3piE.js","assets/QBadge-xNMZEqT-.js","assets/touch-Bojc73iM.js","assets/TouchPan-Dc-xrSIS.js","assets/QSpinnerDots-FJCnAvfw.js","assets/QTooltip-DKxEdudV.js","assets/format-Ex4UmWdz.js","assets/DiffViewer-DiHFLSk4.css"])))=>i.map(i=>d[i]);
2
- import{E as e,F as t,H as n,I as r,L as i,M as a,N as o,Q as s,R as c,S as l,U as u,W as d,Z as f,_ as p,_t as m,a as h,b as g,d as _,f as v,g as y,k as b,m as x,n as S,p as C,rt as w,u as T,v as E,vt as D,w as O,y as k,yt as A}from"./vue-i18n-nv59vAyH.js";import{J as j,L as M,R as ee,S as N,T as P,U as F,V as I,W as L,b as R,bt as z,ct as B,d as V,f as H,lt as te,pt as U,r as W,v as ne,vt as re,y as G,yt as K,z as ie}from"./scroll-CWjBCoBR.js";import{a as ae,i as q,o as oe}from"./private.use-form-1cZLVjGN.js";import{t as se}from"./settings-B0JkmJA1.js";import{A as ce,C as le,D as ue,E as de,M as fe,N as pe,O as me,P as he,S as ge,b as _e,f as ve,h as J,m as ye,n as be,p as xe,r as Se,w as Ce,x as we}from"./index-BxBqipDT.js";import{p as Te,t as Y}from"./_plugin-vue_export-helper-CLHv3piE.js";import{t as X}from"./QTooltip-DKxEdudV.js";import{t as Ee}from"./QBadge-xNMZEqT-.js";import{r as De}from"./touch-Bojc73iM.js";import{n as Oe,t as ke}from"./TouchPan-Dc-xrSIS.js";import{t as Ae}from"./format-Ex4UmWdz.js";import{a as je,i as Me,n as Ne,r as Pe,t as Fe}from"./QList-tXJCQz3K.js";import{i as Ie,n as Z,r as Q,t as Le}from"./QMenu-BE-OO3N4.js";import{r as Re,t as ze}from"./formatters-B5Igo0Lf.js";var Be=150,Ve=B({name:`QDrawer`,inheritAttrs:!1,props:{...R,...oe,side:{type:String,default:`left`,validator:e=>[`left`,`right`].includes(e)},width:{type:Number,default:300},mini:Boolean,miniToOverlay:Boolean,miniWidth:{type:Number,default:57},noMiniAnimation:Boolean,breakpoint:{type:Number,default:1023},showIfAbove:Boolean,behavior:{type:String,validator:e=>[`default`,`desktop`,`mobile`].includes(e),default:`default`},bordered:Boolean,elevated:Boolean,overlay:Boolean,persistent:Boolean,noSwipeOpen:Boolean,noSwipeClose:Boolean,noSwipeBackdrop:Boolean},emits:[...G,`onLayout`,`miniState`],setup(t,{slots:r,emit:i,attrs:o}){let c=g(),{proxy:{$q:u}}=c,f=ae(t,u),{preventBodyScroll:p}=_e(),{registerTimeout:m,removeTimeout:h}=N(),_=O(pe,fe);if(_===fe)return console.error(`QDrawer needs to be child of QLayout`),fe;let v,y=null,x,S=s(t.behavior===`mobile`||t.behavior!==`desktop`&&_.totalWidth.value<=t.breakpoint),C=T(()=>t.mini===!0&&S.value!==!0),w=T(()=>C.value===!0?t.miniWidth:t.width),E=s(t.showIfAbove===!0&&S.value===!1?!0:t.modelValue===!0),D=T(()=>t.persistent!==!0&&(S.value===!0||K.value===!0));function k(e,t){if(P(),e!==!1&&_.animate(),J(0),S.value===!0){let e=_.instances[U.value];e?.belowBreakpoint===!0&&e.hide(!1),ye(1),_.isContainer.value!==!0&&p(!0)}else ye(0),e!==!1&&be(!1);m(()=>{e!==!1&&be(!0),t!==!0&&i(`show`,e)},Be)}function A(e,t){F(),e!==!1&&_.animate(),ye(0),J(z.value*w.value),Te(),t===!0?h():m(()=>{i(`hide`,e)},Be)}let{show:j,hide:M}=ne({showing:E,hideOnRouteChange:D,handleShow:k,handleHide:A}),{addToHistory:P,removeFromHistory:F}=we(E,M,D),L={belowBreakpoint:S,hide:M},R=T(()=>t.side===`right`),z=T(()=>(u.lang.rtl===!0?-1:1)*(R.value===!0?1:-1)),B=s(0),V=s(!1),H=s(!1),te=s(w.value*z.value),U=T(()=>R.value===!0?`left`:`right`),W=T(()=>E.value===!0&&S.value===!1&&t.overlay===!1?t.miniToOverlay===!0?t.miniWidth:w.value:0),re=T(()=>t.overlay===!0||t.miniToOverlay===!0||_.view.value.indexOf(R.value?`R`:`L`)!==-1||u.platform.is.ios===!0&&_.isContainer.value===!0),G=T(()=>t.overlay===!1&&E.value===!0&&S.value===!1),K=T(()=>t.overlay===!0&&E.value===!0&&S.value===!1),ie=T(()=>`fullscreen q-drawer__backdrop`+(E.value===!1&&V.value===!1?` hidden`:``)),q=T(()=>({backgroundColor:`rgba(0,0,0,${B.value*.4})`})),oe=T(()=>R.value===!0?_.rows.value.top[2]===`r`:_.rows.value.top[0]===`l`),se=T(()=>R.value===!0?_.rows.value.bottom[2]===`r`:_.rows.value.bottom[0]===`l`),ce=T(()=>{let e={};return _.header.space===!0&&oe.value===!1&&(re.value===!0?e.top=`${_.header.offset}px`:_.header.space===!0&&(e.top=`${_.header.size}px`)),_.footer.space===!0&&se.value===!1&&(re.value===!0?e.bottom=`${_.footer.offset}px`:_.footer.space===!0&&(e.bottom=`${_.footer.size}px`)),e}),le=T(()=>{let e={width:`${w.value}px`,transform:`translateX(${te.value}px)`};return S.value===!0?e:Object.assign(e,ce.value)}),ue=T(()=>`q-drawer__content fit `+(_.isContainer.value===!0?`overflow-auto`:`scroll`)),de=T(()=>`q-drawer q-drawer--${t.side}`+(H.value===!0?` q-drawer--mini-animate`:``)+(t.bordered===!0?` q-drawer--bordered`:``)+(f.value===!0?` q-drawer--dark q-dark`:``)+(V.value===!0?` no-transition`:E.value===!0?``:` q-layout--prevent-focus`)+(S.value===!0?` fixed q-drawer--on-top q-drawer--mobile q-drawer--top-padding`:` q-drawer--${C.value===!0?`mini`:`standard`}`+(re.value===!0||G.value!==!0?` fixed`:``)+(t.overlay===!0||t.miniToOverlay===!0?` q-drawer--on-top`:``)+(oe.value===!0?` q-drawer--top-padding`:``))),me=T(()=>[[ke,Se,void 0,{[u.lang.rtl===!0?t.side:U.value]:!0,mouse:!0}]]),he=T(()=>[[ke,Ce,void 0,{[u.lang.rtl===!0?U.value:t.side]:!0,mouse:!0}]]),ge=T(()=>[[ke,Ce,void 0,{[u.lang.rtl===!0?U.value:t.side]:!0,mouse:!0,mouseAllDir:!0}]]);function ve(){X(S,t.behavior===`mobile`||t.behavior!==`desktop`&&_.totalWidth.value<=t.breakpoint)}n(S,e=>{e===!0?(v=E.value,E.value===!0&&M(!1)):t.overlay===!1&&t.behavior!==`mobile`&&v!==!1&&(E.value===!0?(J(0),ye(0),Te()):j(!1))}),n(()=>t.side,(e,t)=>{_.instances[t]===L&&(_.instances[t]=void 0,_[t].space=!1,_[t].offset=0),_.instances[e]=L,_[e].size=w.value,_[e].space=G.value,_[e].offset=W.value}),n(_.totalWidth,()=>{(_.isContainer.value===!0||document.qScrollPrevented!==!0)&&ve()}),n(()=>t.behavior+t.breakpoint,ve),n(_.isContainer,e=>{E.value===!0&&p(e!==!0),e===!0&&ve()}),n(_.scrollbarWidth,()=>{J(E.value===!0?0:void 0)}),n(W,e=>{Y(`offset`,e)}),n(G,e=>{i(`onLayout`,e),Y(`space`,e)}),n(R,()=>{J()}),n(w,e=>{J(),Ee(t.miniToOverlay,e)}),n(()=>t.miniToOverlay,e=>{Ee(e,w.value)}),n(()=>u.lang.rtl,()=>{J()}),n(()=>t.mini,()=>{t.noMiniAnimation||t.modelValue===!0&&(xe(),_.animate())}),n(C,e=>{i(`miniState`,e)});function J(t){t===void 0?e(()=>{t=E.value===!0?0:w.value,J(z.value*t)}):(_.isContainer.value===!0&&R.value===!0&&(S.value===!0||Math.abs(t)===w.value)&&(t+=z.value*_.scrollbarWidth.value),te.value=t)}function ye(e){B.value=e}function be(e){let t=e===!0?`remove`:_.isContainer.value===!0?``:`add`;t!==``&&document.body.classList[t](`q-body--drawer-toggle`)}function xe(){y!==null&&clearTimeout(y),c.proxy&&c.proxy.$el&&c.proxy.$el.classList.add(`q-drawer--mini-animate`),H.value=!0,y=setTimeout(()=>{y=null,H.value=!1,c?.proxy?.$el?.classList.remove(`q-drawer--mini-animate`)},150)}function Se(e){if(E.value!==!1)return;let t=w.value,n=Ae(e.distance.x,0,t);if(e.isFinal===!0){n>=Math.min(75,t)?j():(_.animate(),ye(0),J(z.value*t)),V.value=!1;return}J((u.lang.rtl===!0?R.value!==!0:R.value)?Math.max(t-n,0):Math.min(0,n-t)),ye(Ae(n/t,0,1)),e.isFirst===!0&&(V.value=!0)}function Ce(e){if(E.value!==!0)return;let n=w.value,r=e.direction===t.side,i=(u.lang.rtl===!0?r!==!0:r)?Ae(e.distance.x,0,n):0;if(e.isFinal===!0){Math.abs(i)<Math.min(75,n)?(_.animate(),ye(1),J(0)):M(),V.value=!1;return}J(z.value*i),ye(Ae(1-i/n,0,1)),e.isFirst===!0&&(V.value=!0)}function Te(){p(!1),be(!0)}function Y(e,n){_.update(t.side,e,n)}function X(e,t){e.value!==t&&(e.value=t)}function Ee(e,n){Y(`size`,e===!0?t.miniWidth:n)}return _.instances[t.side]=L,Ee(t.miniToOverlay,w.value),Y(`space`,G.value),Y(`offset`,W.value),t.showIfAbove===!0&&t.modelValue!==!0&&E.value===!0&&t[`onUpdate:modelValue`]!==void 0&&i(`update:modelValue`,!0),a(()=>{i(`onLayout`,G.value),i(`miniState`,C.value),v=t.showIfAbove===!0;let r=()=>{(E.value===!0?k:A)(!1,!0)};if(_.totalWidth.value!==0){e(r);return}x=n(_.totalWidth,()=>{x(),x=void 0,E.value===!1&&t.showIfAbove===!0&&S.value===!1?j(!1):r()})}),b(()=>{x?.(),y!==null&&(clearTimeout(y),y=null),E.value===!0&&Te(),_.instances[t.side]===L&&(_.instances[t.side]=void 0,Y(`size`,0),Y(`offset`,0),Y(`space`,!1))}),()=>{let e=[];S.value===!0&&(t.noSwipeOpen===!1&&e.push(d(l(`div`,{key:`open`,class:`q-drawer__opener fixed-${t.side}`,"aria-hidden":`true`}),me.value)),e.push(ee(`div`,{ref:`backdrop`,class:ie.value,style:q.value,"aria-hidden":`true`,onClick:M},void 0,`backdrop`,t.noSwipeBackdrop!==!0&&E.value===!0,()=>ge.value)));let n=C.value===!0&&r.mini!==void 0,i=[l(`div`,{...o,key:String(n),class:[ue.value,o.class]},n===!0?r.mini():I(r.default))];return t.elevated===!0&&E.value===!0&&i.push(l(`div`,{class:`q-layout__shadow absolute-full overflow-hidden no-pointer-events`})),e.push(ee(`aside`,{ref:`content`,class:de.value,style:le.value},i,`contentclose`,t.noSwipeClose!==!0&&S.value===!0,()=>he.value)),l(`div`,{class:`q-drawer-container`},e)}}}),He=B({name:`QPageContainer`,setup(e,{slots:t}){let{proxy:{$q:n}}=g(),i=O(pe,fe);if(i===fe)return console.error(`QPageContainer needs to be child of QLayout`),fe;r(he,!0);let a=T(()=>{let e={};return i.header.space===!0&&(e.paddingTop=`${i.header.size}px`),i.right.space===!0&&(e[`padding${n.lang.rtl===!0?`Left`:`Right`}`]=`${i.right.size}px`),i.footer.space===!0&&(e.paddingBottom=`${i.footer.size}px`),i.left.space===!0&&(e[`padding${n.lang.rtl===!0?`Right`:`Left`}`]=`${i.left.size}px`),e});return()=>l(`div`,{class:`q-page-container`,style:a.value},I(t.default))}}),Ue=B({name:`QLayout`,props:{container:Boolean,view:{type:String,default:`hhh lpr fff`,validator:e=>/^(h|l)h(h|r) lpr (f|l)f(f|r)$/.test(e.toLowerCase())},onScroll:Function,onScrollHeight:Function,onResize:Function},setup(e,{slots:t,emit:i}){let{proxy:{$q:a}}=g(),c=s(null),u=s(a.screen.height),d=s(e.container===!0?0:a.screen.width),p=s({position:0,direction:`down`,inflectionPoint:0}),m=s(0),h=s(U.value===!0?0:W()),_=T(()=>`q-layout q-layout--`+(e.container===!0?`containerized`:`standard`)),v=T(()=>e.container===!1?{minHeight:a.screen.height+`px`}:null),y=T(()=>h.value===0?null:{[a.lang.rtl===!0?`left`:`right`]:`${h.value}px`}),b=T(()=>h.value===0?null:{[a.lang.rtl===!0?`right`:`left`]:0,[a.lang.rtl===!0?`left`:`right`]:`-${h.value}px`,width:`calc(100% + ${h.value}px)`});function x(t){if(e.container===!0||document.qScrollPrevented!==!0){let n={position:t.position.top,direction:t.direction,directionChanged:t.directionChanged,inflectionPoint:t.inflectionPoint.top,delta:t.delta.top};p.value=n,e.onScroll!==void 0&&i(`scroll`,n)}}function S(t){let{height:n,width:r}=t,a=!1;u.value!==n&&(a=!0,u.value=n,e.onScrollHeight!==void 0&&i(`scrollHeight`,n),w()),d.value!==r&&(a=!0,d.value=r),a===!0&&e.onResize!==void 0&&i(`resize`,t)}function C({height:e}){m.value!==e&&(m.value=e,w())}function w(){if(e.container===!0){let e=u.value>m.value?W():0;h.value!==e&&(h.value=e)}}let E=null,D={instances:{},view:T(()=>e.view),isContainer:T(()=>e.container),rootRef:c,height:u,containerHeight:m,scrollbarWidth:h,totalWidth:T(()=>d.value+h.value),rows:T(()=>{let t=e.view.toLowerCase().split(` `);return{top:t[0].split(``),middle:t[1].split(``),bottom:t[2].split(``)}}),header:f({size:0,offset:0,space:!1}),right:f({size:300,offset:0,space:!1}),footer:f({size:0,offset:0,space:!1}),left:f({size:300,offset:0,space:!1}),scroll:p,animate(){E===null?document.body.classList.add(`q-body--layout-animate`):clearTimeout(E),E=setTimeout(()=>{E=null,document.body.classList.remove(`q-body--layout-animate`)},155)},update(e,t,n){D[e][t]=n}};if(r(pe,D),W()>0){let t=null,r=document.body;function i(){t=null,r.classList.remove(`hide-scrollbar`)}function s(){if(t===null){if(r.scrollHeight>a.screen.height)return;r.classList.add(`hide-scrollbar`)}else clearTimeout(t);t=setTimeout(i,300)}function c(e){t!==null&&e===`remove`&&(clearTimeout(t),i()),window[`${e}EventListener`](`resize`,s)}n(()=>e.container===!0?`remove`:`add`,c),e.container!==!0&&c(`add`),o(()=>{c(`remove`)})}return()=>{let n=ie(t.default,[l(Oe,{onScroll:x}),l(De,{onResize:S})]),r=l(`div`,{class:_.value,style:v.value,ref:e.container===!0?void 0:c,tabindex:-1},n);return e.container===!0?l(`div`,{class:`q-layout-container overflow-hidden`,ref:c},[l(De,{onResize:C}),l(`div`,{class:`absolute-full`,style:y.value},[l(`div`,{class:`scroll`,style:b.value},[r])])]):r}}}),We={class:`acceptance-panel q-pa-md`},Ge={class:`row items-center q-mb-sm`},Ke={class:`text-caption text-uppercase text-weight-bold text-grey-6`,style:{"letter-spacing":`0.05em`}},qe={key:0,class:`criterion-add-row row items-center q-mb-xs`},Je={key:1,class:`acceptance-list`},Ye=[`onDblclick`],Xe={key:2,class:`text-caption text-grey-8`,style:{"font-size":`11px`}},Ze=Y(k({__name:`AcceptancePanel`,props:{tasks:{}},setup(n){let{t:r}=S(),a=me(),o=de();function c(){let e=a.selectedWorkspaceId;e&&Re(e,o,a)}let l=s(!1),d=s(``),f=s(null),g=s(``),b=s({});function T(e,t){if(t){let n=t.$el??t;b.value[e]=n}else delete b.value[e]}function E(e){switch(e){case`done`:return`check_circle`;case`in_progress`:return`timelapse`;default:return`radio_button_unchecked`}}function O(e){switch(e){case`done`:return`#4ade80`;case`in_progress`:return`#f59e0b`;default:return`#888`}}async function k(e){let t=e.status===`done`?`pending`:`done`;try{let n=await fetch(`/api/workspaces/${e.workspaceId}/tasks/${e.id}`,{method:`PATCH`,headers:{"Content-Type":`application/json`},body:JSON.stringify({status:t})});if(!n.ok)throw Error(`HTTP ${n.status}`);a.selectedWorkspaceId&&a.fetchWorkspaceDetails(a.selectedWorkspaceId)}catch(e){console.error(`Failed to update task:`,e)}}function j(){l.value=!0,d.value=``}async function ee(){let e=d.value.trim(),t=a.selectedWorkspace?.id;if(!(!e||!t))try{await a.createTask(t,e,!0),d.value=``,l.value=!1}catch{}}function N(){d.value=``,l.value=!1}function F(t){f.value=t.id,g.value=t.title,e(()=>{let e=b.value[t.id]?.querySelector(`input, textarea`);e?.focus(),e?.select()})}async function I(e){if(f.value!==e.id)return;let t=g.value.trim(),n=e.id;if(f.value=null,!t||t===e.title)return;let r=a.selectedWorkspace?.id;if(r)try{await a.updateTaskTitle(r,n,t)}catch{}}function L(){f.value=null,g.value=``}async function R(e){let t=a.selectedWorkspace?.id;if(t)try{await a.deleteTask(t,e.id)}catch{}}return(e,r)=>(t(),x(`div`,We,[_(`div`,Ge,[_(`div`,Ke,A(e.$t(`acceptance.title`)),1),p(Te),w(a).selectedWorkspace?(t(),v(P,{key:0,flat:``,dense:``,round:``,size:`xs`,icon:`fact_check`,color:`grey-5`,onClick:c},{default:u(()=>[p(X,null,{default:u(()=>[y(A(e.$t(`tasks.askProgress`)),1)]),_:1})]),_:1})):C(``,!0),w(a).selectedWorkspace?(t(),v(P,{key:1,flat:``,dense:``,round:``,size:`xs`,icon:`add`,color:`indigo-4`,onClick:j},{default:u(()=>[p(X,null,{default:u(()=>[y(A(e.$t(`tooltip.addCriterion`)),1)]),_:1})]),_:1})):C(``,!0)]),l.value?(t(),x(`div`,qe,[p(Se,{modelValue:d.value,"onUpdate:modelValue":r[0]||=e=>d.value=e,dark:``,dense:``,borderless:``,autofocus:``,placeholder:e.$t(`acceptance.newCriterion`),class:`col criterion-input`,"input-class":`criterion-input-inner`,onKeydown:[K(z(ee,[`prevent`]),[`enter`]),K(z(N,[`prevent`]),[`esc`])]},null,8,[`modelValue`,`placeholder`,`onKeydown`])])):C(``,!0),n.tasks.length>0?(t(),x(`div`,Je,[(t(!0),x(h,null,i(n.tasks,n=>(t(),x(`div`,{key:n.id,class:`acceptance-item row items-center q-mb-xxs`},[p(M,{name:E(n.status),size:`16px`,style:D({color:O(n.status)}),class:`q-mr-xs cursor-pointer`,onClick:e=>k(n)},null,8,[`name`,`style`,`onClick`]),f.value===n.id?(t(),v(Se,{key:0,ref_for:!0,ref:e=>T(n.id,e),modelValue:g.value,"onUpdate:modelValue":r[1]||=e=>g.value=e,dark:``,dense:``,borderless:``,class:`col criterion-input`,"input-class":`criterion-input-inner`,onKeydown:[K(z(e=>I(n),[`prevent`]),[`enter`]),K(z(L,[`prevent`]),[`esc`])],onBlur:e=>I(n)},null,8,[`modelValue`,`onKeydown`,`onBlur`])):(t(),x(h,{key:1},[_(`span`,{class:m([`col acceptance-title text-caption`,{"text-strike":n.status===`done`}]),style:D({color:n.status===`done`?`#4ade80`:`#ccc`}),onDblclick:e=>F(n)},A(n.title),47,Ye),p(P,{flat:``,dense:``,round:``,size:`xs`,icon:`close`,color:`grey-6`,class:`criterion-delete-btn`,onClick:e=>R(n)},{default:u(()=>[p(X,null,{default:u(()=>[y(A(e.$t(`tooltip.removeCriterion`)),1)]),_:1})]),_:1},8,[`onClick`])],64))]))),128))])):l.value?C(``,!0):(t(),x(`div`,Xe,A(e.$t(`acceptance.empty`)),1))]))}}),[[`__scopeId`,`data-v-63b144ad`]]),Qe={class:`agent-todos-panel q-pa-md`},$e={class:`row items-center q-mb-sm`},et={class:`text-caption text-uppercase text-weight-bold text-grey-6`,style:{"letter-spacing":`0.05em`}},tt={key:0,class:`todos-list`},nt={key:1,class:`text-caption text-grey-8`,style:{"font-size":`11px`}},rt=Y(k({__name:`AgentTodosPanel`,setup(e){let{t:n}=S(),r=me();function a(e){switch(e){case`completed`:return`check_circle`;case`in_progress`:return`timelapse`;default:return`radio_button_unchecked`}}function o(e){switch(e){case`completed`:return`#4ade80`;case`in_progress`:return`#f59e0b`;default:return`#888`}}return(e,n)=>(t(),x(`div`,Qe,[_(`div`,$e,[_(`div`,et,A(e.$t(`agentTodos.title`)),1)]),w(r).currentAgentTodos.length>0?(t(),x(`div`,tt,[(t(!0),x(h,null,i(w(r).currentAgentTodos,(e,n)=>(t(),x(`div`,{key:n,class:`todo-item row items-start q-py-xxs`},[p(M,{name:a(e.status),size:`14px`,style:D({color:o(e.status)}),class:`q-mr-xs q-mt-xxs`},null,8,[`name`,`style`]),_(`span`,{class:m([`col todo-title text-caption`,{"text-strike":e.status===`completed`}]),style:D({color:e.status===`completed`?`#4ade80`:`#ccc`})},A(e.content),7)]))),128))])):(t(),x(`div`,nt,A(e.$t(`agentTodos.empty`)),1))]))}}),[[`__scopeId`,`data-v-4eddf754`]]),it={class:`log-text rounded-borders q-pa-md`},at=Y(k({__name:`DevServerLogDialog`,props:{modelValue:{type:Boolean},workspaceId:{}},emits:[`update:modelValue`],setup(r){let i=r,a=ce(),c=s(``),l=s(!1),d=s(null),f=null;async function m(){if(i.workspaceId){l.value=!0;try{c.value=await a.fetchLogs(i.workspaceId),await e(),h()}finally{l.value=!1}}}function h(){d.value&&(d.value.scrollTop=d.value.scrollHeight)}function g(){b(),f=setInterval(()=>{m()},5e3)}function b(){f&&=(clearInterval(f),null)}return n(()=>i.modelValue,e=>{e?(m(),g()):b()}),o(()=>{b()}),(e,n)=>(t(),v(J,{"model-value":r.modelValue,"onUpdate:modelValue":n[1]||=t=>e.$emit(`update:modelValue`,t)},{default:u(()=>[p(ye,{class:`text-grey-3`,style:{"min-width":`700px`,"max-width":`900px`,"max-height":`80vh`,background:`#1e1e3a`}},{default:u(()=>[p(xe,{class:`row items-center`},{default:u(()=>[n[2]||=_(`div`,{class:`text-h6`},`Logs Dev Server`,-1),p(Te),p(P,{flat:``,round:``,dense:``,icon:`refresh`,color:`grey-5`,onClick:m,loading:l.value},{default:u(()=>[p(X,null,{default:u(()=>[y(A(e.$t(`tooltip.refreshLogs`)),1)]),_:1})]),_:1},8,[`loading`]),p(P,{flat:``,round:``,dense:``,icon:`close`,color:`grey-5`,onClick:n[0]||=t=>e.$emit(`update:modelValue`,!1)},{default:u(()=>[p(X,null,{default:u(()=>[y(A(e.$t(`tooltip.closeDialog`)),1)]),_:1})]),_:1})]),_:1}),p(q,{dark:``}),p(xe,{class:`log-content`,ref_key:`logContainer`,ref:d},{default:u(()=>[_(`pre`,it,A(c.value||`No logs available`),1)]),_:1},512)]),_:1})]),_:1},8,[`model-value`]))}}),[[`__scopeId`,`data-v-9e03d2b2`]]),ot={class:`dd-panel q-px-md q-py-sm`},st={class:`text-caption text-uppercase text-weight-bold text-grey-5 q-mb-xs`},ct={key:0,class:`text-caption text-grey-8`},lt={key:1,class:`text-caption text-grey-8`},ut={class:`row items-center q-mb-xs`},dt={key:0,class:`text-caption q-mb-xs`},ft=[`href`],pt={key:1,class:`text-caption text-grey-7`,style:{"font-size":`10px`}},mt={key:2,class:`text-caption text-red-5`},ht=Y(k({__name:`DevServerPanel`,props:{workspace:{}},setup(e){let r=e,{t:i}=S(),l=ce(),d=se(),f=s(!1),m=s(!1),g=s(!1),b=null,w=T(()=>r.workspace?.id??``),E=T(()=>r.workspace?!!d.getProjectByPath(r.workspace.projectPath)?.devServer?.startCommand:!1),D=T(()=>w.value?l.getStatus(w.value):null),O=T(()=>{switch(D.value?.status){case`running`:return`green-9`;case`starting`:case`stopping`:return`orange-9`;case`error`:return`red-9`;default:return`grey-8`}}),k=T(()=>{switch(D.value?.status){case`running`:return i(`devServer.running`);case`starting`:return i(`devServer.starting`);case`stopping`:return i(`devServer.stopping`);case`error`:return i(`devServer.error`);case`stopped`:return i(`devServer.stopped`);default:return i(`devServer.unknown`)}}),j=T(()=>{let e=D.value?.status;return!e||e===`stopped`||e===`unknown`||e===`error`}),M=T(()=>{let e=D.value?.status;return e===`running`||e===`starting`});async function ee(){if(w.value){m.value=!0;try{await l.startDevServer(w.value)}finally{m.value=!1}}}async function N(){if(w.value){g.value=!0;try{await l.stopDevServer(w.value)}finally{g.value=!1}}}function F(){w.value&&E.value&&l.fetchStatus(w.value)}function I(){L(),b=setInterval(()=>{F()},3e4)}function L(){b&&=(clearInterval(b),null)}return n(w,()=>{F(),I()}),a(()=>{F(),I()}),o(()=>{L()}),(n,r)=>{let i=c(`router-link`);return t(),x(`div`,ot,[_(`div`,st,A(n.$t(`devServer.title`)),1),e.workspace?E.value?D.value?(t(),x(h,{key:2},[_(`div`,ut,[p(Ee,{color:O.value,label:k.value,style:{"font-size":`10px`}},null,8,[`color`,`label`]),p(Te),j.value?(t(),v(P,{key:0,flat:``,round:``,dense:``,icon:`play_arrow`,size:`xs`,color:`green-5`,onClick:ee,loading:m.value},{default:u(()=>[p(X,null,{default:u(()=>[y(A(n.$t(`tooltip.startDevServer`)),1)]),_:1})]),_:1},8,[`loading`])):C(``,!0),M.value?(t(),v(P,{key:1,flat:``,round:``,dense:``,icon:`stop`,size:`xs`,color:`red-5`,onClick:N,loading:g.value},{default:u(()=>[p(X,null,{default:u(()=>[y(A(n.$t(`tooltip.stopDevServer`)),1)]),_:1})]),_:1},8,[`loading`])):C(``,!0),p(P,{flat:``,round:``,dense:``,icon:`article`,size:`xs`,color:`grey-5`,onClick:r[0]||=e=>f.value=!0},{default:u(()=>[p(X,null,{default:u(()=>[y(A(n.$t(`devServer.logs`)),1)]),_:1})]),_:1})]),D.value.status===`running`&&D.value.url?(t(),x(`div`,dt,[_(`a`,{href:D.value.url,target:`_blank`,style:{color:`#6c63ff`}},A(D.value.url),9,ft)])):C(``,!0),D.value.containers.length>0?(t(),x(`div`,pt,A(n.$t(`devServer.containers`,{count:D.value.containers.length},D.value.containers.length)),1)):C(``,!0),D.value.error?(t(),x(`div`,mt,A(D.value.error),1)):C(``,!0)],64)):C(``,!0):(t(),x(`div`,lt,[y(A(n.$t(`devServer.notConfigured`))+` `,1),p(i,{to:`/settings`,style:{color:`#6c63ff`}},{default:u(()=>[y(A(n.$t(`devServer.goToSettings`)),1)]),_:1})])):(t(),x(`div`,ct,A(n.$t(`devServer.noWorkspace`)),1)),w.value?(t(),v(at,{key:3,modelValue:f.value,"onUpdate:modelValue":r[1]||=e=>f.value=e,"workspace-id":w.value},null,8,[`modelValue`,`workspace-id`])):C(``,!0)])}}}),[[`__scopeId`,`data-v-20c5f4bd`]]),gt={class:`git-panel q-pa-md`},_t={class:`row items-center justify-between q-mb-sm`},vt={class:`text-caption text-uppercase text-weight-bold text-grey-6`,style:{"letter-spacing":`0.05em`}},yt={class:`row items-center q-mb-sm`},bt={class:`text-caption text-grey-3`},xt={class:`row items-center q-mb-sm`},St={class:`text-caption text-grey-4`,style:{"font-family":`'Roboto Mono', monospace`,"font-size":`11px`}},Ct={class:`text-caption q-mb-sm text-grey-8`,style:{"font-size":`11px`}},wt={key:0},Tt={key:1,style:{color:`#4ade80`}},Et={key:2,style:{color:`#f59e0b`}},Dt={class:`row items-center q-mb-xs`},Ot={class:`text-caption text-grey-4`,style:{"font-size":`11px`}},kt={key:0,class:`row items-center q-mb-md`},At={class:`text-caption text-grey-4`,style:{"font-size":`11px`}},jt={key:0,class:`text-caption q-ml-xs`,style:{"font-size":`11px`,color:`#4ade80`}},Mt={key:1,class:`text-caption q-ml-xs`,style:{"font-size":`11px`,color:`#f87171`}},Nt={key:1,class:`q-mb-xs`},Pt={key:2,class:`row items-center q-gutter-xs q-mb-md`,style:{"font-size":`11px`}},Ft={key:0,class:`text-caption`,style:{color:`#4ade80`}},It={key:1,class:`text-caption`,style:{color:`#f59e0b`}},Lt={key:2,class:`text-caption text-grey-6`},Rt={key:3,class:`q-mb-md`},zt={class:`row q-gutter-xs`},Bt={key:1,class:`text-caption text-grey-8`},Vt=Y(k({__name:`GitPanel`,props:{workspace:{}},setup(e){let r=E(()=>ge(()=>import(`./DiffViewer-BmAd7k-Q.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]))),i=e,{t:a}=S(),c=Ie(),l=me(),d=se(),f=s(!1),m=s(!1),g=s(!1),b=s(!1),D=s(!1),O=s(!1),k=T(()=>!!d.global.editorCommand);async function j(){if(i.workspace){O.value=!0;try{let e=await fetch(`/api/workspaces/${i.workspace.id}/open-editor`,{method:`POST`});if(!e.ok){let t=await e.json();c.notify({type:`negative`,message:t.error??a(`git.openEditorFailed`),position:`top`,timeout:6e3})}}catch(e){let t=e instanceof Error?e.message:a(`git.openEditorFailed`);c.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{O.value=!1}}}function ee(e){l.chatDraft=e,D.value=!1}let N=s(null),F=s(!1),I=T(()=>{if(!i.workspace?.projectPath)return`-`;let e=i.workspace.projectPath.replace(/\\/g,`/`).split(`/`);return e[e.length-1]||e[e.length-2]||`-`});async function L(){if(!i.workspace){N.value=null;return}F.value=!0;try{N.value=await l.fetchGitStats(i.workspace.id)}catch{N.value=null}finally{F.value=!1}}n(()=>i.workspace?.id,()=>L(),{immediate:!0});let R=null;n(()=>l.gitRefreshTrigger,()=>{R&&clearTimeout(R),R=setTimeout(()=>L(),3e3)}),o(()=>{R&&clearTimeout(R)});function z(){i.workspace&&c.dialog({title:a(`git.rebaseConfirmTitle`),message:a(`git.rebaseConfirmMessage`,{branch:i.workspace.sourceBranch}),dark:!0,cancel:{flat:!0,label:a(`common.cancel`),color:`grey-5`},ok:{flat:!0,label:a(`git.rebase`),color:`orange-4`}}).onOk(async()=>{m.value=!0;try{let e=await fetch(`/api/workspaces/${i.workspace.id}/rebase`,{method:`POST`});if(!e.ok){let t=await e.json();throw Error(t.error??`Rebase failed`)}c.notify({type:`positive`,message:a(`git.rebaseSuccess`),position:`top`}),L()}catch(e){let t=e instanceof Error?e.message:a(`git.rebaseFailed`);c.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{m.value=!1}})}function B(){i.workspace&&c.dialog({title:a(`git.pushConfirmTitle`),message:a(`git.pushConfirmMessage`,{branch:i.workspace.workingBranch}),dark:!0,cancel:{flat:!0,label:a(`common.cancel`),color:`grey-5`},ok:{flat:!0,label:a(`git.push`),color:`grey-5`}}).onOk(async()=>{f.value=!0;try{await l.pushBranch(i.workspace.id),c.notify({type:`positive`,message:a(`git.branchPushed`),position:`top`}),L()}catch(e){let t=e instanceof Error?e.message:`Push failed`;c.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{f.value=!1}})}function V(){N.value?.prUrl&&window.open(N.value.prUrl,`_blank`)}function H(){i.workspace&&c.dialog({title:a(`git.changePrBaseTitle`),message:a(`git.changePrBaseMessage`),prompt:{model:i.workspace.sourceBranch,type:`text`},dark:!0,cancel:{flat:!0,label:a(`common.cancel`),color:`grey-5`},ok:{flat:!0,label:a(`common.save`),color:`primary`}}).onOk(async e=>{if(!(!e.trim()||!i.workspace)){b.value=!0;try{let t=await fetch(`/api/workspaces/${i.workspace.id}/change-pr-base`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({base:e.trim()})});if(!t.ok){let e=await t.json();throw Error(e.error??`Failed`)}c.notify({type:`positive`,message:a(`git.changePrBaseSuccess`),position:`top`}),L()}catch(e){let t=e instanceof Error?e.message:a(`git.changePrBaseFailed`);c.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{b.value=!1}}})}async function te(){if(i.workspace){g.value=!0;try{let e=await l.openPullRequest(i.workspace.id);c.notify({type:`positive`,message:a(`git.prCreated`,{n:e.prNumber}),caption:e.prUrl,position:`top`,timeout:5e3}),L()}catch(e){if(e instanceof ue&&e.code===`branch_not_pushed`){c.notify({type:`warning`,message:a(`git.pushFirst`),position:`top`,timeout:6e3});return}if(e instanceof ue&&e.code===`unpushed_commits`){c.notify({type:`warning`,message:a(`git.unpushedCommits`),position:`top`,timeout:6e3});return}let t=e instanceof Error?e.message:`Open PR failed`;c.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{g.value=!1}}}return(n,i)=>(t(),x(`div`,gt,[_(`div`,_t,[_(`div`,vt,A(n.$t(`git.title`)),1),e.workspace?(t(),v(P,{key:0,flat:``,round:``,dense:``,size:`xs`,icon:`refresh`,color:`grey-6`,loading:F.value,onClick:L},{default:u(()=>[p(X,null,{default:u(()=>[y(A(n.$t(`tooltip.refreshGitStats`)),1)]),_:1})]),_:1},8,[`loading`])):C(``,!0)]),e.workspace?(t(),x(h,{key:0},[_(`div`,yt,[p(M,{name:`folder`,size:`14px`,color:`grey-6`,class:`q-mr-xs`}),_(`span`,bt,A(I.value),1)]),_(`div`,xt,[i[3]||=_(`span`,{style:{width:`8px`,height:`8px`,"border-radius":`50%`,"background-color":`#4ade80`,display:`inline-block`},class:`q-mr-xs`},null,-1),_(`span`,St,A(e.workspace.workingBranch),1)]),_(`div`,Ct,[y(A(n.$t(`git.from`))+` `+A(e.workspace.sourceBranch)+` `,1),N.value?(t(),x(h,{key:0},[i[4]||=y(` · `,-1),N.value.unpushedCount===-1?(t(),x(`span`,wt,A(n.$t(`git.localOnly`)),1)):N.value.unpushedCount===0?(t(),x(`span`,Tt,A(n.$t(`git.pushed`)),1)):(t(),x(`span`,Et,A(n.$t(`git.unpushed`,{count:N.value.unpushedCount})),1))],64)):C(``,!0)]),N.value?(t(),x(h,{key:0},[_(`div`,Dt,[p(M,{name:`commit`,size:`14px`,color:`grey-6`,class:`q-mr-xs`}),_(`span`,Ot,A(n.$t(`git.commits`,{count:N.value.commitCount},N.value.commitCount)),1)]),N.value.filesChanged>0?(t(),x(`div`,kt,[p(M,{name:`insert_drive_file`,size:`14px`,color:`grey-6`,class:`q-mr-xs`}),_(`span`,At,A(n.$t(`git.files`,{count:N.value.filesChanged},N.value.filesChanged)),1),N.value.insertions>0?(t(),x(`span`,jt,` +`+A(N.value.insertions),1)):C(``,!0),N.value.deletions>0?(t(),x(`span`,Mt,` -`+A(N.value.deletions),1)):C(``,!0)])):(t(),x(`div`,Nt)),N.value.workingTree&&(N.value.workingTree.staged>0||N.value.workingTree.modified>0||N.value.workingTree.untracked>0)?(t(),x(`div`,Pt,[p(M,{name:`edit_note`,size:`14px`,color:`grey-6`}),N.value.workingTree.staged>0?(t(),x(`span`,Ft,A(n.$t(`git.staged`,{count:N.value.workingTree.staged})),1)):C(``,!0),N.value.workingTree.modified>0?(t(),x(`span`,It,A(n.$t(`git.modified`,{count:N.value.workingTree.modified})),1)):C(``,!0),N.value.workingTree.untracked>0?(t(),x(`span`,Lt,A(n.$t(`git.untracked`,{count:N.value.workingTree.untracked})),1)):C(``,!0)])):(t(),x(`div`,Rt))],64)):C(``,!0),_(`div`,zt,[N.value?.prUrl?(t(),v(P,{key:0,dense:``,"no-caps":``,size:`sm`,outline:``,color:`green-4`,label:n.$t(`git.viewPr`),icon:`open_in_new`,class:`git-btn`,onClick:V},null,8,[`label`])):C(``,!0),N.value?.prUrl&&N.value.prState===`OPEN`?(t(),v(P,{key:1,dense:``,"no-caps":``,size:`sm`,outline:``,color:`grey-5`,icon:`swap_horiz`,loading:b.value,class:`git-btn`,onClick:H},{default:u(()=>[p(X,null,{default:u(()=>[y(A(n.$t(`git.changePrBase`)),1)]),_:1})]),_:1},8,[`loading`])):C(``,!0),!N.value?.prUrl||N.value.prState===`CLOSED`||N.value.prState===`MERGED`?(t(),v(P,{key:2,dense:``,"no-caps":``,size:`sm`,color:`primary`,label:n.$t(`git.createPr`),class:`git-btn`,loading:g.value,disable:!e.workspace||f.value,onClick:te},null,8,[`label`,`loading`,`disable`])):C(``,!0),!N.value||N.value.unpushedCount!==0?(t(),v(P,{key:3,dense:``,"no-caps":``,size:`sm`,outline:``,color:`grey-5`,label:n.$t(`git.push`),class:`git-btn`,loading:f.value,disable:!e.workspace||g.value,onClick:B},null,8,[`label`,`loading`,`disable`])):C(``,!0),p(P,{dense:``,"no-caps":``,size:`sm`,outline:``,color:`orange-4`,label:n.$t(`git.rebase`),class:`git-btn`,loading:m.value,disable:!e.workspace,onClick:z},null,8,[`label`,`loading`,`disable`]),p(P,{dense:``,"no-caps":``,size:`sm`,outline:``,color:`indigo-4`,label:n.$t(`git.diff`),icon:`difference`,class:`git-btn`,disable:!e.workspace,onClick:i[0]||=e=>D.value=!0},null,8,[`label`,`disable`]),k.value?(t(),v(P,{key:4,dense:``,"no-caps":``,size:`sm`,outline:``,color:`indigo-4`,icon:`open_in_new`,label:n.$t(`git.openEditor`),loading:O.value,disable:!e.workspace,class:`git-btn`,onClick:j},null,8,[`label`,`loading`,`disable`])):C(``,!0)])],64)):(t(),x(`div`,Bt,A(n.$t(`common.selectWorkspace`)),1)),p(J,{modelValue:D.value,"onUpdate:modelValue":i[2]||=e=>D.value=e,maximized:``},{default:u(()=>[e.workspace?(t(),v(w(r),{key:0,"workspace-id":e.workspace.id,onClose:i[1]||=e=>D.value=!1,onSendToChat:ee},null,8,[`workspace-id`])):C(``,!0)]),_:1},8,[`modelValue`])]))}}),[[`__scopeId`,`data-v-bbb2b407`]]),Ht={xs:2,sm:4,md:6,lg:10,xl:14};function Ut(e,t,n){return{transform:t===!0?`translateX(${n.lang.rtl===!0?`-`:``}100%) scale3d(${-e},1,1)`:`scale3d(${e},1,1)`}}var Wt=B({name:`QLinearProgress`,props:{...oe,...L,value:{type:Number,default:0},buffer:Number,color:String,trackColor:String,reverse:Boolean,stripe:Boolean,indeterminate:Boolean,query:Boolean,rounded:Boolean,animationSpeed:{type:[String,Number],default:2100},instantFeedback:Boolean},setup(e,{slots:t}){let{proxy:n}=g(),r=ae(e,n.$q),i=F(e,Ht),a=T(()=>e.indeterminate===!0||e.query===!0),o=T(()=>e.reverse!==e.query),s=T(()=>({...i.value===null?{}:i.value,"--q-linear-progress-speed":`${e.animationSpeed}ms`})),c=T(()=>`q-linear-progress`+(e.color===void 0?``:` text-${e.color}`)+(e.reverse===!0||e.query===!0?` q-linear-progress--reverse`:``)+(e.rounded===!0?` rounded-borders`:``)),u=T(()=>Ut(e.buffer===void 0?1:e.buffer,o.value,n.$q)),d=T(()=>`with${e.instantFeedback===!0?`out`:``}-transition`),f=T(()=>`q-linear-progress__track absolute-full q-linear-progress__track--${d.value} q-linear-progress__track--${r.value===!0?`dark`:`light`}`+(e.trackColor===void 0?``:` bg-${e.trackColor}`)),p=T(()=>Ut(a.value===!0?1:e.value,o.value,n.$q)),m=T(()=>`q-linear-progress__model absolute-full q-linear-progress__model--${d.value} q-linear-progress__model--${a.value===!0?`in`:``}determinate`),h=T(()=>({width:`${e.value*100}%`})),_=T(()=>`q-linear-progress__stripe absolute-${e.reverse===!0?`right`:`left`} q-linear-progress__stripe--${d.value}`);return()=>{let n=[l(`div`,{class:f.value,style:u.value}),l(`div`,{class:m.value,style:p.value})];return e.stripe===!0&&a.value===!1&&n.push(l(`div`,{class:_.value,style:h.value})),l(`div`,{class:c.value,style:s.value,role:`progressbar`,"aria-valuemin":0,"aria-valuemax":1,"aria-valuenow":e.indeterminate===!0?void 0:e.value},ie(t.default,n))}}}),Gt={class:`notion-panel q-pa-md`},Kt={class:`row items-center q-mb-sm`},qt={class:`text-caption text-uppercase text-weight-bold text-grey-6`,style:{"letter-spacing":`0.05em`}},Jt={key:0,class:`q-mb-sm`},Yt=[`href`],Xt={key:1,class:`text-caption q-mb-sm text-grey-8`},Zt={key:3,class:`q-mb-sm`},Qt={class:`text-caption text-grey-7`,style:{"font-size":`11px`}},$t={key:4,class:`text-caption text-grey-8 q-mb-sm`,style:{"font-size":`11px`}},en={key:5,class:`task-add-row row items-center q-mb-xs`},tn={key:6,class:`tasks-list`},nn=[`onDblclick`],rn={key:1,class:`text-caption text-grey-8`},an=Y(k({__name:`NotionPanel`,props:{workspace:{},tasks:{}},setup(n){let r=n,{t:a}=S(),o=me(),c=de(),l=s(!1);function d(){r.workspace?.id&&Re(r.workspace.id,c,o)}let f=T(()=>r.tasks.filter(e=>!e.isAcceptanceCriterion)),g=T(()=>f.value.filter(e=>e.status===`done`).length),b=T(()=>f.value.length),w=T(()=>b.value>0?g.value/b.value:0),E=s(!1),O=s(``),k=s(null),j=s(``),ee=s({});function N(e,t){if(t){let n=t.$el??t;ee.value[e]=n}else delete ee.value[e]}async function F(){if(!(!r.workspace?.id||!r.workspace.notionUrl)){l.value=!0;try{let e=await fetch(`/api/workspaces/${r.workspace.id}/refresh-notion`,{method:`POST`});if(!e.ok)throw Error(`HTTP ${e.status}`);o.fetchWorkspaceDetails(r.workspace.id)}catch(e){console.error(`Failed to refresh from Notion:`,e)}finally{l.value=!1}}}function I(){E.value=!0,O.value=``}async function L(){let e=O.value.trim();if(!(!e||!r.workspace?.id))try{await o.createTask(r.workspace.id,e,!1),O.value=``,E.value=!1}catch{}}function R(){O.value=``,E.value=!1}function B(t){k.value=t.id,j.value=t.title,e(()=>{let e=ee.value[t.id]?.querySelector(`input, textarea`);e?.focus(),e?.select()})}async function V(e){if(k.value!==e.id)return;let t=j.value.trim(),n=e.id;if(k.value=null,!(!t||t===e.title)&&r.workspace?.id)try{await o.updateTaskTitle(r.workspace.id,n,t)}catch{}}function H(){k.value=null,j.value=``}async function te(e){if(r.workspace?.id)try{await o.deleteTask(r.workspace.id,e.id)}catch{}}async function U(e){if(!r.workspace?.id)return;let t=e.status===`done`?`pending`:`done`;try{let n=await fetch(`/api/workspaces/${e.workspaceId}/tasks/${e.id}`,{method:`PATCH`,headers:{"Content-Type":`application/json`},body:JSON.stringify({status:t})});if(!n.ok)throw Error(`HTTP ${n.status}`);o.fetchWorkspaceDetails(r.workspace.id)}catch(e){console.error(`Failed to toggle task:`,e)}}function W(e){switch(e){case`done`:return`check_circle`;case`in_progress`:return`timelapse`;default:return`radio_button_unchecked`}}function ne(e){switch(e){case`done`:return`#4ade80`;case`in_progress`:return`#f59e0b`;default:return`#888`}}return(e,r)=>(t(),x(`div`,Gt,[_(`div`,Kt,[_(`div`,qt,A(e.$t(`notion.title`)),1),p(Te),n.workspace?(t(),v(P,{key:0,flat:``,dense:``,round:``,size:`xs`,icon:`fact_check`,color:`grey-5`,onClick:d},{default:u(()=>[p(X,null,{default:u(()=>[y(A(e.$t(`tasks.askProgress`)),1)]),_:1})]),_:1})):C(``,!0),n.workspace?(t(),v(P,{key:1,flat:``,dense:``,round:``,size:`xs`,icon:`add`,color:`indigo-4`,onClick:I},{default:u(()=>[p(X,null,{default:u(()=>[y(A(e.$t(`tooltip.addNotionTask`)),1)]),_:1})]),_:1})):C(``,!0)]),n.workspace?(t(),x(h,{key:0},[n.workspace.notionUrl?(t(),x(`div`,Jt,[_(`a`,{href:n.workspace.notionUrl,target:`_blank`,rel:`noopener noreferrer`,class:`notion-link text-caption items-center text-blue-4`},[p(M,{name:`open_in_new`,size:`12px`,class:`q-mr-xs`}),y(` `+A(e.$t(`notion.openInNotion`)),1)],8,Yt)])):(t(),x(`div`,Xt,A(e.$t(`notion.noUrl`)),1)),n.workspace.notionUrl?(t(),v(P,{key:2,flat:``,dense:``,"no-caps":``,size:`xs`,icon:`refresh`,label:e.$t(`common.refresh`),color:`grey-6`,class:`q-mb-sm`,loading:l.value,onClick:F},null,8,[`label`,`loading`])):C(``,!0),b.value>0?(t(),x(`div`,Zt,[p(Wt,{value:w.value,color:`primary`,"track-color":`grey-9`,class:`q-mb-xs`,style:{height:`4px`,"border-radius":`2px`}},null,8,[`value`]),_(`div`,Qt,A(e.$t(`notion.subtasks`,{done:g.value,total:b.value})),1)])):E.value?C(``,!0):(t(),x(`div`,$t,A(e.$t(`notion.noTasks`)),1)),E.value?(t(),x(`div`,en,[p(Se,{modelValue:O.value,"onUpdate:modelValue":r[0]||=e=>O.value=e,dark:``,dense:``,borderless:``,autofocus:``,placeholder:e.$t(`notion.newTask`),class:`col task-input`,"input-class":`task-input-inner`,onKeydown:[K(z(L,[`prevent`]),[`enter`]),K(z(R,[`prevent`]),[`esc`])]},null,8,[`modelValue`,`placeholder`,`onKeydown`])])):C(``,!0),f.value.length>0?(t(),x(`div`,tn,[(t(!0),x(h,null,i(f.value,n=>(t(),x(`div`,{key:n.id,class:`task-item row items-center q-py-xxs`},[p(M,{name:W(n.status),size:`14px`,style:D({color:ne(n.status)}),class:`q-mr-xs cursor-pointer`,onClick:e=>U(n)},null,8,[`name`,`style`,`onClick`]),k.value===n.id?(t(),v(Se,{key:0,ref_for:!0,ref:e=>N(n.id,e),modelValue:j.value,"onUpdate:modelValue":r[1]||=e=>j.value=e,dark:``,dense:``,borderless:``,class:`col task-input`,"input-class":`task-input-inner`,onKeydown:[K(z(e=>V(n),[`prevent`]),[`enter`]),K(z(H,[`prevent`]),[`esc`])],onBlur:e=>V(n)},null,8,[`modelValue`,`onKeydown`,`onBlur`])):(t(),x(h,{key:1},[_(`span`,{class:m([`col task-title text-caption`,{"text-strike":n.status===`done`}]),style:D({color:n.status===`done`?`#4ade80`:`#ccc`}),onDblclick:e=>B(n)},A(n.title),47,nn),p(P,{flat:``,dense:``,round:``,size:`xs`,icon:`close`,color:`grey-6`,class:`task-delete-btn`,onClick:e=>te(n)},{default:u(()=>[p(X,null,{default:u(()=>[y(A(e.$t(`tooltip.removeNotionTask`)),1)]),_:1})]),_:1},8,[`onClick`])],64))]))),128))])):C(``,!0)],64)):(t(),x(`div`,rn,A(e.$t(`common.selectWorkspace`)),1))]))}}),[[`__scopeId`,`data-v-99e38dbd`]]),on={class:`stats-panel q-pa-md`},sn={class:`row items-center q-mb-md`},cn={class:`text-caption text-uppercase text-weight-bold text-grey-6`,style:{"letter-spacing":`0.05em`}},ln={class:`stat-group-label q-mb-xs`},un={class:`stat-row`},dn={class:`stat-label`},fn={class:`stat-value`},pn={class:`stat-row`},mn={class:`stat-label`},hn={class:`stat-value`},gn={key:0,class:`stat-row`},_n={class:`stat-label`},vn={class:`stat-value stat-value-ellipsis`},yn={class:`stat-row`},bn={class:`stat-label`},xn={class:`stat-value`},Sn={class:`stat-row`},Cn={class:`stat-label`},wn={class:`stat-value`},Tn={class:`stat-group-label q-mb-xs`},En={class:`stat-row`},Dn={class:`stat-label`},On={class:`stat-value`},kn={key:1,class:`stat-row`},An={class:`stat-label`},jn={class:`stat-value`},Mn={key:2,class:`stat-row`},Nn={class:`stat-label`},Pn={class:`stat-value`},Fn={key:3,class:`stat-row`},In={class:`stat-label`},Ln={class:`stat-value`},Rn={key:4,class:`stat-row`},zn={class:`stat-label`},Bn={class:`stat-value`},Vn={class:`stat-group-label q-mb-xs`},Hn={class:`stat-row`},Un={class:`stat-label`},Wn={class:`stat-value`},Gn={class:`stat-row`},Kn={class:`stat-label`},qn={class:`stat-value`},Jn={class:`stat-row`},Yn={class:`stat-label`},Xn={class:`stat-value`},Zn={key:5,class:`stat-row`},Qn={class:`stat-label text-red-4`},$n={class:`stat-value text-red-4`},er={key:6},tr={class:`stat-group-label q-mb-xs`},nr={class:`stat-row`},rr={class:`stat-label`},ir={class:`stat-value`},ar={class:`stat-row`},or={class:`stat-label`},sr={class:`stat-value`},cr={class:`stat-row`},lr={class:`stat-label`},ur={class:`stat-value`},dr={key:0,class:`stat-row`},fr={class:`stat-label`},pr={class:`stat-value`},mr={key:7},hr={class:`stat-group-label q-mb-xs`},gr={class:`stat-row`},_r={class:`stat-label`},vr={class:`stat-value`},yr={key:0,class:`stat-row`},br={class:`stat-label`},xr={class:`stat-value`},Sr={key:1,class:`stat-row`},Cr={class:`stat-label`},wr={class:`stat-value`},Tr={key:8},Er={class:`stat-group-label q-mb-xs`},Dr={key:0,class:`q-mb-xs`},Or={class:`stat-row q-mb-xxs`},kr={class:`stat-label`},Ar={class:`stat-value`},jr={key:1},Mr={class:`stat-row q-mb-xxs`},Nr={class:`stat-label`},Pr={class:`stat-value`},Fr={key:1,class:`text-caption text-grey-8`},Ir=Y(k({__name:`StatsPanel`,props:{workspace:{}},setup(e){let{t:n}=S(),r=me(),{timeAgo:i}=ze(),a=T(()=>{let e=r.selectedWorkspaceId;if(!e)return null;let t=r.activityFeeds[e]??[],n=r.sessions,i=Object.values(r.subagents[e]??{}),a=r.tasks,o=r.selectedWorkspace,s=r.activityCounts[e]??{toolUses:0,agentMessages:0,userMessages:0,errors:0},c=s.toolUses,l=s.agentMessages,u=s.userMessages,d=s.errors,f=n.length,p=n.filter(e=>e.status===`completed`).length,m=i.length,h=i.filter(e=>e.status===`done`).length,g=i.reduce((e,t)=>e+(t.totalTokens??0),0),_=i.reduce((e,t)=>e+(t.toolUses??0),0),v=a.filter(e=>!e.isAcceptanceCriterion).length,y=a.filter(e=>!e.isAcceptanceCriterion&&e.status===`done`).length,b=a.filter(e=>e.isAcceptanceCriterion).length,x=a.filter(e=>e.isAcceptanceCriterion&&e.status===`done`).length,S=o?.createdAt?new Date(o.createdAt):null,C=o?.updatedAt?new Date(o.updatedAt):null,w=S?Date.now()-S.getTime():0,T=null,E=null;for(let e=t.length-1;e>=0;e--){let n=t[e];if(!T&&n.meta?.sender===`user`&&(T=new Date(n.timestamp)),!E&&n.type===`text`&&n.meta?.sender!==`user`&&n.meta?.sender!==`system-prompt`&&(E=new Date(n.timestamp)),T&&E)break}let D=n.length>0?new Date(n[n.length-1].startedAt):null,O=r.usageStats[e]??{inputTokens:0,outputTokens:0,costUsd:0,sessionCount:0},k=o?.model??`auto`,A=o?.workingBranch??``,j=o?.status??``;return{toolUses:c,agentMessages:l,userMessages:u,errors:d,totalSessions:f,completedSessions:p,totalSubagents:m,doneSubagents:h,totalSubagentTokens:g,totalSubagentTools:_,totalTasks:v,doneTasks:y,totalCriteria:b,doneCriteria:x,durationMs:w,createdAt:S,updatedAt:C,lastPromptAt:T,lastAgentResponseAt:E,firstSessionAt:D,model:k,branch:A,status:j,usage:O}});function o(e){let t=Math.floor(e/6e4);if(t<60)return`${t}m`;let n=Math.floor(t/60),r=t%60;return n<24?`${n}h ${r}m`:`${Math.floor(n/24)}d ${n%24}h`}function s(e){return e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(1)}k`:String(e)}function c(e){return e.toLocaleDateString(void 0,{day:`2-digit`,month:`2-digit`,year:`numeric`})}function l(e){return e.toLocaleTimeString(void 0,{hour:`2-digit`,minute:`2-digit`})}function d(e){return`${c(e)} ${l(e)}`}return(n,c)=>(t(),x(`div`,on,[_(`div`,sn,[_(`div`,cn,A(n.$t(`stats.title`)),1),p(Te),e.workspace?(t(),v(P,{key:0,flat:``,round:``,dense:``,size:`xs`,icon:`refresh`,color:`grey-6`,onClick:c[0]||=t=>w(r).fetchWorkspaceDetails(e.workspace.id)},{default:u(()=>[p(X,null,{default:u(()=>[y(A(n.$t(`tooltip.refreshStats`)),1)]),_:1})]),_:1})):C(``,!0)]),e.workspace&&a.value?(t(),x(h,{key:0},[_(`div`,ln,A(n.$t(`stats.info`)),1),_(`div`,un,[_(`span`,dn,A(n.$t(`stats.status`)),1),_(`span`,fn,A(a.value.status),1)]),_(`div`,pn,[_(`span`,mn,A(n.$t(`stats.model`)),1),_(`span`,hn,A(a.value.model),1)]),a.value.branch?(t(),x(`div`,gn,[_(`span`,_n,A(n.$t(`stats.branch`)),1),_(`span`,vn,A(a.value.branch),1)])):C(``,!0),_(`div`,yn,[_(`span`,bn,A(n.$t(`stats.sessions`)),1),_(`span`,xn,A(a.value.completedSessions)+` / `+A(a.value.totalSessions),1)]),_(`div`,Sn,[_(`span`,Cn,A(n.$t(`stats.duration`)),1),_(`span`,wn,A(o(a.value.durationMs)),1)]),p(q,{dark:``,class:`q-my-sm`}),_(`div`,Tn,A(n.$t(`stats.timeline`)),1),_(`div`,En,[_(`span`,Dn,A(n.$t(`stats.created`)),1),_(`span`,On,A(a.value.createdAt?d(a.value.createdAt):`—`),1)]),a.value.firstSessionAt?(t(),x(`div`,kn,[_(`span`,An,A(n.$t(`stats.firstSession`)),1),_(`span`,jn,A(d(a.value.firstSessionAt)),1)])):C(``,!0),a.value.lastPromptAt?(t(),x(`div`,Mn,[_(`span`,Nn,A(n.$t(`stats.lastPrompt`)),1),_(`span`,Pn,[y(A(w(i)(a.value.lastPromptAt))+` `,1),p(X,null,{default:u(()=>[y(A(d(a.value.lastPromptAt)),1)]),_:1})])])):C(``,!0),a.value.lastAgentResponseAt?(t(),x(`div`,Fn,[_(`span`,In,A(n.$t(`stats.lastResponse`)),1),_(`span`,Ln,[y(A(w(i)(a.value.lastAgentResponseAt))+` `,1),p(X,null,{default:u(()=>[y(A(d(a.value.lastAgentResponseAt)),1)]),_:1})])])):C(``,!0),a.value.updatedAt?(t(),x(`div`,Rn,[_(`span`,zn,A(n.$t(`stats.updated`)),1),_(`span`,Bn,A(w(i)(a.value.updatedAt)),1)])):C(``,!0),p(q,{dark:``,class:`q-my-sm`}),_(`div`,Vn,A(n.$t(`stats.activity`)),1),_(`div`,Hn,[_(`span`,Un,A(n.$t(`stats.agentMessages`)),1),_(`span`,Wn,A(a.value.agentMessages),1)]),_(`div`,Gn,[_(`span`,Kn,A(n.$t(`stats.userMessages`)),1),_(`span`,qn,A(a.value.userMessages),1)]),_(`div`,Jn,[_(`span`,Yn,A(n.$t(`stats.toolCalls`)),1),_(`span`,Xn,A(a.value.toolUses),1)]),a.value.errors>0?(t(),x(`div`,Zn,[_(`span`,Qn,A(n.$t(`stats.errors`)),1),_(`span`,$n,A(a.value.errors),1)])):C(``,!0),a.value.usage.inputTokens>0||a.value.usage.outputTokens>0?(t(),x(`div`,er,[p(q,{dark:``,class:`q-my-sm`}),_(`div`,tr,A(n.$t(`stats.usage`)),1),_(`div`,nr,[_(`span`,rr,A(n.$t(`stats.inputTokens`)),1),_(`span`,ir,A(s(a.value.usage.inputTokens)),1)]),_(`div`,ar,[_(`span`,or,A(n.$t(`stats.outputTokens`)),1),_(`span`,sr,A(s(a.value.usage.outputTokens)),1)]),_(`div`,cr,[_(`span`,lr,A(n.$t(`stats.totalTokens`)),1),_(`span`,ur,A(s(a.value.usage.inputTokens+a.value.usage.outputTokens)),1)]),a.value.usage.costUsd>0?(t(),x(`div`,dr,[_(`span`,fr,A(n.$t(`stats.cost`)),1),_(`span`,pr,`$`+A(a.value.usage.costUsd.toFixed(4)),1)])):C(``,!0)])):C(``,!0),a.value.totalSubagents>0?(t(),x(`div`,mr,[p(q,{dark:``,class:`q-my-sm`}),_(`div`,hr,A(n.$t(`stats.subagents`)),1),_(`div`,gr,[_(`span`,_r,A(n.$t(`stats.completed`)),1),_(`span`,vr,A(a.value.doneSubagents)+` / `+A(a.value.totalSubagents),1)]),a.value.totalSubagentTokens>0?(t(),x(`div`,yr,[_(`span`,br,A(n.$t(`stats.tokens`)),1),_(`span`,xr,A(s(a.value.totalSubagentTokens)),1)])):C(``,!0),a.value.totalSubagentTools>0?(t(),x(`div`,Sr,[_(`span`,Cr,A(n.$t(`stats.toolCalls`)),1),_(`span`,wr,A(a.value.totalSubagentTools),1)])):C(``,!0)])):C(``,!0),a.value.totalTasks>0||a.value.totalCriteria>0?(t(),x(`div`,Tr,[p(q,{dark:``,class:`q-my-sm`}),_(`div`,Er,A(n.$t(`stats.progress`)),1),a.value.totalTasks>0?(t(),x(`div`,Dr,[_(`div`,Or,[_(`span`,kr,A(n.$t(`stats.tasks`)),1),_(`span`,Ar,A(a.value.doneTasks)+` / `+A(a.value.totalTasks),1)]),p(Wt,{value:a.value.doneTasks/a.value.totalTasks,color:`primary`,"track-color":`grey-9`,style:{height:`3px`,"border-radius":`2px`}},null,8,[`value`])])):C(``,!0),a.value.totalCriteria>0?(t(),x(`div`,jr,[_(`div`,Mr,[_(`span`,Nr,A(n.$t(`stats.acceptanceCriteria`)),1),_(`span`,Pr,A(a.value.doneCriteria)+` / `+A(a.value.totalCriteria),1)]),p(Wt,{value:a.value.doneCriteria/a.value.totalCriteria,color:`green-6`,"track-color":`grey-9`,style:{height:`3px`,"border-radius":`2px`}},null,8,[`value`])])):C(``,!0)])):C(``,!0)],64)):(t(),x(`div`,Fr,A(n.$t(`common.selectWorkspace`)),1))]))}}),[[`__scopeId`,`data-v-3d3e6cd8`]]),Lr={class:`subagents-panel q-pa-md`},Rr={class:`text-caption text-uppercase text-weight-bold text-grey-6 q-mb-sm`,style:{"letter-spacing":`0.05em`}},zr={key:0,class:`text-caption text-grey-8`},Br={class:`row items-center q-mb-xs`},Vr={class:`text-caption text-weight-medium text-grey-3 ellipsis`,style:{"max-width":`220px`}},Hr={key:0,class:`text-caption text-grey-6`,style:{"font-size":`10px`}},Ur={class:`text-grey-4`},Wr={class:`row items-center q-gutter-xs q-mt-xs text-caption text-grey-7`,style:{"font-size":`10px`}},Gr={key:0},Kr={key:1},qr={key:2},Jr=Y(k({__name:`SubagentsPanel`,setup(e){let{t:n}=S(),r=me(),a=T(()=>[...r.currentSubagents].reverse());function o(e){return e?e<1e3?`${e}ms`:e<6e4?`${(e/1e3).toFixed(1)}s`:`${Math.floor(e/6e4)}m ${Math.floor(e%6e4/1e3)}s`:``}function s(e){return e?e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(1)}k`:String(e):``}return(e,n)=>(t(),x(`div`,Lr,[_(`div`,Rr,A(e.$t(`subagents.title`)),1),a.value.length===0?(t(),x(`div`,zr,A(e.$t(`subagents.empty`)),1)):C(``,!0),(t(!0),x(h,null,i(a.value,n=>(t(),x(`div`,{key:n.toolUseId,class:`subagent-item q-mb-sm rounded-borders q-pa-sm`},[_(`div`,Br,[p(M,{name:n.status===`running`?`play_circle`:`check_circle`,size:`14px`,color:n.status===`running`?`green-4`:`grey-6`,class:`q-mr-xs`},null,8,[`name`,`color`]),_(`span`,Vr,A(n.description||n.toolUseId),1)]),n.lastToolName?(t(),x(`div`,Hr,[y(A(e.$t(`subagents.running`)),1),_(`span`,Ur,A(n.lastToolName),1)])):C(``,!0),_(`div`,Wr,[n.toolUses===void 0?C(``,!0):(t(),x(`span`,Gr,A(e.$t(`subagents.tools`,{count:n.toolUses})),1)),n.totalTokens?(t(),x(`span`,Kr,`· `+A(s(n.totalTokens))+` tok`,1)):C(``,!0),n.durationMs?(t(),x(`span`,qr,`· `+A(o(n.durationMs)),1)):C(``,!0)])]))),128))]))}}),[[`__scopeId`,`data-v-81ad2481`]]),Yr={class:`tools-panel q-px-md q-py-sm`},Xr={class:`text-caption text-uppercase text-weight-bold text-grey-5 q-mb-xs`},Zr={key:0,class:`text-caption text-grey-8`},Qr={key:0,class:`text-caption text-grey-8`},$r=Y(k({__name:`ToolsPanel`,props:{workspace:{}},setup(e){let n=e,{t:r}=S(),i=Ie(),a=se(),o=s(!1),l=T(()=>n.workspace?.id??``),d=T(()=>n.workspace?!!a.getProjectByPath(n.workspace.projectPath)?.setupScript:!1);async function f(){if(l.value){o.value=!0;try{let e=await fetch(`/api/workspaces/${l.value}/run-setup-script`,{method:`POST`}),t=await e.json();e.ok?i.notify({type:`positive`,message:r(`tools.setupScriptSuccess`),position:`top`,timeout:3e3}):i.notify({type:`negative`,message:t.error??r(`tools.setupScriptFailed`),position:`top`,timeout:6e3})}catch(e){let t=e instanceof Error?e.message:r(`tools.setupScriptFailed`);i.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{o.value=!1}}}return(n,r)=>{let i=c(`router-link`);return t(),x(`div`,Yr,[_(`div`,Xr,A(n.$t(`tools.title`)),1),e.workspace?(t(),x(h,{key:1},[p(P,{"no-caps":``,dense:``,outline:``,color:`indigo-4`,icon:`replay`,label:n.$t(`tools.runSetupScript`),loading:o.value,disable:!d.value||o.value,class:`full-width q-mb-xs`,onClick:f},{default:u(()=>[p(X,null,{default:u(()=>[y(A(n.$t(`tools.runSetupScriptTooltip`)),1)]),_:1})]),_:1},8,[`label`,`loading`,`disable`]),d.value?C(``,!0):(t(),x(`div`,Qr,[y(A(n.$t(`tools.noSetupScript`))+` `,1),p(i,{to:`/settings`,style:{color:`#6c63ff`}},{default:u(()=>[y(A(n.$t(`devServer.goToSettings`)),1)]),_:1})]))],64)):(t(),x(`div`,Zr,A(n.$t(`devServer.noWorkspace`)),1))])}}}),[[`__scopeId`,`data-v-64fae402`]]);function ei(e){if(e===!1)return 0;if(e===!0||e===void 0)return 1;let t=parseInt(e,10);return isNaN(t)?0:t}var $=te({name:`close-popup`,beforeMount(e,{value:t}){let n={depth:ei(t),handler(t){n.depth!==0&&setTimeout(()=>{let r=H(e);r!==void 0&&V(r,t,n.depth)})},handlerKey(e){j(e,13)===!0&&n.handler(e)}};e.__qclosepopup=n,e.addEventListener(`click`,n.handler),e.addEventListener(`keyup`,n.handlerKey)},updated(e,{value:t,oldValue:n}){t!==n&&(e.__qclosepopup.depth=ei(t))},beforeUnmount(e){let t=e.__qclosepopup;e.removeEventListener(`click`,t.handler),e.removeEventListener(`keyup`,t.handlerKey),delete e.__qclosepopup}}),ti={class:`workspace-list column full-height`},ni={class:`wl-header row items-center justify-between q-px-md q-py-sm`},ri={class:`text-caption text-uppercase text-weight-bold text-grey-6`,style:{"letter-spacing":`0.05em`}},ii={class:`row items-center q-gutter-xs`},ai={class:`q-px-md q-pb-sm`},oi={class:`col overflow-auto`},si={key:0,class:`wl-group q-mt-xs`},ci={class:`text-caption text-weight-bold q-ml-xs text-red-5`},li={key:0,class:`wl-project-label q-px-md q-pt-xs`},ui={class:`text-caption text-grey-7`},di=[`onClick`],fi={class:`col`,style:{"min-width":`0`}},pi={class:`row items-center no-wrap q-gutter-xs`},mi={key:0,class:`dd-dot dd-dot--running`},hi={class:`text-caption q-mt-xs`},gi={class:`text-red-5`},_i={class:`q-ml-xs text-grey-8`},vi={key:1,class:`wl-group q-mt-xs`},yi={class:`text-caption text-weight-bold q-ml-xs text-green-4`},bi={key:0,class:`wl-project-label q-px-md q-pt-xs`},xi={class:`text-caption text-grey-7`},Si=[`onClick`],Ci={class:`col`,style:{"min-width":`0`}},wi={class:`row items-center no-wrap q-gutter-xs`},Ti={key:0,class:`dd-dot dd-dot--running`},Ei={class:`text-caption q-mt-xs`},Di={class:`text-green-4`},Oi={class:`q-ml-xs text-grey-8`},ki={key:2,class:`wl-group q-mt-xs`},Ai={class:`text-caption text-weight-bold q-ml-xs text-grey-6`},ji={key:0,class:`wl-project-label q-px-md q-pt-xs`},Mi={class:`text-caption text-grey-7`},Ni=[`onClick`],Pi={class:`col`,style:{"min-width":`0`}},Fi={class:`row items-center no-wrap q-gutter-xs`},Ii={key:0,class:`dd-dot dd-dot--running`},Li={class:`wl-item-meta text-caption text-grey-8`},Ri={key:3,class:`wl-group q-mt-xs`},zi={class:`text-caption text-weight-bold q-ml-xs text-grey-7`},Bi={class:`col`,style:{"min-width":`0`}},Vi={class:`wl-item-name text-body2 text-grey-5 ellipsis`},Hi={class:`wl-item-meta text-caption text-grey-8`},Ui={key:4,class:`q-pa-lg text-center text-grey-6 text-caption`},Wi={class:`q-px-md q-py-xs text-caption text-grey-8`},Gi={class:`text-h6`},Ki={class:`text-body2 q-mb-sm text-grey-6`},qi={class:`text-caption q-mb-md text-grey-7`,style:{"font-family":`monospace`}},Ji={class:`column q-gutter-xs`},Yi={key:0,class:`text-caption q-mt-sm text-red-5`},Xi=Y(k({__name:`WorkspaceList`,setup(e){let{t:n}=S(),{timeAgo:r}=ze(),o=me(),c=de(),l=ce(),f=se(),g=Ce(),b=s(``);function E(e){let t=new Map;for(let n of e){let e=n.projectPath;t.has(e)||t.set(e,[]),t.get(e).push(n)}return[...t.entries()].map(([e,t])=>({projectPath:e,projectName:e.split(`/`).pop()??e,workspaces:t}))}let O=T(()=>o.needsAttention.filter(e=>e.name.toLowerCase().includes(b.value.toLowerCase()))),k=T(()=>o.running.filter(e=>e.name.toLowerCase().includes(b.value.toLowerCase()))),j=T(()=>o.idle.filter(e=>e.name.toLowerCase().includes(b.value.toLowerCase()))),ee=T(()=>E(O.value)),N=T(()=>E(k.value)),F=T(()=>E(j.value)),I=T(()=>o.workspaces.length),L=T(()=>o.running.length),R=s(!0),B=s(!0),V=s(!0),H=s(!1);async function te(){H.value=!H.value,H.value&&!o.archivedLoaded&&await o.fetchArchivedWorkspaces()}let U=s(!1),W=s(null),ne=s(!1),G=s(!1),K=s(!1);function ie(e,t){t.stopPropagation(),W.value=e,ne.value=!0,G.value=!1,U.value=!0}async function ae(){if(!W.value)return;let e=W.value.id;K.value=!0;try{await o.deleteWorkspace(e,{deleteLocalBranch:ne.value,deleteRemoteBranch:G.value}),c.unsubscribe(e),U.value=!1,o.selectedWorkspaceId===null&&g.push({name:`workspace`})}catch(e){console.error(`Delete failed:`,e)}finally{K.value=!1}}async function oe(e,t){t.stopPropagation();try{await o.archiveWorkspace(e.id),o.selectedWorkspaceId===null&&g.push({name:`workspace`})}catch(e){console.error(`Archive failed:`,e)}}async function le(e,t){t.stopPropagation();try{await o.unarchiveWorkspace(e.id),f.getProjectByPath(e.projectPath)?.devServer?.startCommand&&l.fetchStatus(e.id)}catch(e){console.error(`Unarchive failed:`,e)}}function ue(e){o.selectWorkspace(e),g.push({name:`workspace`,params:{id:e}})}function fe(e){let t=`${e.projectPath}/.worktrees/${e.workingBranch}`;navigator.clipboard.writeText(t).catch(()=>{})}async function pe(e){try{let t=await fetch(`/api/workspaces/${e.id}/open-editor`,{method:`POST`});if(!t.ok){let e=await t.json();console.error(`[workspace-list] open-editor failed:`,e.error)}}catch(e){console.error(`[workspace-list] open-editor failed:`,e)}}async function he(e){try{await fetch(`/api/workspaces/${e.id}/run-setup-script`,{method:`POST`})}catch(e){console.error(`[workspace-list] run-setup-script failed:`,e)}}function ge(){g.push({name:`create`})}function _e(){g.push({name:`settings`})}return a(async()=>{await o.fetchWorkspaces(),await o.fetchArchivedWorkspaces(),await f.fetchSettings();for(let e of o.workspaces)c.subscribe(e.id),f.getProjectByPath(e.projectPath)?.devServer?.startCommand&&l.fetchStatus(e.id)}),(e,n)=>(t(),x(h,null,[_(`div`,ti,[_(`div`,ni,[_(`span`,ri,A(e.$t(`workspaceList.title`)),1),_(`div`,ii,[w(c).connected?(t(),v(Ee,{key:0,rounded:``,color:`positive`,style:{width:`8px`,height:`8px`,"min-width":`8px`,padding:`0`}})):(t(),v(Ee,{key:1,rounded:``,color:`negative`,style:{width:`8px`,height:`8px`,"min-width":`8px`,padding:`0`}})),p(P,{flat:``,round:``,dense:``,icon:`settings`,size:`sm`,color:`grey-5`,onClick:_e}),p(P,{flat:``,round:``,dense:``,icon:`add`,size:`sm`,color:`grey-5`,onClick:ge})])]),_(`div`,ai,[p(Se,{modelValue:b.value,"onUpdate:modelValue":n[0]||=e=>b.value=e,dense:``,dark:``,placeholder:e.$t(`common.search`),class:`wl-search rounded-borders`,borderless:``},{prepend:u(()=>[p(M,{name:`search`,size:`xs`,color:`grey-6`})]),_:1},8,[`modelValue`,`placeholder`])]),p(q,{dark:``}),_(`div`,oi,[O.value.length>0?(t(),x(`div`,si,[_(`div`,{class:`wl-group-header row items-center q-px-md q-py-xs cursor-pointer non-selectable`,onClick:n[1]||=e=>R.value=!R.value},[p(M,{name:R.value?`expand_more`:`chevron_right`,size:`xs`,color:`red-5`},null,8,[`name`]),_(`span`,ci,A(e.$t(`workspaceList.needsAttention`)),1),p(Ee,{label:O.value.length,color:`red-9`,"text-color":`white`,class:`q-ml-auto`,style:{"font-size":`10px`}},null,8,[`label`])]),d(_(`div`,null,[(t(!0),x(h,null,i(ee.value,a=>(t(),x(`div`,{key:a.projectPath,class:`wl-project-group`},[ee.value.length>1?(t(),x(`div`,li,[p(M,{name:`folder`,size:`12px`,color:`grey-7`,class:`q-mr-xs`}),_(`span`,ui,A(a.projectName),1)])):C(``,!0),(t(!0),x(h,null,i(a.workspaces,i=>(t(),x(`div`,{key:i.id,class:m([`wl-item cursor-pointer q-pa-sm q-mx-xs rounded-borders`,{"wl-item--selected":i.id===w(o).selectedWorkspaceId}]),style:{"border-left":`3px solid #ef4444`},onClick:e=>ue(i.id),onContextmenu:n[2]||=z(()=>{},[`prevent`])},[p(Le,{dark:``,"context-menu":``},{default:u(()=>[p(Fe,{dense:``,style:{"min-width":`180px`}},{default:u(()=>[d((t(),v(Z,{clickable:``,onClick:e=>fe(i)},{default:u(()=>[p(Q,{side:``},{default:u(()=>[p(M,{name:`content_copy`,size:`xs`})]),_:1}),p(Q,null,{default:u(()=>[y(A(e.$t(`contextMenu.copyPath`)),1)]),_:1})]),_:1},8,[`onClick`])),[[$]]),w(f).global.editorCommand?d((t(),v(Z,{key:0,clickable:``,onClick:e=>pe(i)},{default:u(()=>[p(Q,{side:``},{default:u(()=>[p(M,{name:`open_in_new`,size:`xs`})]),_:1}),p(Q,null,{default:u(()=>[y(A(e.$t(`contextMenu.openEditor`)),1)]),_:1})]),_:1},8,[`onClick`])),[[$]]):C(``,!0),d((t(),v(Z,{clickable:``,onClick:e=>he(i)},{default:u(()=>[p(Q,{side:``},{default:u(()=>[p(M,{name:`replay`,size:`xs`})]),_:1}),p(Q,null,{default:u(()=>[y(A(e.$t(`contextMenu.runSetup`)),1)]),_:1})]),_:1},8,[`onClick`])),[[$]]),p(q,{dark:``}),d((t(),v(Z,{clickable:``,onClick:e=>oe(i,e)},{default:u(()=>[p(Q,{side:``},{default:u(()=>[p(M,{name:`archive`,size:`xs`})]),_:1}),p(Q,null,{default:u(()=>[y(A(e.$t(`common.archive`)),1)]),_:1})]),_:1},8,[`onClick`])),[[$]]),d((t(),v(Z,{clickable:``,onClick:e=>ie(i,e),class:`text-red-5`},{default:u(()=>[p(Q,{side:``},{default:u(()=>[p(M,{name:`delete_outline`,size:`xs`,color:`red-5`})]),_:1}),p(Q,null,{default:u(()=>[y(A(e.$t(`common.delete`)),1)]),_:1})]),_:1},8,[`onClick`])),[[$]])]),_:2},1024)]),_:2},1024),_(`div`,fi,[_(`div`,pi,[w(l).getStatus(i.id)?.status===`running`?(t(),x(`div`,mi)):C(``,!0),_(`div`,{class:`wl-item-name text-body2 text-grey-3 ellipsis`,style:D({fontWeight:i.hasUnread?700:400,opacity:i.hasUnread?1:.75})},A(i.name),5)]),_(`div`,hi,[p(M,{name:`warning`,size:`xs`,color:`red-5`,class:`q-mr-xs`}),_(`span`,gi,A(i.status),1),_(`span`,_i,`· `+A(w(r)(i.updatedAt)),1)])])],42,di))),128))]))),128))],512),[[re,R.value]])])):C(``,!0),k.value.length>0?(t(),x(`div`,vi,[_(`div`,{class:`wl-group-header row items-center q-px-md q-py-xs cursor-pointer non-selectable`,onClick:n[3]||=e=>B.value=!B.value},[p(M,{name:B.value?`expand_more`:`chevron_right`,size:`xs`,color:`green-5`},null,8,[`name`]),_(`span`,yi,A(e.$t(`workspaceList.running`)),1),p(Ee,{label:k.value.length,color:`green-9`,"text-color":`white`,class:`q-ml-auto`,style:{"font-size":`10px`}},null,8,[`label`])]),d(_(`div`,null,[(t(!0),x(h,null,i(N.value,a=>(t(),x(`div`,{key:a.projectPath,class:`wl-project-group`},[N.value.length>1?(t(),x(`div`,bi,[p(M,{name:`folder`,size:`12px`,color:`grey-7`,class:`q-mr-xs`}),_(`span`,xi,A(a.projectName),1)])):C(``,!0),(t(!0),x(h,null,i(a.workspaces,i=>(t(),x(`div`,{key:i.id,class:m([`wl-item cursor-pointer q-pa-sm q-mx-xs rounded-borders`,{"wl-item--selected":i.id===w(o).selectedWorkspaceId}]),style:{"border-left":`3px solid #4ade80`},onClick:e=>ue(i.id),onContextmenu:n[4]||=z(()=>{},[`prevent`])},[p(Le,{dark:``,"context-menu":``},{default:u(()=>[p(Fe,{dense:``,style:{"min-width":`180px`}},{default:u(()=>[d((t(),v(Z,{clickable:``,onClick:e=>fe(i)},{default:u(()=>[p(Q,{side:``},{default:u(()=>[p(M,{name:`content_copy`,size:`xs`})]),_:1}),p(Q,null,{default:u(()=>[y(A(e.$t(`contextMenu.copyPath`)),1)]),_:1})]),_:1},8,[`onClick`])),[[$]]),w(f).global.editorCommand?d((t(),v(Z,{key:0,clickable:``,onClick:e=>pe(i)},{default:u(()=>[p(Q,{side:``},{default:u(()=>[p(M,{name:`open_in_new`,size:`xs`})]),_:1}),p(Q,null,{default:u(()=>[y(A(e.$t(`contextMenu.openEditor`)),1)]),_:1})]),_:1},8,[`onClick`])),[[$]]):C(``,!0),d((t(),v(Z,{clickable:``,onClick:e=>he(i)},{default:u(()=>[p(Q,{side:``},{default:u(()=>[p(M,{name:`replay`,size:`xs`})]),_:1}),p(Q,null,{default:u(()=>[y(A(e.$t(`contextMenu.runSetup`)),1)]),_:1})]),_:1},8,[`onClick`])),[[$]]),p(q,{dark:``}),d((t(),v(Z,{clickable:``,onClick:e=>oe(i,e)},{default:u(()=>[p(Q,{side:``},{default:u(()=>[p(M,{name:`archive`,size:`xs`})]),_:1}),p(Q,null,{default:u(()=>[y(A(e.$t(`common.archive`)),1)]),_:1})]),_:1},8,[`onClick`])),[[$]]),d((t(),v(Z,{clickable:``,onClick:e=>ie(i,e),class:`text-red-5`},{default:u(()=>[p(Q,{side:``},{default:u(()=>[p(M,{name:`delete_outline`,size:`xs`,color:`red-5`})]),_:1}),p(Q,null,{default:u(()=>[y(A(e.$t(`common.delete`)),1)]),_:1})]),_:1},8,[`onClick`])),[[$]])]),_:2},1024)]),_:2},1024),_(`div`,Ci,[_(`div`,wi,[w(l).getStatus(i.id)?.status===`running`?(t(),x(`div`,Ti)):C(``,!0),_(`div`,{class:`wl-item-name text-body2 text-grey-3 ellipsis`,style:D({fontWeight:i.hasUnread?700:400,opacity:i.hasUnread?1:.75})},A(i.name),5)]),_(`div`,Ei,[_(`span`,Di,A(i.status),1),_(`span`,Oi,`· `+A(w(r)(i.updatedAt)),1)])])],42,Si))),128))]))),128))],512),[[re,B.value]])])):C(``,!0),j.value.length>0?(t(),x(`div`,ki,[_(`div`,{class:`wl-group-header row items-center q-px-md q-py-xs cursor-pointer non-selectable`,onClick:n[5]||=e=>V.value=!V.value},[p(M,{name:V.value?`expand_more`:`chevron_right`,size:`xs`,color:`grey-6`},null,8,[`name`]),_(`span`,Ai,A(e.$t(`workspaceList.idle`)),1),p(Ee,{label:j.value.length,color:`grey-8`,"text-color":`grey-4`,class:`q-ml-auto`,style:{"font-size":`10px`}},null,8,[`label`])]),d(_(`div`,null,[(t(!0),x(h,null,i(F.value,a=>(t(),x(`div`,{key:a.projectPath,class:`wl-project-group`},[F.value.length>1?(t(),x(`div`,ji,[p(M,{name:`folder`,size:`12px`,color:`grey-7`,class:`q-mr-xs`}),_(`span`,Mi,A(a.projectName),1)])):C(``,!0),(t(!0),x(h,null,i(a.workspaces,i=>(t(),x(`div`,{key:i.id,class:m([`wl-item cursor-pointer q-pa-sm q-mx-xs rounded-borders`,{"wl-item--selected":i.id===w(o).selectedWorkspaceId}]),style:{"border-left":`3px solid #666`},onClick:e=>ue(i.id),onContextmenu:n[6]||=z(()=>{},[`prevent`])},[p(Le,{dark:``,"context-menu":``},{default:u(()=>[p(Fe,{dense:``,style:{"min-width":`180px`}},{default:u(()=>[d((t(),v(Z,{clickable:``,onClick:e=>fe(i)},{default:u(()=>[p(Q,{side:``},{default:u(()=>[p(M,{name:`content_copy`,size:`xs`})]),_:1}),p(Q,null,{default:u(()=>[y(A(e.$t(`contextMenu.copyPath`)),1)]),_:1})]),_:1},8,[`onClick`])),[[$]]),w(f).global.editorCommand?d((t(),v(Z,{key:0,clickable:``,onClick:e=>pe(i)},{default:u(()=>[p(Q,{side:``},{default:u(()=>[p(M,{name:`open_in_new`,size:`xs`})]),_:1}),p(Q,null,{default:u(()=>[y(A(e.$t(`contextMenu.openEditor`)),1)]),_:1})]),_:1},8,[`onClick`])),[[$]]):C(``,!0),d((t(),v(Z,{clickable:``,onClick:e=>he(i)},{default:u(()=>[p(Q,{side:``},{default:u(()=>[p(M,{name:`replay`,size:`xs`})]),_:1}),p(Q,null,{default:u(()=>[y(A(e.$t(`contextMenu.runSetup`)),1)]),_:1})]),_:1},8,[`onClick`])),[[$]]),p(q,{dark:``}),d((t(),v(Z,{clickable:``,onClick:e=>oe(i,e)},{default:u(()=>[p(Q,{side:``},{default:u(()=>[p(M,{name:`archive`,size:`xs`})]),_:1}),p(Q,null,{default:u(()=>[y(A(e.$t(`common.archive`)),1)]),_:1})]),_:1},8,[`onClick`])),[[$]]),d((t(),v(Z,{clickable:``,onClick:e=>ie(i,e),class:`text-red-5`},{default:u(()=>[p(Q,{side:``},{default:u(()=>[p(M,{name:`delete_outline`,size:`xs`,color:`red-5`})]),_:1}),p(Q,null,{default:u(()=>[y(A(e.$t(`common.delete`)),1)]),_:1})]),_:1},8,[`onClick`])),[[$]])]),_:2},1024)]),_:2},1024),_(`div`,Pi,[_(`div`,Fi,[w(l).getStatus(i.id)?.status===`running`?(t(),x(`div`,Ii)):C(``,!0),_(`div`,{class:`wl-item-name text-body2 text-grey-3 ellipsis`,style:D({fontWeight:i.hasUnread?700:400,opacity:i.hasUnread?1:.75})},A(i.name),5)]),_(`div`,Li,A(w(r)(i.updatedAt)),1)])],42,Ni))),128))]))),128))],512),[[re,V.value]])])):C(``,!0),w(o).archived.length>0||H.value?(t(),x(`div`,Ri,[_(`div`,{class:`wl-group-header row items-center q-px-md q-py-xs cursor-pointer non-selectable`,onClick:te},[p(M,{name:H.value?`expand_more`:`chevron_right`,size:`xs`,color:`grey-7`},null,8,[`name`]),p(M,{name:`inventory_2`,size:`xs`,color:`grey-7`,class:`q-ml-xs`}),_(`span`,zi,A(e.$t(`workspaceList.archived`)),1),w(o).archived.length>0?(t(),v(Ee,{key:0,label:w(o).archived.length,color:`grey-9`,"text-color":`grey-5`,class:`q-ml-auto`,style:{"font-size":`10px`}},null,8,[`label`])):C(``,!0)]),d(_(`div`,null,[(t(!0),x(h,null,i(w(o).archived,i=>(t(),x(`div`,{key:i.id,class:`wl-item wl-item--archived q-pa-sm q-mx-xs rounded-borders`,style:{"border-left":`3px solid #555`}},[_(`div`,Bi,[_(`div`,Vi,A(i.name),1),_(`div`,Hi,A(e.$t(`workspaceList.archived`))+` `+A(w(r)(i.archivedAt)),1)]),p(P,{flat:``,round:``,dense:``,icon:`unarchive`,size:`xs`,color:`grey-6`,class:`wl-item-action wl-item-unarchive`,onClick:e=>le(i,e)},{default:u(()=>[p(X,null,{default:u(()=>[y(A(e.$t(`common.unarchive`)),1)]),_:1})]),_:1},8,[`onClick`]),p(P,{flat:``,round:``,dense:``,icon:`delete_outline`,size:`xs`,color:`grey-6`,class:`wl-item-action wl-item-delete`,onClick:e=>ie(i,e)},{default:u(()=>[p(X,null,{default:u(()=>[...n[11]||=[y(`Delete`,-1)]]),_:1})]),_:1},8,[`onClick`])]))),128))],512),[[re,H.value]])])):C(``,!0),O.value.length===0&&k.value.length===0&&j.value.length===0&&w(o).archived.length===0?(t(),x(`div`,Ui,[w(o).loading?(t(),x(h,{key:0},[y(A(e.$t(`common.loading`)),1)],64)):b.value?(t(),x(h,{key:1},[y(A(e.$t(`common.noResults`,{query:b.value})),1)],64)):(t(),x(h,{key:2},[y(A(e.$t(`workspaceList.noWorkspaces`)),1)],64))])):C(``,!0)]),p(q,{dark:``}),_(`div`,Wi,A(e.$t(`workspaceList.footer`,{count:I.value},I.value))+` · `+A(e.$t(`workspaceList.footerRunning`,{count:L.value})),1)]),p(J,{modelValue:U.value,"onUpdate:modelValue":n[10]||=e=>U.value=e,persistent:``},{default:u(()=>[p(ye,{class:`text-grey-3`,style:{"min-width":`360px`,background:`#1e1e3a`}},{default:u(()=>[p(xe,null,{default:u(()=>[_(`div`,Gi,A(e.$t(`workspaceList.deleteDialog.title`)),1)]),_:1}),p(xe,{class:`q-pt-none`},{default:u(()=>[_(`div`,Ki,A(W.value?.name),1),_(`div`,qi,A(W.value?.workingBranch),1),_(`div`,Ji,[p(be,{modelValue:ne.value,"onUpdate:modelValue":n[7]||=e=>ne.value=e,label:e.$t(`workspaceList.deleteDialog.deleteLocal`),dark:``,dense:``,color:`red-5`},null,8,[`modelValue`,`label`]),p(be,{modelValue:G.value,"onUpdate:modelValue":n[8]||=e=>G.value=e,disable:!ne.value,label:e.$t(`workspaceList.deleteDialog.deleteRemote`),dark:``,dense:``,color:`red-5`},null,8,[`modelValue`,`disable`,`label`])]),G.value?(t(),x(`div`,Yi,A(e.$t(`workspaceList.deleteDialog.warning`)),1)):C(``,!0)]),_:1}),p(ve,{align:`right`},{default:u(()=>[p(P,{flat:``,label:e.$t(`common.cancel`),color:`grey-5`,onClick:n[9]||=e=>U.value=!1,disable:K.value},null,8,[`label`,`disable`]),p(P,{flat:``,label:e.$t(`common.delete`),color:`red-5`,loading:K.value,onClick:ae},null,8,[`label`,`loading`])]),_:1})]),_:1})]),_:1},8,[`modelValue`])],64))}}),[[`__scopeId`,`data-v-69c12879`]]),Zi=`kobo:rightTab`,Qi=`at-left-drawer-width`,$i=Y(k({__name:`MainLayout`,setup(e){let n=s(localStorage.getItem(Zi)??`git`);function r(e){n.value=e,localStorage.setItem(Zi,e)}let i=s(!0);s(!0);let a=parseInt(localStorage.getItem(Qi)??`260`,10),o=s(Math.min(500,Math.max(200,a))),l=s(!1);function d(e){e.preventDefault(),l.value=!0;let t=e=>{o.value=Math.min(500,Math.max(200,e.clientX))},n=()=>{l.value=!1,localStorage.setItem(Qi,String(o.value)),document.removeEventListener(`mousemove`,t),document.removeEventListener(`mouseup`,n),document.body.style.cursor=``,document.body.style.userSelect=``};document.body.style.cursor=`col-resize`,document.body.style.userSelect=`none`,document.addEventListener(`mousemove`,t),document.addEventListener(`mouseup`,n)}let f=le(),m=me(),h=T(()=>f.name===`workspace`);return(e,a)=>{let s=c(`router-view`);return t(),v(Ue,{view:`lHh LpR lFf`},{default:u(()=>[p(Ve,{modelValue:i.value,"onUpdate:modelValue":a[0]||=e=>i.value=e,width:o.value,breakpoint:0,persistent:``,bordered:``,class:`bg-dark`},{default:u(()=>[p(Xi),_(`div`,{class:`resize-handle`,onMousedown:d},null,32)]),_:1},8,[`modelValue`,`width`]),p(Ve,{"model-value":h.value,side:`right`,width:300,breakpoint:0,persistent:``,bordered:``,class:`bg-dark`},{default:u(()=>[p(Me,{"model-value":n.value,dense:``,dark:``,"active-color":`indigo-4`,"indicator-color":`indigo-4`,"narrow-indicator":``,shrink:``,"onUpdate:modelValue":r},{default:u(()=>[p(je,{name:`git`,icon:`commit`}),p(je,{name:`server`,icon:`dns`}),p(je,{name:`tasks`,icon:`checklist`}),p(je,{name:`subagents`,icon:`smart_toy`}),p(je,{name:`tools`,icon:`build`}),p(je,{name:`stats`,icon:`bar_chart`})]),_:1},8,[`model-value`]),p(q,{dark:``}),p(Ne,{modelValue:n.value,"onUpdate:modelValue":a[1]||=e=>n.value=e,animated:``,"keep-alive":``},{default:u(()=>[p(Pe,{name:`git`,class:`q-pa-none`},{default:u(()=>[p(Vt,{workspace:w(m).selectedWorkspace},null,8,[`workspace`])]),_:1}),p(Pe,{name:`server`,class:`q-pa-none`},{default:u(()=>[p(ht,{workspace:w(m).selectedWorkspace},null,8,[`workspace`])]),_:1}),p(Pe,{name:`tasks`,class:`q-pa-none`},{default:u(()=>[p(an,{workspace:w(m).selectedWorkspace,tasks:w(m).tasks},null,8,[`workspace`,`tasks`]),p(q,{dark:``}),p(Ze,{tasks:w(m).acceptanceCriteria},null,8,[`tasks`]),p(q,{dark:``}),p(rt)]),_:1}),p(Pe,{name:`subagents`,class:`q-pa-none`},{default:u(()=>[p(Jr)]),_:1}),p(Pe,{name:`tools`,class:`q-pa-none`},{default:u(()=>[p($r,{workspace:w(m).selectedWorkspace},null,8,[`workspace`])]),_:1}),p(Pe,{name:`stats`,class:`q-pa-none`},{default:u(()=>[p(Ir,{workspace:w(m).selectedWorkspace},null,8,[`workspace`])]),_:1})]),_:1},8,[`modelValue`])]),_:1},8,[`model-value`]),p(He,{class:`bg-dark`},{default:u(()=>[p(s)]),_:1})]),_:1})}}}),[[`__scopeId`,`data-v-32be524b`]]);export{$i as default};
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/DiffViewer-BB0uMnDB.js","assets/index-Dh7opLow.js","assets/vue-i18n-nv59vAyH.js","assets/scroll-CWjBCoBR.js","assets/settings-CuK-S6HH.js","assets/use-checkbox-DwkIkUAc.js","assets/private.use-form-1cZLVjGN.js","assets/i18n-BG0I8c3l.js","assets/index-eX_lKHSg.css","assets/_plugin-vue_export-helper-CLHv3piE.js","assets/QBadge-xNMZEqT-.js","assets/touch-Bojc73iM.js","assets/TouchPan-Dc-xrSIS.js","assets/QSpinnerDots-FJCnAvfw.js","assets/QTooltip-DKxEdudV.js","assets/format-Ex4UmWdz.js","assets/DiffViewer-DiHFLSk4.css"])))=>i.map(i=>d[i]);
2
+ import{E as e,F as t,H as n,I as r,L as i,M as a,N as o,Q as s,R as c,S as l,U as u,W as d,Z as f,_ as p,_t as m,a as h,b as g,d as _,f as v,g as y,k as b,m as x,n as S,p as C,rt as w,u as T,v as E,vt as D,w as O,y as k,yt as A}from"./vue-i18n-nv59vAyH.js";import{J as j,L as M,R as ee,S as N,T as P,U as F,V as I,W as L,b as R,bt as z,ct as B,d as V,f as H,lt as te,pt as U,r as W,v as ne,vt as re,y as G,yt as K,z as ie}from"./scroll-CWjBCoBR.js";import{a as ae,i as q,o as oe}from"./private.use-form-1cZLVjGN.js";import{t as se}from"./settings-CuK-S6HH.js";import{A as ce,C as le,D as ue,E as de,M as fe,N as pe,O as me,P as he,S as ge,b as _e,f as ve,h as J,m as ye,n as be,p as xe,r as Se,w as Ce,x as we}from"./index-Dh7opLow.js";import{p as Te,t as Y}from"./_plugin-vue_export-helper-CLHv3piE.js";import{t as X}from"./QTooltip-DKxEdudV.js";import{t as Ee}from"./QBadge-xNMZEqT-.js";import{r as De}from"./touch-Bojc73iM.js";import{n as Oe,t as ke}from"./TouchPan-Dc-xrSIS.js";import{t as Ae}from"./format-Ex4UmWdz.js";import{a as je,i as Me,n as Ne,r as Pe,t as Fe}from"./QList-CwbqTC_9.js";import{i as Ie,n as Z,r as Q,t as Le}from"./QMenu-C_LDF5uF.js";import{r as Re,t as ze}from"./formatters-B5Igo0Lf.js";var Be=150,Ve=B({name:`QDrawer`,inheritAttrs:!1,props:{...R,...oe,side:{type:String,default:`left`,validator:e=>[`left`,`right`].includes(e)},width:{type:Number,default:300},mini:Boolean,miniToOverlay:Boolean,miniWidth:{type:Number,default:57},noMiniAnimation:Boolean,breakpoint:{type:Number,default:1023},showIfAbove:Boolean,behavior:{type:String,validator:e=>[`default`,`desktop`,`mobile`].includes(e),default:`default`},bordered:Boolean,elevated:Boolean,overlay:Boolean,persistent:Boolean,noSwipeOpen:Boolean,noSwipeClose:Boolean,noSwipeBackdrop:Boolean},emits:[...G,`onLayout`,`miniState`],setup(t,{slots:r,emit:i,attrs:o}){let c=g(),{proxy:{$q:u}}=c,f=ae(t,u),{preventBodyScroll:p}=_e(),{registerTimeout:m,removeTimeout:h}=N(),_=O(pe,fe);if(_===fe)return console.error(`QDrawer needs to be child of QLayout`),fe;let v,y=null,x,S=s(t.behavior===`mobile`||t.behavior!==`desktop`&&_.totalWidth.value<=t.breakpoint),C=T(()=>t.mini===!0&&S.value!==!0),w=T(()=>C.value===!0?t.miniWidth:t.width),E=s(t.showIfAbove===!0&&S.value===!1?!0:t.modelValue===!0),D=T(()=>t.persistent!==!0&&(S.value===!0||K.value===!0));function k(e,t){if(P(),e!==!1&&_.animate(),J(0),S.value===!0){let e=_.instances[U.value];e?.belowBreakpoint===!0&&e.hide(!1),ye(1),_.isContainer.value!==!0&&p(!0)}else ye(0),e!==!1&&be(!1);m(()=>{e!==!1&&be(!0),t!==!0&&i(`show`,e)},Be)}function A(e,t){F(),e!==!1&&_.animate(),ye(0),J(z.value*w.value),Te(),t===!0?h():m(()=>{i(`hide`,e)},Be)}let{show:j,hide:M}=ne({showing:E,hideOnRouteChange:D,handleShow:k,handleHide:A}),{addToHistory:P,removeFromHistory:F}=we(E,M,D),L={belowBreakpoint:S,hide:M},R=T(()=>t.side===`right`),z=T(()=>(u.lang.rtl===!0?-1:1)*(R.value===!0?1:-1)),B=s(0),V=s(!1),H=s(!1),te=s(w.value*z.value),U=T(()=>R.value===!0?`left`:`right`),W=T(()=>E.value===!0&&S.value===!1&&t.overlay===!1?t.miniToOverlay===!0?t.miniWidth:w.value:0),re=T(()=>t.overlay===!0||t.miniToOverlay===!0||_.view.value.indexOf(R.value?`R`:`L`)!==-1||u.platform.is.ios===!0&&_.isContainer.value===!0),G=T(()=>t.overlay===!1&&E.value===!0&&S.value===!1),K=T(()=>t.overlay===!0&&E.value===!0&&S.value===!1),ie=T(()=>`fullscreen q-drawer__backdrop`+(E.value===!1&&V.value===!1?` hidden`:``)),q=T(()=>({backgroundColor:`rgba(0,0,0,${B.value*.4})`})),oe=T(()=>R.value===!0?_.rows.value.top[2]===`r`:_.rows.value.top[0]===`l`),se=T(()=>R.value===!0?_.rows.value.bottom[2]===`r`:_.rows.value.bottom[0]===`l`),ce=T(()=>{let e={};return _.header.space===!0&&oe.value===!1&&(re.value===!0?e.top=`${_.header.offset}px`:_.header.space===!0&&(e.top=`${_.header.size}px`)),_.footer.space===!0&&se.value===!1&&(re.value===!0?e.bottom=`${_.footer.offset}px`:_.footer.space===!0&&(e.bottom=`${_.footer.size}px`)),e}),le=T(()=>{let e={width:`${w.value}px`,transform:`translateX(${te.value}px)`};return S.value===!0?e:Object.assign(e,ce.value)}),ue=T(()=>`q-drawer__content fit `+(_.isContainer.value===!0?`overflow-auto`:`scroll`)),de=T(()=>`q-drawer q-drawer--${t.side}`+(H.value===!0?` q-drawer--mini-animate`:``)+(t.bordered===!0?` q-drawer--bordered`:``)+(f.value===!0?` q-drawer--dark q-dark`:``)+(V.value===!0?` no-transition`:E.value===!0?``:` q-layout--prevent-focus`)+(S.value===!0?` fixed q-drawer--on-top q-drawer--mobile q-drawer--top-padding`:` q-drawer--${C.value===!0?`mini`:`standard`}`+(re.value===!0||G.value!==!0?` fixed`:``)+(t.overlay===!0||t.miniToOverlay===!0?` q-drawer--on-top`:``)+(oe.value===!0?` q-drawer--top-padding`:``))),me=T(()=>[[ke,Se,void 0,{[u.lang.rtl===!0?t.side:U.value]:!0,mouse:!0}]]),he=T(()=>[[ke,Ce,void 0,{[u.lang.rtl===!0?U.value:t.side]:!0,mouse:!0}]]),ge=T(()=>[[ke,Ce,void 0,{[u.lang.rtl===!0?U.value:t.side]:!0,mouse:!0,mouseAllDir:!0}]]);function ve(){X(S,t.behavior===`mobile`||t.behavior!==`desktop`&&_.totalWidth.value<=t.breakpoint)}n(S,e=>{e===!0?(v=E.value,E.value===!0&&M(!1)):t.overlay===!1&&t.behavior!==`mobile`&&v!==!1&&(E.value===!0?(J(0),ye(0),Te()):j(!1))}),n(()=>t.side,(e,t)=>{_.instances[t]===L&&(_.instances[t]=void 0,_[t].space=!1,_[t].offset=0),_.instances[e]=L,_[e].size=w.value,_[e].space=G.value,_[e].offset=W.value}),n(_.totalWidth,()=>{(_.isContainer.value===!0||document.qScrollPrevented!==!0)&&ve()}),n(()=>t.behavior+t.breakpoint,ve),n(_.isContainer,e=>{E.value===!0&&p(e!==!0),e===!0&&ve()}),n(_.scrollbarWidth,()=>{J(E.value===!0?0:void 0)}),n(W,e=>{Y(`offset`,e)}),n(G,e=>{i(`onLayout`,e),Y(`space`,e)}),n(R,()=>{J()}),n(w,e=>{J(),Ee(t.miniToOverlay,e)}),n(()=>t.miniToOverlay,e=>{Ee(e,w.value)}),n(()=>u.lang.rtl,()=>{J()}),n(()=>t.mini,()=>{t.noMiniAnimation||t.modelValue===!0&&(xe(),_.animate())}),n(C,e=>{i(`miniState`,e)});function J(t){t===void 0?e(()=>{t=E.value===!0?0:w.value,J(z.value*t)}):(_.isContainer.value===!0&&R.value===!0&&(S.value===!0||Math.abs(t)===w.value)&&(t+=z.value*_.scrollbarWidth.value),te.value=t)}function ye(e){B.value=e}function be(e){let t=e===!0?`remove`:_.isContainer.value===!0?``:`add`;t!==``&&document.body.classList[t](`q-body--drawer-toggle`)}function xe(){y!==null&&clearTimeout(y),c.proxy&&c.proxy.$el&&c.proxy.$el.classList.add(`q-drawer--mini-animate`),H.value=!0,y=setTimeout(()=>{y=null,H.value=!1,c?.proxy?.$el?.classList.remove(`q-drawer--mini-animate`)},150)}function Se(e){if(E.value!==!1)return;let t=w.value,n=Ae(e.distance.x,0,t);if(e.isFinal===!0){n>=Math.min(75,t)?j():(_.animate(),ye(0),J(z.value*t)),V.value=!1;return}J((u.lang.rtl===!0?R.value!==!0:R.value)?Math.max(t-n,0):Math.min(0,n-t)),ye(Ae(n/t,0,1)),e.isFirst===!0&&(V.value=!0)}function Ce(e){if(E.value!==!0)return;let n=w.value,r=e.direction===t.side,i=(u.lang.rtl===!0?r!==!0:r)?Ae(e.distance.x,0,n):0;if(e.isFinal===!0){Math.abs(i)<Math.min(75,n)?(_.animate(),ye(1),J(0)):M(),V.value=!1;return}J(z.value*i),ye(Ae(1-i/n,0,1)),e.isFirst===!0&&(V.value=!0)}function Te(){p(!1),be(!0)}function Y(e,n){_.update(t.side,e,n)}function X(e,t){e.value!==t&&(e.value=t)}function Ee(e,n){Y(`size`,e===!0?t.miniWidth:n)}return _.instances[t.side]=L,Ee(t.miniToOverlay,w.value),Y(`space`,G.value),Y(`offset`,W.value),t.showIfAbove===!0&&t.modelValue!==!0&&E.value===!0&&t[`onUpdate:modelValue`]!==void 0&&i(`update:modelValue`,!0),a(()=>{i(`onLayout`,G.value),i(`miniState`,C.value),v=t.showIfAbove===!0;let r=()=>{(E.value===!0?k:A)(!1,!0)};if(_.totalWidth.value!==0){e(r);return}x=n(_.totalWidth,()=>{x(),x=void 0,E.value===!1&&t.showIfAbove===!0&&S.value===!1?j(!1):r()})}),b(()=>{x?.(),y!==null&&(clearTimeout(y),y=null),E.value===!0&&Te(),_.instances[t.side]===L&&(_.instances[t.side]=void 0,Y(`size`,0),Y(`offset`,0),Y(`space`,!1))}),()=>{let e=[];S.value===!0&&(t.noSwipeOpen===!1&&e.push(d(l(`div`,{key:`open`,class:`q-drawer__opener fixed-${t.side}`,"aria-hidden":`true`}),me.value)),e.push(ee(`div`,{ref:`backdrop`,class:ie.value,style:q.value,"aria-hidden":`true`,onClick:M},void 0,`backdrop`,t.noSwipeBackdrop!==!0&&E.value===!0,()=>ge.value)));let n=C.value===!0&&r.mini!==void 0,i=[l(`div`,{...o,key:String(n),class:[ue.value,o.class]},n===!0?r.mini():I(r.default))];return t.elevated===!0&&E.value===!0&&i.push(l(`div`,{class:`q-layout__shadow absolute-full overflow-hidden no-pointer-events`})),e.push(ee(`aside`,{ref:`content`,class:de.value,style:le.value},i,`contentclose`,t.noSwipeClose!==!0&&S.value===!0,()=>he.value)),l(`div`,{class:`q-drawer-container`},e)}}}),He=B({name:`QPageContainer`,setup(e,{slots:t}){let{proxy:{$q:n}}=g(),i=O(pe,fe);if(i===fe)return console.error(`QPageContainer needs to be child of QLayout`),fe;r(he,!0);let a=T(()=>{let e={};return i.header.space===!0&&(e.paddingTop=`${i.header.size}px`),i.right.space===!0&&(e[`padding${n.lang.rtl===!0?`Left`:`Right`}`]=`${i.right.size}px`),i.footer.space===!0&&(e.paddingBottom=`${i.footer.size}px`),i.left.space===!0&&(e[`padding${n.lang.rtl===!0?`Right`:`Left`}`]=`${i.left.size}px`),e});return()=>l(`div`,{class:`q-page-container`,style:a.value},I(t.default))}}),Ue=B({name:`QLayout`,props:{container:Boolean,view:{type:String,default:`hhh lpr fff`,validator:e=>/^(h|l)h(h|r) lpr (f|l)f(f|r)$/.test(e.toLowerCase())},onScroll:Function,onScrollHeight:Function,onResize:Function},setup(e,{slots:t,emit:i}){let{proxy:{$q:a}}=g(),c=s(null),u=s(a.screen.height),d=s(e.container===!0?0:a.screen.width),p=s({position:0,direction:`down`,inflectionPoint:0}),m=s(0),h=s(U.value===!0?0:W()),_=T(()=>`q-layout q-layout--`+(e.container===!0?`containerized`:`standard`)),v=T(()=>e.container===!1?{minHeight:a.screen.height+`px`}:null),y=T(()=>h.value===0?null:{[a.lang.rtl===!0?`left`:`right`]:`${h.value}px`}),b=T(()=>h.value===0?null:{[a.lang.rtl===!0?`right`:`left`]:0,[a.lang.rtl===!0?`left`:`right`]:`-${h.value}px`,width:`calc(100% + ${h.value}px)`});function x(t){if(e.container===!0||document.qScrollPrevented!==!0){let n={position:t.position.top,direction:t.direction,directionChanged:t.directionChanged,inflectionPoint:t.inflectionPoint.top,delta:t.delta.top};p.value=n,e.onScroll!==void 0&&i(`scroll`,n)}}function S(t){let{height:n,width:r}=t,a=!1;u.value!==n&&(a=!0,u.value=n,e.onScrollHeight!==void 0&&i(`scrollHeight`,n),w()),d.value!==r&&(a=!0,d.value=r),a===!0&&e.onResize!==void 0&&i(`resize`,t)}function C({height:e}){m.value!==e&&(m.value=e,w())}function w(){if(e.container===!0){let e=u.value>m.value?W():0;h.value!==e&&(h.value=e)}}let E=null,D={instances:{},view:T(()=>e.view),isContainer:T(()=>e.container),rootRef:c,height:u,containerHeight:m,scrollbarWidth:h,totalWidth:T(()=>d.value+h.value),rows:T(()=>{let t=e.view.toLowerCase().split(` `);return{top:t[0].split(``),middle:t[1].split(``),bottom:t[2].split(``)}}),header:f({size:0,offset:0,space:!1}),right:f({size:300,offset:0,space:!1}),footer:f({size:0,offset:0,space:!1}),left:f({size:300,offset:0,space:!1}),scroll:p,animate(){E===null?document.body.classList.add(`q-body--layout-animate`):clearTimeout(E),E=setTimeout(()=>{E=null,document.body.classList.remove(`q-body--layout-animate`)},155)},update(e,t,n){D[e][t]=n}};if(r(pe,D),W()>0){let t=null,r=document.body;function i(){t=null,r.classList.remove(`hide-scrollbar`)}function s(){if(t===null){if(r.scrollHeight>a.screen.height)return;r.classList.add(`hide-scrollbar`)}else clearTimeout(t);t=setTimeout(i,300)}function c(e){t!==null&&e===`remove`&&(clearTimeout(t),i()),window[`${e}EventListener`](`resize`,s)}n(()=>e.container===!0?`remove`:`add`,c),e.container!==!0&&c(`add`),o(()=>{c(`remove`)})}return()=>{let n=ie(t.default,[l(Oe,{onScroll:x}),l(De,{onResize:S})]),r=l(`div`,{class:_.value,style:v.value,ref:e.container===!0?void 0:c,tabindex:-1},n);return e.container===!0?l(`div`,{class:`q-layout-container overflow-hidden`,ref:c},[l(De,{onResize:C}),l(`div`,{class:`absolute-full`,style:y.value},[l(`div`,{class:`scroll`,style:b.value},[r])])]):r}}}),We={class:`acceptance-panel q-pa-md`},Ge={class:`row items-center q-mb-sm`},Ke={class:`text-caption text-uppercase text-weight-bold text-grey-6`,style:{"letter-spacing":`0.05em`}},qe={key:0,class:`criterion-add-row row items-center q-mb-xs`},Je={key:1,class:`acceptance-list`},Ye=[`onDblclick`],Xe={key:2,class:`text-caption text-grey-8`,style:{"font-size":`11px`}},Ze=Y(k({__name:`AcceptancePanel`,props:{tasks:{}},setup(n){let{t:r}=S(),a=me(),o=de();function c(){let e=a.selectedWorkspaceId;e&&Re(e,o,a)}let l=s(!1),d=s(``),f=s(null),g=s(``),b=s({});function T(e,t){if(t){let n=t.$el??t;b.value[e]=n}else delete b.value[e]}function E(e){switch(e){case`done`:return`check_circle`;case`in_progress`:return`timelapse`;default:return`radio_button_unchecked`}}function O(e){switch(e){case`done`:return`#4ade80`;case`in_progress`:return`#f59e0b`;default:return`#888`}}async function k(e){let t=e.status===`done`?`pending`:`done`;try{let n=await fetch(`/api/workspaces/${e.workspaceId}/tasks/${e.id}`,{method:`PATCH`,headers:{"Content-Type":`application/json`},body:JSON.stringify({status:t})});if(!n.ok)throw Error(`HTTP ${n.status}`);a.selectedWorkspaceId&&a.fetchWorkspaceDetails(a.selectedWorkspaceId)}catch(e){console.error(`Failed to update task:`,e)}}function j(){l.value=!0,d.value=``}async function ee(){let e=d.value.trim(),t=a.selectedWorkspace?.id;if(!(!e||!t))try{await a.createTask(t,e,!0),d.value=``,l.value=!1}catch{}}function N(){d.value=``,l.value=!1}function F(t){f.value=t.id,g.value=t.title,e(()=>{let e=b.value[t.id]?.querySelector(`input, textarea`);e?.focus(),e?.select()})}async function I(e){if(f.value!==e.id)return;let t=g.value.trim(),n=e.id;if(f.value=null,!t||t===e.title)return;let r=a.selectedWorkspace?.id;if(r)try{await a.updateTaskTitle(r,n,t)}catch{}}function L(){f.value=null,g.value=``}async function R(e){let t=a.selectedWorkspace?.id;if(t)try{await a.deleteTask(t,e.id)}catch{}}return(e,r)=>(t(),x(`div`,We,[_(`div`,Ge,[_(`div`,Ke,A(e.$t(`acceptance.title`)),1),p(Te),w(a).selectedWorkspace?(t(),v(P,{key:0,flat:``,dense:``,round:``,size:`xs`,icon:`fact_check`,color:`grey-5`,onClick:c},{default:u(()=>[p(X,null,{default:u(()=>[y(A(e.$t(`tasks.askProgress`)),1)]),_:1})]),_:1})):C(``,!0),w(a).selectedWorkspace?(t(),v(P,{key:1,flat:``,dense:``,round:``,size:`xs`,icon:`add`,color:`indigo-4`,onClick:j},{default:u(()=>[p(X,null,{default:u(()=>[y(A(e.$t(`tooltip.addCriterion`)),1)]),_:1})]),_:1})):C(``,!0)]),l.value?(t(),x(`div`,qe,[p(Se,{modelValue:d.value,"onUpdate:modelValue":r[0]||=e=>d.value=e,dark:``,dense:``,borderless:``,autofocus:``,placeholder:e.$t(`acceptance.newCriterion`),class:`col criterion-input`,"input-class":`criterion-input-inner`,onKeydown:[K(z(ee,[`prevent`]),[`enter`]),K(z(N,[`prevent`]),[`esc`])]},null,8,[`modelValue`,`placeholder`,`onKeydown`])])):C(``,!0),n.tasks.length>0?(t(),x(`div`,Je,[(t(!0),x(h,null,i(n.tasks,n=>(t(),x(`div`,{key:n.id,class:`acceptance-item row items-center q-mb-xxs`},[p(M,{name:E(n.status),size:`16px`,style:D({color:O(n.status)}),class:`q-mr-xs cursor-pointer`,onClick:e=>k(n)},null,8,[`name`,`style`,`onClick`]),f.value===n.id?(t(),v(Se,{key:0,ref_for:!0,ref:e=>T(n.id,e),modelValue:g.value,"onUpdate:modelValue":r[1]||=e=>g.value=e,dark:``,dense:``,borderless:``,class:`col criterion-input`,"input-class":`criterion-input-inner`,onKeydown:[K(z(e=>I(n),[`prevent`]),[`enter`]),K(z(L,[`prevent`]),[`esc`])],onBlur:e=>I(n)},null,8,[`modelValue`,`onKeydown`,`onBlur`])):(t(),x(h,{key:1},[_(`span`,{class:m([`col acceptance-title text-caption`,{"text-strike":n.status===`done`}]),style:D({color:n.status===`done`?`#4ade80`:`#ccc`}),onDblclick:e=>F(n)},A(n.title),47,Ye),p(P,{flat:``,dense:``,round:``,size:`xs`,icon:`close`,color:`grey-6`,class:`criterion-delete-btn`,onClick:e=>R(n)},{default:u(()=>[p(X,null,{default:u(()=>[y(A(e.$t(`tooltip.removeCriterion`)),1)]),_:1})]),_:1},8,[`onClick`])],64))]))),128))])):l.value?C(``,!0):(t(),x(`div`,Xe,A(e.$t(`acceptance.empty`)),1))]))}}),[[`__scopeId`,`data-v-63b144ad`]]),Qe={class:`agent-todos-panel q-pa-md`},$e={class:`row items-center q-mb-sm`},et={class:`text-caption text-uppercase text-weight-bold text-grey-6`,style:{"letter-spacing":`0.05em`}},tt={key:0,class:`todos-list`},nt={key:1,class:`text-caption text-grey-8`,style:{"font-size":`11px`}},rt=Y(k({__name:`AgentTodosPanel`,setup(e){let{t:n}=S(),r=me();function a(e){switch(e){case`completed`:return`check_circle`;case`in_progress`:return`timelapse`;default:return`radio_button_unchecked`}}function o(e){switch(e){case`completed`:return`#4ade80`;case`in_progress`:return`#f59e0b`;default:return`#888`}}return(e,n)=>(t(),x(`div`,Qe,[_(`div`,$e,[_(`div`,et,A(e.$t(`agentTodos.title`)),1)]),w(r).currentAgentTodos.length>0?(t(),x(`div`,tt,[(t(!0),x(h,null,i(w(r).currentAgentTodos,(e,n)=>(t(),x(`div`,{key:n,class:`todo-item row items-start q-py-xxs`},[p(M,{name:a(e.status),size:`14px`,style:D({color:o(e.status)}),class:`q-mr-xs q-mt-xxs`},null,8,[`name`,`style`]),_(`span`,{class:m([`col todo-title text-caption`,{"text-strike":e.status===`completed`}]),style:D({color:e.status===`completed`?`#4ade80`:`#ccc`})},A(e.content),7)]))),128))])):(t(),x(`div`,nt,A(e.$t(`agentTodos.empty`)),1))]))}}),[[`__scopeId`,`data-v-4eddf754`]]),it={class:`log-text rounded-borders q-pa-md`},at=Y(k({__name:`DevServerLogDialog`,props:{modelValue:{type:Boolean},workspaceId:{}},emits:[`update:modelValue`],setup(r){let i=r,a=ce(),c=s(``),l=s(!1),d=s(null),f=null;async function m(){if(i.workspaceId){l.value=!0;try{c.value=await a.fetchLogs(i.workspaceId),await e(),h()}finally{l.value=!1}}}function h(){d.value&&(d.value.scrollTop=d.value.scrollHeight)}function g(){b(),f=setInterval(()=>{m()},5e3)}function b(){f&&=(clearInterval(f),null)}return n(()=>i.modelValue,e=>{e?(m(),g()):b()}),o(()=>{b()}),(e,n)=>(t(),v(J,{"model-value":r.modelValue,"onUpdate:modelValue":n[1]||=t=>e.$emit(`update:modelValue`,t)},{default:u(()=>[p(ye,{class:`text-grey-3`,style:{"min-width":`700px`,"max-width":`900px`,"max-height":`80vh`,background:`#1e1e3a`}},{default:u(()=>[p(xe,{class:`row items-center`},{default:u(()=>[n[2]||=_(`div`,{class:`text-h6`},`Logs Dev Server`,-1),p(Te),p(P,{flat:``,round:``,dense:``,icon:`refresh`,color:`grey-5`,onClick:m,loading:l.value},{default:u(()=>[p(X,null,{default:u(()=>[y(A(e.$t(`tooltip.refreshLogs`)),1)]),_:1})]),_:1},8,[`loading`]),p(P,{flat:``,round:``,dense:``,icon:`close`,color:`grey-5`,onClick:n[0]||=t=>e.$emit(`update:modelValue`,!1)},{default:u(()=>[p(X,null,{default:u(()=>[y(A(e.$t(`tooltip.closeDialog`)),1)]),_:1})]),_:1})]),_:1}),p(q,{dark:``}),p(xe,{class:`log-content`,ref_key:`logContainer`,ref:d},{default:u(()=>[_(`pre`,it,A(c.value||`No logs available`),1)]),_:1},512)]),_:1})]),_:1},8,[`model-value`]))}}),[[`__scopeId`,`data-v-9e03d2b2`]]),ot={class:`dd-panel q-px-md q-py-sm`},st={class:`text-caption text-uppercase text-weight-bold text-grey-5 q-mb-xs`},ct={key:0,class:`text-caption text-grey-8`},lt={key:1,class:`text-caption text-grey-8`},ut={class:`row items-center q-mb-xs`},dt={key:0,class:`text-caption q-mb-xs`},ft=[`href`],pt={key:1,class:`text-caption text-grey-7`,style:{"font-size":`10px`}},mt={key:2,class:`text-caption text-red-5`},ht=Y(k({__name:`DevServerPanel`,props:{workspace:{}},setup(e){let r=e,{t:i}=S(),l=ce(),d=se(),f=s(!1),m=s(!1),g=s(!1),b=null,w=T(()=>r.workspace?.id??``),E=T(()=>r.workspace?!!d.getProjectByPath(r.workspace.projectPath)?.devServer?.startCommand:!1),D=T(()=>w.value?l.getStatus(w.value):null),O=T(()=>{switch(D.value?.status){case`running`:return`green-9`;case`starting`:case`stopping`:return`orange-9`;case`error`:return`red-9`;default:return`grey-8`}}),k=T(()=>{switch(D.value?.status){case`running`:return i(`devServer.running`);case`starting`:return i(`devServer.starting`);case`stopping`:return i(`devServer.stopping`);case`error`:return i(`devServer.error`);case`stopped`:return i(`devServer.stopped`);default:return i(`devServer.unknown`)}}),j=T(()=>{let e=D.value?.status;return!e||e===`stopped`||e===`unknown`||e===`error`}),M=T(()=>{let e=D.value?.status;return e===`running`||e===`starting`});async function ee(){if(w.value){m.value=!0;try{await l.startDevServer(w.value)}finally{m.value=!1}}}async function N(){if(w.value){g.value=!0;try{await l.stopDevServer(w.value)}finally{g.value=!1}}}function F(){w.value&&E.value&&l.fetchStatus(w.value)}function I(){L(),b=setInterval(()=>{F()},3e4)}function L(){b&&=(clearInterval(b),null)}return n(w,()=>{F(),I()}),a(()=>{F(),I()}),o(()=>{L()}),(n,r)=>{let i=c(`router-link`);return t(),x(`div`,ot,[_(`div`,st,A(n.$t(`devServer.title`)),1),e.workspace?E.value?D.value?(t(),x(h,{key:2},[_(`div`,ut,[p(Ee,{color:O.value,label:k.value,style:{"font-size":`10px`}},null,8,[`color`,`label`]),p(Te),j.value?(t(),v(P,{key:0,flat:``,round:``,dense:``,icon:`play_arrow`,size:`xs`,color:`green-5`,onClick:ee,loading:m.value},{default:u(()=>[p(X,null,{default:u(()=>[y(A(n.$t(`tooltip.startDevServer`)),1)]),_:1})]),_:1},8,[`loading`])):C(``,!0),M.value?(t(),v(P,{key:1,flat:``,round:``,dense:``,icon:`stop`,size:`xs`,color:`red-5`,onClick:N,loading:g.value},{default:u(()=>[p(X,null,{default:u(()=>[y(A(n.$t(`tooltip.stopDevServer`)),1)]),_:1})]),_:1},8,[`loading`])):C(``,!0),p(P,{flat:``,round:``,dense:``,icon:`article`,size:`xs`,color:`grey-5`,onClick:r[0]||=e=>f.value=!0},{default:u(()=>[p(X,null,{default:u(()=>[y(A(n.$t(`devServer.logs`)),1)]),_:1})]),_:1})]),D.value.status===`running`&&D.value.url?(t(),x(`div`,dt,[_(`a`,{href:D.value.url,target:`_blank`,style:{color:`#6c63ff`}},A(D.value.url),9,ft)])):C(``,!0),D.value.containers.length>0?(t(),x(`div`,pt,A(n.$t(`devServer.containers`,{count:D.value.containers.length},D.value.containers.length)),1)):C(``,!0),D.value.error?(t(),x(`div`,mt,A(D.value.error),1)):C(``,!0)],64)):C(``,!0):(t(),x(`div`,lt,[y(A(n.$t(`devServer.notConfigured`))+` `,1),p(i,{to:`/settings`,style:{color:`#6c63ff`}},{default:u(()=>[y(A(n.$t(`devServer.goToSettings`)),1)]),_:1})])):(t(),x(`div`,ct,A(n.$t(`devServer.noWorkspace`)),1)),w.value?(t(),v(at,{key:3,modelValue:f.value,"onUpdate:modelValue":r[1]||=e=>f.value=e,"workspace-id":w.value},null,8,[`modelValue`,`workspace-id`])):C(``,!0)])}}}),[[`__scopeId`,`data-v-20c5f4bd`]]),gt={class:`git-panel q-pa-md`},_t={class:`row items-center justify-between q-mb-sm`},vt={class:`text-caption text-uppercase text-weight-bold text-grey-6`,style:{"letter-spacing":`0.05em`}},yt={class:`row items-center q-mb-sm`},bt={class:`text-caption text-grey-3`},xt={class:`row items-center q-mb-sm`},St={class:`text-caption text-grey-4`,style:{"font-family":`'Roboto Mono', monospace`,"font-size":`11px`}},Ct={class:`text-caption q-mb-sm text-grey-8`,style:{"font-size":`11px`}},wt={key:0},Tt={key:1,style:{color:`#4ade80`}},Et={key:2,style:{color:`#f59e0b`}},Dt={class:`row items-center q-mb-xs`},Ot={class:`text-caption text-grey-4`,style:{"font-size":`11px`}},kt={key:0,class:`row items-center q-mb-md`},At={class:`text-caption text-grey-4`,style:{"font-size":`11px`}},jt={key:0,class:`text-caption q-ml-xs`,style:{"font-size":`11px`,color:`#4ade80`}},Mt={key:1,class:`text-caption q-ml-xs`,style:{"font-size":`11px`,color:`#f87171`}},Nt={key:1,class:`q-mb-xs`},Pt={key:2,class:`row items-center q-gutter-xs q-mb-md`,style:{"font-size":`11px`}},Ft={key:0,class:`text-caption`,style:{color:`#4ade80`}},It={key:1,class:`text-caption`,style:{color:`#f59e0b`}},Lt={key:2,class:`text-caption text-grey-6`},Rt={key:3,class:`q-mb-md`},zt={class:`row q-gutter-xs`},Bt={key:1,class:`text-caption text-grey-8`},Vt=Y(k({__name:`GitPanel`,props:{workspace:{}},setup(e){let r=E(()=>ge(()=>import(`./DiffViewer-BB0uMnDB.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]))),i=e,{t:a}=S(),c=Ie(),l=me(),d=se(),f=s(!1),m=s(!1),g=s(!1),b=s(!1),D=s(!1),O=s(!1),k=T(()=>!!d.global.editorCommand);async function j(){if(i.workspace){O.value=!0;try{let e=await fetch(`/api/workspaces/${i.workspace.id}/open-editor`,{method:`POST`});if(!e.ok){let t=await e.json();c.notify({type:`negative`,message:t.error??a(`git.openEditorFailed`),position:`top`,timeout:6e3})}}catch(e){let t=e instanceof Error?e.message:a(`git.openEditorFailed`);c.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{O.value=!1}}}function ee(e){l.chatDraft=e,D.value=!1}let N=s(null),F=s(!1),I=T(()=>{if(!i.workspace?.projectPath)return`-`;let e=i.workspace.projectPath.replace(/\\/g,`/`).split(`/`);return e[e.length-1]||e[e.length-2]||`-`});async function L(){if(!i.workspace){N.value=null;return}F.value=!0;try{N.value=await l.fetchGitStats(i.workspace.id)}catch{N.value=null}finally{F.value=!1}}n(()=>i.workspace?.id,()=>L(),{immediate:!0});let R=null;n(()=>l.gitRefreshTrigger,()=>{R&&clearTimeout(R),R=setTimeout(()=>L(),3e3)}),o(()=>{R&&clearTimeout(R)});function z(){i.workspace&&c.dialog({title:a(`git.rebaseConfirmTitle`),message:a(`git.rebaseConfirmMessage`,{branch:i.workspace.sourceBranch}),dark:!0,cancel:{flat:!0,label:a(`common.cancel`),color:`grey-5`},ok:{flat:!0,label:a(`git.rebase`),color:`orange-4`}}).onOk(async()=>{m.value=!0;try{let e=await fetch(`/api/workspaces/${i.workspace.id}/rebase`,{method:`POST`});if(!e.ok){let t=await e.json();throw Error(t.error??`Rebase failed`)}c.notify({type:`positive`,message:a(`git.rebaseSuccess`),position:`top`}),L()}catch(e){let t=e instanceof Error?e.message:a(`git.rebaseFailed`);c.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{m.value=!1}})}function B(){i.workspace&&c.dialog({title:a(`git.pushConfirmTitle`),message:a(`git.pushConfirmMessage`,{branch:i.workspace.workingBranch}),dark:!0,cancel:{flat:!0,label:a(`common.cancel`),color:`grey-5`},ok:{flat:!0,label:a(`git.push`),color:`grey-5`}}).onOk(async()=>{f.value=!0;try{await l.pushBranch(i.workspace.id),c.notify({type:`positive`,message:a(`git.branchPushed`),position:`top`}),L()}catch(e){let t=e instanceof Error?e.message:`Push failed`;c.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{f.value=!1}})}function V(){N.value?.prUrl&&window.open(N.value.prUrl,`_blank`)}function H(){i.workspace&&c.dialog({title:a(`git.changePrBaseTitle`),message:a(`git.changePrBaseMessage`),prompt:{model:i.workspace.sourceBranch,type:`text`},dark:!0,cancel:{flat:!0,label:a(`common.cancel`),color:`grey-5`},ok:{flat:!0,label:a(`common.save`),color:`primary`}}).onOk(async e=>{if(!(!e.trim()||!i.workspace)){b.value=!0;try{let t=await fetch(`/api/workspaces/${i.workspace.id}/change-pr-base`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({base:e.trim()})});if(!t.ok){let e=await t.json();throw Error(e.error??`Failed`)}c.notify({type:`positive`,message:a(`git.changePrBaseSuccess`),position:`top`}),L()}catch(e){let t=e instanceof Error?e.message:a(`git.changePrBaseFailed`);c.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{b.value=!1}}})}async function te(){if(i.workspace){g.value=!0;try{let e=await l.openPullRequest(i.workspace.id);c.notify({type:`positive`,message:a(`git.prCreated`,{n:e.prNumber}),caption:e.prUrl,position:`top`,timeout:5e3}),L()}catch(e){if(e instanceof ue&&e.code===`branch_not_pushed`){c.notify({type:`warning`,message:a(`git.pushFirst`),position:`top`,timeout:6e3});return}if(e instanceof ue&&e.code===`unpushed_commits`){c.notify({type:`warning`,message:a(`git.unpushedCommits`),position:`top`,timeout:6e3});return}let t=e instanceof Error?e.message:`Open PR failed`;c.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{g.value=!1}}}return(n,i)=>(t(),x(`div`,gt,[_(`div`,_t,[_(`div`,vt,A(n.$t(`git.title`)),1),e.workspace?(t(),v(P,{key:0,flat:``,round:``,dense:``,size:`xs`,icon:`refresh`,color:`grey-6`,loading:F.value,onClick:L},{default:u(()=>[p(X,null,{default:u(()=>[y(A(n.$t(`tooltip.refreshGitStats`)),1)]),_:1})]),_:1},8,[`loading`])):C(``,!0)]),e.workspace?(t(),x(h,{key:0},[_(`div`,yt,[p(M,{name:`folder`,size:`14px`,color:`grey-6`,class:`q-mr-xs`}),_(`span`,bt,A(I.value),1)]),_(`div`,xt,[i[3]||=_(`span`,{style:{width:`8px`,height:`8px`,"border-radius":`50%`,"background-color":`#4ade80`,display:`inline-block`},class:`q-mr-xs`},null,-1),_(`span`,St,A(e.workspace.workingBranch),1)]),_(`div`,Ct,[y(A(n.$t(`git.from`))+` `+A(e.workspace.sourceBranch)+` `,1),N.value?(t(),x(h,{key:0},[i[4]||=y(` · `,-1),N.value.unpushedCount===-1?(t(),x(`span`,wt,A(n.$t(`git.localOnly`)),1)):N.value.unpushedCount===0?(t(),x(`span`,Tt,A(n.$t(`git.pushed`)),1)):(t(),x(`span`,Et,A(n.$t(`git.unpushed`,{count:N.value.unpushedCount})),1))],64)):C(``,!0)]),N.value?(t(),x(h,{key:0},[_(`div`,Dt,[p(M,{name:`commit`,size:`14px`,color:`grey-6`,class:`q-mr-xs`}),_(`span`,Ot,A(n.$t(`git.commits`,{count:N.value.commitCount},N.value.commitCount)),1)]),N.value.filesChanged>0?(t(),x(`div`,kt,[p(M,{name:`insert_drive_file`,size:`14px`,color:`grey-6`,class:`q-mr-xs`}),_(`span`,At,A(n.$t(`git.files`,{count:N.value.filesChanged},N.value.filesChanged)),1),N.value.insertions>0?(t(),x(`span`,jt,` +`+A(N.value.insertions),1)):C(``,!0),N.value.deletions>0?(t(),x(`span`,Mt,` -`+A(N.value.deletions),1)):C(``,!0)])):(t(),x(`div`,Nt)),N.value.workingTree&&(N.value.workingTree.staged>0||N.value.workingTree.modified>0||N.value.workingTree.untracked>0)?(t(),x(`div`,Pt,[p(M,{name:`edit_note`,size:`14px`,color:`grey-6`}),N.value.workingTree.staged>0?(t(),x(`span`,Ft,A(n.$t(`git.staged`,{count:N.value.workingTree.staged})),1)):C(``,!0),N.value.workingTree.modified>0?(t(),x(`span`,It,A(n.$t(`git.modified`,{count:N.value.workingTree.modified})),1)):C(``,!0),N.value.workingTree.untracked>0?(t(),x(`span`,Lt,A(n.$t(`git.untracked`,{count:N.value.workingTree.untracked})),1)):C(``,!0)])):(t(),x(`div`,Rt))],64)):C(``,!0),_(`div`,zt,[N.value?.prUrl?(t(),v(P,{key:0,dense:``,"no-caps":``,size:`sm`,outline:``,color:`green-4`,label:n.$t(`git.viewPr`),icon:`open_in_new`,class:`git-btn`,onClick:V},null,8,[`label`])):C(``,!0),N.value?.prUrl&&N.value.prState===`OPEN`?(t(),v(P,{key:1,dense:``,"no-caps":``,size:`sm`,outline:``,color:`grey-5`,icon:`swap_horiz`,loading:b.value,class:`git-btn`,onClick:H},{default:u(()=>[p(X,null,{default:u(()=>[y(A(n.$t(`git.changePrBase`)),1)]),_:1})]),_:1},8,[`loading`])):C(``,!0),!N.value?.prUrl||N.value.prState===`CLOSED`||N.value.prState===`MERGED`?(t(),v(P,{key:2,dense:``,"no-caps":``,size:`sm`,color:`primary`,label:n.$t(`git.createPr`),class:`git-btn`,loading:g.value,disable:!e.workspace||f.value,onClick:te},null,8,[`label`,`loading`,`disable`])):C(``,!0),!N.value||N.value.unpushedCount!==0?(t(),v(P,{key:3,dense:``,"no-caps":``,size:`sm`,outline:``,color:`grey-5`,label:n.$t(`git.push`),class:`git-btn`,loading:f.value,disable:!e.workspace||g.value,onClick:B},null,8,[`label`,`loading`,`disable`])):C(``,!0),p(P,{dense:``,"no-caps":``,size:`sm`,outline:``,color:`orange-4`,label:n.$t(`git.rebase`),class:`git-btn`,loading:m.value,disable:!e.workspace,onClick:z},null,8,[`label`,`loading`,`disable`]),p(P,{dense:``,"no-caps":``,size:`sm`,outline:``,color:`indigo-4`,label:n.$t(`git.diff`),icon:`difference`,class:`git-btn`,disable:!e.workspace,onClick:i[0]||=e=>D.value=!0},null,8,[`label`,`disable`]),k.value?(t(),v(P,{key:4,dense:``,"no-caps":``,size:`sm`,outline:``,color:`indigo-4`,icon:`open_in_new`,label:n.$t(`git.openEditor`),loading:O.value,disable:!e.workspace,class:`git-btn`,onClick:j},null,8,[`label`,`loading`,`disable`])):C(``,!0)])],64)):(t(),x(`div`,Bt,A(n.$t(`common.selectWorkspace`)),1)),p(J,{modelValue:D.value,"onUpdate:modelValue":i[2]||=e=>D.value=e,maximized:``},{default:u(()=>[e.workspace?(t(),v(w(r),{key:0,"workspace-id":e.workspace.id,onClose:i[1]||=e=>D.value=!1,onSendToChat:ee},null,8,[`workspace-id`])):C(``,!0)]),_:1},8,[`modelValue`])]))}}),[[`__scopeId`,`data-v-bbb2b407`]]),Ht={xs:2,sm:4,md:6,lg:10,xl:14};function Ut(e,t,n){return{transform:t===!0?`translateX(${n.lang.rtl===!0?`-`:``}100%) scale3d(${-e},1,1)`:`scale3d(${e},1,1)`}}var Wt=B({name:`QLinearProgress`,props:{...oe,...L,value:{type:Number,default:0},buffer:Number,color:String,trackColor:String,reverse:Boolean,stripe:Boolean,indeterminate:Boolean,query:Boolean,rounded:Boolean,animationSpeed:{type:[String,Number],default:2100},instantFeedback:Boolean},setup(e,{slots:t}){let{proxy:n}=g(),r=ae(e,n.$q),i=F(e,Ht),a=T(()=>e.indeterminate===!0||e.query===!0),o=T(()=>e.reverse!==e.query),s=T(()=>({...i.value===null?{}:i.value,"--q-linear-progress-speed":`${e.animationSpeed}ms`})),c=T(()=>`q-linear-progress`+(e.color===void 0?``:` text-${e.color}`)+(e.reverse===!0||e.query===!0?` q-linear-progress--reverse`:``)+(e.rounded===!0?` rounded-borders`:``)),u=T(()=>Ut(e.buffer===void 0?1:e.buffer,o.value,n.$q)),d=T(()=>`with${e.instantFeedback===!0?`out`:``}-transition`),f=T(()=>`q-linear-progress__track absolute-full q-linear-progress__track--${d.value} q-linear-progress__track--${r.value===!0?`dark`:`light`}`+(e.trackColor===void 0?``:` bg-${e.trackColor}`)),p=T(()=>Ut(a.value===!0?1:e.value,o.value,n.$q)),m=T(()=>`q-linear-progress__model absolute-full q-linear-progress__model--${d.value} q-linear-progress__model--${a.value===!0?`in`:``}determinate`),h=T(()=>({width:`${e.value*100}%`})),_=T(()=>`q-linear-progress__stripe absolute-${e.reverse===!0?`right`:`left`} q-linear-progress__stripe--${d.value}`);return()=>{let n=[l(`div`,{class:f.value,style:u.value}),l(`div`,{class:m.value,style:p.value})];return e.stripe===!0&&a.value===!1&&n.push(l(`div`,{class:_.value,style:h.value})),l(`div`,{class:c.value,style:s.value,role:`progressbar`,"aria-valuemin":0,"aria-valuemax":1,"aria-valuenow":e.indeterminate===!0?void 0:e.value},ie(t.default,n))}}}),Gt={class:`notion-panel q-pa-md`},Kt={class:`row items-center q-mb-sm`},qt={class:`text-caption text-uppercase text-weight-bold text-grey-6`,style:{"letter-spacing":`0.05em`}},Jt={key:0,class:`q-mb-sm`},Yt=[`href`],Xt={key:1,class:`text-caption q-mb-sm text-grey-8`},Zt={key:3,class:`q-mb-sm`},Qt={class:`text-caption text-grey-7`,style:{"font-size":`11px`}},$t={key:4,class:`text-caption text-grey-8 q-mb-sm`,style:{"font-size":`11px`}},en={key:5,class:`task-add-row row items-center q-mb-xs`},tn={key:6,class:`tasks-list`},nn=[`onDblclick`],rn={key:1,class:`text-caption text-grey-8`},an=Y(k({__name:`NotionPanel`,props:{workspace:{},tasks:{}},setup(n){let r=n,{t:a}=S(),o=me(),c=de(),l=s(!1);function d(){r.workspace?.id&&Re(r.workspace.id,c,o)}let f=T(()=>r.tasks.filter(e=>!e.isAcceptanceCriterion)),g=T(()=>f.value.filter(e=>e.status===`done`).length),b=T(()=>f.value.length),w=T(()=>b.value>0?g.value/b.value:0),E=s(!1),O=s(``),k=s(null),j=s(``),ee=s({});function N(e,t){if(t){let n=t.$el??t;ee.value[e]=n}else delete ee.value[e]}async function F(){if(!(!r.workspace?.id||!r.workspace.notionUrl)){l.value=!0;try{let e=await fetch(`/api/workspaces/${r.workspace.id}/refresh-notion`,{method:`POST`});if(!e.ok)throw Error(`HTTP ${e.status}`);o.fetchWorkspaceDetails(r.workspace.id)}catch(e){console.error(`Failed to refresh from Notion:`,e)}finally{l.value=!1}}}function I(){E.value=!0,O.value=``}async function L(){let e=O.value.trim();if(!(!e||!r.workspace?.id))try{await o.createTask(r.workspace.id,e,!1),O.value=``,E.value=!1}catch{}}function R(){O.value=``,E.value=!1}function B(t){k.value=t.id,j.value=t.title,e(()=>{let e=ee.value[t.id]?.querySelector(`input, textarea`);e?.focus(),e?.select()})}async function V(e){if(k.value!==e.id)return;let t=j.value.trim(),n=e.id;if(k.value=null,!(!t||t===e.title)&&r.workspace?.id)try{await o.updateTaskTitle(r.workspace.id,n,t)}catch{}}function H(){k.value=null,j.value=``}async function te(e){if(r.workspace?.id)try{await o.deleteTask(r.workspace.id,e.id)}catch{}}async function U(e){if(!r.workspace?.id)return;let t=e.status===`done`?`pending`:`done`;try{let n=await fetch(`/api/workspaces/${e.workspaceId}/tasks/${e.id}`,{method:`PATCH`,headers:{"Content-Type":`application/json`},body:JSON.stringify({status:t})});if(!n.ok)throw Error(`HTTP ${n.status}`);o.fetchWorkspaceDetails(r.workspace.id)}catch(e){console.error(`Failed to toggle task:`,e)}}function W(e){switch(e){case`done`:return`check_circle`;case`in_progress`:return`timelapse`;default:return`radio_button_unchecked`}}function ne(e){switch(e){case`done`:return`#4ade80`;case`in_progress`:return`#f59e0b`;default:return`#888`}}return(e,r)=>(t(),x(`div`,Gt,[_(`div`,Kt,[_(`div`,qt,A(e.$t(`notion.title`)),1),p(Te),n.workspace?(t(),v(P,{key:0,flat:``,dense:``,round:``,size:`xs`,icon:`fact_check`,color:`grey-5`,onClick:d},{default:u(()=>[p(X,null,{default:u(()=>[y(A(e.$t(`tasks.askProgress`)),1)]),_:1})]),_:1})):C(``,!0),n.workspace?(t(),v(P,{key:1,flat:``,dense:``,round:``,size:`xs`,icon:`add`,color:`indigo-4`,onClick:I},{default:u(()=>[p(X,null,{default:u(()=>[y(A(e.$t(`tooltip.addNotionTask`)),1)]),_:1})]),_:1})):C(``,!0)]),n.workspace?(t(),x(h,{key:0},[n.workspace.notionUrl?(t(),x(`div`,Jt,[_(`a`,{href:n.workspace.notionUrl,target:`_blank`,rel:`noopener noreferrer`,class:`notion-link text-caption items-center text-blue-4`},[p(M,{name:`open_in_new`,size:`12px`,class:`q-mr-xs`}),y(` `+A(e.$t(`notion.openInNotion`)),1)],8,Yt)])):(t(),x(`div`,Xt,A(e.$t(`notion.noUrl`)),1)),n.workspace.notionUrl?(t(),v(P,{key:2,flat:``,dense:``,"no-caps":``,size:`xs`,icon:`refresh`,label:e.$t(`common.refresh`),color:`grey-6`,class:`q-mb-sm`,loading:l.value,onClick:F},null,8,[`label`,`loading`])):C(``,!0),b.value>0?(t(),x(`div`,Zt,[p(Wt,{value:w.value,color:`primary`,"track-color":`grey-9`,class:`q-mb-xs`,style:{height:`4px`,"border-radius":`2px`}},null,8,[`value`]),_(`div`,Qt,A(e.$t(`notion.subtasks`,{done:g.value,total:b.value})),1)])):E.value?C(``,!0):(t(),x(`div`,$t,A(e.$t(`notion.noTasks`)),1)),E.value?(t(),x(`div`,en,[p(Se,{modelValue:O.value,"onUpdate:modelValue":r[0]||=e=>O.value=e,dark:``,dense:``,borderless:``,autofocus:``,placeholder:e.$t(`notion.newTask`),class:`col task-input`,"input-class":`task-input-inner`,onKeydown:[K(z(L,[`prevent`]),[`enter`]),K(z(R,[`prevent`]),[`esc`])]},null,8,[`modelValue`,`placeholder`,`onKeydown`])])):C(``,!0),f.value.length>0?(t(),x(`div`,tn,[(t(!0),x(h,null,i(f.value,n=>(t(),x(`div`,{key:n.id,class:`task-item row items-center q-py-xxs`},[p(M,{name:W(n.status),size:`14px`,style:D({color:ne(n.status)}),class:`q-mr-xs cursor-pointer`,onClick:e=>U(n)},null,8,[`name`,`style`,`onClick`]),k.value===n.id?(t(),v(Se,{key:0,ref_for:!0,ref:e=>N(n.id,e),modelValue:j.value,"onUpdate:modelValue":r[1]||=e=>j.value=e,dark:``,dense:``,borderless:``,class:`col task-input`,"input-class":`task-input-inner`,onKeydown:[K(z(e=>V(n),[`prevent`]),[`enter`]),K(z(H,[`prevent`]),[`esc`])],onBlur:e=>V(n)},null,8,[`modelValue`,`onKeydown`,`onBlur`])):(t(),x(h,{key:1},[_(`span`,{class:m([`col task-title text-caption`,{"text-strike":n.status===`done`}]),style:D({color:n.status===`done`?`#4ade80`:`#ccc`}),onDblclick:e=>B(n)},A(n.title),47,nn),p(P,{flat:``,dense:``,round:``,size:`xs`,icon:`close`,color:`grey-6`,class:`task-delete-btn`,onClick:e=>te(n)},{default:u(()=>[p(X,null,{default:u(()=>[y(A(e.$t(`tooltip.removeNotionTask`)),1)]),_:1})]),_:1},8,[`onClick`])],64))]))),128))])):C(``,!0)],64)):(t(),x(`div`,rn,A(e.$t(`common.selectWorkspace`)),1))]))}}),[[`__scopeId`,`data-v-99e38dbd`]]),on={class:`stats-panel q-pa-md`},sn={class:`row items-center q-mb-md`},cn={class:`text-caption text-uppercase text-weight-bold text-grey-6`,style:{"letter-spacing":`0.05em`}},ln={class:`stat-group-label q-mb-xs`},un={class:`stat-row`},dn={class:`stat-label`},fn={class:`stat-value`},pn={class:`stat-row`},mn={class:`stat-label`},hn={class:`stat-value`},gn={key:0,class:`stat-row`},_n={class:`stat-label`},vn={class:`stat-value stat-value-ellipsis`},yn={class:`stat-row`},bn={class:`stat-label`},xn={class:`stat-value`},Sn={class:`stat-row`},Cn={class:`stat-label`},wn={class:`stat-value`},Tn={class:`stat-group-label q-mb-xs`},En={class:`stat-row`},Dn={class:`stat-label`},On={class:`stat-value`},kn={key:1,class:`stat-row`},An={class:`stat-label`},jn={class:`stat-value`},Mn={key:2,class:`stat-row`},Nn={class:`stat-label`},Pn={class:`stat-value`},Fn={key:3,class:`stat-row`},In={class:`stat-label`},Ln={class:`stat-value`},Rn={key:4,class:`stat-row`},zn={class:`stat-label`},Bn={class:`stat-value`},Vn={class:`stat-group-label q-mb-xs`},Hn={class:`stat-row`},Un={class:`stat-label`},Wn={class:`stat-value`},Gn={class:`stat-row`},Kn={class:`stat-label`},qn={class:`stat-value`},Jn={class:`stat-row`},Yn={class:`stat-label`},Xn={class:`stat-value`},Zn={key:5,class:`stat-row`},Qn={class:`stat-label text-red-4`},$n={class:`stat-value text-red-4`},er={key:6},tr={class:`stat-group-label q-mb-xs`},nr={class:`stat-row`},rr={class:`stat-label`},ir={class:`stat-value`},ar={class:`stat-row`},or={class:`stat-label`},sr={class:`stat-value`},cr={class:`stat-row`},lr={class:`stat-label`},ur={class:`stat-value`},dr={key:0,class:`stat-row`},fr={class:`stat-label`},pr={class:`stat-value`},mr={key:7},hr={class:`stat-group-label q-mb-xs`},gr={class:`stat-row`},_r={class:`stat-label`},vr={class:`stat-value`},yr={key:0,class:`stat-row`},br={class:`stat-label`},xr={class:`stat-value`},Sr={key:1,class:`stat-row`},Cr={class:`stat-label`},wr={class:`stat-value`},Tr={key:8},Er={class:`stat-group-label q-mb-xs`},Dr={key:0,class:`q-mb-xs`},Or={class:`stat-row q-mb-xxs`},kr={class:`stat-label`},Ar={class:`stat-value`},jr={key:1},Mr={class:`stat-row q-mb-xxs`},Nr={class:`stat-label`},Pr={class:`stat-value`},Fr={key:1,class:`text-caption text-grey-8`},Ir=Y(k({__name:`StatsPanel`,props:{workspace:{}},setup(e){let{t:n}=S(),r=me(),{timeAgo:i}=ze(),a=T(()=>{let e=r.selectedWorkspaceId;if(!e)return null;let t=r.activityFeeds[e]??[],n=r.sessions,i=Object.values(r.subagents[e]??{}),a=r.tasks,o=r.selectedWorkspace,s=r.activityCounts[e]??{toolUses:0,agentMessages:0,userMessages:0,errors:0},c=s.toolUses,l=s.agentMessages,u=s.userMessages,d=s.errors,f=n.length,p=n.filter(e=>e.status===`completed`).length,m=i.length,h=i.filter(e=>e.status===`done`).length,g=i.reduce((e,t)=>e+(t.totalTokens??0),0),_=i.reduce((e,t)=>e+(t.toolUses??0),0),v=a.filter(e=>!e.isAcceptanceCriterion).length,y=a.filter(e=>!e.isAcceptanceCriterion&&e.status===`done`).length,b=a.filter(e=>e.isAcceptanceCriterion).length,x=a.filter(e=>e.isAcceptanceCriterion&&e.status===`done`).length,S=o?.createdAt?new Date(o.createdAt):null,C=o?.updatedAt?new Date(o.updatedAt):null,w=S?Date.now()-S.getTime():0,T=null,E=null;for(let e=t.length-1;e>=0;e--){let n=t[e];if(!T&&n.meta?.sender===`user`&&(T=new Date(n.timestamp)),!E&&n.type===`text`&&n.meta?.sender!==`user`&&n.meta?.sender!==`system-prompt`&&(E=new Date(n.timestamp)),T&&E)break}let D=n.length>0?new Date(n[n.length-1].startedAt):null,O=r.usageStats[e]??{inputTokens:0,outputTokens:0,costUsd:0,sessionCount:0},k=o?.model??`auto`,A=o?.workingBranch??``,j=o?.status??``;return{toolUses:c,agentMessages:l,userMessages:u,errors:d,totalSessions:f,completedSessions:p,totalSubagents:m,doneSubagents:h,totalSubagentTokens:g,totalSubagentTools:_,totalTasks:v,doneTasks:y,totalCriteria:b,doneCriteria:x,durationMs:w,createdAt:S,updatedAt:C,lastPromptAt:T,lastAgentResponseAt:E,firstSessionAt:D,model:k,branch:A,status:j,usage:O}});function o(e){let t=Math.floor(e/6e4);if(t<60)return`${t}m`;let n=Math.floor(t/60),r=t%60;return n<24?`${n}h ${r}m`:`${Math.floor(n/24)}d ${n%24}h`}function s(e){return e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(1)}k`:String(e)}function c(e){return e.toLocaleDateString(void 0,{day:`2-digit`,month:`2-digit`,year:`numeric`})}function l(e){return e.toLocaleTimeString(void 0,{hour:`2-digit`,minute:`2-digit`})}function d(e){return`${c(e)} ${l(e)}`}return(n,c)=>(t(),x(`div`,on,[_(`div`,sn,[_(`div`,cn,A(n.$t(`stats.title`)),1),p(Te),e.workspace?(t(),v(P,{key:0,flat:``,round:``,dense:``,size:`xs`,icon:`refresh`,color:`grey-6`,onClick:c[0]||=t=>w(r).fetchWorkspaceDetails(e.workspace.id)},{default:u(()=>[p(X,null,{default:u(()=>[y(A(n.$t(`tooltip.refreshStats`)),1)]),_:1})]),_:1})):C(``,!0)]),e.workspace&&a.value?(t(),x(h,{key:0},[_(`div`,ln,A(n.$t(`stats.info`)),1),_(`div`,un,[_(`span`,dn,A(n.$t(`stats.status`)),1),_(`span`,fn,A(a.value.status),1)]),_(`div`,pn,[_(`span`,mn,A(n.$t(`stats.model`)),1),_(`span`,hn,A(a.value.model),1)]),a.value.branch?(t(),x(`div`,gn,[_(`span`,_n,A(n.$t(`stats.branch`)),1),_(`span`,vn,A(a.value.branch),1)])):C(``,!0),_(`div`,yn,[_(`span`,bn,A(n.$t(`stats.sessions`)),1),_(`span`,xn,A(a.value.completedSessions)+` / `+A(a.value.totalSessions),1)]),_(`div`,Sn,[_(`span`,Cn,A(n.$t(`stats.duration`)),1),_(`span`,wn,A(o(a.value.durationMs)),1)]),p(q,{dark:``,class:`q-my-sm`}),_(`div`,Tn,A(n.$t(`stats.timeline`)),1),_(`div`,En,[_(`span`,Dn,A(n.$t(`stats.created`)),1),_(`span`,On,A(a.value.createdAt?d(a.value.createdAt):`—`),1)]),a.value.firstSessionAt?(t(),x(`div`,kn,[_(`span`,An,A(n.$t(`stats.firstSession`)),1),_(`span`,jn,A(d(a.value.firstSessionAt)),1)])):C(``,!0),a.value.lastPromptAt?(t(),x(`div`,Mn,[_(`span`,Nn,A(n.$t(`stats.lastPrompt`)),1),_(`span`,Pn,[y(A(w(i)(a.value.lastPromptAt))+` `,1),p(X,null,{default:u(()=>[y(A(d(a.value.lastPromptAt)),1)]),_:1})])])):C(``,!0),a.value.lastAgentResponseAt?(t(),x(`div`,Fn,[_(`span`,In,A(n.$t(`stats.lastResponse`)),1),_(`span`,Ln,[y(A(w(i)(a.value.lastAgentResponseAt))+` `,1),p(X,null,{default:u(()=>[y(A(d(a.value.lastAgentResponseAt)),1)]),_:1})])])):C(``,!0),a.value.updatedAt?(t(),x(`div`,Rn,[_(`span`,zn,A(n.$t(`stats.updated`)),1),_(`span`,Bn,A(w(i)(a.value.updatedAt)),1)])):C(``,!0),p(q,{dark:``,class:`q-my-sm`}),_(`div`,Vn,A(n.$t(`stats.activity`)),1),_(`div`,Hn,[_(`span`,Un,A(n.$t(`stats.agentMessages`)),1),_(`span`,Wn,A(a.value.agentMessages),1)]),_(`div`,Gn,[_(`span`,Kn,A(n.$t(`stats.userMessages`)),1),_(`span`,qn,A(a.value.userMessages),1)]),_(`div`,Jn,[_(`span`,Yn,A(n.$t(`stats.toolCalls`)),1),_(`span`,Xn,A(a.value.toolUses),1)]),a.value.errors>0?(t(),x(`div`,Zn,[_(`span`,Qn,A(n.$t(`stats.errors`)),1),_(`span`,$n,A(a.value.errors),1)])):C(``,!0),a.value.usage.inputTokens>0||a.value.usage.outputTokens>0?(t(),x(`div`,er,[p(q,{dark:``,class:`q-my-sm`}),_(`div`,tr,A(n.$t(`stats.usage`)),1),_(`div`,nr,[_(`span`,rr,A(n.$t(`stats.inputTokens`)),1),_(`span`,ir,A(s(a.value.usage.inputTokens)),1)]),_(`div`,ar,[_(`span`,or,A(n.$t(`stats.outputTokens`)),1),_(`span`,sr,A(s(a.value.usage.outputTokens)),1)]),_(`div`,cr,[_(`span`,lr,A(n.$t(`stats.totalTokens`)),1),_(`span`,ur,A(s(a.value.usage.inputTokens+a.value.usage.outputTokens)),1)]),a.value.usage.costUsd>0?(t(),x(`div`,dr,[_(`span`,fr,A(n.$t(`stats.cost`)),1),_(`span`,pr,`$`+A(a.value.usage.costUsd.toFixed(4)),1)])):C(``,!0)])):C(``,!0),a.value.totalSubagents>0?(t(),x(`div`,mr,[p(q,{dark:``,class:`q-my-sm`}),_(`div`,hr,A(n.$t(`stats.subagents`)),1),_(`div`,gr,[_(`span`,_r,A(n.$t(`stats.completed`)),1),_(`span`,vr,A(a.value.doneSubagents)+` / `+A(a.value.totalSubagents),1)]),a.value.totalSubagentTokens>0?(t(),x(`div`,yr,[_(`span`,br,A(n.$t(`stats.tokens`)),1),_(`span`,xr,A(s(a.value.totalSubagentTokens)),1)])):C(``,!0),a.value.totalSubagentTools>0?(t(),x(`div`,Sr,[_(`span`,Cr,A(n.$t(`stats.toolCalls`)),1),_(`span`,wr,A(a.value.totalSubagentTools),1)])):C(``,!0)])):C(``,!0),a.value.totalTasks>0||a.value.totalCriteria>0?(t(),x(`div`,Tr,[p(q,{dark:``,class:`q-my-sm`}),_(`div`,Er,A(n.$t(`stats.progress`)),1),a.value.totalTasks>0?(t(),x(`div`,Dr,[_(`div`,Or,[_(`span`,kr,A(n.$t(`stats.tasks`)),1),_(`span`,Ar,A(a.value.doneTasks)+` / `+A(a.value.totalTasks),1)]),p(Wt,{value:a.value.doneTasks/a.value.totalTasks,color:`primary`,"track-color":`grey-9`,style:{height:`3px`,"border-radius":`2px`}},null,8,[`value`])])):C(``,!0),a.value.totalCriteria>0?(t(),x(`div`,jr,[_(`div`,Mr,[_(`span`,Nr,A(n.$t(`stats.acceptanceCriteria`)),1),_(`span`,Pr,A(a.value.doneCriteria)+` / `+A(a.value.totalCriteria),1)]),p(Wt,{value:a.value.doneCriteria/a.value.totalCriteria,color:`green-6`,"track-color":`grey-9`,style:{height:`3px`,"border-radius":`2px`}},null,8,[`value`])])):C(``,!0)])):C(``,!0)],64)):(t(),x(`div`,Fr,A(n.$t(`common.selectWorkspace`)),1))]))}}),[[`__scopeId`,`data-v-3d3e6cd8`]]),Lr={class:`subagents-panel q-pa-md`},Rr={class:`text-caption text-uppercase text-weight-bold text-grey-6 q-mb-sm`,style:{"letter-spacing":`0.05em`}},zr={key:0,class:`text-caption text-grey-8`},Br={class:`row items-center q-mb-xs`},Vr={class:`text-caption text-weight-medium text-grey-3 ellipsis`,style:{"max-width":`220px`}},Hr={key:0,class:`text-caption text-grey-6`,style:{"font-size":`10px`}},Ur={class:`text-grey-4`},Wr={class:`row items-center q-gutter-xs q-mt-xs text-caption text-grey-7`,style:{"font-size":`10px`}},Gr={key:0},Kr={key:1},qr={key:2},Jr=Y(k({__name:`SubagentsPanel`,setup(e){let{t:n}=S(),r=me(),a=T(()=>[...r.currentSubagents].reverse());function o(e){return e?e<1e3?`${e}ms`:e<6e4?`${(e/1e3).toFixed(1)}s`:`${Math.floor(e/6e4)}m ${Math.floor(e%6e4/1e3)}s`:``}function s(e){return e?e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(1)}k`:String(e):``}return(e,n)=>(t(),x(`div`,Lr,[_(`div`,Rr,A(e.$t(`subagents.title`)),1),a.value.length===0?(t(),x(`div`,zr,A(e.$t(`subagents.empty`)),1)):C(``,!0),(t(!0),x(h,null,i(a.value,n=>(t(),x(`div`,{key:n.toolUseId,class:`subagent-item q-mb-sm rounded-borders q-pa-sm`},[_(`div`,Br,[p(M,{name:n.status===`running`?`play_circle`:`check_circle`,size:`14px`,color:n.status===`running`?`green-4`:`grey-6`,class:`q-mr-xs`},null,8,[`name`,`color`]),_(`span`,Vr,A(n.description||n.toolUseId),1)]),n.lastToolName?(t(),x(`div`,Hr,[y(A(e.$t(`subagents.running`)),1),_(`span`,Ur,A(n.lastToolName),1)])):C(``,!0),_(`div`,Wr,[n.toolUses===void 0?C(``,!0):(t(),x(`span`,Gr,A(e.$t(`subagents.tools`,{count:n.toolUses})),1)),n.totalTokens?(t(),x(`span`,Kr,`· `+A(s(n.totalTokens))+` tok`,1)):C(``,!0),n.durationMs?(t(),x(`span`,qr,`· `+A(o(n.durationMs)),1)):C(``,!0)])]))),128))]))}}),[[`__scopeId`,`data-v-81ad2481`]]),Yr={class:`tools-panel q-px-md q-py-sm`},Xr={class:`text-caption text-uppercase text-weight-bold text-grey-5 q-mb-xs`},Zr={key:0,class:`text-caption text-grey-8`},Qr={key:0,class:`text-caption text-grey-8`},$r=Y(k({__name:`ToolsPanel`,props:{workspace:{}},setup(e){let n=e,{t:r}=S(),i=Ie(),a=se(),o=s(!1),l=T(()=>n.workspace?.id??``),d=T(()=>n.workspace?!!a.getProjectByPath(n.workspace.projectPath)?.setupScript:!1);async function f(){if(l.value){o.value=!0;try{let e=await fetch(`/api/workspaces/${l.value}/run-setup-script`,{method:`POST`}),t=await e.json();e.ok?i.notify({type:`positive`,message:r(`tools.setupScriptSuccess`),position:`top`,timeout:3e3}):i.notify({type:`negative`,message:t.error??r(`tools.setupScriptFailed`),position:`top`,timeout:6e3})}catch(e){let t=e instanceof Error?e.message:r(`tools.setupScriptFailed`);i.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{o.value=!1}}}return(n,r)=>{let i=c(`router-link`);return t(),x(`div`,Yr,[_(`div`,Xr,A(n.$t(`tools.title`)),1),e.workspace?(t(),x(h,{key:1},[p(P,{"no-caps":``,dense:``,outline:``,color:`indigo-4`,icon:`replay`,label:n.$t(`tools.runSetupScript`),loading:o.value,disable:!d.value||o.value,class:`full-width q-mb-xs`,onClick:f},{default:u(()=>[p(X,null,{default:u(()=>[y(A(n.$t(`tools.runSetupScriptTooltip`)),1)]),_:1})]),_:1},8,[`label`,`loading`,`disable`]),d.value?C(``,!0):(t(),x(`div`,Qr,[y(A(n.$t(`tools.noSetupScript`))+` `,1),p(i,{to:`/settings`,style:{color:`#6c63ff`}},{default:u(()=>[y(A(n.$t(`devServer.goToSettings`)),1)]),_:1})]))],64)):(t(),x(`div`,Zr,A(n.$t(`devServer.noWorkspace`)),1))])}}}),[[`__scopeId`,`data-v-64fae402`]]);function ei(e){if(e===!1)return 0;if(e===!0||e===void 0)return 1;let t=parseInt(e,10);return isNaN(t)?0:t}var $=te({name:`close-popup`,beforeMount(e,{value:t}){let n={depth:ei(t),handler(t){n.depth!==0&&setTimeout(()=>{let r=H(e);r!==void 0&&V(r,t,n.depth)})},handlerKey(e){j(e,13)===!0&&n.handler(e)}};e.__qclosepopup=n,e.addEventListener(`click`,n.handler),e.addEventListener(`keyup`,n.handlerKey)},updated(e,{value:t,oldValue:n}){t!==n&&(e.__qclosepopup.depth=ei(t))},beforeUnmount(e){let t=e.__qclosepopup;e.removeEventListener(`click`,t.handler),e.removeEventListener(`keyup`,t.handlerKey),delete e.__qclosepopup}}),ti={class:`workspace-list column full-height`},ni={class:`wl-header row items-center justify-between q-px-md q-py-sm`},ri={class:`text-caption text-uppercase text-weight-bold text-grey-6`,style:{"letter-spacing":`0.05em`}},ii={class:`row items-center q-gutter-xs`},ai={class:`q-px-md q-pb-sm`},oi={class:`col overflow-auto`},si={key:0,class:`wl-group q-mt-xs`},ci={class:`text-caption text-weight-bold q-ml-xs text-red-5`},li={key:0,class:`wl-project-label q-px-md q-pt-xs`},ui={class:`text-caption text-grey-7`},di=[`onClick`],fi={class:`col`,style:{"min-width":`0`}},pi={class:`row items-center no-wrap q-gutter-xs`},mi={key:0,class:`dd-dot dd-dot--running`},hi={class:`text-caption q-mt-xs`},gi={class:`text-red-5`},_i={class:`q-ml-xs text-grey-8`},vi={key:1,class:`wl-group q-mt-xs`},yi={class:`text-caption text-weight-bold q-ml-xs text-green-4`},bi={key:0,class:`wl-project-label q-px-md q-pt-xs`},xi={class:`text-caption text-grey-7`},Si=[`onClick`],Ci={class:`col`,style:{"min-width":`0`}},wi={class:`row items-center no-wrap q-gutter-xs`},Ti={key:0,class:`dd-dot dd-dot--running`},Ei={class:`text-caption q-mt-xs`},Di={class:`text-green-4`},Oi={class:`q-ml-xs text-grey-8`},ki={key:2,class:`wl-group q-mt-xs`},Ai={class:`text-caption text-weight-bold q-ml-xs text-grey-6`},ji={key:0,class:`wl-project-label q-px-md q-pt-xs`},Mi={class:`text-caption text-grey-7`},Ni=[`onClick`],Pi={class:`col`,style:{"min-width":`0`}},Fi={class:`row items-center no-wrap q-gutter-xs`},Ii={key:0,class:`dd-dot dd-dot--running`},Li={class:`wl-item-meta text-caption text-grey-8`},Ri={key:3,class:`wl-group q-mt-xs`},zi={class:`text-caption text-weight-bold q-ml-xs text-grey-7`},Bi={class:`col`,style:{"min-width":`0`}},Vi={class:`wl-item-name text-body2 text-grey-5 ellipsis`},Hi={class:`wl-item-meta text-caption text-grey-8`},Ui={key:4,class:`q-pa-lg text-center text-grey-6 text-caption`},Wi={class:`q-px-md q-py-xs text-caption text-grey-8`},Gi={class:`text-h6`},Ki={class:`text-body2 q-mb-sm text-grey-6`},qi={class:`text-caption q-mb-md text-grey-7`,style:{"font-family":`monospace`}},Ji={class:`column q-gutter-xs`},Yi={key:0,class:`text-caption q-mt-sm text-red-5`},Xi=Y(k({__name:`WorkspaceList`,setup(e){let{t:n}=S(),{timeAgo:r}=ze(),o=me(),c=de(),l=ce(),f=se(),g=Ce(),b=s(``);function E(e){let t=new Map;for(let n of e){let e=n.projectPath;t.has(e)||t.set(e,[]),t.get(e).push(n)}return[...t.entries()].map(([e,t])=>({projectPath:e,projectName:e.split(`/`).pop()??e,workspaces:t}))}let O=T(()=>o.needsAttention.filter(e=>e.name.toLowerCase().includes(b.value.toLowerCase()))),k=T(()=>o.running.filter(e=>e.name.toLowerCase().includes(b.value.toLowerCase()))),j=T(()=>o.idle.filter(e=>e.name.toLowerCase().includes(b.value.toLowerCase()))),ee=T(()=>E(O.value)),N=T(()=>E(k.value)),F=T(()=>E(j.value)),I=T(()=>o.workspaces.length),L=T(()=>o.running.length),R=s(!0),B=s(!0),V=s(!0),H=s(!1);async function te(){H.value=!H.value,H.value&&!o.archivedLoaded&&await o.fetchArchivedWorkspaces()}let U=s(!1),W=s(null),ne=s(!1),G=s(!1),K=s(!1);function ie(e,t){t.stopPropagation(),W.value=e,ne.value=!0,G.value=!1,U.value=!0}async function ae(){if(!W.value)return;let e=W.value.id;K.value=!0;try{await o.deleteWorkspace(e,{deleteLocalBranch:ne.value,deleteRemoteBranch:G.value}),c.unsubscribe(e),U.value=!1,o.selectedWorkspaceId===null&&g.push({name:`workspace`})}catch(e){console.error(`Delete failed:`,e)}finally{K.value=!1}}async function oe(e,t){t.stopPropagation();try{await o.archiveWorkspace(e.id),o.selectedWorkspaceId===null&&g.push({name:`workspace`})}catch(e){console.error(`Archive failed:`,e)}}async function le(e,t){t.stopPropagation();try{await o.unarchiveWorkspace(e.id),f.getProjectByPath(e.projectPath)?.devServer?.startCommand&&l.fetchStatus(e.id)}catch(e){console.error(`Unarchive failed:`,e)}}function ue(e){o.selectWorkspace(e),g.push({name:`workspace`,params:{id:e}})}function fe(e){let t=`${e.projectPath}/.worktrees/${e.workingBranch}`;navigator.clipboard.writeText(t).catch(()=>{})}async function pe(e){try{let t=await fetch(`/api/workspaces/${e.id}/open-editor`,{method:`POST`});if(!t.ok){let e=await t.json();console.error(`[workspace-list] open-editor failed:`,e.error)}}catch(e){console.error(`[workspace-list] open-editor failed:`,e)}}async function he(e){try{await fetch(`/api/workspaces/${e.id}/run-setup-script`,{method:`POST`})}catch(e){console.error(`[workspace-list] run-setup-script failed:`,e)}}function ge(){g.push({name:`create`})}function _e(){g.push({name:`settings`})}return a(async()=>{await o.fetchWorkspaces(),await o.fetchArchivedWorkspaces(),await f.fetchSettings();for(let e of o.workspaces)c.subscribe(e.id),f.getProjectByPath(e.projectPath)?.devServer?.startCommand&&l.fetchStatus(e.id)}),(e,n)=>(t(),x(h,null,[_(`div`,ti,[_(`div`,ni,[_(`span`,ri,A(e.$t(`workspaceList.title`)),1),_(`div`,ii,[w(c).connected?(t(),v(Ee,{key:0,rounded:``,color:`positive`,style:{width:`8px`,height:`8px`,"min-width":`8px`,padding:`0`}})):(t(),v(Ee,{key:1,rounded:``,color:`negative`,style:{width:`8px`,height:`8px`,"min-width":`8px`,padding:`0`}})),p(P,{flat:``,round:``,dense:``,icon:`settings`,size:`sm`,color:`grey-5`,onClick:_e}),p(P,{flat:``,round:``,dense:``,icon:`add`,size:`sm`,color:`grey-5`,onClick:ge})])]),_(`div`,ai,[p(Se,{modelValue:b.value,"onUpdate:modelValue":n[0]||=e=>b.value=e,dense:``,dark:``,placeholder:e.$t(`common.search`),class:`wl-search rounded-borders`,borderless:``},{prepend:u(()=>[p(M,{name:`search`,size:`xs`,color:`grey-6`})]),_:1},8,[`modelValue`,`placeholder`])]),p(q,{dark:``}),_(`div`,oi,[O.value.length>0?(t(),x(`div`,si,[_(`div`,{class:`wl-group-header row items-center q-px-md q-py-xs cursor-pointer non-selectable`,onClick:n[1]||=e=>R.value=!R.value},[p(M,{name:R.value?`expand_more`:`chevron_right`,size:`xs`,color:`red-5`},null,8,[`name`]),_(`span`,ci,A(e.$t(`workspaceList.needsAttention`)),1),p(Ee,{label:O.value.length,color:`red-9`,"text-color":`white`,class:`q-ml-auto`,style:{"font-size":`10px`}},null,8,[`label`])]),d(_(`div`,null,[(t(!0),x(h,null,i(ee.value,a=>(t(),x(`div`,{key:a.projectPath,class:`wl-project-group`},[ee.value.length>1?(t(),x(`div`,li,[p(M,{name:`folder`,size:`12px`,color:`grey-7`,class:`q-mr-xs`}),_(`span`,ui,A(a.projectName),1)])):C(``,!0),(t(!0),x(h,null,i(a.workspaces,i=>(t(),x(`div`,{key:i.id,class:m([`wl-item cursor-pointer q-pa-sm q-mx-xs rounded-borders`,{"wl-item--selected":i.id===w(o).selectedWorkspaceId}]),style:{"border-left":`3px solid #ef4444`},onClick:e=>ue(i.id),onContextmenu:n[2]||=z(()=>{},[`prevent`])},[p(Le,{dark:``,"context-menu":``},{default:u(()=>[p(Fe,{dense:``,style:{"min-width":`180px`}},{default:u(()=>[d((t(),v(Z,{clickable:``,onClick:e=>fe(i)},{default:u(()=>[p(Q,{side:``},{default:u(()=>[p(M,{name:`content_copy`,size:`xs`})]),_:1}),p(Q,null,{default:u(()=>[y(A(e.$t(`contextMenu.copyPath`)),1)]),_:1})]),_:1},8,[`onClick`])),[[$]]),w(f).global.editorCommand?d((t(),v(Z,{key:0,clickable:``,onClick:e=>pe(i)},{default:u(()=>[p(Q,{side:``},{default:u(()=>[p(M,{name:`open_in_new`,size:`xs`})]),_:1}),p(Q,null,{default:u(()=>[y(A(e.$t(`contextMenu.openEditor`)),1)]),_:1})]),_:1},8,[`onClick`])),[[$]]):C(``,!0),d((t(),v(Z,{clickable:``,onClick:e=>he(i)},{default:u(()=>[p(Q,{side:``},{default:u(()=>[p(M,{name:`replay`,size:`xs`})]),_:1}),p(Q,null,{default:u(()=>[y(A(e.$t(`contextMenu.runSetup`)),1)]),_:1})]),_:1},8,[`onClick`])),[[$]]),p(q,{dark:``}),d((t(),v(Z,{clickable:``,onClick:e=>oe(i,e)},{default:u(()=>[p(Q,{side:``},{default:u(()=>[p(M,{name:`archive`,size:`xs`})]),_:1}),p(Q,null,{default:u(()=>[y(A(e.$t(`common.archive`)),1)]),_:1})]),_:1},8,[`onClick`])),[[$]]),d((t(),v(Z,{clickable:``,onClick:e=>ie(i,e),class:`text-red-5`},{default:u(()=>[p(Q,{side:``},{default:u(()=>[p(M,{name:`delete_outline`,size:`xs`,color:`red-5`})]),_:1}),p(Q,null,{default:u(()=>[y(A(e.$t(`common.delete`)),1)]),_:1})]),_:1},8,[`onClick`])),[[$]])]),_:2},1024)]),_:2},1024),_(`div`,fi,[_(`div`,pi,[w(l).getStatus(i.id)?.status===`running`?(t(),x(`div`,mi)):C(``,!0),_(`div`,{class:`wl-item-name text-body2 text-grey-3 ellipsis`,style:D({fontWeight:i.hasUnread?700:400,opacity:i.hasUnread?1:.75})},A(i.name),5)]),_(`div`,hi,[p(M,{name:`warning`,size:`xs`,color:`red-5`,class:`q-mr-xs`}),_(`span`,gi,A(i.status),1),_(`span`,_i,`· `+A(w(r)(i.updatedAt)),1)])])],42,di))),128))]))),128))],512),[[re,R.value]])])):C(``,!0),k.value.length>0?(t(),x(`div`,vi,[_(`div`,{class:`wl-group-header row items-center q-px-md q-py-xs cursor-pointer non-selectable`,onClick:n[3]||=e=>B.value=!B.value},[p(M,{name:B.value?`expand_more`:`chevron_right`,size:`xs`,color:`green-5`},null,8,[`name`]),_(`span`,yi,A(e.$t(`workspaceList.running`)),1),p(Ee,{label:k.value.length,color:`green-9`,"text-color":`white`,class:`q-ml-auto`,style:{"font-size":`10px`}},null,8,[`label`])]),d(_(`div`,null,[(t(!0),x(h,null,i(N.value,a=>(t(),x(`div`,{key:a.projectPath,class:`wl-project-group`},[N.value.length>1?(t(),x(`div`,bi,[p(M,{name:`folder`,size:`12px`,color:`grey-7`,class:`q-mr-xs`}),_(`span`,xi,A(a.projectName),1)])):C(``,!0),(t(!0),x(h,null,i(a.workspaces,i=>(t(),x(`div`,{key:i.id,class:m([`wl-item cursor-pointer q-pa-sm q-mx-xs rounded-borders`,{"wl-item--selected":i.id===w(o).selectedWorkspaceId}]),style:{"border-left":`3px solid #4ade80`},onClick:e=>ue(i.id),onContextmenu:n[4]||=z(()=>{},[`prevent`])},[p(Le,{dark:``,"context-menu":``},{default:u(()=>[p(Fe,{dense:``,style:{"min-width":`180px`}},{default:u(()=>[d((t(),v(Z,{clickable:``,onClick:e=>fe(i)},{default:u(()=>[p(Q,{side:``},{default:u(()=>[p(M,{name:`content_copy`,size:`xs`})]),_:1}),p(Q,null,{default:u(()=>[y(A(e.$t(`contextMenu.copyPath`)),1)]),_:1})]),_:1},8,[`onClick`])),[[$]]),w(f).global.editorCommand?d((t(),v(Z,{key:0,clickable:``,onClick:e=>pe(i)},{default:u(()=>[p(Q,{side:``},{default:u(()=>[p(M,{name:`open_in_new`,size:`xs`})]),_:1}),p(Q,null,{default:u(()=>[y(A(e.$t(`contextMenu.openEditor`)),1)]),_:1})]),_:1},8,[`onClick`])),[[$]]):C(``,!0),d((t(),v(Z,{clickable:``,onClick:e=>he(i)},{default:u(()=>[p(Q,{side:``},{default:u(()=>[p(M,{name:`replay`,size:`xs`})]),_:1}),p(Q,null,{default:u(()=>[y(A(e.$t(`contextMenu.runSetup`)),1)]),_:1})]),_:1},8,[`onClick`])),[[$]]),p(q,{dark:``}),d((t(),v(Z,{clickable:``,onClick:e=>oe(i,e)},{default:u(()=>[p(Q,{side:``},{default:u(()=>[p(M,{name:`archive`,size:`xs`})]),_:1}),p(Q,null,{default:u(()=>[y(A(e.$t(`common.archive`)),1)]),_:1})]),_:1},8,[`onClick`])),[[$]]),d((t(),v(Z,{clickable:``,onClick:e=>ie(i,e),class:`text-red-5`},{default:u(()=>[p(Q,{side:``},{default:u(()=>[p(M,{name:`delete_outline`,size:`xs`,color:`red-5`})]),_:1}),p(Q,null,{default:u(()=>[y(A(e.$t(`common.delete`)),1)]),_:1})]),_:1},8,[`onClick`])),[[$]])]),_:2},1024)]),_:2},1024),_(`div`,Ci,[_(`div`,wi,[w(l).getStatus(i.id)?.status===`running`?(t(),x(`div`,Ti)):C(``,!0),_(`div`,{class:`wl-item-name text-body2 text-grey-3 ellipsis`,style:D({fontWeight:i.hasUnread?700:400,opacity:i.hasUnread?1:.75})},A(i.name),5)]),_(`div`,Ei,[_(`span`,Di,A(i.status),1),_(`span`,Oi,`· `+A(w(r)(i.updatedAt)),1)])])],42,Si))),128))]))),128))],512),[[re,B.value]])])):C(``,!0),j.value.length>0?(t(),x(`div`,ki,[_(`div`,{class:`wl-group-header row items-center q-px-md q-py-xs cursor-pointer non-selectable`,onClick:n[5]||=e=>V.value=!V.value},[p(M,{name:V.value?`expand_more`:`chevron_right`,size:`xs`,color:`grey-6`},null,8,[`name`]),_(`span`,Ai,A(e.$t(`workspaceList.idle`)),1),p(Ee,{label:j.value.length,color:`grey-8`,"text-color":`grey-4`,class:`q-ml-auto`,style:{"font-size":`10px`}},null,8,[`label`])]),d(_(`div`,null,[(t(!0),x(h,null,i(F.value,a=>(t(),x(`div`,{key:a.projectPath,class:`wl-project-group`},[F.value.length>1?(t(),x(`div`,ji,[p(M,{name:`folder`,size:`12px`,color:`grey-7`,class:`q-mr-xs`}),_(`span`,Mi,A(a.projectName),1)])):C(``,!0),(t(!0),x(h,null,i(a.workspaces,i=>(t(),x(`div`,{key:i.id,class:m([`wl-item cursor-pointer q-pa-sm q-mx-xs rounded-borders`,{"wl-item--selected":i.id===w(o).selectedWorkspaceId}]),style:{"border-left":`3px solid #666`},onClick:e=>ue(i.id),onContextmenu:n[6]||=z(()=>{},[`prevent`])},[p(Le,{dark:``,"context-menu":``},{default:u(()=>[p(Fe,{dense:``,style:{"min-width":`180px`}},{default:u(()=>[d((t(),v(Z,{clickable:``,onClick:e=>fe(i)},{default:u(()=>[p(Q,{side:``},{default:u(()=>[p(M,{name:`content_copy`,size:`xs`})]),_:1}),p(Q,null,{default:u(()=>[y(A(e.$t(`contextMenu.copyPath`)),1)]),_:1})]),_:1},8,[`onClick`])),[[$]]),w(f).global.editorCommand?d((t(),v(Z,{key:0,clickable:``,onClick:e=>pe(i)},{default:u(()=>[p(Q,{side:``},{default:u(()=>[p(M,{name:`open_in_new`,size:`xs`})]),_:1}),p(Q,null,{default:u(()=>[y(A(e.$t(`contextMenu.openEditor`)),1)]),_:1})]),_:1},8,[`onClick`])),[[$]]):C(``,!0),d((t(),v(Z,{clickable:``,onClick:e=>he(i)},{default:u(()=>[p(Q,{side:``},{default:u(()=>[p(M,{name:`replay`,size:`xs`})]),_:1}),p(Q,null,{default:u(()=>[y(A(e.$t(`contextMenu.runSetup`)),1)]),_:1})]),_:1},8,[`onClick`])),[[$]]),p(q,{dark:``}),d((t(),v(Z,{clickable:``,onClick:e=>oe(i,e)},{default:u(()=>[p(Q,{side:``},{default:u(()=>[p(M,{name:`archive`,size:`xs`})]),_:1}),p(Q,null,{default:u(()=>[y(A(e.$t(`common.archive`)),1)]),_:1})]),_:1},8,[`onClick`])),[[$]]),d((t(),v(Z,{clickable:``,onClick:e=>ie(i,e),class:`text-red-5`},{default:u(()=>[p(Q,{side:``},{default:u(()=>[p(M,{name:`delete_outline`,size:`xs`,color:`red-5`})]),_:1}),p(Q,null,{default:u(()=>[y(A(e.$t(`common.delete`)),1)]),_:1})]),_:1},8,[`onClick`])),[[$]])]),_:2},1024)]),_:2},1024),_(`div`,Pi,[_(`div`,Fi,[w(l).getStatus(i.id)?.status===`running`?(t(),x(`div`,Ii)):C(``,!0),_(`div`,{class:`wl-item-name text-body2 text-grey-3 ellipsis`,style:D({fontWeight:i.hasUnread?700:400,opacity:i.hasUnread?1:.75})},A(i.name),5)]),_(`div`,Li,A(w(r)(i.updatedAt)),1)])],42,Ni))),128))]))),128))],512),[[re,V.value]])])):C(``,!0),w(o).archived.length>0||H.value?(t(),x(`div`,Ri,[_(`div`,{class:`wl-group-header row items-center q-px-md q-py-xs cursor-pointer non-selectable`,onClick:te},[p(M,{name:H.value?`expand_more`:`chevron_right`,size:`xs`,color:`grey-7`},null,8,[`name`]),p(M,{name:`inventory_2`,size:`xs`,color:`grey-7`,class:`q-ml-xs`}),_(`span`,zi,A(e.$t(`workspaceList.archived`)),1),w(o).archived.length>0?(t(),v(Ee,{key:0,label:w(o).archived.length,color:`grey-9`,"text-color":`grey-5`,class:`q-ml-auto`,style:{"font-size":`10px`}},null,8,[`label`])):C(``,!0)]),d(_(`div`,null,[(t(!0),x(h,null,i(w(o).archived,i=>(t(),x(`div`,{key:i.id,class:`wl-item wl-item--archived q-pa-sm q-mx-xs rounded-borders`,style:{"border-left":`3px solid #555`}},[_(`div`,Bi,[_(`div`,Vi,A(i.name),1),_(`div`,Hi,A(e.$t(`workspaceList.archived`))+` `+A(w(r)(i.archivedAt)),1)]),p(P,{flat:``,round:``,dense:``,icon:`unarchive`,size:`xs`,color:`grey-6`,class:`wl-item-action wl-item-unarchive`,onClick:e=>le(i,e)},{default:u(()=>[p(X,null,{default:u(()=>[y(A(e.$t(`common.unarchive`)),1)]),_:1})]),_:1},8,[`onClick`]),p(P,{flat:``,round:``,dense:``,icon:`delete_outline`,size:`xs`,color:`grey-6`,class:`wl-item-action wl-item-delete`,onClick:e=>ie(i,e)},{default:u(()=>[p(X,null,{default:u(()=>[...n[11]||=[y(`Delete`,-1)]]),_:1})]),_:1},8,[`onClick`])]))),128))],512),[[re,H.value]])])):C(``,!0),O.value.length===0&&k.value.length===0&&j.value.length===0&&w(o).archived.length===0?(t(),x(`div`,Ui,[w(o).loading?(t(),x(h,{key:0},[y(A(e.$t(`common.loading`)),1)],64)):b.value?(t(),x(h,{key:1},[y(A(e.$t(`common.noResults`,{query:b.value})),1)],64)):(t(),x(h,{key:2},[y(A(e.$t(`workspaceList.noWorkspaces`)),1)],64))])):C(``,!0)]),p(q,{dark:``}),_(`div`,Wi,A(e.$t(`workspaceList.footer`,{count:I.value},I.value))+` · `+A(e.$t(`workspaceList.footerRunning`,{count:L.value})),1)]),p(J,{modelValue:U.value,"onUpdate:modelValue":n[10]||=e=>U.value=e,persistent:``},{default:u(()=>[p(ye,{class:`text-grey-3`,style:{"min-width":`360px`,background:`#1e1e3a`}},{default:u(()=>[p(xe,null,{default:u(()=>[_(`div`,Gi,A(e.$t(`workspaceList.deleteDialog.title`)),1)]),_:1}),p(xe,{class:`q-pt-none`},{default:u(()=>[_(`div`,Ki,A(W.value?.name),1),_(`div`,qi,A(W.value?.workingBranch),1),_(`div`,Ji,[p(be,{modelValue:ne.value,"onUpdate:modelValue":n[7]||=e=>ne.value=e,label:e.$t(`workspaceList.deleteDialog.deleteLocal`),dark:``,dense:``,color:`red-5`},null,8,[`modelValue`,`label`]),p(be,{modelValue:G.value,"onUpdate:modelValue":n[8]||=e=>G.value=e,disable:!ne.value,label:e.$t(`workspaceList.deleteDialog.deleteRemote`),dark:``,dense:``,color:`red-5`},null,8,[`modelValue`,`disable`,`label`])]),G.value?(t(),x(`div`,Yi,A(e.$t(`workspaceList.deleteDialog.warning`)),1)):C(``,!0)]),_:1}),p(ve,{align:`right`},{default:u(()=>[p(P,{flat:``,label:e.$t(`common.cancel`),color:`grey-5`,onClick:n[9]||=e=>U.value=!1,disable:K.value},null,8,[`label`,`disable`]),p(P,{flat:``,label:e.$t(`common.delete`),color:`red-5`,loading:K.value,onClick:ae},null,8,[`label`,`loading`])]),_:1})]),_:1})]),_:1},8,[`modelValue`])],64))}}),[[`__scopeId`,`data-v-69c12879`]]),Zi=`kobo:rightTab`,Qi=`at-left-drawer-width`,$i=Y(k({__name:`MainLayout`,setup(e){let n=s(localStorage.getItem(Zi)??`git`);function r(e){n.value=e,localStorage.setItem(Zi,e)}let i=s(!0);s(!0);let a=parseInt(localStorage.getItem(Qi)??`260`,10),o=s(Math.min(500,Math.max(200,a))),l=s(!1);function d(e){e.preventDefault(),l.value=!0;let t=e=>{o.value=Math.min(500,Math.max(200,e.clientX))},n=()=>{l.value=!1,localStorage.setItem(Qi,String(o.value)),document.removeEventListener(`mousemove`,t),document.removeEventListener(`mouseup`,n),document.body.style.cursor=``,document.body.style.userSelect=``};document.body.style.cursor=`col-resize`,document.body.style.userSelect=`none`,document.addEventListener(`mousemove`,t),document.addEventListener(`mouseup`,n)}let f=le(),m=me(),h=T(()=>f.name===`workspace`);return(e,a)=>{let s=c(`router-view`);return t(),v(Ue,{view:`lHh LpR lFf`},{default:u(()=>[p(Ve,{modelValue:i.value,"onUpdate:modelValue":a[0]||=e=>i.value=e,width:o.value,breakpoint:0,persistent:``,bordered:``,class:`bg-dark`},{default:u(()=>[p(Xi),_(`div`,{class:`resize-handle`,onMousedown:d},null,32)]),_:1},8,[`modelValue`,`width`]),p(Ve,{"model-value":h.value,side:`right`,width:300,breakpoint:0,persistent:``,bordered:``,class:`bg-dark`},{default:u(()=>[p(Me,{"model-value":n.value,dense:``,dark:``,"active-color":`indigo-4`,"indicator-color":`indigo-4`,"narrow-indicator":``,shrink:``,"onUpdate:modelValue":r},{default:u(()=>[p(je,{name:`git`,icon:`commit`}),p(je,{name:`server`,icon:`dns`}),p(je,{name:`tasks`,icon:`checklist`}),p(je,{name:`subagents`,icon:`smart_toy`}),p(je,{name:`tools`,icon:`build`}),p(je,{name:`stats`,icon:`bar_chart`})]),_:1},8,[`model-value`]),p(q,{dark:``}),p(Ne,{modelValue:n.value,"onUpdate:modelValue":a[1]||=e=>n.value=e,animated:``,"keep-alive":``},{default:u(()=>[p(Pe,{name:`git`,class:`q-pa-none`},{default:u(()=>[p(Vt,{workspace:w(m).selectedWorkspace},null,8,[`workspace`])]),_:1}),p(Pe,{name:`server`,class:`q-pa-none`},{default:u(()=>[p(ht,{workspace:w(m).selectedWorkspace},null,8,[`workspace`])]),_:1}),p(Pe,{name:`tasks`,class:`q-pa-none`},{default:u(()=>[p(an,{workspace:w(m).selectedWorkspace,tasks:w(m).tasks},null,8,[`workspace`,`tasks`]),p(q,{dark:``}),p(Ze,{tasks:w(m).acceptanceCriteria},null,8,[`tasks`]),p(q,{dark:``}),p(rt)]),_:1}),p(Pe,{name:`subagents`,class:`q-pa-none`},{default:u(()=>[p(Jr)]),_:1}),p(Pe,{name:`tools`,class:`q-pa-none`},{default:u(()=>[p($r,{workspace:w(m).selectedWorkspace},null,8,[`workspace`])]),_:1}),p(Pe,{name:`stats`,class:`q-pa-none`},{default:u(()=>[p(Ir,{workspace:w(m).selectedWorkspace},null,8,[`workspace`])]),_:1})]),_:1},8,[`modelValue`])]),_:1},8,[`model-value`]),p(He,{class:`bg-dark`},{default:u(()=>[p(s)]),_:1})]),_:1})}}}),[[`__scopeId`,`data-v-32be524b`]]);export{$i as default};
@@ -1 +1 @@
1
- import{$ as e,H as t,Q as n,S as r,W as i,b as a,k as o,u as s}from"./vue-i18n-nv59vAyH.js";import{L as c,O as l,V as u,b as d,ct as f,ht as p,st as m,v as h,vt as g,y as _}from"./scroll-CWjBCoBR.js";import{a as v,i as y,o as b}from"./private.use-form-1cZLVjGN.js";import{d as x,u as S}from"./index-BxBqipDT.js";import{n as C,r as w}from"./QMenu-BE-OO3N4.js";import{r as T}from"./QPage-CkDrNXyM.js";var E=f({name:`QSlideTransition`,props:{appear:Boolean,duration:{type:Number,default:300}},emits:[`show`,`hide`],setup(e,{slots:t,emit:n}){let i=!1,a,s,c=null,l=null,u,d;function f(){a?.(),a=null,i=!1,c!==null&&(clearTimeout(c),c=null),l!==null&&(clearTimeout(l),l=null),s?.removeEventListener(`transitionend`,u),u=null}function m(t,n,r){n!==void 0&&(t.style.height=`${n}px`),t.style.transition=`height ${e.duration}ms cubic-bezier(.25, .8, .50, 1)`,i=!0,a=r}function h(e,t){e.style.overflowY=null,e.style.height=null,e.style.transition=null,f(),t!==d&&n(t)}function g(t,n){let r=0;s=t,i===!0?(f(),r=t.offsetHeight===t.scrollHeight?0:void 0):(d=`hide`,t.style.overflowY=`hidden`),m(t,r,n),c=setTimeout(()=>{c=null,t.style.height=`${t.scrollHeight}px`,u=e=>{l=null,(Object(e)!==e||e.target===t)&&h(t,`show`)},t.addEventListener(`transitionend`,u),l=setTimeout(u,e.duration*1.1)},100)}function _(t,n){let r;s=t,i===!0?f():(d=`show`,t.style.overflowY=`hidden`,r=t.scrollHeight),m(t,r,n),c=setTimeout(()=>{c=null,t.style.height=0,u=e=>{l=null,(Object(e)!==e||e.target===t)&&h(t,`hide`)},t.addEventListener(`transitionend`,u),l=setTimeout(u,e.duration*1.1)},100)}return o(()=>{i===!0&&f()}),()=>r(p,{css:!1,appear:e.appear,onEnter:g,onLeave:_},t.default)}}),D=e({}),O=Object.keys(l),k=f({name:`QExpansionItem`,props:{...l,...d,...b,icon:String,label:String,labelLines:[Number,String],caption:String,captionLines:[Number,String],dense:Boolean,toggleAriaLabel:String,expandIcon:String,expandedIcon:String,expandIconClass:[Array,String,Object],duration:{},headerInsetLevel:Number,contentInsetLevel:Number,expandSeparator:Boolean,defaultOpened:Boolean,hideExpandIcon:Boolean,expandIconToggle:Boolean,switchToggleSide:Boolean,denseToggle:Boolean,group:String,popup:Boolean,headerStyle:[Array,String,Object],headerClass:[Array,String,Object]},emits:[..._,`click`,`afterShow`,`afterHide`],setup(e,{slots:l,emit:d}){let{proxy:{$q:f}}=a(),p=v(e,f),_=n(e.modelValue===null?e.defaultOpened:e.modelValue),b=n(null),k=S(),{show:A,hide:j,toggle:M}=h({showing:_}),N,P,F=s(()=>`q-expansion-item q-item-type q-expansion-item--${_.value===!0?`expanded`:`collapsed`} q-expansion-item--${e.popup===!0?`popup`:`standard`}`),I=s(()=>e.contentInsetLevel===void 0?null:{[`padding`+(f.lang.rtl===!0?`Right`:`Left`)]:e.contentInsetLevel*56+`px`}),L=s(()=>e.disable!==!0&&(e.href!==void 0||e.to!==void 0&&e.to!==null&&e.to!==``)),R=s(()=>{let t={};return O.forEach(n=>{t[n]=e[n]}),t}),z=s(()=>L.value===!0||e.expandIconToggle!==!0),B=s(()=>e.expandedIcon!==void 0&&_.value===!0?e.expandedIcon:e.expandIcon||f.iconSet.expansionItem[e.denseToggle===!0?`denseIcon`:`icon`]),V=s(()=>e.disable!==!0&&(L.value===!0||e.expandIconToggle===!0)),H=s(()=>({expanded:_.value===!0,detailsId:k.value,toggle:M,show:A,hide:j})),U=s(()=>{let t=e.toggleAriaLabel===void 0?f.lang.label[_.value===!0?`collapse`:`expand`](e.label):e.toggleAriaLabel;return{role:`button`,"aria-expanded":_.value===!0?`true`:`false`,"aria-controls":k.value,"aria-label":t}});t(()=>e.group,e=>{P?.(),e!==void 0&&Y()});function W(e){L.value!==!0&&M(e),d(`click`,e)}function G(e){e.keyCode===13&&K(e,!0)}function K(e,t){t!==!0&&e.qAvoidFocus!==!0&&b.value?.focus(),M(e),m(e)}function q(){d(`afterShow`)}function J(){d(`afterHide`)}function Y(){N===void 0&&(N=x()),_.value===!0&&(D[e.group]=N);let n=t(_,t=>{t===!0?D[e.group]=N:D[e.group]===N&&delete D[e.group]}),r=t(()=>D[e.group],(e,t)=>{t===N&&e!==void 0&&e!==N&&j()});P=()=>{n(),r(),D[e.group]===N&&delete D[e.group],P=void 0}}function X(){let t={class:[`q-focusable relative-position cursor-pointer${e.denseToggle===!0&&e.switchToggleSide===!0?` items-end`:``}`,e.expandIconClass],side:e.switchToggleSide!==!0,avatar:e.switchToggleSide},n=[r(c,{class:`q-expansion-item__toggle-icon`+(e.expandedIcon===void 0&&_.value===!0?` q-expansion-item__toggle-icon--rotated`:``),name:B.value})];return V.value===!0&&(Object.assign(t,{tabindex:0,...U.value,onClick:K,onKeyup:G}),n.unshift(r(`div`,{ref:b,class:`q-expansion-item__toggle-focus q-icon q-focus-helper q-focus-helper--rounded`,tabindex:-1}))),r(w,t,()=>n)}function Z(){let t;return l.header===void 0?(t=[r(w,()=>[r(T,{lines:e.labelLines},()=>e.label||``),e.caption?r(T,{lines:e.captionLines,caption:!0},()=>e.caption):null])],e.icon&&t[e.switchToggleSide===!0?`push`:`unshift`](r(w,{side:e.switchToggleSide===!0,avatar:e.switchToggleSide!==!0},()=>r(c,{name:e.icon})))):t=[].concat(l.header(H.value)),e.disable!==!0&&e.hideExpandIcon!==!0&&t[e.switchToggleSide===!0?`unshift`:`push`](X()),t}function Q(){let t={ref:`item`,style:e.headerStyle,class:e.headerClass,dark:p.value,disable:e.disable,dense:e.dense,insetLevel:e.headerInsetLevel};return z.value===!0&&(t.clickable=!0,t.onClick=W,Object.assign(t,L.value===!0?R.value:U.value)),r(C,t,Z)}function $(){return i(r(`div`,{key:`e-content`,class:`q-expansion-item__content relative-position`,style:I.value,id:k.value},u(l.default)),[[g,_.value]])}function ee(){let t=[Q(),r(E,{duration:e.duration,onShow:q,onHide:J},$)];return e.expandSeparator===!0&&t.push(r(y,{class:`q-expansion-item__border q-expansion-item__border--top absolute-top`,dark:p.value}),r(y,{class:`q-expansion-item__border q-expansion-item__border--bottom absolute-bottom`,dark:p.value})),t}return e.group!==void 0&&Y(),o(()=>{P?.()}),()=>r(`div`,{class:F.value},[r(`div`,{class:`q-expansion-item__container relative-position`},ee())])}});export{k as t};
1
+ import{$ as e,H as t,Q as n,S as r,W as i,b as a,k as o,u as s}from"./vue-i18n-nv59vAyH.js";import{L as c,O as l,V as u,b as d,ct as f,ht as p,st as m,v as h,vt as g,y as _}from"./scroll-CWjBCoBR.js";import{a as v,i as y,o as b}from"./private.use-form-1cZLVjGN.js";import{d as x,u as S}from"./index-Dh7opLow.js";import{n as C,r as w}from"./QMenu-C_LDF5uF.js";import{r as T}from"./QPage-0Qoiu-SJ.js";var E=f({name:`QSlideTransition`,props:{appear:Boolean,duration:{type:Number,default:300}},emits:[`show`,`hide`],setup(e,{slots:t,emit:n}){let i=!1,a,s,c=null,l=null,u,d;function f(){a?.(),a=null,i=!1,c!==null&&(clearTimeout(c),c=null),l!==null&&(clearTimeout(l),l=null),s?.removeEventListener(`transitionend`,u),u=null}function m(t,n,r){n!==void 0&&(t.style.height=`${n}px`),t.style.transition=`height ${e.duration}ms cubic-bezier(.25, .8, .50, 1)`,i=!0,a=r}function h(e,t){e.style.overflowY=null,e.style.height=null,e.style.transition=null,f(),t!==d&&n(t)}function g(t,n){let r=0;s=t,i===!0?(f(),r=t.offsetHeight===t.scrollHeight?0:void 0):(d=`hide`,t.style.overflowY=`hidden`),m(t,r,n),c=setTimeout(()=>{c=null,t.style.height=`${t.scrollHeight}px`,u=e=>{l=null,(Object(e)!==e||e.target===t)&&h(t,`show`)},t.addEventListener(`transitionend`,u),l=setTimeout(u,e.duration*1.1)},100)}function _(t,n){let r;s=t,i===!0?f():(d=`show`,t.style.overflowY=`hidden`,r=t.scrollHeight),m(t,r,n),c=setTimeout(()=>{c=null,t.style.height=0,u=e=>{l=null,(Object(e)!==e||e.target===t)&&h(t,`hide`)},t.addEventListener(`transitionend`,u),l=setTimeout(u,e.duration*1.1)},100)}return o(()=>{i===!0&&f()}),()=>r(p,{css:!1,appear:e.appear,onEnter:g,onLeave:_},t.default)}}),D=e({}),O=Object.keys(l),k=f({name:`QExpansionItem`,props:{...l,...d,...b,icon:String,label:String,labelLines:[Number,String],caption:String,captionLines:[Number,String],dense:Boolean,toggleAriaLabel:String,expandIcon:String,expandedIcon:String,expandIconClass:[Array,String,Object],duration:{},headerInsetLevel:Number,contentInsetLevel:Number,expandSeparator:Boolean,defaultOpened:Boolean,hideExpandIcon:Boolean,expandIconToggle:Boolean,switchToggleSide:Boolean,denseToggle:Boolean,group:String,popup:Boolean,headerStyle:[Array,String,Object],headerClass:[Array,String,Object]},emits:[..._,`click`,`afterShow`,`afterHide`],setup(e,{slots:l,emit:d}){let{proxy:{$q:f}}=a(),p=v(e,f),_=n(e.modelValue===null?e.defaultOpened:e.modelValue),b=n(null),k=S(),{show:A,hide:j,toggle:M}=h({showing:_}),N,P,F=s(()=>`q-expansion-item q-item-type q-expansion-item--${_.value===!0?`expanded`:`collapsed`} q-expansion-item--${e.popup===!0?`popup`:`standard`}`),I=s(()=>e.contentInsetLevel===void 0?null:{[`padding`+(f.lang.rtl===!0?`Right`:`Left`)]:e.contentInsetLevel*56+`px`}),L=s(()=>e.disable!==!0&&(e.href!==void 0||e.to!==void 0&&e.to!==null&&e.to!==``)),R=s(()=>{let t={};return O.forEach(n=>{t[n]=e[n]}),t}),z=s(()=>L.value===!0||e.expandIconToggle!==!0),B=s(()=>e.expandedIcon!==void 0&&_.value===!0?e.expandedIcon:e.expandIcon||f.iconSet.expansionItem[e.denseToggle===!0?`denseIcon`:`icon`]),V=s(()=>e.disable!==!0&&(L.value===!0||e.expandIconToggle===!0)),H=s(()=>({expanded:_.value===!0,detailsId:k.value,toggle:M,show:A,hide:j})),U=s(()=>{let t=e.toggleAriaLabel===void 0?f.lang.label[_.value===!0?`collapse`:`expand`](e.label):e.toggleAriaLabel;return{role:`button`,"aria-expanded":_.value===!0?`true`:`false`,"aria-controls":k.value,"aria-label":t}});t(()=>e.group,e=>{P?.(),e!==void 0&&Y()});function W(e){L.value!==!0&&M(e),d(`click`,e)}function G(e){e.keyCode===13&&K(e,!0)}function K(e,t){t!==!0&&e.qAvoidFocus!==!0&&b.value?.focus(),M(e),m(e)}function q(){d(`afterShow`)}function J(){d(`afterHide`)}function Y(){N===void 0&&(N=x()),_.value===!0&&(D[e.group]=N);let n=t(_,t=>{t===!0?D[e.group]=N:D[e.group]===N&&delete D[e.group]}),r=t(()=>D[e.group],(e,t)=>{t===N&&e!==void 0&&e!==N&&j()});P=()=>{n(),r(),D[e.group]===N&&delete D[e.group],P=void 0}}function X(){let t={class:[`q-focusable relative-position cursor-pointer${e.denseToggle===!0&&e.switchToggleSide===!0?` items-end`:``}`,e.expandIconClass],side:e.switchToggleSide!==!0,avatar:e.switchToggleSide},n=[r(c,{class:`q-expansion-item__toggle-icon`+(e.expandedIcon===void 0&&_.value===!0?` q-expansion-item__toggle-icon--rotated`:``),name:B.value})];return V.value===!0&&(Object.assign(t,{tabindex:0,...U.value,onClick:K,onKeyup:G}),n.unshift(r(`div`,{ref:b,class:`q-expansion-item__toggle-focus q-icon q-focus-helper q-focus-helper--rounded`,tabindex:-1}))),r(w,t,()=>n)}function Z(){let t;return l.header===void 0?(t=[r(w,()=>[r(T,{lines:e.labelLines},()=>e.label||``),e.caption?r(T,{lines:e.captionLines,caption:!0},()=>e.caption):null])],e.icon&&t[e.switchToggleSide===!0?`push`:`unshift`](r(w,{side:e.switchToggleSide===!0,avatar:e.switchToggleSide!==!0},()=>r(c,{name:e.icon})))):t=[].concat(l.header(H.value)),e.disable!==!0&&e.hideExpandIcon!==!0&&t[e.switchToggleSide===!0?`unshift`:`push`](X()),t}function Q(){let t={ref:`item`,style:e.headerStyle,class:e.headerClass,dark:p.value,disable:e.disable,dense:e.dense,insetLevel:e.headerInsetLevel};return z.value===!0&&(t.clickable=!0,t.onClick=W,Object.assign(t,L.value===!0?R.value:U.value)),r(C,t,Z)}function $(){return i(r(`div`,{key:`e-content`,class:`q-expansion-item__content relative-position`,style:I.value,id:k.value},u(l.default)),[[g,_.value]])}function ee(){let t=[Q(),r(E,{duration:e.duration,onShow:q,onHide:J},$)];return e.expandSeparator===!0&&t.push(r(y,{class:`q-expansion-item__border q-expansion-item__border--top absolute-top`,dark:p.value}),r(y,{class:`q-expansion-item__border q-expansion-item__border--bottom absolute-bottom`,dark:p.value})),t}return e.group!==void 0&&Y(),o(()=>{P?.()}),()=>r(`div`,{class:F.value},[r(`div`,{class:`q-expansion-item__container relative-position`},ee())])}});export{k as t};
@@ -1 +1 @@
1
- import{D as e,H as t,I as n,M as r,Q as i,S as a,W as o,b as s,j as c,k as l,o as u,u as d,w as f}from"./vue-i18n-nv59vAyH.js";import{J as p,L as m,M as ee,Q as h,R as g,S as _,V as v,X as te,Z as y,at as b,ct as x,et as S,ft as C,ht as w,k as T,lt as E,nt as D,rt as O,st as k,x as A,z as j}from"./scroll-CWjBCoBR.js";import{a as M,o as N}from"./private.use-form-1cZLVjGN.js";import{F as P,M as F,d as I,j as ne}from"./index-BxBqipDT.js";import{f as re}from"./_plugin-vue_export-helper-CLHv3piE.js";import{n as L,r as ie,t as R}from"./touch-Bojc73iM.js";import{a as ae}from"./QMenu-BE-OO3N4.js";var oe=0,z=[`click`,`keydown`],B={icon:String,label:[Number,String],alert:[Boolean,String],alertIcon:String,name:{type:[Number,String],default:()=>`t_${oe++}`},noCaps:Boolean,tabindex:[String,Number],disable:Boolean,contentClass:String,ripple:{type:[Boolean,Object],default:!0}};function V(e,t,n,c){let u=f(P,F);if(u===F)return console.error(`QTab/QRouteTab component needs to be child of QTabs`),F;let{proxy:h}=s(),g=i(null),_=i(null),v=i(null),y=d(()=>e.disable===!0||e.ripple===!1?!1:Object.assign({keyCodes:[13,32],early:!0},e.ripple===!0?{}:e.ripple)),b=d(()=>u.currentModel.value===e.name),x=d(()=>`q-tab relative-position self-stretch flex flex-center text-center`+(b.value===!0?` q-tab--active`+(u.tabProps.value.activeClass?` `+u.tabProps.value.activeClass:``)+(u.tabProps.value.activeColor?` text-${u.tabProps.value.activeColor}`:``)+(u.tabProps.value.activeBgColor?` bg-${u.tabProps.value.activeBgColor}`:``):` q-tab--inactive`)+(e.icon&&e.label&&u.tabProps.value.inlineLabel===!1?` q-tab--full`:``)+(e.noCaps===!0||u.tabProps.value.noCaps===!0?` q-tab--no-caps`:``)+(e.disable===!0?` disabled`:` q-focusable q-hoverable cursor-pointer`)+(c===void 0?``:c.linkClass.value)),S=d(()=>`q-tab__content self-stretch flex-center relative-position q-anchor--skip non-selectable `+(u.tabProps.value.inlineLabel===!0?`row no-wrap q-tab__content--inline`:`column`)+(e.contentClass===void 0?``:` ${e.contentClass}`)),C=d(()=>e.disable===!0||u.hasFocus.value===!0||b.value===!1&&u.hasActiveTab.value===!0?-1:e.tabindex||0);function w(t,r){if(r!==!0&&t?.qAvoidFocus!==!0&&g.value?.focus(),e.disable===!0){c?.hasRouterLink.value===!0&&k(t);return}if(c===void 0){u.updateModel({name:e.name}),n(`click`,t);return}if(c.hasRouterLink.value===!0){let r=(n={})=>{let r,i=n.to===void 0||ne(n.to,e.to)===!0?u.avoidRouteWatcher=I():null;return c.navigateToRouterLink(t,{...n,returnRouterError:!0}).catch(e=>{r=e}).then(t=>{if(i===u.avoidRouteWatcher&&(u.avoidRouteWatcher=!1,r===void 0&&(t===void 0||t.message?.startsWith(`Avoided redundant navigation`)===!0)&&u.updateModel({name:e.name})),n.returnRouterError===!0)return r===void 0?t:Promise.reject(r)})};n(`click`,t,r),t.defaultPrevented!==!0&&r();return}n(`click`,t)}function T(e){p(e,[13,32])?w(e,!0):te(e)!==!0&&e.keyCode>=35&&e.keyCode<=40&&e.altKey!==!0&&e.metaKey!==!0&&u.onKbdNavigate(e.keyCode,h.$el)===!0&&k(e),n(`keydown`,e)}function E(){let n=u.tabProps.value.narrowIndicator,r=[],i=a(`div`,{ref:v,class:[`q-tab__indicator`,u.tabProps.value.indicatorClass]});e.icon!==void 0&&r.push(a(m,{class:`q-tab__icon`,name:e.icon})),e.label!==void 0&&r.push(a(`div`,{class:`q-tab__label`},e.label)),e.alert!==!1&&r.push(e.alertIcon===void 0?a(`div`,{class:`q-tab__alert`+(e.alert===!0?``:` text-${e.alert}`)}):a(m,{class:`q-tab__alert-icon`,color:e.alert===!0?void 0:e.alert,name:e.alertIcon})),n===!0&&r.push(i);let o=[a(`div`,{class:`q-focus-helper`,tabindex:-1,ref:g}),a(`div`,{class:S.value},j(t.default,r))];return n===!1&&o.push(i),o}let D={name:d(()=>e.name),rootRef:_,tabIndicatorRef:v,routeData:c};l(()=>{u.unregisterTab(D)}),r(()=>{u.registerTab(D)});function O(t,n){return o(a(t,{ref:_,class:x.value,tabindex:C.value,role:`tab`,"aria-selected":b.value===!0?`true`:`false`,"aria-disabled":e.disable===!0?`true`:void 0,onClick:w,onKeydown:T,...n},E()),[[ee,y.value]])}return{renderTab:O,$tabs:u}}var H=x({name:`QTab`,props:B,emits:z,setup(e,{slots:t,emit:n}){let{renderTab:r}=V(e,t,n);return()=>r(`div`)}});function se(e,t,n){let r=n===!0?[`left`,`right`]:[`top`,`bottom`];return`absolute-${t===!0?r[0]:r[1]}${e?` text-${e}`:``}`}var U=[`left`,`center`,`right`,`justify`],W=x({name:`QTabs`,props:{modelValue:[Number,String],align:{type:String,default:`center`,validator:e=>U.includes(e)},breakpoint:{type:[String,Number],default:600},vertical:Boolean,shrink:Boolean,stretch:Boolean,activeClass:String,activeColor:String,activeBgColor:String,indicatorColor:String,leftIcon:String,rightIcon:String,outsideArrows:Boolean,mobileArrows:Boolean,switchIndicator:Boolean,narrowIndicator:Boolean,inlineLabel:Boolean,noCaps:Boolean,dense:Boolean,contentClass:String,"onUpdate:modelValue":[Function,Array]},setup(r,{slots:o,emit:u}){let{proxy:f}=s(),{$q:p}=f,{registerTick:ee}=A(),{registerTick:h}=A(),{registerTick:g}=A(),{registerTimeout:te,removeTimeout:y}=_(),{registerTimeout:b,removeTimeout:x}=_(),S=i(null),C=i(null),w=i(r.modelValue),T=i(!1),E=i(!0),D=i(!1),O=i(!1),k=[],j=i(0),M=i(!1),N=null,F=null,I,ne=d(()=>({activeClass:r.activeClass,activeColor:r.activeColor,activeBgColor:r.activeBgColor,indicatorClass:se(r.indicatorColor,r.switchIndicator,r.vertical),narrowIndicator:r.narrowIndicator,inlineLabel:r.inlineLabel,noCaps:r.noCaps})),re=d(()=>{let e=j.value,t=w.value;for(let n=0;n<e;n++)if(k[n].name.value===t)return!0;return!1}),L=d(()=>`q-tabs__content--align-${T.value===!0?`left`:O.value===!0?`justify`:r.align}`),R=d(()=>`q-tabs row no-wrap items-center q-tabs--${T.value===!0?``:`not-`}scrollable q-tabs--${r.vertical===!0?`vertical`:`horizontal`} q-tabs__arrows--${r.outsideArrows===!0?`outside`:`inside`} q-tabs--mobile-with${r.mobileArrows===!0?``:`out`}-arrows`+(r.dense===!0?` q-tabs--dense`:``)+(r.shrink===!0?` col-shrink`:``)+(r.stretch===!0?` self-stretch`:``)),oe=d(()=>`q-tabs__content scroll--mobile row no-wrap items-center self-stretch hide-scrollbar relative-position `+L.value+(r.contentClass===void 0?``:` ${r.contentClass}`)),z=d(()=>r.vertical===!0?{container:`height`,content:`offsetHeight`,scroll:`scrollHeight`}:{container:`width`,content:`offsetWidth`,scroll:`scrollWidth`}),B=d(()=>r.vertical!==!0&&p.lang.rtl===!0),V=d(()=>ae===!1&&B.value===!0);t(B,K),t(()=>r.modelValue,e=>{H({name:e,setCurrent:!0,skipEmit:!0})}),t(()=>r.outsideArrows,U);function H({name:e,setCurrent:t,skipEmit:n}){w.value!==e&&(n!==!0&&r[`onUpdate:modelValue`]!==void 0&&u(`update:modelValue`,e),(t===!0||r[`onUpdate:modelValue`]===void 0)&&(ce(w.value,e),w.value=e))}function U(){ee(()=>{S.value&&W({width:S.value.offsetWidth,height:S.value.offsetHeight})})}function W(e){if(z.value===void 0||C.value===null)return;let t=e[z.value.container],n=Math.min(C.value[z.value.scroll],Array.prototype.reduce.call(C.value.children,(e,t)=>e+(t[z.value.content]||0),0)),i=t>0&&n>t;T.value=i,i===!0&&h(K),O.value=t<parseInt(r.breakpoint,10)}function ce(e,t){let n=e!=null&&e!==``?k.find(t=>t.name.value===e):null,i=t!=null&&t!==``?k.find(e=>e.name.value===t):null;if($===!0)$=!1;else if(n&&i){let e=n.tabIndicatorRef.value,t=i.tabIndicatorRef.value;N!==null&&(clearTimeout(N),N=null),e.style.transition=`none`,e.style.transform=`none`,t.style.transition=`none`,t.style.transform=`none`;let a=e.getBoundingClientRect(),o=t.getBoundingClientRect();t.style.transform=r.vertical===!0?`translate3d(0,${a.top-o.top}px,0) scale3d(1,${o.height?a.height/o.height:1},1)`:`translate3d(${a.left-o.left}px,0,0) scale3d(${o.width?a.width/o.width:1},1,1)`,g(()=>{N=setTimeout(()=>{N=null,t.style.transition=`transform .25s cubic-bezier(.4, 0, .2, 1)`,t.style.transform=`none`},70)})}i&&T.value===!0&&G(i.rootRef.value)}function G(e){let{left:t,width:n,top:i,height:a}=C.value.getBoundingClientRect(),o=e.getBoundingClientRect(),s=r.vertical===!0?o.top-i:o.left-t;if(s<0){C.value[r.vertical===!0?`scrollTop`:`scrollLeft`]+=Math.floor(s),K();return}s+=r.vertical===!0?o.height-a:o.width-n,s>0&&(C.value[r.vertical===!0?`scrollTop`:`scrollLeft`]+=Math.ceil(s),K())}function K(){let e=C.value;if(e===null)return;let t=e.getBoundingClientRect(),n=r.vertical===!0?e.scrollTop:Math.abs(e.scrollLeft);B.value===!0?(E.value=Math.ceil(n+t.width)<e.scrollWidth-1,D.value=n>0):(E.value=n>0,D.value=r.vertical===!0?Math.ceil(n+t.height)<e.scrollHeight:Math.ceil(n+t.width)<e.scrollWidth)}function q(e){F!==null&&clearInterval(F),F=setInterval(()=>{de(e)===!0&&X()},5)}function J(){q(V.value===!0?2**53-1:0)}function Y(){q(V.value===!0?0:2**53-1)}function X(){F!==null&&(clearInterval(F),F=null)}function le(e,t){let n=Array.prototype.filter.call(C.value.children,e=>e===t||e.matches&&e.matches(`.q-tab.q-focusable`)===!0),i=n.length;if(i===0)return;if(e===36)return G(n[0]),n[0].focus(),!0;if(e===35)return G(n[i-1]),n[i-1].focus(),!0;let a=e===(r.vertical===!0?38:37),o=e===(r.vertical===!0?40:39),s=a===!0?-1:o===!0?1:void 0;if(s!==void 0){let e=B.value===!0?-1:1,r=n.indexOf(t)+s*e;return r>=0&&r<i&&(G(n[r]),n[r].focus({preventScroll:!0})),!0}}let ue=d(()=>V.value===!0?{get:e=>Math.abs(e.scrollLeft),set:(e,t)=>{e.scrollLeft=-t}}:r.vertical===!0?{get:e=>e.scrollTop,set:(e,t)=>{e.scrollTop=t}}:{get:e=>e.scrollLeft,set:(e,t)=>{e.scrollLeft=t}});function de(e){let t=C.value,{get:n,set:r}=ue.value,i=!1,a=n(t),o=e<a?-1:1;return a+=o*5,a<0?(i=!0,a=0):(o===-1&&a<=e||o===1&&a>=e)&&(i=!0,a=e),r(t,a),K(),i}function Z(e,t){for(let n in e)if(e[n]!==t[n])return!1;return!0}function fe(){let e=null,t={matchedLen:0,queryDiff:9999,hrefLen:0},n=k.filter(e=>e.routeData?.hasRouterLink.value===!0),{hash:r,query:i}=f.$route,a=Object.keys(i).length;for(let o of n){let n=o.routeData.exact.value===!0;if(o.routeData[n===!0?`linkIsExactActive`:`linkIsActive`].value!==!0)continue;let{hash:s,query:c,matched:l,href:u}=o.routeData.resolvedLink.value,d=Object.keys(c).length;if(n===!0){if(s!==r||d!==a||Z(i,c)===!1)continue;e=o.name.value;break}if(s!==``&&s!==r||d!==0&&Z(c,i)===!1)continue;let f={matchedLen:l.length,queryDiff:a-d,hrefLen:u.length-s.length};if(f.matchedLen>t.matchedLen){e=o.name.value,t=f;continue}else if(f.matchedLen!==t.matchedLen)continue;if(f.queryDiff<t.queryDiff)e=o.name.value,t=f;else if(f.queryDiff!==t.queryDiff)continue;f.hrefLen>t.hrefLen&&(e=o.name.value,t=f)}if(e===null&&k.some(e=>e.routeData===void 0&&e.name.value===w.value)===!0){$=!1;return}H({name:e,setCurrent:!0})}function pe(e){if(y(),M.value!==!0&&S.value!==null&&e.target&&typeof e.target.closest==`function`){let t=e.target.closest(`.q-tab`);t&&S.value.contains(t)===!0&&(M.value=!0,T.value===!0&&G(t))}}function me(){te(()=>{M.value=!1},30)}function Q(){ve.avoidRouteWatcher===!1?b(fe):x()}function he(){if(I===void 0){let e=t(()=>f.$route.fullPath,Q);I=()=>{e(),I=void 0}}}function ge(e){k.push(e),j.value++,U(),e.routeData===void 0||f.$route===void 0?b(()=>{if(T.value===!0){let e=w.value,t=e!=null&&e!==``?k.find(t=>t.name.value===e):null;t&&G(t.rootRef.value)}}):(he(),e.routeData.hasRouterLink.value===!0&&Q())}function _e(e){k.splice(k.indexOf(e),1),j.value--,U(),I!==void 0&&e.routeData!==void 0&&(k.every(e=>e.routeData===void 0)===!0&&I(),Q())}let ve={currentModel:w,tabProps:ne,hasFocus:M,hasActiveTab:re,registerTab:ge,unregisterTab:_e,verifyRouteModel:Q,updateModel:H,onKbdNavigate:le,avoidRouteWatcher:!1};n(P,ve);function ye(){N!==null&&clearTimeout(N),X(),I?.()}let be,$;return l(ye),c(()=>{be=I!==void 0,ye()}),e(()=>{be===!0&&(he(),$=!0,Q()),U()}),()=>a(`div`,{ref:S,class:R.value,role:`tablist`,onFocusin:pe,onFocusout:me},[a(ie,{onResize:W}),a(`div`,{ref:C,class:oe.value,onScroll:K},v(o.default)),a(m,{class:`q-tabs__arrow q-tabs__arrow--left absolute q-tab__icon`+(E.value===!0?``:` q-tabs__arrow--faded`),name:r.leftIcon||p.iconSet.tabs[r.vertical===!0?`up`:`left`],onMousedownPassive:J,onTouchstartPassive:J,onMouseupPassive:X,onMouseleavePassive:X,onTouchendPassive:X}),a(m,{class:`q-tabs__arrow q-tabs__arrow--right absolute q-tab__icon`+(D.value===!0?``:` q-tabs__arrow--faded`),name:r.rightIcon||p.iconSet.tabs[r.vertical===!0?`down`:`right`],onMousedownPassive:Y,onTouchstartPassive:Y,onMouseupPassive:X,onMouseleavePassive:X,onTouchendPassive:X})])}});function ce(e){let t=[.06,6,50];return typeof e==`string`&&e.length&&e.split(`:`).forEach((e,n)=>{let r=parseFloat(e);r&&(t[n]=r)}),t}var G=E({name:`touch-swipe`,beforeMount(e,{value:t,arg:n,modifiers:r}){if(r.mouse!==!0&&C.has.touch!==!0)return;let i=r.mouseCapture===!0?`Capture`:``,a={handler:t,sensitivity:ce(n),direction:R(r),noop:D,mouseStart(e){L(e,a)&&S(e)&&(y(a,`temp`,[[document,`mousemove`,`move`,`notPassive${i}`],[document,`mouseup`,`end`,`notPassiveCapture`]]),a.start(e,!0))},touchStart(e){if(L(e,a)){let t=e.target;y(a,`temp`,[[t,`touchmove`,`move`,`notPassiveCapture`],[t,`touchcancel`,`end`,`notPassiveCapture`],[t,`touchend`,`end`,`notPassiveCapture`]]),a.start(e)}},start(t,n){C.is.firefox===!0&&b(e,!0);let r=O(t);a.event={x:r.left,y:r.top,time:Date.now(),mouse:n===!0,dir:!1}},move(e){if(a.event===void 0)return;if(a.event.dir!==!1){k(e);return}let t=Date.now()-a.event.time;if(t===0)return;let n=O(e),r=n.left-a.event.x,i=Math.abs(r),o=n.top-a.event.y,s=Math.abs(o);if(a.event.mouse!==!0){if(i<a.sensitivity[1]&&s<a.sensitivity[1]){a.end(e);return}}else if(window.getSelection().toString()!==``){a.end(e);return}else if(i<a.sensitivity[2]&&s<a.sensitivity[2])return;let c=i/t,l=s/t;a.direction.vertical===!0&&i<s&&i<100&&l>a.sensitivity[0]&&(a.event.dir=o<0?`up`:`down`),a.direction.horizontal===!0&&i>s&&s<100&&c>a.sensitivity[0]&&(a.event.dir=r<0?`left`:`right`),a.direction.up===!0&&i<s&&o<0&&i<100&&l>a.sensitivity[0]&&(a.event.dir=`up`),a.direction.down===!0&&i<s&&o>0&&i<100&&l>a.sensitivity[0]&&(a.event.dir=`down`),a.direction.left===!0&&i>s&&r<0&&s<100&&c>a.sensitivity[0]&&(a.event.dir=`left`),a.direction.right===!0&&i>s&&r>0&&s<100&&c>a.sensitivity[0]&&(a.event.dir=`right`),a.event.dir===!1?a.end(e):(k(e),a.event.mouse===!0&&(document.body.classList.add(`no-pointer-events--children`),document.body.classList.add(`non-selectable`),re(),a.styleCleanup=e=>{a.styleCleanup=void 0,document.body.classList.remove(`non-selectable`);let t=()=>{document.body.classList.remove(`no-pointer-events--children`)};e===!0?setTimeout(t,50):t()}),a.handler({evt:e,touch:a.event.mouse!==!0,mouse:a.event.mouse,direction:a.event.dir,duration:t,distance:{x:i,y:s}}))},end(t){a.event!==void 0&&(h(a,`temp`),C.is.firefox===!0&&b(e,!1),a.styleCleanup?.(!0),t!==void 0&&a.event.dir!==!1&&k(t),a.event=void 0)}};e.__qtouchswipe=a,r.mouse===!0&&y(a,`main`,[[e,`mousedown`,`mouseStart`,`passive${r.mouseCapture===!0||r.mousecapture===!0?`Capture`:``}`]]),C.has.touch===!0&&y(a,`main`,[[e,`touchstart`,`touchStart`,`passive${r.capture===!0?`Capture`:``}`],[e,`touchmove`,`noop`,`notPassiveCapture`]])},updated(e,t){let n=e.__qtouchswipe;n!==void 0&&(t.oldValue!==t.value&&(typeof t.value!=`function`&&n.end(),n.handler=t.value),n.direction=R(t.modifiers))},beforeUnmount(e){let t=e.__qtouchswipe;t!==void 0&&(h(t,`main`),h(t,`temp`),C.is.firefox===!0&&b(e,!1),t.styleCleanup?.(),delete e.__qtouchswipe)}});function K(){let e=Object.create(null);return{getCache:(t,n)=>e[t]===void 0?e[t]=typeof n==`function`?n():n:e[t],setCache(t,n){e[t]=n},hasCache(t){return Object.hasOwnProperty.call(e,t)},clearCache(t){t===void 0?e=Object.create(null):delete e[t]}}}var q={name:{required:!0},disable:Boolean},J={setup(e,{slots:t}){return()=>a(`div`,{class:`q-panel scroll`,role:`tabpanel`},v(t.default))}},Y={modelValue:{required:!0},animated:Boolean,infinite:Boolean,swipeable:Boolean,vertical:Boolean,transitionPrev:String,transitionNext:String,transitionDuration:{type:[String,Number],default:300},keepAlive:Boolean,keepAliveInclude:[String,Array,RegExp],keepAliveExclude:[String,Array,RegExp],keepAliveMax:Number},X=[`update:modelValue`,`beforeTransition`,`transition`];function le(){let{props:e,emit:n,proxy:r}=s(),{getCache:o}=K(),{registerTimeout:c}=_(),l,f,p=i(null),m={value:null};function ee(t){let n=e.vertical===!0?`up`:`left`;M((r.$q.lang.rtl===!0?-1:1)*(t.direction===n?1:-1))}let h=d(()=>[[G,ee,void 0,{horizontal:e.vertical!==!0,vertical:e.vertical,mouse:!0}]]),g=d(()=>e.transitionPrev||`slide-${e.vertical===!0?`down`:`right`}`),te=d(()=>e.transitionNext||`slide-${e.vertical===!0?`up`:`left`}`),y=d(()=>`--q-transition-duration: ${e.transitionDuration}ms`),b=d(()=>typeof e.modelValue==`string`||typeof e.modelValue==`number`?e.modelValue:String(e.modelValue)),x=d(()=>({include:e.keepAliveInclude,exclude:e.keepAliveExclude,max:e.keepAliveMax})),S=d(()=>e.keepAliveInclude!==void 0||e.keepAliveExclude!==void 0);t(()=>e.modelValue,(t,r)=>{let i=O(t)===!0?k(t):-1;f!==!0&&j(i===-1?0:i<k(r)?-1:1),m.value!==i&&(m.value=i,n(`beforeTransition`,t,r),c(()=>{n(`transition`,t,r)},e.transitionDuration))});function C(){M(1)}function E(){M(-1)}function D(e){n(`update:modelValue`,e)}function O(e){return e!=null&&e!==``}function k(e){return l.findIndex(t=>t.props.name===e&&t.props.disable!==``&&t.props.disable!==!0)}function A(){return l.filter(e=>e.props.disable!==``&&e.props.disable!==!0)}function j(t){let n=t!==0&&e.animated===!0&&m.value!==-1?`q-transition--`+(t===-1?g.value:te.value):null;p.value!==n&&(p.value=n)}function M(t,r=m.value){let i=r+t;for(;i!==-1&&i<l.length;){let e=l[i];if(e!==void 0&&e.props.disable!==``&&e.props.disable!==!0){j(t),f=!0,n(`update:modelValue`,e.props.name),setTimeout(()=>{f=!1});return}i+=t}e.infinite===!0&&l.length!==0&&r!==-1&&r!==l.length&&M(t,t===-1?l.length:-1)}function N(){let t=k(e.modelValue);return m.value!==t&&(m.value=t),!0}function P(){let t=O(e.modelValue)===!0&&N()&&l[m.value];return e.keepAlive===!0?[a(u,x.value,[a(S.value===!0?o(b.value,()=>({...J,name:b.value})):J,{key:b.value,style:y.value},()=>t)])]:[a(`div`,{class:`q-panel scroll`,style:y.value,key:b.value,role:`tabpanel`},[t])]}function F(){if(l.length!==0)return e.animated===!0?[a(w,{name:p.value},P)]:P()}function I(e){return l=T(v(e.default,[])).filter(e=>e.props!==null&&e.props.slot===void 0&&O(e.props.name)===!0),l.length}function ne(){return l}return Object.assign(r,{next:C,previous:E,goTo:D}),{panelIndex:m,panelDirectives:h,updatePanelsList:I,updatePanelIndex:N,getPanelContent:F,getEnabledPanels:A,getPanels:ne,isValidPanelName:O,keepAliveProps:x,needsUniqueKeepAliveWrapper:S,goToPanelByOffset:M,goToPanel:D,nextPanel:C,previousPanel:E}}var ue=x({name:`QTabPanel`,props:q,setup(e,{slots:t}){return()=>a(`div`,{class:`q-tab-panel`,role:`tabpanel`},v(t.default))}}),de=x({name:`QTabPanels`,props:{...Y,...N},emits:X,setup(e,{slots:t}){let n=M(e,s().proxy.$q),{updatePanelsList:r,getPanelContent:i,panelDirectives:a}=le(),o=d(()=>`q-tab-panels q-panel-parent`+(n.value===!0?` q-tab-panels--dark q-dark`:``));return()=>(r(t),g(`div`,{class:o.value},i(),`pan`,e.swipeable,()=>a.value))}}),Z=[`ul`,`ol`],fe=x({name:`QList`,props:{...N,bordered:Boolean,dense:Boolean,separator:Boolean,padding:Boolean,tag:{type:String,default:`div`}},setup(e,{slots:t}){let n=M(e,s().proxy.$q),r=d(()=>Z.includes(e.tag)?null:`list`),i=d(()=>`q-list`+(e.bordered===!0?` q-list--bordered`:``)+(e.dense===!0?` q-list--dense`:``)+(e.separator===!0?` q-list--separator`:``)+(n.value===!0?` q-list--dark`:``)+(e.padding===!0?` q-list--padding`:``));return()=>a(e.tag,{class:i.value,role:r.value},v(t.default))}});export{H as a,W as i,de as n,ue as r,fe as t};
1
+ import{D as e,H as t,I as n,M as r,Q as i,S as a,W as o,b as s,j as c,k as l,o as u,u as d,w as f}from"./vue-i18n-nv59vAyH.js";import{J as p,L as m,M as ee,Q as h,R as g,S as _,V as v,X as te,Z as y,at as b,ct as x,et as S,ft as C,ht as w,k as T,lt as E,nt as D,rt as O,st as k,x as A,z as j}from"./scroll-CWjBCoBR.js";import{a as M,o as N}from"./private.use-form-1cZLVjGN.js";import{F as P,M as F,d as I,j as ne}from"./index-Dh7opLow.js";import{f as re}from"./_plugin-vue_export-helper-CLHv3piE.js";import{n as L,r as ie,t as R}from"./touch-Bojc73iM.js";import{a as ae}from"./QMenu-C_LDF5uF.js";var oe=0,z=[`click`,`keydown`],B={icon:String,label:[Number,String],alert:[Boolean,String],alertIcon:String,name:{type:[Number,String],default:()=>`t_${oe++}`},noCaps:Boolean,tabindex:[String,Number],disable:Boolean,contentClass:String,ripple:{type:[Boolean,Object],default:!0}};function V(e,t,n,c){let u=f(P,F);if(u===F)return console.error(`QTab/QRouteTab component needs to be child of QTabs`),F;let{proxy:h}=s(),g=i(null),_=i(null),v=i(null),y=d(()=>e.disable===!0||e.ripple===!1?!1:Object.assign({keyCodes:[13,32],early:!0},e.ripple===!0?{}:e.ripple)),b=d(()=>u.currentModel.value===e.name),x=d(()=>`q-tab relative-position self-stretch flex flex-center text-center`+(b.value===!0?` q-tab--active`+(u.tabProps.value.activeClass?` `+u.tabProps.value.activeClass:``)+(u.tabProps.value.activeColor?` text-${u.tabProps.value.activeColor}`:``)+(u.tabProps.value.activeBgColor?` bg-${u.tabProps.value.activeBgColor}`:``):` q-tab--inactive`)+(e.icon&&e.label&&u.tabProps.value.inlineLabel===!1?` q-tab--full`:``)+(e.noCaps===!0||u.tabProps.value.noCaps===!0?` q-tab--no-caps`:``)+(e.disable===!0?` disabled`:` q-focusable q-hoverable cursor-pointer`)+(c===void 0?``:c.linkClass.value)),S=d(()=>`q-tab__content self-stretch flex-center relative-position q-anchor--skip non-selectable `+(u.tabProps.value.inlineLabel===!0?`row no-wrap q-tab__content--inline`:`column`)+(e.contentClass===void 0?``:` ${e.contentClass}`)),C=d(()=>e.disable===!0||u.hasFocus.value===!0||b.value===!1&&u.hasActiveTab.value===!0?-1:e.tabindex||0);function w(t,r){if(r!==!0&&t?.qAvoidFocus!==!0&&g.value?.focus(),e.disable===!0){c?.hasRouterLink.value===!0&&k(t);return}if(c===void 0){u.updateModel({name:e.name}),n(`click`,t);return}if(c.hasRouterLink.value===!0){let r=(n={})=>{let r,i=n.to===void 0||ne(n.to,e.to)===!0?u.avoidRouteWatcher=I():null;return c.navigateToRouterLink(t,{...n,returnRouterError:!0}).catch(e=>{r=e}).then(t=>{if(i===u.avoidRouteWatcher&&(u.avoidRouteWatcher=!1,r===void 0&&(t===void 0||t.message?.startsWith(`Avoided redundant navigation`)===!0)&&u.updateModel({name:e.name})),n.returnRouterError===!0)return r===void 0?t:Promise.reject(r)})};n(`click`,t,r),t.defaultPrevented!==!0&&r();return}n(`click`,t)}function T(e){p(e,[13,32])?w(e,!0):te(e)!==!0&&e.keyCode>=35&&e.keyCode<=40&&e.altKey!==!0&&e.metaKey!==!0&&u.onKbdNavigate(e.keyCode,h.$el)===!0&&k(e),n(`keydown`,e)}function E(){let n=u.tabProps.value.narrowIndicator,r=[],i=a(`div`,{ref:v,class:[`q-tab__indicator`,u.tabProps.value.indicatorClass]});e.icon!==void 0&&r.push(a(m,{class:`q-tab__icon`,name:e.icon})),e.label!==void 0&&r.push(a(`div`,{class:`q-tab__label`},e.label)),e.alert!==!1&&r.push(e.alertIcon===void 0?a(`div`,{class:`q-tab__alert`+(e.alert===!0?``:` text-${e.alert}`)}):a(m,{class:`q-tab__alert-icon`,color:e.alert===!0?void 0:e.alert,name:e.alertIcon})),n===!0&&r.push(i);let o=[a(`div`,{class:`q-focus-helper`,tabindex:-1,ref:g}),a(`div`,{class:S.value},j(t.default,r))];return n===!1&&o.push(i),o}let D={name:d(()=>e.name),rootRef:_,tabIndicatorRef:v,routeData:c};l(()=>{u.unregisterTab(D)}),r(()=>{u.registerTab(D)});function O(t,n){return o(a(t,{ref:_,class:x.value,tabindex:C.value,role:`tab`,"aria-selected":b.value===!0?`true`:`false`,"aria-disabled":e.disable===!0?`true`:void 0,onClick:w,onKeydown:T,...n},E()),[[ee,y.value]])}return{renderTab:O,$tabs:u}}var H=x({name:`QTab`,props:B,emits:z,setup(e,{slots:t,emit:n}){let{renderTab:r}=V(e,t,n);return()=>r(`div`)}});function se(e,t,n){let r=n===!0?[`left`,`right`]:[`top`,`bottom`];return`absolute-${t===!0?r[0]:r[1]}${e?` text-${e}`:``}`}var U=[`left`,`center`,`right`,`justify`],W=x({name:`QTabs`,props:{modelValue:[Number,String],align:{type:String,default:`center`,validator:e=>U.includes(e)},breakpoint:{type:[String,Number],default:600},vertical:Boolean,shrink:Boolean,stretch:Boolean,activeClass:String,activeColor:String,activeBgColor:String,indicatorColor:String,leftIcon:String,rightIcon:String,outsideArrows:Boolean,mobileArrows:Boolean,switchIndicator:Boolean,narrowIndicator:Boolean,inlineLabel:Boolean,noCaps:Boolean,dense:Boolean,contentClass:String,"onUpdate:modelValue":[Function,Array]},setup(r,{slots:o,emit:u}){let{proxy:f}=s(),{$q:p}=f,{registerTick:ee}=A(),{registerTick:h}=A(),{registerTick:g}=A(),{registerTimeout:te,removeTimeout:y}=_(),{registerTimeout:b,removeTimeout:x}=_(),S=i(null),C=i(null),w=i(r.modelValue),T=i(!1),E=i(!0),D=i(!1),O=i(!1),k=[],j=i(0),M=i(!1),N=null,F=null,I,ne=d(()=>({activeClass:r.activeClass,activeColor:r.activeColor,activeBgColor:r.activeBgColor,indicatorClass:se(r.indicatorColor,r.switchIndicator,r.vertical),narrowIndicator:r.narrowIndicator,inlineLabel:r.inlineLabel,noCaps:r.noCaps})),re=d(()=>{let e=j.value,t=w.value;for(let n=0;n<e;n++)if(k[n].name.value===t)return!0;return!1}),L=d(()=>`q-tabs__content--align-${T.value===!0?`left`:O.value===!0?`justify`:r.align}`),R=d(()=>`q-tabs row no-wrap items-center q-tabs--${T.value===!0?``:`not-`}scrollable q-tabs--${r.vertical===!0?`vertical`:`horizontal`} q-tabs__arrows--${r.outsideArrows===!0?`outside`:`inside`} q-tabs--mobile-with${r.mobileArrows===!0?``:`out`}-arrows`+(r.dense===!0?` q-tabs--dense`:``)+(r.shrink===!0?` col-shrink`:``)+(r.stretch===!0?` self-stretch`:``)),oe=d(()=>`q-tabs__content scroll--mobile row no-wrap items-center self-stretch hide-scrollbar relative-position `+L.value+(r.contentClass===void 0?``:` ${r.contentClass}`)),z=d(()=>r.vertical===!0?{container:`height`,content:`offsetHeight`,scroll:`scrollHeight`}:{container:`width`,content:`offsetWidth`,scroll:`scrollWidth`}),B=d(()=>r.vertical!==!0&&p.lang.rtl===!0),V=d(()=>ae===!1&&B.value===!0);t(B,K),t(()=>r.modelValue,e=>{H({name:e,setCurrent:!0,skipEmit:!0})}),t(()=>r.outsideArrows,U);function H({name:e,setCurrent:t,skipEmit:n}){w.value!==e&&(n!==!0&&r[`onUpdate:modelValue`]!==void 0&&u(`update:modelValue`,e),(t===!0||r[`onUpdate:modelValue`]===void 0)&&(ce(w.value,e),w.value=e))}function U(){ee(()=>{S.value&&W({width:S.value.offsetWidth,height:S.value.offsetHeight})})}function W(e){if(z.value===void 0||C.value===null)return;let t=e[z.value.container],n=Math.min(C.value[z.value.scroll],Array.prototype.reduce.call(C.value.children,(e,t)=>e+(t[z.value.content]||0),0)),i=t>0&&n>t;T.value=i,i===!0&&h(K),O.value=t<parseInt(r.breakpoint,10)}function ce(e,t){let n=e!=null&&e!==``?k.find(t=>t.name.value===e):null,i=t!=null&&t!==``?k.find(e=>e.name.value===t):null;if($===!0)$=!1;else if(n&&i){let e=n.tabIndicatorRef.value,t=i.tabIndicatorRef.value;N!==null&&(clearTimeout(N),N=null),e.style.transition=`none`,e.style.transform=`none`,t.style.transition=`none`,t.style.transform=`none`;let a=e.getBoundingClientRect(),o=t.getBoundingClientRect();t.style.transform=r.vertical===!0?`translate3d(0,${a.top-o.top}px,0) scale3d(1,${o.height?a.height/o.height:1},1)`:`translate3d(${a.left-o.left}px,0,0) scale3d(${o.width?a.width/o.width:1},1,1)`,g(()=>{N=setTimeout(()=>{N=null,t.style.transition=`transform .25s cubic-bezier(.4, 0, .2, 1)`,t.style.transform=`none`},70)})}i&&T.value===!0&&G(i.rootRef.value)}function G(e){let{left:t,width:n,top:i,height:a}=C.value.getBoundingClientRect(),o=e.getBoundingClientRect(),s=r.vertical===!0?o.top-i:o.left-t;if(s<0){C.value[r.vertical===!0?`scrollTop`:`scrollLeft`]+=Math.floor(s),K();return}s+=r.vertical===!0?o.height-a:o.width-n,s>0&&(C.value[r.vertical===!0?`scrollTop`:`scrollLeft`]+=Math.ceil(s),K())}function K(){let e=C.value;if(e===null)return;let t=e.getBoundingClientRect(),n=r.vertical===!0?e.scrollTop:Math.abs(e.scrollLeft);B.value===!0?(E.value=Math.ceil(n+t.width)<e.scrollWidth-1,D.value=n>0):(E.value=n>0,D.value=r.vertical===!0?Math.ceil(n+t.height)<e.scrollHeight:Math.ceil(n+t.width)<e.scrollWidth)}function q(e){F!==null&&clearInterval(F),F=setInterval(()=>{de(e)===!0&&X()},5)}function J(){q(V.value===!0?2**53-1:0)}function Y(){q(V.value===!0?0:2**53-1)}function X(){F!==null&&(clearInterval(F),F=null)}function le(e,t){let n=Array.prototype.filter.call(C.value.children,e=>e===t||e.matches&&e.matches(`.q-tab.q-focusable`)===!0),i=n.length;if(i===0)return;if(e===36)return G(n[0]),n[0].focus(),!0;if(e===35)return G(n[i-1]),n[i-1].focus(),!0;let a=e===(r.vertical===!0?38:37),o=e===(r.vertical===!0?40:39),s=a===!0?-1:o===!0?1:void 0;if(s!==void 0){let e=B.value===!0?-1:1,r=n.indexOf(t)+s*e;return r>=0&&r<i&&(G(n[r]),n[r].focus({preventScroll:!0})),!0}}let ue=d(()=>V.value===!0?{get:e=>Math.abs(e.scrollLeft),set:(e,t)=>{e.scrollLeft=-t}}:r.vertical===!0?{get:e=>e.scrollTop,set:(e,t)=>{e.scrollTop=t}}:{get:e=>e.scrollLeft,set:(e,t)=>{e.scrollLeft=t}});function de(e){let t=C.value,{get:n,set:r}=ue.value,i=!1,a=n(t),o=e<a?-1:1;return a+=o*5,a<0?(i=!0,a=0):(o===-1&&a<=e||o===1&&a>=e)&&(i=!0,a=e),r(t,a),K(),i}function Z(e,t){for(let n in e)if(e[n]!==t[n])return!1;return!0}function fe(){let e=null,t={matchedLen:0,queryDiff:9999,hrefLen:0},n=k.filter(e=>e.routeData?.hasRouterLink.value===!0),{hash:r,query:i}=f.$route,a=Object.keys(i).length;for(let o of n){let n=o.routeData.exact.value===!0;if(o.routeData[n===!0?`linkIsExactActive`:`linkIsActive`].value!==!0)continue;let{hash:s,query:c,matched:l,href:u}=o.routeData.resolvedLink.value,d=Object.keys(c).length;if(n===!0){if(s!==r||d!==a||Z(i,c)===!1)continue;e=o.name.value;break}if(s!==``&&s!==r||d!==0&&Z(c,i)===!1)continue;let f={matchedLen:l.length,queryDiff:a-d,hrefLen:u.length-s.length};if(f.matchedLen>t.matchedLen){e=o.name.value,t=f;continue}else if(f.matchedLen!==t.matchedLen)continue;if(f.queryDiff<t.queryDiff)e=o.name.value,t=f;else if(f.queryDiff!==t.queryDiff)continue;f.hrefLen>t.hrefLen&&(e=o.name.value,t=f)}if(e===null&&k.some(e=>e.routeData===void 0&&e.name.value===w.value)===!0){$=!1;return}H({name:e,setCurrent:!0})}function pe(e){if(y(),M.value!==!0&&S.value!==null&&e.target&&typeof e.target.closest==`function`){let t=e.target.closest(`.q-tab`);t&&S.value.contains(t)===!0&&(M.value=!0,T.value===!0&&G(t))}}function me(){te(()=>{M.value=!1},30)}function Q(){ve.avoidRouteWatcher===!1?b(fe):x()}function he(){if(I===void 0){let e=t(()=>f.$route.fullPath,Q);I=()=>{e(),I=void 0}}}function ge(e){k.push(e),j.value++,U(),e.routeData===void 0||f.$route===void 0?b(()=>{if(T.value===!0){let e=w.value,t=e!=null&&e!==``?k.find(t=>t.name.value===e):null;t&&G(t.rootRef.value)}}):(he(),e.routeData.hasRouterLink.value===!0&&Q())}function _e(e){k.splice(k.indexOf(e),1),j.value--,U(),I!==void 0&&e.routeData!==void 0&&(k.every(e=>e.routeData===void 0)===!0&&I(),Q())}let ve={currentModel:w,tabProps:ne,hasFocus:M,hasActiveTab:re,registerTab:ge,unregisterTab:_e,verifyRouteModel:Q,updateModel:H,onKbdNavigate:le,avoidRouteWatcher:!1};n(P,ve);function ye(){N!==null&&clearTimeout(N),X(),I?.()}let be,$;return l(ye),c(()=>{be=I!==void 0,ye()}),e(()=>{be===!0&&(he(),$=!0,Q()),U()}),()=>a(`div`,{ref:S,class:R.value,role:`tablist`,onFocusin:pe,onFocusout:me},[a(ie,{onResize:W}),a(`div`,{ref:C,class:oe.value,onScroll:K},v(o.default)),a(m,{class:`q-tabs__arrow q-tabs__arrow--left absolute q-tab__icon`+(E.value===!0?``:` q-tabs__arrow--faded`),name:r.leftIcon||p.iconSet.tabs[r.vertical===!0?`up`:`left`],onMousedownPassive:J,onTouchstartPassive:J,onMouseupPassive:X,onMouseleavePassive:X,onTouchendPassive:X}),a(m,{class:`q-tabs__arrow q-tabs__arrow--right absolute q-tab__icon`+(D.value===!0?``:` q-tabs__arrow--faded`),name:r.rightIcon||p.iconSet.tabs[r.vertical===!0?`down`:`right`],onMousedownPassive:Y,onTouchstartPassive:Y,onMouseupPassive:X,onMouseleavePassive:X,onTouchendPassive:X})])}});function ce(e){let t=[.06,6,50];return typeof e==`string`&&e.length&&e.split(`:`).forEach((e,n)=>{let r=parseFloat(e);r&&(t[n]=r)}),t}var G=E({name:`touch-swipe`,beforeMount(e,{value:t,arg:n,modifiers:r}){if(r.mouse!==!0&&C.has.touch!==!0)return;let i=r.mouseCapture===!0?`Capture`:``,a={handler:t,sensitivity:ce(n),direction:R(r),noop:D,mouseStart(e){L(e,a)&&S(e)&&(y(a,`temp`,[[document,`mousemove`,`move`,`notPassive${i}`],[document,`mouseup`,`end`,`notPassiveCapture`]]),a.start(e,!0))},touchStart(e){if(L(e,a)){let t=e.target;y(a,`temp`,[[t,`touchmove`,`move`,`notPassiveCapture`],[t,`touchcancel`,`end`,`notPassiveCapture`],[t,`touchend`,`end`,`notPassiveCapture`]]),a.start(e)}},start(t,n){C.is.firefox===!0&&b(e,!0);let r=O(t);a.event={x:r.left,y:r.top,time:Date.now(),mouse:n===!0,dir:!1}},move(e){if(a.event===void 0)return;if(a.event.dir!==!1){k(e);return}let t=Date.now()-a.event.time;if(t===0)return;let n=O(e),r=n.left-a.event.x,i=Math.abs(r),o=n.top-a.event.y,s=Math.abs(o);if(a.event.mouse!==!0){if(i<a.sensitivity[1]&&s<a.sensitivity[1]){a.end(e);return}}else if(window.getSelection().toString()!==``){a.end(e);return}else if(i<a.sensitivity[2]&&s<a.sensitivity[2])return;let c=i/t,l=s/t;a.direction.vertical===!0&&i<s&&i<100&&l>a.sensitivity[0]&&(a.event.dir=o<0?`up`:`down`),a.direction.horizontal===!0&&i>s&&s<100&&c>a.sensitivity[0]&&(a.event.dir=r<0?`left`:`right`),a.direction.up===!0&&i<s&&o<0&&i<100&&l>a.sensitivity[0]&&(a.event.dir=`up`),a.direction.down===!0&&i<s&&o>0&&i<100&&l>a.sensitivity[0]&&(a.event.dir=`down`),a.direction.left===!0&&i>s&&r<0&&s<100&&c>a.sensitivity[0]&&(a.event.dir=`left`),a.direction.right===!0&&i>s&&r>0&&s<100&&c>a.sensitivity[0]&&(a.event.dir=`right`),a.event.dir===!1?a.end(e):(k(e),a.event.mouse===!0&&(document.body.classList.add(`no-pointer-events--children`),document.body.classList.add(`non-selectable`),re(),a.styleCleanup=e=>{a.styleCleanup=void 0,document.body.classList.remove(`non-selectable`);let t=()=>{document.body.classList.remove(`no-pointer-events--children`)};e===!0?setTimeout(t,50):t()}),a.handler({evt:e,touch:a.event.mouse!==!0,mouse:a.event.mouse,direction:a.event.dir,duration:t,distance:{x:i,y:s}}))},end(t){a.event!==void 0&&(h(a,`temp`),C.is.firefox===!0&&b(e,!1),a.styleCleanup?.(!0),t!==void 0&&a.event.dir!==!1&&k(t),a.event=void 0)}};e.__qtouchswipe=a,r.mouse===!0&&y(a,`main`,[[e,`mousedown`,`mouseStart`,`passive${r.mouseCapture===!0||r.mousecapture===!0?`Capture`:``}`]]),C.has.touch===!0&&y(a,`main`,[[e,`touchstart`,`touchStart`,`passive${r.capture===!0?`Capture`:``}`],[e,`touchmove`,`noop`,`notPassiveCapture`]])},updated(e,t){let n=e.__qtouchswipe;n!==void 0&&(t.oldValue!==t.value&&(typeof t.value!=`function`&&n.end(),n.handler=t.value),n.direction=R(t.modifiers))},beforeUnmount(e){let t=e.__qtouchswipe;t!==void 0&&(h(t,`main`),h(t,`temp`),C.is.firefox===!0&&b(e,!1),t.styleCleanup?.(),delete e.__qtouchswipe)}});function K(){let e=Object.create(null);return{getCache:(t,n)=>e[t]===void 0?e[t]=typeof n==`function`?n():n:e[t],setCache(t,n){e[t]=n},hasCache(t){return Object.hasOwnProperty.call(e,t)},clearCache(t){t===void 0?e=Object.create(null):delete e[t]}}}var q={name:{required:!0},disable:Boolean},J={setup(e,{slots:t}){return()=>a(`div`,{class:`q-panel scroll`,role:`tabpanel`},v(t.default))}},Y={modelValue:{required:!0},animated:Boolean,infinite:Boolean,swipeable:Boolean,vertical:Boolean,transitionPrev:String,transitionNext:String,transitionDuration:{type:[String,Number],default:300},keepAlive:Boolean,keepAliveInclude:[String,Array,RegExp],keepAliveExclude:[String,Array,RegExp],keepAliveMax:Number},X=[`update:modelValue`,`beforeTransition`,`transition`];function le(){let{props:e,emit:n,proxy:r}=s(),{getCache:o}=K(),{registerTimeout:c}=_(),l,f,p=i(null),m={value:null};function ee(t){let n=e.vertical===!0?`up`:`left`;M((r.$q.lang.rtl===!0?-1:1)*(t.direction===n?1:-1))}let h=d(()=>[[G,ee,void 0,{horizontal:e.vertical!==!0,vertical:e.vertical,mouse:!0}]]),g=d(()=>e.transitionPrev||`slide-${e.vertical===!0?`down`:`right`}`),te=d(()=>e.transitionNext||`slide-${e.vertical===!0?`up`:`left`}`),y=d(()=>`--q-transition-duration: ${e.transitionDuration}ms`),b=d(()=>typeof e.modelValue==`string`||typeof e.modelValue==`number`?e.modelValue:String(e.modelValue)),x=d(()=>({include:e.keepAliveInclude,exclude:e.keepAliveExclude,max:e.keepAliveMax})),S=d(()=>e.keepAliveInclude!==void 0||e.keepAliveExclude!==void 0);t(()=>e.modelValue,(t,r)=>{let i=O(t)===!0?k(t):-1;f!==!0&&j(i===-1?0:i<k(r)?-1:1),m.value!==i&&(m.value=i,n(`beforeTransition`,t,r),c(()=>{n(`transition`,t,r)},e.transitionDuration))});function C(){M(1)}function E(){M(-1)}function D(e){n(`update:modelValue`,e)}function O(e){return e!=null&&e!==``}function k(e){return l.findIndex(t=>t.props.name===e&&t.props.disable!==``&&t.props.disable!==!0)}function A(){return l.filter(e=>e.props.disable!==``&&e.props.disable!==!0)}function j(t){let n=t!==0&&e.animated===!0&&m.value!==-1?`q-transition--`+(t===-1?g.value:te.value):null;p.value!==n&&(p.value=n)}function M(t,r=m.value){let i=r+t;for(;i!==-1&&i<l.length;){let e=l[i];if(e!==void 0&&e.props.disable!==``&&e.props.disable!==!0){j(t),f=!0,n(`update:modelValue`,e.props.name),setTimeout(()=>{f=!1});return}i+=t}e.infinite===!0&&l.length!==0&&r!==-1&&r!==l.length&&M(t,t===-1?l.length:-1)}function N(){let t=k(e.modelValue);return m.value!==t&&(m.value=t),!0}function P(){let t=O(e.modelValue)===!0&&N()&&l[m.value];return e.keepAlive===!0?[a(u,x.value,[a(S.value===!0?o(b.value,()=>({...J,name:b.value})):J,{key:b.value,style:y.value},()=>t)])]:[a(`div`,{class:`q-panel scroll`,style:y.value,key:b.value,role:`tabpanel`},[t])]}function F(){if(l.length!==0)return e.animated===!0?[a(w,{name:p.value},P)]:P()}function I(e){return l=T(v(e.default,[])).filter(e=>e.props!==null&&e.props.slot===void 0&&O(e.props.name)===!0),l.length}function ne(){return l}return Object.assign(r,{next:C,previous:E,goTo:D}),{panelIndex:m,panelDirectives:h,updatePanelsList:I,updatePanelIndex:N,getPanelContent:F,getEnabledPanels:A,getPanels:ne,isValidPanelName:O,keepAliveProps:x,needsUniqueKeepAliveWrapper:S,goToPanelByOffset:M,goToPanel:D,nextPanel:C,previousPanel:E}}var ue=x({name:`QTabPanel`,props:q,setup(e,{slots:t}){return()=>a(`div`,{class:`q-tab-panel`,role:`tabpanel`},v(t.default))}}),de=x({name:`QTabPanels`,props:{...Y,...N},emits:X,setup(e,{slots:t}){let n=M(e,s().proxy.$q),{updatePanelsList:r,getPanelContent:i,panelDirectives:a}=le(),o=d(()=>`q-tab-panels q-panel-parent`+(n.value===!0?` q-tab-panels--dark q-dark`:``));return()=>(r(t),g(`div`,{class:o.value},i(),`pan`,e.swipeable,()=>a.value))}}),Z=[`ul`,`ol`],fe=x({name:`QList`,props:{...N,bordered:Boolean,dense:Boolean,separator:Boolean,padding:Boolean,tag:{type:String,default:`div`}},setup(e,{slots:t}){let n=M(e,s().proxy.$q),r=d(()=>Z.includes(e.tag)?null:`list`),i=d(()=>`q-list`+(e.bordered===!0?` q-list--bordered`:``)+(e.dense===!0?` q-list--dense`:``)+(e.separator===!0?` q-list--separator`:``)+(n.value===!0?` q-list--dark`:``)+(e.padding===!0?` q-list--padding`:``));return()=>a(e.tag,{class:i.value,role:r.value},v(t.default))}});export{H as a,W as i,de as n,ue as r,fe as t};
@@ -1 +1 @@
1
- import{H as e,Q as t,S as n,b as r,k as i,u as a,w as o}from"./vue-i18n-nv59vAyH.js";import{D as s,H as c,J as l,N as u,O as d,S as f,V as p,_ as m,b as h,ct as g,g as _,ht as v,l as y,m as b,n as x,o as S,rt as ee,st as C,u as w,v as T,x as te,y as E}from"./scroll-CWjBCoBR.js";import{a as D,o as O}from"./private.use-form-1cZLVjGN.js";import{_ as ne,g as re,v as ie,y as k}from"./index-BxBqipDT.js";import{a as A,c as ae,i as j,l as oe,n as M,o as se,r as ce,s as N,u as P}from"./_plugin-vue_export-helper-CLHv3piE.js";var F=!1;{let e=document.createElement(`div`);e.setAttribute(`dir`,`rtl`),Object.assign(e.style,{width:`1px`,height:`1px`,overflow:`auto`});let t=document.createElement(`div`);Object.assign(t.style,{width:`1000px`,height:`1px`}),document.body.appendChild(e),e.appendChild(t),e.scrollLeft=-1e3,F=e.scrollLeft>=0,e.remove()}function I(){return o(`_q_`)}var L=g({name:`QItemSection`,props:{avatar:Boolean,thumbnail:Boolean,side:Boolean,top:Boolean,noWrap:Boolean},setup(e,{slots:t}){let r=a(()=>`q-item__section column q-item__section--${e.avatar===!0||e.side===!0||e.thumbnail===!0?`side`:`main`}`+(e.top===!0?` q-item__section--top justify-start`:` justify-center`)+(e.avatar===!0?` q-item__section--avatar`:``)+(e.thumbnail===!0?` q-item__section--thumbnail`:``)+(e.noWrap===!0?` q-item__section--nowrap`:``));return()=>n(`div`,{class:r.value},p(t.default))}}),R=g({name:`QItem`,props:{...O,...d,tag:{type:String,default:`div`},active:{type:Boolean,default:null},clickable:Boolean,dense:Boolean,insetLevel:Number,tabindex:[String,Number],focused:Boolean,manualFocus:Boolean},emits:[`click`,`keyup`],setup(e,{slots:i,emit:o}){let{proxy:{$q:u}}=r(),d=D(e,u),{hasLink:f,linkAttrs:p,linkClass:m,linkTag:h,navigateOnClick:g}=s(),_=t(null),v=t(null),y=a(()=>e.clickable===!0||f.value===!0||e.tag===`label`),b=a(()=>e.disable!==!0&&y.value===!0),x=a(()=>`q-item q-item-type row no-wrap`+(e.dense===!0?` q-item--dense`:``)+(d.value===!0?` q-item--dark`:``)+(f.value===!0&&e.active===null?m.value:e.active===!0?` q-item--active${e.activeClass===void 0?``:` ${e.activeClass}`}`:``)+(e.disable===!0?` disabled`:``)+(b.value===!0?` q-item--clickable q-link cursor-pointer `+(e.manualFocus===!0?`q-manual-focusable`:`q-focusable q-hoverable`)+(e.focused===!0?` q-manual-focusable--focused`:``):``)),S=a(()=>e.insetLevel===void 0?null:{[`padding`+(u.lang.rtl===!0?`Right`:`Left`)]:16+e.insetLevel*56+`px`});function ee(e){b.value===!0&&(v.value!==null&&e.qAvoidFocus!==!0&&(e.qKeyEvent!==!0&&document.activeElement===_.value?v.value.focus():document.activeElement===v.value&&_.value.focus()),g(e))}function w(e){if(b.value===!0&&l(e,[13,32])===!0){C(e),e.qKeyEvent=!0;let t=new MouseEvent(`click`,e);t.qKeyEvent=!0,_.value.dispatchEvent(t)}o(`keyup`,e)}function T(){let e=c(i.default,[]);return b.value===!0&&e.unshift(n(`div`,{class:`q-focus-helper`,tabindex:-1,ref:v})),e}return()=>{let t={ref:_,class:x.value,style:S.value,role:`listitem`,onClick:ee,onKeyup:w};return b.value===!0?(t.tabindex=e.tabindex||`0`,Object.assign(t,p.value)):y.value===!0&&(t[`aria-disabled`]=`true`),n(h.value,t,T())}}}),z=g({name:`QMenu`,inheritAttrs:!1,props:{...P,...h,...O,...m,persistent:Boolean,autoClose:Boolean,separateClosePopup:Boolean,noEscDismiss:Boolean,noRouteDismiss:Boolean,noRefocus:Boolean,noFocus:Boolean,fit:Boolean,cover:Boolean,square:Boolean,anchor:{type:String,validator:A},self:{type:String,validator:A},offset:{type:Array,validator:j},scrollTarget:S,touchPosition:Boolean,maxHeight:{type:String,default:null},maxWidth:{type:String,default:null}},emits:[...E,`click`,`escapeKey`],setup(o,{slots:s,emit:c,attrs:l}){let d=null,m,h,g,S=r(),{proxy:E}=S,{$q:O}=E,A=t(null),j=t(!1),P=a(()=>o.persistent!==!0&&o.noRouteDismiss!==!0),F=D(o,O),{registerTick:I,removeTick:L}=te(),{registerTimeout:R}=f(),{transitionProps:z,transitionStyle:le}=_(o),{localScrollTarget:B,changeScrollEvent:ue,unconfigureScrollTarget:de}=ae(o,X),{anchorEl:V,canShow:fe}=oe({showing:j}),{hide:H}=T({showing:j,canShow:fe,handleShow:_e,handleHide:ve,hideOnRouteChange:P,processOnMount:!0}),{showPortal:U,hidePortal:W,renderPortal:pe}=y(S,A,be,`menu`),G={anchorEl:V,innerRef:A,onClickOutside(e){if(o.persistent!==!0&&j.value===!0)return H(e),(e.type===`touchstart`||e.target.classList.contains(`q-dialog__backdrop`))&&C(e),!0}},K=a(()=>M(o.anchor||(o.cover===!0?`center middle`:`bottom start`),O.lang.rtl)),me=a(()=>o.cover===!0?K.value:M(o.self||`top start`,O.lang.rtl)),he=a(()=>(o.square===!0?` q-menu--square`:``)+(F.value===!0?` q-menu--dark q-dark`:``)),ge=a(()=>o.autoClose===!0?{onClick:ye}:{}),q=a(()=>j.value===!0&&o.persistent!==!0);e(q,e=>{e===!0?(ie(Q),se(G)):(k(Q),N(G))});function J(){b(()=>{let e=A.value;e&&e.contains(document.activeElement)!==!0&&(e=e.querySelector(`[autofocus][tabindex], [data-autofocus][tabindex]`)||e.querySelector(`[autofocus] [tabindex], [data-autofocus] [tabindex]`)||e.querySelector(`[autofocus], [data-autofocus]`)||e,e.focus({preventScroll:!0}))})}function _e(t){if(d=o.noRefocus===!1?document.activeElement:null,re(Z),U(),X(),m=void 0,t!==void 0&&(o.touchPosition||o.contextMenu)){let e=ee(t);if(e.left!==void 0){let{top:t,left:n}=V.value.getBoundingClientRect();m={left:e.left-n,top:e.top-t}}}h===void 0&&(h=e(()=>O.screen.width+`|`+O.screen.height+`|`+o.self+`|`+o.anchor+`|`+O.lang.rtl,$)),o.noFocus!==!0&&document.activeElement.blur(),I(()=>{$(),o.noFocus!==!0&&J()}),R(()=>{O.platform.is.ios===!0&&(g=o.autoClose,A.value.click()),$(),U(!0),c(`show`,t)},o.transitionDuration)}function ve(e){L(),W(),Y(!0),d!==null&&(e===void 0||e.qClickOutside!==!0)&&(((e?.type.indexOf(`key`)===0?d.closest(`[tabindex]:not([tabindex^="-"])`):void 0)||d).focus(),d=null),R(()=>{W(!0),c(`hide`,e)},o.transitionDuration)}function Y(e){m=void 0,h!==void 0&&(h(),h=void 0),(e===!0||j.value===!0)&&(ne(Z),de(),N(G),k(Q)),e!==!0&&(d=null)}function X(){(V.value!==null||o.scrollTarget!==void 0)&&(B.value=x(V.value,o.scrollTarget),ue(B.value,$))}function ye(e){g===!0?g=!1:(w(E,e),c(`click`,e))}function Z(e){q.value===!0&&o.noFocus!==!0&&u(A.value,e.target)!==!0&&J()}function Q(e){o.noEscDismiss!==!0&&(c(`escapeKey`),H(e))}function $(){ce({targetEl:A.value,offset:o.offset,anchorEl:V.value,anchorOrigin:K.value,selfOrigin:me.value,absoluteOffset:m,fit:o.fit,cover:o.cover,maxHeight:o.maxHeight,maxWidth:o.maxWidth})}function be(){return n(v,z.value,()=>j.value===!0?n(`div`,{role:`menu`,...l,ref:A,tabindex:-1,class:[`q-menu q-position-engine scroll`+he.value,l.class],style:[l.style,le.value],...ge.value},p(s.default)):null)}return i(Y),Object.assign(E,{focus:J,updatePosition:$}),pe}});export{F as a,I as i,R as n,L as r,z as t};
1
+ import{H as e,Q as t,S as n,b as r,k as i,u as a,w as o}from"./vue-i18n-nv59vAyH.js";import{D as s,H as c,J as l,N as u,O as d,S as f,V as p,_ as m,b as h,ct as g,g as _,ht as v,l as y,m as b,n as x,o as S,rt as ee,st as C,u as w,v as T,x as te,y as E}from"./scroll-CWjBCoBR.js";import{a as D,o as O}from"./private.use-form-1cZLVjGN.js";import{_ as ne,g as re,v as ie,y as k}from"./index-Dh7opLow.js";import{a as A,c as ae,i as j,l as oe,n as M,o as se,r as ce,s as N,u as P}from"./_plugin-vue_export-helper-CLHv3piE.js";var F=!1;{let e=document.createElement(`div`);e.setAttribute(`dir`,`rtl`),Object.assign(e.style,{width:`1px`,height:`1px`,overflow:`auto`});let t=document.createElement(`div`);Object.assign(t.style,{width:`1000px`,height:`1px`}),document.body.appendChild(e),e.appendChild(t),e.scrollLeft=-1e3,F=e.scrollLeft>=0,e.remove()}function I(){return o(`_q_`)}var L=g({name:`QItemSection`,props:{avatar:Boolean,thumbnail:Boolean,side:Boolean,top:Boolean,noWrap:Boolean},setup(e,{slots:t}){let r=a(()=>`q-item__section column q-item__section--${e.avatar===!0||e.side===!0||e.thumbnail===!0?`side`:`main`}`+(e.top===!0?` q-item__section--top justify-start`:` justify-center`)+(e.avatar===!0?` q-item__section--avatar`:``)+(e.thumbnail===!0?` q-item__section--thumbnail`:``)+(e.noWrap===!0?` q-item__section--nowrap`:``));return()=>n(`div`,{class:r.value},p(t.default))}}),R=g({name:`QItem`,props:{...O,...d,tag:{type:String,default:`div`},active:{type:Boolean,default:null},clickable:Boolean,dense:Boolean,insetLevel:Number,tabindex:[String,Number],focused:Boolean,manualFocus:Boolean},emits:[`click`,`keyup`],setup(e,{slots:i,emit:o}){let{proxy:{$q:u}}=r(),d=D(e,u),{hasLink:f,linkAttrs:p,linkClass:m,linkTag:h,navigateOnClick:g}=s(),_=t(null),v=t(null),y=a(()=>e.clickable===!0||f.value===!0||e.tag===`label`),b=a(()=>e.disable!==!0&&y.value===!0),x=a(()=>`q-item q-item-type row no-wrap`+(e.dense===!0?` q-item--dense`:``)+(d.value===!0?` q-item--dark`:``)+(f.value===!0&&e.active===null?m.value:e.active===!0?` q-item--active${e.activeClass===void 0?``:` ${e.activeClass}`}`:``)+(e.disable===!0?` disabled`:``)+(b.value===!0?` q-item--clickable q-link cursor-pointer `+(e.manualFocus===!0?`q-manual-focusable`:`q-focusable q-hoverable`)+(e.focused===!0?` q-manual-focusable--focused`:``):``)),S=a(()=>e.insetLevel===void 0?null:{[`padding`+(u.lang.rtl===!0?`Right`:`Left`)]:16+e.insetLevel*56+`px`});function ee(e){b.value===!0&&(v.value!==null&&e.qAvoidFocus!==!0&&(e.qKeyEvent!==!0&&document.activeElement===_.value?v.value.focus():document.activeElement===v.value&&_.value.focus()),g(e))}function w(e){if(b.value===!0&&l(e,[13,32])===!0){C(e),e.qKeyEvent=!0;let t=new MouseEvent(`click`,e);t.qKeyEvent=!0,_.value.dispatchEvent(t)}o(`keyup`,e)}function T(){let e=c(i.default,[]);return b.value===!0&&e.unshift(n(`div`,{class:`q-focus-helper`,tabindex:-1,ref:v})),e}return()=>{let t={ref:_,class:x.value,style:S.value,role:`listitem`,onClick:ee,onKeyup:w};return b.value===!0?(t.tabindex=e.tabindex||`0`,Object.assign(t,p.value)):y.value===!0&&(t[`aria-disabled`]=`true`),n(h.value,t,T())}}}),z=g({name:`QMenu`,inheritAttrs:!1,props:{...P,...h,...O,...m,persistent:Boolean,autoClose:Boolean,separateClosePopup:Boolean,noEscDismiss:Boolean,noRouteDismiss:Boolean,noRefocus:Boolean,noFocus:Boolean,fit:Boolean,cover:Boolean,square:Boolean,anchor:{type:String,validator:A},self:{type:String,validator:A},offset:{type:Array,validator:j},scrollTarget:S,touchPosition:Boolean,maxHeight:{type:String,default:null},maxWidth:{type:String,default:null}},emits:[...E,`click`,`escapeKey`],setup(o,{slots:s,emit:c,attrs:l}){let d=null,m,h,g,S=r(),{proxy:E}=S,{$q:O}=E,A=t(null),j=t(!1),P=a(()=>o.persistent!==!0&&o.noRouteDismiss!==!0),F=D(o,O),{registerTick:I,removeTick:L}=te(),{registerTimeout:R}=f(),{transitionProps:z,transitionStyle:le}=_(o),{localScrollTarget:B,changeScrollEvent:ue,unconfigureScrollTarget:de}=ae(o,X),{anchorEl:V,canShow:fe}=oe({showing:j}),{hide:H}=T({showing:j,canShow:fe,handleShow:_e,handleHide:ve,hideOnRouteChange:P,processOnMount:!0}),{showPortal:U,hidePortal:W,renderPortal:pe}=y(S,A,be,`menu`),G={anchorEl:V,innerRef:A,onClickOutside(e){if(o.persistent!==!0&&j.value===!0)return H(e),(e.type===`touchstart`||e.target.classList.contains(`q-dialog__backdrop`))&&C(e),!0}},K=a(()=>M(o.anchor||(o.cover===!0?`center middle`:`bottom start`),O.lang.rtl)),me=a(()=>o.cover===!0?K.value:M(o.self||`top start`,O.lang.rtl)),he=a(()=>(o.square===!0?` q-menu--square`:``)+(F.value===!0?` q-menu--dark q-dark`:``)),ge=a(()=>o.autoClose===!0?{onClick:ye}:{}),q=a(()=>j.value===!0&&o.persistent!==!0);e(q,e=>{e===!0?(ie(Q),se(G)):(k(Q),N(G))});function J(){b(()=>{let e=A.value;e&&e.contains(document.activeElement)!==!0&&(e=e.querySelector(`[autofocus][tabindex], [data-autofocus][tabindex]`)||e.querySelector(`[autofocus] [tabindex], [data-autofocus] [tabindex]`)||e.querySelector(`[autofocus], [data-autofocus]`)||e,e.focus({preventScroll:!0}))})}function _e(t){if(d=o.noRefocus===!1?document.activeElement:null,re(Z),U(),X(),m=void 0,t!==void 0&&(o.touchPosition||o.contextMenu)){let e=ee(t);if(e.left!==void 0){let{top:t,left:n}=V.value.getBoundingClientRect();m={left:e.left-n,top:e.top-t}}}h===void 0&&(h=e(()=>O.screen.width+`|`+O.screen.height+`|`+o.self+`|`+o.anchor+`|`+O.lang.rtl,$)),o.noFocus!==!0&&document.activeElement.blur(),I(()=>{$(),o.noFocus!==!0&&J()}),R(()=>{O.platform.is.ios===!0&&(g=o.autoClose,A.value.click()),$(),U(!0),c(`show`,t)},o.transitionDuration)}function ve(e){L(),W(),Y(!0),d!==null&&(e===void 0||e.qClickOutside!==!0)&&(((e?.type.indexOf(`key`)===0?d.closest(`[tabindex]:not([tabindex^="-"])`):void 0)||d).focus(),d=null),R(()=>{W(!0),c(`hide`,e)},o.transitionDuration)}function Y(e){m=void 0,h!==void 0&&(h(),h=void 0),(e===!0||j.value===!0)&&(ne(Z),de(),N(G),k(Q)),e!==!0&&(d=null)}function X(){(V.value!==null||o.scrollTarget!==void 0)&&(B.value=x(V.value,o.scrollTarget),ue(B.value,$))}function ye(e){g===!0?g=!1:(w(E,e),c(`click`,e))}function Z(e){q.value===!0&&o.noFocus!==!0&&u(A.value,e.target)!==!0&&J()}function Q(e){o.noEscDismiss!==!0&&(c(`escapeKey`),H(e))}function $(){ce({targetEl:A.value,offset:o.offset,anchorEl:V.value,anchorOrigin:K.value,selfOrigin:me.value,absoluteOffset:m,fit:o.fit,cover:o.cover,maxHeight:o.maxHeight,maxWidth:o.maxWidth})}function be(){return n(v,z.value,()=>j.value===!0?n(`div`,{role:`menu`,...l,ref:A,tabindex:-1,class:[`q-menu q-position-engine scroll`+he.value,l.class],style:[l.style,le.value],...ge.value},p(s.default)):null)}return i(Y),Object.assign(E,{focus:J,updatePosition:$}),pe}});export{F as a,I as i,R as n,L as r,z as t};