@loicngr/kobo 1.4.9 → 1.4.11

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 (78) hide show
  1. package/AGENTS.md +16 -10
  2. package/README.md +5 -1
  3. package/dist/mcp-server/kobo-tasks-server.js +1 -1
  4. package/dist/server/db/migrations.js +31 -0
  5. package/dist/server/db/schema.js +2 -1
  6. package/dist/server/index.js +14 -5
  7. package/dist/server/routes/plans.js +89 -0
  8. package/dist/server/routes/templates.js +82 -0
  9. package/dist/server/routes/workspaces.js +110 -11
  10. package/dist/server/services/agent-manager.js +74 -21
  11. package/dist/server/services/settings-service.js +10 -0
  12. package/dist/server/services/templates-service.js +173 -0
  13. package/dist/server/services/workspace-service.js +52 -3
  14. package/dist/server/utils/git-ops.js +10 -0
  15. package/dist/server/utils/paths.js +7 -0
  16. package/package.json +1 -1
  17. package/src/client/dist/spa/assets/ActivityFeed-C8UZFjUM.css +1 -0
  18. package/src/client/dist/spa/assets/ActivityFeed-CahLjg_a.js +10 -0
  19. package/src/client/dist/spa/assets/ClosePopup-jSuaV6dg.js +1 -0
  20. package/src/client/dist/spa/assets/CreatePage-DByy8YPu.css +1 -0
  21. package/src/client/dist/spa/assets/CreatePage-DvenHBbs.js +2 -0
  22. package/src/client/dist/spa/assets/DiffViewer-BNB89NC_.js +2 -0
  23. package/src/client/dist/spa/assets/MainLayout-8hdHhbFX.css +1 -0
  24. package/src/client/dist/spa/assets/MainLayout-CRZ_pSUI.js +2 -0
  25. package/src/client/dist/spa/assets/QExpansionItem-D6zpEqBV.js +1 -0
  26. package/src/client/dist/spa/assets/{QList-tXJCQz3K.js → QList-oHuiVWr0.js} +1 -1
  27. package/src/client/dist/spa/assets/QMenu-67GqYx0C.js +1 -0
  28. package/src/client/dist/spa/assets/QPage-DE75SzRI.js +1 -0
  29. package/src/client/dist/spa/assets/SettingsPage-BIAu1N7t.js +1 -0
  30. package/src/client/dist/spa/assets/SettingsPage-ai7Q_1KB.css +1 -0
  31. package/src/client/dist/spa/assets/{TouchPan-Dc-xrSIS.js → TouchPan-DuISf80E.js} +1 -1
  32. package/src/client/dist/spa/assets/WorkspacePage-ZtCuDedw.js +4 -0
  33. package/src/client/dist/spa/assets/WorkspacePage-l-yPyCj4.css +1 -0
  34. package/src/client/dist/spa/assets/_plugin-vue_export-helper-fkfRoKj2.js +1 -0
  35. package/src/client/dist/spa/assets/{cssMode-hVzqeL3Y.js → cssMode-CLNBNUPN.js} +1 -1
  36. package/src/client/dist/spa/assets/{editor.api-CDy2oNdA.js → editor.api-BOAfcnN4.js} +1 -1
  37. package/src/client/dist/spa/assets/{editor.main-By6Nm4Uo.js → editor.main-DHOeskpn.js} +3 -3
  38. package/src/client/dist/spa/assets/{freemarker2-DsZ7OE8f.js → freemarker2-BtrSj5Xy.js} +1 -1
  39. package/src/client/dist/spa/assets/{handlebars-BwM3WWoa.js → handlebars-Dc1FuhPx.js} +1 -1
  40. package/src/client/dist/spa/assets/{html-BevRIlIZ.js → html-CRa_T0ab.js} +1 -1
  41. package/src/client/dist/spa/assets/{htmlMode-B1A5H5QY.js → htmlMode-DiZaznA3.js} +1 -1
  42. package/src/client/dist/spa/assets/i18n-Chh7fA86.js +1 -0
  43. package/src/client/dist/spa/assets/i18n-EPkNuLUF.js +1 -0
  44. package/src/client/dist/spa/assets/index-BIsYlO92.js +5 -0
  45. package/src/client/dist/spa/assets/{javascript-Cbwf_WZd.js → javascript-BmWQzw3l.js} +1 -1
  46. package/src/client/dist/spa/assets/{jsonMode-DXxkqMuk.js → jsonMode-CxTgSexO.js} +1 -1
  47. package/src/client/dist/spa/assets/{liquid-CMWSadqH.js → liquid-BUs2kSUC.js} +1 -1
  48. package/src/client/dist/spa/assets/marked.esm-BjjOHIBz.js +60 -0
  49. package/src/client/dist/spa/assets/{mdx-CXFMxs0m.js → mdx-Cnd0lVUN.js} +1 -1
  50. package/src/client/dist/spa/assets/{monaco.contribution-DojwMy68.js → monaco.contribution-DdEdriCG.js} +2 -2
  51. package/src/client/dist/spa/assets/{python-Ct1-RX08.js → python-DEYsKpRr.js} +1 -1
  52. package/src/client/dist/spa/assets/{razor-BLUxJqNg.js → razor-D5u_QaVY.js} +1 -1
  53. package/src/client/dist/spa/assets/{settings-B0JkmJA1.js → settings-CuK-S6HH.js} +1 -1
  54. package/src/client/dist/spa/assets/{tsMode-DfoQS6sD.js → tsMode-DWHAMuFy.js} +1 -1
  55. package/src/client/dist/spa/assets/{typescript-Ce2TQPtr.js → typescript-miqJki5_.js} +1 -1
  56. package/src/client/dist/spa/assets/{xml-C9QcFOCj.js → xml-TsOUFKqU.js} +1 -1
  57. package/src/client/dist/spa/assets/{yaml-CpUUJmRX.js → yaml-Bn4aEJci.js} +1 -1
  58. package/src/client/dist/spa/index.html +3 -3
  59. package/src/mcp-server/kobo-tasks-server.ts +1 -1
  60. package/src/client/dist/spa/assets/ActivityFeed-5m7j8KXA.css +0 -1
  61. package/src/client/dist/spa/assets/ActivityFeed-jhus97Cf.js +0 -68
  62. package/src/client/dist/spa/assets/CreatePage-BErPWWmP.js +0 -2
  63. package/src/client/dist/spa/assets/CreatePage-CgqSs5JM.css +0 -1
  64. package/src/client/dist/spa/assets/DiffViewer-BmAd7k-Q.js +0 -2
  65. package/src/client/dist/spa/assets/MainLayout-BW7daPf7.js +0 -2
  66. package/src/client/dist/spa/assets/MainLayout-Drv4zYbW.css +0 -1
  67. package/src/client/dist/spa/assets/QExpansionItem-Ch5P6bzC.js +0 -1
  68. package/src/client/dist/spa/assets/QMenu-BE-OO3N4.js +0 -1
  69. package/src/client/dist/spa/assets/QPage-CkDrNXyM.js +0 -1
  70. package/src/client/dist/spa/assets/QTooltip-DKxEdudV.js +0 -1
  71. package/src/client/dist/spa/assets/SettingsPage-B5j-Zv91.js +0 -1
  72. package/src/client/dist/spa/assets/SettingsPage-BzsaegMp.css +0 -1
  73. package/src/client/dist/spa/assets/WorkspacePage-DrDOZvHX.css +0 -1
  74. package/src/client/dist/spa/assets/WorkspacePage-LkjOnfKV.js +0 -4
  75. package/src/client/dist/spa/assets/_plugin-vue_export-helper-CLHv3piE.js +0 -1
  76. package/src/client/dist/spa/assets/i18n-BLHRwr9N.js +0 -1
  77. package/src/client/dist/spa/assets/i18n-yBCUfaG0.js +0 -1
  78. package/src/client/dist/spa/assets/index-BxBqipDT.js +0 -5
@@ -0,0 +1,2 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/editor.main-DHOeskpn.js","assets/index-BIsYlO92.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-EPkNuLUF.js","assets/index-eX_lKHSg.css","assets/editor.api-BOAfcnN4.js","assets/editor-COGk2gAX.css","assets/monaco.contribution-DdEdriCG.js","assets/editor-CS3NEPi9.css"])))=>i.map(i=>d[i]);
2
+ import{D as e,F as t,H as n,L as r,M as i,N as a,Q as o,S as s,U as c,W as l,_ as u,_t as d,a as f,b as p,d as m,f as h,g,j as ee,k as _,m as v,n as y,p as b,u as x,vt as S,y as C,yt as w}from"./vue-i18n-nv59vAyH.js";import{E as T,L as E,T as D,V as O,c as k,ct as A,s as j,z as M}from"./scroll-CWjBCoBR.js";import{a as N,i as P,o as F,r as I,s as L,t as R}from"./private.use-form-1cZLVjGN.js";import{S as z}from"./index-BIsYlO92.js";import{t as B}from"./QSpinnerDots-FJCnAvfw.js";import{n as V,p as te,t as H}from"./_plugin-vue_export-helper-fkfRoKj2.js";import{t as U}from"./QBadge-xNMZEqT-.js";import{r as W}from"./touch-Bojc73iM.js";import{n as G,t as K}from"./TouchPan-DuISf80E.js";import{t as q}from"./format-Ex4UmWdz.js";var J=A({name:`QBtnGroup`,props:{unelevated:Boolean,outline:Boolean,flat:Boolean,rounded:Boolean,square:Boolean,push:Boolean,stretch:Boolean,glossy:Boolean,spread:Boolean},setup(e,{slots:t}){let n=x(()=>{let t=[`unelevated`,`outline`,`flat`,`rounded`,`square`,`push`,`stretch`,`glossy`].filter(t=>e[t]===!0).map(e=>`q-btn-group--${e}`).join(` `);return`q-btn-group row no-wrap${t.length===0?``:` `+t}`+(e.spread===!0?` q-btn-group--spread`:` inline`)});return()=>s(`div`,{class:n.value},O(t.default))}}),ne=A({name:`QBtnToggle`,props:{...I,modelValue:{required:!0},options:{type:Array,required:!0,validator:e=>e.every(e=>(`label`in e||`icon`in e||`slot`in e)&&`value`in e)},color:String,textColor:String,toggleColor:{type:String,default:`primary`},toggleTextColor:String,outline:Boolean,flat:Boolean,unelevated:Boolean,rounded:Boolean,push:Boolean,glossy:Boolean,size:String,padding:String,noCaps:Boolean,noWrap:Boolean,dense:Boolean,readonly:Boolean,disable:Boolean,stack:Boolean,stretch:Boolean,spread:Boolean,clearable:Boolean,ripple:{type:[Boolean,Object],default:!0}},emits:[`update:modelValue`,`clear`,`click`],setup(e,{slots:t,emit:n}){let r=x(()=>e.options.find(t=>t.value===e.modelValue)!==void 0),i=R(x(()=>({type:`hidden`,name:e.name,value:e.modelValue}))),a=x(()=>T(e)),o=x(()=>({rounded:e.rounded,dense:e.dense,...a.value})),c=x(()=>e.options.map((t,n)=>{let{attrs:r,value:i,slot:a,...s}=t;return{slot:a,props:{key:n,"aria-pressed":i===e.modelValue?`true`:`false`,...r,...s,...o.value,disable:e.disable===!0||s.disable===!0,color:i===e.modelValue?u(s,`toggleColor`):u(s,`color`),textColor:i===e.modelValue?u(s,`toggleTextColor`):u(s,`textColor`),noCaps:u(s,`noCaps`)===!0,noWrap:u(s,`noWrap`)===!0,size:u(s,`size`),padding:u(s,`padding`),ripple:u(s,`ripple`),stack:u(s,`stack`)===!0,stretch:u(s,`stretch`)===!0,onClick(e){l(i,t,e)}}}}));function l(t,r,i){e.readonly!==!0&&(e.modelValue===t?e.clearable===!0&&(n(`update:modelValue`,null,null),n(`clear`)):n(`update:modelValue`,t,r),n(`click`,i))}function u(t,n){return t[n]===void 0?e[n]:t[n]}function d(){let n=c.value.map(e=>s(D,e.props,e.slot===void 0?void 0:t[e.slot]));return e.name!==void 0&&e.disable!==!0&&r.value===!0&&i(n,`push`),M(t.default,n)}return()=>s(J,{class:`q-btn-toggle`,...a.value,rounded:e.rounded,stretch:e.stretch,glossy:e.glossy,spread:e.spread},d)}}),Y=A({props:[`store`,`barStyle`,`verticalBarStyle`,`horizontalBarStyle`],setup(e){return()=>[s(`div`,{class:e.store.scroll.vertical.barClass.value,style:[e.barStyle,e.verticalBarStyle],"aria-hidden":`true`,onMousedown:e.store.onVerticalMousedown}),s(`div`,{class:e.store.scroll.horizontal.barClass.value,style:[e.barStyle,e.horizontalBarStyle],"aria-hidden":`true`,onMousedown:e.store.onHorizontalMousedown}),l(s(`div`,{ref:e.store.scroll.vertical.ref,class:e.store.scroll.vertical.thumbClass.value,style:e.store.scroll.vertical.style.value,"aria-hidden":`true`}),e.store.thumbVertDir),l(s(`div`,{ref:e.store.scroll.horizontal.ref,class:e.store.scroll.horizontal.thumbClass.value,style:e.store.scroll.horizontal.style.value,"aria-hidden":`true`}),e.store.thumbHorizDir)]}}),X=[`vertical`,`horizontal`],Z={vertical:{offset:`offsetY`,scroll:`scrollTop`,dir:`down`,dist:`y`},horizontal:{offset:`offsetX`,scroll:`scrollLeft`,dir:`right`,dist:`x`}},Q={prevent:!0,mouse:!0,mouseAllDir:!0},$=e=>e>=250?50:Math.ceil(e/5),re=A({name:`QScrollArea`,props:{...F,thumbStyle:Object,verticalThumbStyle:Object,horizontalThumbStyle:Object,barStyle:[Array,String,Object],verticalBarStyle:[Array,String,Object],horizontalBarStyle:[Array,String,Object],verticalOffset:{type:Array,default:[0,0]},horizontalOffset:{type:Array,default:[0,0]},contentStyle:[Array,String,Object],contentActiveStyle:[Array,String,Object],delay:{type:[String,Number],default:1e3},visible:{type:Boolean,default:null},tabindex:[String,Number],onScroll:Function},setup(t,{slots:r,emit:i}){let a=o(!1),c=o(!1),l=o(!1),u={vertical:o(0),horizontal:o(0)},d={vertical:{ref:o(null),position:o(0),size:o(0)},horizontal:{ref:o(null),position:o(0),size:o(0)}},{proxy:f}=p(),m=N(t,f.$q),h=null,g,v=o(null),y=x(()=>`q-scrollarea`+(m.value===!0?` q-scrollarea--dark`:``));Object.assign(u,{verticalInner:x(()=>u.vertical.value-t.verticalOffset[0]-t.verticalOffset[1]),horizontalInner:x(()=>u.horizontal.value-t.horizontalOffset[0]-t.horizontalOffset[1])}),d.vertical.percentage=x(()=>{let e=d.vertical.size.value-u.vertical.value;if(e<=0)return 0;let t=q(d.vertical.position.value/e,0,1);return Math.round(t*1e4)/1e4}),d.vertical.thumbHidden=x(()=>(t.visible===null?l.value:t.visible)!==!0&&a.value===!1&&c.value===!1||d.vertical.size.value<=u.vertical.value+1),d.vertical.thumbStart=x(()=>t.verticalOffset[0]+d.vertical.percentage.value*(u.verticalInner.value-d.vertical.thumbSize.value)),d.vertical.thumbSize=x(()=>Math.round(q(u.verticalInner.value*u.verticalInner.value/d.vertical.size.value,$(u.verticalInner.value),u.verticalInner.value))),d.vertical.style=x(()=>({...t.thumbStyle,...t.verticalThumbStyle,top:`${d.vertical.thumbStart.value}px`,height:`${d.vertical.thumbSize.value}px`,right:`${t.horizontalOffset[1]}px`})),d.vertical.thumbClass=x(()=>`q-scrollarea__thumb q-scrollarea__thumb--v absolute-right`+(d.vertical.thumbHidden.value===!0?` q-scrollarea__thumb--invisible`:``)),d.vertical.barClass=x(()=>`q-scrollarea__bar q-scrollarea__bar--v absolute-right`+(d.vertical.thumbHidden.value===!0?` q-scrollarea__bar--invisible`:``)),d.horizontal.percentage=x(()=>{let e=d.horizontal.size.value-u.horizontal.value;if(e<=0)return 0;let t=q(Math.abs(d.horizontal.position.value)/e,0,1);return Math.round(t*1e4)/1e4}),d.horizontal.thumbHidden=x(()=>(t.visible===null?l.value:t.visible)!==!0&&a.value===!1&&c.value===!1||d.horizontal.size.value<=u.horizontal.value+1),d.horizontal.thumbStart=x(()=>t.horizontalOffset[0]+d.horizontal.percentage.value*(u.horizontalInner.value-d.horizontal.thumbSize.value)),d.horizontal.thumbSize=x(()=>Math.round(q(u.horizontalInner.value*u.horizontalInner.value/d.horizontal.size.value,$(u.horizontalInner.value),u.horizontalInner.value))),d.horizontal.style=x(()=>({...t.thumbStyle,...t.horizontalThumbStyle,[f.$q.lang.rtl===!0?`right`:`left`]:`${d.horizontal.thumbStart.value}px`,width:`${d.horizontal.thumbSize.value}px`,bottom:`${t.verticalOffset[1]}px`})),d.horizontal.thumbClass=x(()=>`q-scrollarea__thumb q-scrollarea__thumb--h absolute-bottom`+(d.horizontal.thumbHidden.value===!0?` q-scrollarea__thumb--invisible`:``)),d.horizontal.barClass=x(()=>`q-scrollarea__bar q-scrollarea__bar--h absolute-bottom`+(d.horizontal.thumbHidden.value===!0?` q-scrollarea__bar--invisible`:``));let b=x(()=>d.vertical.thumbHidden.value===!0&&d.horizontal.thumbHidden.value===!0?t.contentStyle:t.contentActiveStyle);function S(){let e={};return X.forEach(t=>{let n=d[t];Object.assign(e,{[t+`Position`]:n.position.value,[t+`Percentage`]:n.percentage.value,[t+`Size`]:n.size.value,[t+`ContainerSize`]:u[t].value,[t+`ContainerInnerSize`]:u[t+`Inner`].value})}),e}let C=L(()=>{let e=S();e.ref=f,i(`scroll`,e)},0);function w(e,t,n){if(X.includes(e)===!1){console.error(`[QScrollArea]: wrong first param of setScrollPosition (vertical/horizontal)`);return}(e===`vertical`?k:j)(v.value,t,n)}function T({height:e,width:t}){let n=!1;u.vertical.value!==e&&(u.vertical.value=e,n=!0),u.horizontal.value!==t&&(u.horizontal.value=t,n=!0),n===!0&&P()}function E({position:e}){let t=!1;d.vertical.position.value!==e.top&&(d.vertical.position.value=e.top,t=!0),d.horizontal.position.value!==e.left&&(d.horizontal.position.value=e.left,t=!0),t===!0&&P()}function D({height:e,width:t}){d.horizontal.size.value!==t&&(d.horizontal.size.value=t,P()),d.vertical.size.value!==e&&(d.vertical.size.value=e,P())}function O(e,t){let n=d[t];if(e.isFirst===!0){if(n.thumbHidden.value===!0)return;g=n.position.value,c.value=!0}else if(c.value!==!0)return;e.isFinal===!0&&(c.value=!1);let r=Z[t],i=(n.size.value-u[t].value)/(u[t+`Inner`].value-n.thumbSize.value),a=e.distance[r.dist];F(g+(e.direction===r.dir?1:-1)*a*i,t)}function A(e,n){let r=d[n];if(r.thumbHidden.value!==!0){let i=n===`vertical`?t.verticalOffset[0]:t.horizontalOffset[0],a=e[Z[n].offset]-i,o=r.thumbStart.value-i;(a<o||a>o+r.thumbSize.value)&&F(q((a-r.thumbSize.value/2)/(u[n+`Inner`].value-r.thumbSize.value),0,1)*Math.max(0,r.size.value-u[n].value),n),r.ref.value!==null&&r.ref.value.dispatchEvent(new MouseEvent(e.type,e))}}function P(){a.value=!0,h!==null&&clearTimeout(h),h=setTimeout(()=>{h=null,a.value=!1},t.delay),t.onScroll!==void 0&&C()}function F(e,t){v.value[Z[t].scroll]=e}let I=null;function R(){I!==null&&clearTimeout(I),I=setTimeout(()=>{I=null,l.value=!0},f.$q.platform.is.ios?50:0)}function z(){I!==null&&(clearTimeout(I),I=null),l.value=!1}let B=null;n(()=>f.$q.lang.rtl,e=>{v.value!==null&&j(v.value,Math.abs(d.horizontal.position.value)*(e===!0?-1:1))}),ee(()=>{B={top:d.vertical.position.value,left:d.horizontal.position.value}}),e(()=>{if(B===null)return;let e=v.value;e!==null&&(j(e,B.left),k(e,B.top))}),_(C.cancel),Object.assign(f,{getScrollTarget:()=>v.value,getScroll:S,getScrollPosition:()=>({top:d.vertical.position.value,left:d.horizontal.position.value}),getScrollPercentage:()=>({top:d.vertical.percentage.value,left:d.horizontal.percentage.value}),setScrollPosition:w,setScrollPercentage(e,t,n){w(e,t*(d[e].size.value-u[e].value)*(e===`horizontal`&&f.$q.lang.rtl===!0?-1:1),n)}});let V={scroll:d,thumbVertDir:[[K,e=>{O(e,`vertical`)},void 0,{vertical:!0,...Q}]],thumbHorizDir:[[K,e=>{O(e,`horizontal`)},void 0,{horizontal:!0,...Q}]],onVerticalMousedown(e){A(e,`vertical`)},onHorizontalMousedown(e){A(e,`horizontal`)}};return()=>s(`div`,{class:y.value,onMouseenter:R,onMouseleave:z},[s(`div`,{ref:v,class:`q-scrollarea__container scroll relative-position fit hide-scrollbar`,tabindex:t.tabindex===void 0?void 0:t.tabindex},[s(`div`,{class:`q-scrollarea__content absolute`,style:b.value},M(r.default,[s(W,{debounce:0,onResize:D})])),s(G,{axis:`both`,onScroll:E})]),s(W,{debounce:0,onResize:T}),s(Y,{store:V,barStyle:t.barStyle,verticalBarStyle:t.verticalBarStyle,horizontalBarStyle:t.horizontalBarStyle})])}}),ie={class:`diff-viewer column full-height`},ae={class:`diff-header row items-center q-px-md q-py-sm no-wrap`},oe={class:`text-body1 text-weight-medium text-grey-3`},se={key:0,class:`text-caption text-grey-6 q-ml-md`,style:{"font-size":`11px`}},ce={class:`text-grey-7`},le={class:`text-green-4`},ue={key:1,class:`text-caption text-grey-5 q-ml-md ellipsis`,style:{"font-size":`11px`,"font-family":`'Roboto Mono', monospace`,"max-width":`400px`}},de={class:`row col no-wrap`,style:{"min-height":`0`}},fe={key:1,class:`text-caption text-grey-8 q-pa-sm`},pe=[`onClick`],me={class:`text-caption text-grey-4`,style:{"font-size":`11px`}},he=[`onClick`],ge={class:`text-caption text-grey-3 ellipsis`,style:{"font-size":`11px`}},_e={class:`col column`,style:{"min-width":`0`,position:`relative`}},ve={key:0,class:`col column items-center justify-center`},ye={key:1,class:`col column items-center justify-center text-grey-8 text-caption`},be=H(C({__name:`DiffViewer`,props:{workspaceId:{}},emits:[`close`,`sendToChat`],setup(e,{emit:s}){let l=e,p=s,{t:ee}=y(),_=o([]),C=o(``),T=o(``),O=o(null),k=o(!1),A=o(!1),j=o(null),M=o(`side`),N=o(new Set),F=null,I=null,L=[];function R(e){let t=0;for(let n of e)n.isDir?t+=R(n.children):t++;return t}let H=x(()=>{let e=[];for(let t of _.value){let n=t.path.split(`/`),r=e;for(let e=0;e<n.length;e++){let i=n[e],a=e===n.length-1,o=n.slice(0,e+1).join(`/`),s=r.find(e=>e.name===i&&e.isDir===!a);s||(s={name:i,path:a?t.path:o,isDir:!a,status:a?t.status:void 0,children:[]},r.push(s)),r=s.children}}function t(e){e.sort((e,t)=>e.isDir===t.isDir?e.name.localeCompare(t.name):e.isDir?-1:1);for(let n of e)n.children.length>0&&t(n.children)}return t(e),e}),W=x(()=>{let e=[];function t(n,r){for(let i of n)i.isDir?(e.push({name:i.name,path:i.path,isDir:!0,depth:r,fileCount:R(i.children)}),N.value.has(i.path)||t(i.children,r+1)):e.push({name:i.name,path:i.path,isDir:!1,depth:r,status:i.status})}return t(H.value,0),e});function G(e){N.value.has(e)?N.value.delete(e):N.value.add(e)}async function K(){k.value=!0;try{let e=await fetch(`/api/workspaces/${l.workspaceId}/diff`);if(!e.ok)throw Error(`HTTP ${e.status}`);let t=await e.json();_.value=t.files,C.value=t.sourceBranch??``,T.value=t.workingBranch??``}catch(e){console.error(`Failed to load diff files:`,e)}finally{k.value=!1}}async function q(e){if(j.value){A.value=!0;try{F||(self.MonacoEnvironment={getWorker(e,t){return t===`json`?new Worker(new URL(`/assets/json.worker-C9p7xCYk.js`,``+import.meta.url),{type:`module`}):t===`css`||t===`scss`||t===`less`?new Worker(new URL(`/assets/css.worker-D1piIYC4.js`,``+import.meta.url),{type:`module`}):t===`html`||t===`handlebars`||t===`razor`?new Worker(new URL(`/assets/html.worker-C4q4XMPn.js`,``+import.meta.url),{type:`module`}):t===`typescript`||t===`javascript`?new Worker(new URL(`/assets/ts.worker-Cj3zTgVE.js`,``+import.meta.url),{type:`module`}):new Worker(new URL(`/assets/editor.worker-CJ9iTmkr.js`,``+import.meta.url),{type:`module`})}},F=await z(()=>import(`./editor.main-DHOeskpn.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12])),F.editor.defineTheme(`kobo-dark`,{base:`vs-dark`,inherit:!0,rules:[],colors:{"editor.background":`#1a1a2e`,"diffEditor.insertedTextBackground":`#22c55e20`,"diffEditor.removedTextBackground":`#ef444420`}}));let t=await fetch(`/api/workspaces/${l.workspaceId}/diff-file?path=${encodeURIComponent(e)}`);if(!t.ok)throw Error(`HTTP ${t.status}`);let n=await t.json(),r={ts:`typescript`,tsx:`typescript`,js:`javascript`,jsx:`javascript`,vue:`html`,html:`html`,css:`css`,scss:`scss`,json:`json`,md:`markdown`,yaml:`yaml`,yml:`yaml`,sh:`shell`,sql:`sql`,py:`python`,rs:`rust`,go:`go`}[e.split(`.`).pop()??``]??`plaintext`;if(I){for(let e of L)e.dispose();L=[];let e=I.getModel();I.dispose(),I=null,e?.original?.dispose(),e?.modified?.dispose()}let i=F.editor.createModel(n.original??``,r),a=F.editor.createModel(n.modified??``,r);I=F.editor.createDiffEditor(j.value,{theme:`kobo-dark`,readOnly:!0,renderSideBySide:M.value===`side`,automaticLayout:!0,minimap:{enabled:!1},scrollBeyondLastLine:!1,fontSize:12,lineHeight:18}),I.setModel({original:i,modified:a}),Y()}catch(e){console.error(`Failed to load file diff:`,e)}finally{A.value=!1}}}let J=o(!1);function Y(){if(!I)return;for(let e of L)e.dispose();L=[];let e=I.getModifiedEditor(),t=I.getOriginalEditor();for(let n of[e,t]){let e=n.onDidChangeCursorSelection(()=>{let e=n.getSelection();J.value=!!(e&&!e.isEmpty())});L.push(e)}}function X(){if(!(!I||!O.value))for(let e of[I.getModifiedEditor(),I.getOriginalEditor()]){let t=e.getSelection();if(t&&!t.isEmpty()){let n=e.getModel();if(!n)continue;let r=n.getValueInRange(t),i=e===I.getModifiedEditor()?`modified`:`original`;p(`sendToChat`,`\`\`\`\n// ${O.value} (${i}) L${t.startLineNumber}-L${t.endLineNumber}\n${r}\n\`\`\``);return}}}n(O,e=>{e&&q(e)}),n(M,()=>{I&&I.updateOptions({renderSideBySide:M.value===`side`})});function Z(e){switch(e){case`added`:return`add_circle`;case`deleted`:return`remove_circle`;case`renamed`:return`drive_file_rename_outline`;default:return`edit`}}function Q(e){switch(e){case`added`:return`#4ade80`;case`deleted`:return`#f87171`;case`renamed`:return`#60a5fa`;default:return`#f59e0b`}}return i(K),a(()=>{for(let e of L)e.dispose();if(L=[],I){let e=I.getModel();I.dispose(),I=null,e?.original?.dispose(),e?.modified?.dispose()}}),(e,n)=>(t(),v(`div`,ie,[m(`div`,ae,[u(E,{name:`difference`,size:`18px`,color:`indigo-4`,class:`q-mr-xs`}),m(`span`,oe,w(e.$t(`diff.title`)),1),u(U,{label:`${_.value.length}`,color:`grey-8`,"text-color":`grey-4`,class:`q-ml-sm`,style:{"font-size":`10px`}},null,8,[`label`]),C.value?(t(),v(`span`,se,[m(`span`,ce,w(C.value),1),u(E,{name:`arrow_forward`,size:`11px`,color:`grey-8`,class:`q-mx-xs`}),m(`span`,le,w(T.value),1)])):b(``,!0),O.value?(t(),v(`span`,ue,w(O.value),1)):b(``,!0),u(te),u(ne,{modelValue:M.value,"onUpdate:modelValue":n[0]||=e=>M.value=e,dense:``,"no-caps":``,size:`sm`,"toggle-color":`indigo-8`,color:`grey-9`,"text-color":`grey-5`,options:[{label:e.$t(`diff.side`),value:`side`},{label:e.$t(`diff.inline`),value:`inline`}],class:`q-mr-sm`},null,8,[`modelValue`,`options`]),u(D,{flat:``,round:``,dense:``,icon:`close`,color:`grey-5`,size:`sm`,onClick:n[1]||=e=>p(`close`)},{default:c(()=>[u(V,null,{default:c(()=>[g(w(e.$t(`tooltip.closeDiffViewer`)),1)]),_:1})]),_:1})]),u(P,{dark:``}),m(`div`,de,[u(re,{class:`diff-file-list q-pa-xs`,style:{width:`280px`,"min-width":`200px`,height:`100%`,"border-right":`1px solid #2a2a4a`}},{default:c(()=>[k.value?(t(),h(B,{key:0,size:`24px`,color:`grey-6`,class:`q-ma-md`})):_.value.length===0?(t(),v(`div`,fe,w(e.$t(`diff.noChanges`)),1)):(t(!0),v(f,{key:2},r(W.value,e=>(t(),v(f,{key:e.path},[e.isDir?(t(),v(`div`,{key:0,class:`diff-dir-item cursor-pointer`,style:S({paddingLeft:`${e.depth*12+4}px`}),onClick:t=>G(e.path)},[u(E,{name:N.value.has(e.path)?`chevron_right`:`expand_more`,size:`14px`,color:`grey-6`},null,8,[`name`]),u(E,{name:`folder`,size:`13px`,color:`amber-7`,class:`q-mx-xs`}),m(`span`,me,w(e.name),1),u(U,{label:e.fileCount,color:`grey-9`,"text-color":`grey-5`,class:`q-ml-xs`,style:{"font-size":`9px`}},null,8,[`label`])],12,pe)):(t(),v(`div`,{key:1,class:d([`diff-file-item cursor-pointer`,{"diff-file-item--active":O.value===e.path}]),style:S({paddingLeft:`${e.depth*12+20}px`}),onClick:t=>O.value=e.path},[u(E,{name:Z(e.status),size:`11px`,style:S({color:Q(e.status)}),class:`q-mr-xs`},null,8,[`name`,`style`]),m(`span`,ge,w(e.name),1)],14,he))],64))),128))]),_:1}),m(`div`,_e,[A.value?(t(),v(`div`,ve,[u(B,{size:`32px`,color:`indigo-4`})])):O.value?b(``,!0):(t(),v(`div`,ye,w(e.$t(`diff.selectFile`)),1)),m(`div`,{ref_key:`editorContainer`,ref:j,class:`col`,style:{"min-height":`0`}},null,512),J.value?(t(),h(D,{key:2,"no-caps":``,dense:``,size:`sm`,color:`primary`,icon:`chat`,label:e.$t(`diff.addToChat`),class:`send-to-chat-btn`,onClick:X},null,8,[`label`])):b(``,!0)])])]))}}),[[`__scopeId`,`data-v-4ed3860e`]]);export{be as default};
@@ -0,0 +1 @@
1
+ .acceptance-item[data-v-63b144ad]{padding:2px 0}.acceptance-item[data-v-63b144ad]:hover{background-color:#ffffff08}.acceptance-item:hover .criterion-delete-btn[data-v-63b144ad]{opacity:1}.criterion-delete-btn[data-v-63b144ad]{opacity:0;transition:opacity .15s}.acceptance-title[data-v-63b144ad]{word-break:break-word;cursor:text;line-height:1.4}.text-strike[data-v-63b144ad]{opacity:.7;text-decoration:line-through}.criterion-input[data-v-63b144ad] .q-field__control{height:22px;min-height:22px;padding:0}.criterion-input[data-v-63b144ad] input{color:#e0e0e0;font-size:12px}.criterion-input[data-v-63b144ad] input::placeholder{color:#555}.criterion-add-row[data-v-63b144ad],.todo-item[data-v-4eddf754]{padding:2px 0}.todo-title[data-v-4eddf754]{word-break:break-word;line-height:1.4}.text-strike[data-v-4eddf754]{opacity:.7;text-decoration:line-through}.log-content[data-v-9e03d2b2]{max-height:60vh;overflow-y:auto}.log-text[data-v-9e03d2b2]{color:#ccc;white-space:pre-wrap;word-break:break-all;background:#0d0d1a;margin:0;font-family:JetBrains Mono,Fira Code,monospace;font-size:11px}.dd-panel[data-v-20c5f4bd]{min-height:48px}.git-btn[data-v-0e9ea4fb]{padding:2px 10px;font-size:11px}.notion-link[data-v-99e38dbd]{text-decoration:none;display:inline-flex}.notion-link[data-v-99e38dbd]:hover{text-decoration:underline}.task-item[data-v-99e38dbd]{padding:2px 0}.task-item[data-v-99e38dbd]:hover{background-color:#ffffff08}.task-item:hover .task-delete-btn[data-v-99e38dbd]{opacity:1}.task-delete-btn[data-v-99e38dbd]{opacity:0;transition:opacity .15s}.task-title[data-v-99e38dbd]{word-break:break-word;cursor:text;line-height:1.4}.text-strike[data-v-99e38dbd]{opacity:.7;text-decoration:line-through}.task-input[data-v-99e38dbd] .q-field__control{height:22px;min-height:22px;padding:0}.task-input[data-v-99e38dbd] input{color:#e0e0e0;font-size:12px}.task-input[data-v-99e38dbd] input::placeholder{color:#555}.task-add-row[data-v-99e38dbd]{padding:2px 0}.plan-content[data-v-442c2eef]{color:#d0d0d0;overflow-wrap:break-word;font-size:12px;line-height:1.6}.plan-content[data-v-442c2eef] h1{color:#e0e0e0;margin:16px 0 8px;font-size:16px}.plan-content[data-v-442c2eef] h2{color:#e0e0e0;margin:14px 0 6px;font-size:14px}.plan-content[data-v-442c2eef] h3{color:#e0e0e0;margin:12px 0 4px;font-size:13px}.plan-content[data-v-442c2eef] code{background:#1a1a2e;border-radius:3px;padding:1px 4px;font-family:Roboto Mono,monospace;font-size:11px}.plan-content[data-v-442c2eef] pre{background:#1a1a2e;border-radius:6px;padding:8px 12px;font-size:11px;overflow-x:auto}.plan-content[data-v-442c2eef] pre code{background:0 0;padding:0}.plan-content[data-v-442c2eef] ul,.plan-content[data-v-442c2eef] ol{padding-left:20px}.plan-content[data-v-442c2eef] li{margin-bottom:2px}.plan-content[data-v-442c2eef] input[type=checkbox]{pointer-events:none;margin-right:6px}.plan-content[data-v-442c2eef] table{border-collapse:collapse;width:100%;margin:8px 0;font-size:11px}.plan-content[data-v-442c2eef] th,.plan-content[data-v-442c2eef] td{text-align:left;border:1px solid #2a2a4a;padding:4px 8px}.plan-content[data-v-442c2eef] th{color:#e0e0e0;background:#1a1a2e}.plan-content[data-v-442c2eef] blockquote{color:#a0a0b0;border-left:3px solid #4a4a6a;margin:8px 0;padding:4px 12px}.plan-content[data-v-442c2eef] a{color:#818cf8}.plan-content[data-v-442c2eef] hr{border:none;border-top:1px solid #2a2a4a;margin:12px 0}.stat-group-label[data-v-3d3e6cd8]{text-transform:uppercase;letter-spacing:.05em;color:#888;font-size:10px;font-weight:600}.stat-row[data-v-3d3e6cd8]{justify-content:space-between;align-items:center;padding:2px 0;display:flex}.stat-label[data-v-3d3e6cd8]{color:#999;font-size:12px}.stat-value[data-v-3d3e6cd8]{color:#ddd;font-family:Roboto Mono,monospace;font-size:12px;font-weight:500}.stat-value-ellipsis[data-v-3d3e6cd8]{text-overflow:ellipsis;white-space:nowrap;max-width:140px;overflow:hidden}.stat-section[data-v-3d3e6cd8]{justify-content:space-between;align-items:center;display:flex}.subagents-panel[data-v-81ad2481]{overflow-y:auto}.subagent-item[data-v-81ad2481]{background:#1e1e3a;border:1px solid #2a2a4a}.tools-panel[data-v-64fae402]{min-height:48px}.workspace-list[data-v-69c12879]{background-color:#16162a;overflow-x:hidden}.wl-search[data-v-69c12879]{background-color:#224;padding:0 8px}.wl-search[data-v-69c12879] .q-field__control{height:32px}.wl-search[data-v-69c12879] input{color:#ccc;font-size:12px}.wl-group-header[data-v-69c12879]:hover{background-color:#ffffff08}.wl-project-group+.wl-project-group[data-v-69c12879]{margin-top:6px}.wl-project-label[data-v-69c12879]{align-items:center;padding-bottom:2px;font-size:11px;display:flex}.wl-item[data-v-69c12879]{background-color:#224;margin-bottom:4px;transition:background-color .15s;position:relative}.wl-item[data-v-69c12879]:last-child{margin-bottom:0}.wl-item[data-v-69c12879]:hover{background-color:#2a2a4a}.wl-item--selected[data-v-69c12879]{background-color:#2a2a4a;outline:1px solid #6c63ff66}.wl-item-action[data-v-69c12879]{position:absolute;top:4px;right:4px}.wl-item--archived .wl-item-action[data-v-69c12879]{opacity:0;transition:opacity .15s}.wl-item--archived:hover .wl-item-action[data-v-69c12879]{opacity:1}.wl-item-unarchive[data-v-69c12879]{right:28px}.wl-item-delete[data-v-69c12879]{right:4px}.wl-item--archived[data-v-69c12879]{opacity:.6;background-color:#1a1a30}.wl-item--archived[data-v-69c12879]:hover{opacity:.85}.wl-item--archived.wl-item--selected[data-v-69c12879]{opacity:1}.dd-dot[data-v-69c12879]{border-radius:50%;flex-shrink:0;width:6px;height:6px}.dd-dot--running[data-v-69c12879]{background-color:#22c55e;box-shadow:0 0 4px #22c55e80}.bg-dark[data-v-9e67838c]{background-color:#16162a!important;border-color:#2a2a4a!important}.resize-handle[data-v-9e67838c]{cursor:col-resize;z-index:10;width:4px;height:100%;transition:background-color .15s;position:absolute;top:0;right:-2px}.resize-handle[data-v-9e67838c]:hover,.resize-handle[data-v-9e67838c]:active{background-color:#6c63ff80}
@@ -0,0 +1,2 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/DiffViewer-BNB89NC_.js","assets/index-BIsYlO92.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-EPkNuLUF.js","assets/index-eX_lKHSg.css","assets/_plugin-vue_export-helper-fkfRoKj2.js","assets/QBadge-xNMZEqT-.js","assets/touch-Bojc73iM.js","assets/TouchPan-DuISf80E.js","assets/QSpinnerDots-FJCnAvfw.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{L as j,M,P as N,R as ee,S as P,T as F,U as I,V as te,W as L,b as R,bt as z,ct as B,pt as V,r as ne,v as re,vt as H,y as U,yt as W,z as G}from"./scroll-CWjBCoBR.js";import{a as ie,i as K,o as ae}from"./private.use-form-1cZLVjGN.js";import{t as oe}from"./settings-CuK-S6HH.js";import{A as se,C as ce,D as le,E as ue,F as de,N as fe,O as pe,P as me,S as he,b as ge,f as _e,h as ve,m as ye,n as q,p as J,r as be,w as xe,x as Se}from"./index-BIsYlO92.js";import{n as Y,p as Ce,t as X}from"./_plugin-vue_export-helper-fkfRoKj2.js";import{n as we,t as Te}from"./marked.esm-BjjOHIBz.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-DuISf80E.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-oHuiVWr0.js";import{a as Ie,i as Z,n as Q,r as Le,t as Re}from"./QMenu-67GqYx0C.js";import{r as ze,t as Be}from"./formatters-B5Igo0Lf.js";import{t as $}from"./ClosePopup-jSuaV6dg.js";var Ve=150,He=B({name:`QDrawer`,inheritAttrs:!1,props:{...R,...ae,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:[...U,`onLayout`,`miniState`],setup(t,{slots:r,emit:i,attrs:o}){let c=g(),{proxy:{$q:u}}=c,f=ie(t,u),{preventBodyScroll:p}=ge(),{registerTimeout:m,removeTimeout:h}=P(),_=O(me,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(N(),e!==!1&&_.animate(),q(0),S.value===!0){let e=_.instances[H.value];e?.belowBreakpoint===!0&&e.hide(!1),J(1),_.isContainer.value!==!0&&p(!0)}else J(0),e!==!1&&be(!1);m(()=>{e!==!1&&be(!0),t!==!0&&i(`show`,e)},Ve)}function A(e,t){F(),e!==!1&&_.animate(),J(0),q(R.value*w.value),X(),t===!0?h():m(()=>{i(`hide`,e)},Ve)}let{show:j,hide:M}=re({showing:E,hideOnRouteChange:D,handleShow:k,handleHide:A}),{addToHistory:N,removeFromHistory:F}=Se(E,M,D),I={belowBreakpoint:S,hide:M},L=T(()=>t.side===`right`),R=T(()=>(u.lang.rtl===!0?-1:1)*(L.value===!0?1:-1)),z=s(0),B=s(!1),V=s(!1),ne=s(w.value*R.value),H=T(()=>L.value===!0?`left`:`right`),U=T(()=>E.value===!0&&S.value===!1&&t.overlay===!1?t.miniToOverlay===!0?t.miniWidth:w.value:0),W=T(()=>t.overlay===!0||t.miniToOverlay===!0||_.view.value.indexOf(L.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),ae=T(()=>`fullscreen q-drawer__backdrop`+(E.value===!1&&B.value===!1?` hidden`:``)),oe=T(()=>({backgroundColor:`rgba(0,0,0,${z.value*.4})`})),se=T(()=>L.value===!0?_.rows.value.top[2]===`r`:_.rows.value.top[0]===`l`),ce=T(()=>L.value===!0?_.rows.value.bottom[2]===`r`:_.rows.value.bottom[0]===`l`),le=T(()=>{let e={};return _.header.space===!0&&se.value===!1&&(W.value===!0?e.top=`${_.header.offset}px`:_.header.space===!0&&(e.top=`${_.header.size}px`)),_.footer.space===!0&&ce.value===!1&&(W.value===!0?e.bottom=`${_.footer.offset}px`:_.footer.space===!0&&(e.bottom=`${_.footer.size}px`)),e}),ue=T(()=>{let e={width:`${w.value}px`,transform:`translateX(${ne.value}px)`};return S.value===!0?e:Object.assign(e,le.value)}),de=T(()=>`q-drawer__content fit `+(_.isContainer.value===!0?`overflow-auto`:`scroll`)),pe=T(()=>`q-drawer q-drawer--${t.side}`+(V.value===!0?` q-drawer--mini-animate`:``)+(t.bordered===!0?` q-drawer--bordered`:``)+(f.value===!0?` q-drawer--dark q-dark`:``)+(B.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`}`+(W.value===!0||G.value!==!0?` fixed`:``)+(t.overlay===!0||t.miniToOverlay===!0?` q-drawer--on-top`:``)+(se.value===!0?` q-drawer--top-padding`:``))),he=T(()=>[[ke,Y,void 0,{[u.lang.rtl===!0?t.side:H.value]:!0,mouse:!0}]]),_e=T(()=>[[ke,Ce,void 0,{[u.lang.rtl===!0?H.value:t.side]:!0,mouse:!0}]]),ve=T(()=>[[ke,Ce,void 0,{[u.lang.rtl===!0?H.value:t.side]:!0,mouse:!0,mouseAllDir:!0}]]);function ye(){Te(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?(q(0),J(0),X()):j(!1))}),n(()=>t.side,(e,t)=>{_.instances[t]===I&&(_.instances[t]=void 0,_[t].space=!1,_[t].offset=0),_.instances[e]=I,_[e].size=w.value,_[e].space=G.value,_[e].offset=U.value}),n(_.totalWidth,()=>{(_.isContainer.value===!0||document.qScrollPrevented!==!0)&&ye()}),n(()=>t.behavior+t.breakpoint,ye),n(_.isContainer,e=>{E.value===!0&&p(e!==!0),e===!0&&ye()}),n(_.scrollbarWidth,()=>{q(E.value===!0?0:void 0)}),n(U,e=>{we(`offset`,e)}),n(G,e=>{i(`onLayout`,e),we(`space`,e)}),n(L,()=>{q()}),n(w,e=>{q(),Ee(t.miniToOverlay,e)}),n(()=>t.miniToOverlay,e=>{Ee(e,w.value)}),n(()=>u.lang.rtl,()=>{q()}),n(()=>t.mini,()=>{t.noMiniAnimation||t.modelValue===!0&&(xe(),_.animate())}),n(C,e=>{i(`miniState`,e)});function q(t){t===void 0?e(()=>{t=E.value===!0?0:w.value,q(R.value*t)}):(_.isContainer.value===!0&&L.value===!0&&(S.value===!0||Math.abs(t)===w.value)&&(t+=R.value*_.scrollbarWidth.value),ne.value=t)}function J(e){z.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`),V.value=!0,y=setTimeout(()=>{y=null,V.value=!1,c?.proxy?.$el?.classList.remove(`q-drawer--mini-animate`)},150)}function Y(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(),J(0),q(R.value*t)),B.value=!1;return}q((u.lang.rtl===!0?L.value!==!0:L.value)?Math.max(t-n,0):Math.min(0,n-t)),J(Ae(n/t,0,1)),e.isFirst===!0&&(B.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(),J(1),q(0)):M(),B.value=!1;return}q(R.value*i),J(Ae(1-i/n,0,1)),e.isFirst===!0&&(B.value=!0)}function X(){p(!1),be(!0)}function we(e,n){_.update(t.side,e,n)}function Te(e,t){e.value!==t&&(e.value=t)}function Ee(e,n){we(`size`,e===!0?t.miniWidth:n)}return _.instances[t.side]=I,Ee(t.miniToOverlay,w.value),we(`space`,G.value),we(`offset`,U.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&&X(),_.instances[t.side]===I&&(_.instances[t.side]=void 0,we(`size`,0),we(`offset`,0),we(`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`}),he.value)),e.push(ee(`div`,{ref:`backdrop`,class:ae.value,style:oe.value,"aria-hidden":`true`,onClick:M},void 0,`backdrop`,t.noSwipeBackdrop!==!0&&E.value===!0,()=>ve.value)));let n=C.value===!0&&r.mini!==void 0,i=[l(`div`,{...o,key:String(n),class:[de.value,o.class]},n===!0?r.mini():te(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:pe.value,style:ue.value},i,`contentclose`,t.noSwipeClose!==!0&&S.value===!0,()=>_e.value)),l(`div`,{class:`q-drawer-container`},e)}}}),Ue=B({name:`QPageContainer`,setup(e,{slots:t}){let{proxy:{$q:n}}=g(),i=O(me,fe);if(i===fe)return console.error(`QPageContainer needs to be child of QLayout`),fe;r(de,!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},te(t.default))}}),We=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(V.value===!0?0:ne()),_=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?ne():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(me,D),ne()>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=G(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}}}),Ge={class:`acceptance-panel q-pa-md`},Ke={class:`row items-center q-mb-sm`},qe={class:`text-caption text-uppercase text-weight-bold text-grey-6`,style:{"letter-spacing":`0.05em`}},Je={key:0,class:`criterion-add-row row items-center q-mb-xs`},Ye={key:1,class:`acceptance-list`},Xe=[`onDblclick`],Ze={key:2,class:`text-caption text-grey-8`,style:{"font-size":`11px`}},Qe=X(k({__name:`AcceptancePanel`,props:{tasks:{}},setup(n){let{t:r}=S(),a=pe(),o=ue();function c(){let e=a.selectedWorkspaceId;e&&ze(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 M(){l.value=!0,d.value=``}async function N(){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 ee(){d.value=``,l.value=!1}function P(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 te(){f.value=null,g.value=``}async function L(e){let t=a.selectedWorkspace?.id;if(t)try{await a.deleteTask(t,e.id)}catch{}}return(e,r)=>(t(),x(`div`,Ge,[_(`div`,Ke,[_(`div`,qe,A(e.$t(`acceptance.title`)),1),p(Ce),w(a).selectedWorkspace?(t(),v(F,{key:0,flat:``,dense:``,round:``,size:`xs`,icon:`fact_check`,color:`grey-5`,onClick:c},{default:u(()=>[p(Y,null,{default:u(()=>[y(A(e.$t(`tasks.askProgress`)),1)]),_:1})]),_:1})):C(``,!0),w(a).selectedWorkspace?(t(),v(F,{key:1,flat:``,dense:``,round:``,size:`xs`,icon:`add`,color:`indigo-4`,onClick:M},{default:u(()=>[p(Y,null,{default:u(()=>[y(A(e.$t(`tooltip.addCriterion`)),1)]),_:1})]),_:1})):C(``,!0)]),l.value?(t(),x(`div`,Je,[p(be,{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:[W(z(N,[`prevent`]),[`enter`]),W(z(ee,[`prevent`]),[`esc`])]},null,8,[`modelValue`,`placeholder`,`onKeydown`])])):C(``,!0),n.tasks.length>0?(t(),x(`div`,Ye,[(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(j,{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(be,{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:[W(z(e=>I(n),[`prevent`]),[`enter`]),W(z(te,[`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=>P(n)},A(n.title),47,Xe),p(F,{flat:``,dense:``,round:``,size:`xs`,icon:`close`,color:`grey-6`,class:`criterion-delete-btn`,onClick:e=>L(n)},{default:u(()=>[p(Y,null,{default:u(()=>[y(A(e.$t(`tooltip.removeCriterion`)),1)]),_:1})]),_:1},8,[`onClick`])],64))]))),128))])):l.value?C(``,!0):(t(),x(`div`,Ze,A(e.$t(`acceptance.empty`)),1))]))}}),[[`__scopeId`,`data-v-63b144ad`]]),$e={class:`agent-todos-panel q-pa-md`},et={class:`row items-center q-mb-sm`},tt={class:`text-caption text-uppercase text-weight-bold text-grey-6`,style:{"letter-spacing":`0.05em`}},nt={key:0,class:`todos-list`},rt={key:1,class:`text-caption text-grey-8`,style:{"font-size":`11px`}},it=X(k({__name:`AgentTodosPanel`,setup(e){let{t:n}=S(),r=pe();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`,$e,[_(`div`,et,[_(`div`,tt,A(e.$t(`agentTodos.title`)),1)]),w(r).currentAgentTodos.length>0?(t(),x(`div`,nt,[(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(j,{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`,rt,A(e.$t(`agentTodos.empty`)),1))]))}}),[[`__scopeId`,`data-v-4eddf754`]]),at={class:`log-text rounded-borders q-pa-md`},ot=X(k({__name:`DevServerLogDialog`,props:{modelValue:{type:Boolean},workspaceId:{}},emits:[`update:modelValue`],setup(r){let i=r,a=se(),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(ve,{"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(J,{class:`row items-center`},{default:u(()=>[n[2]||=_(`div`,{class:`text-h6`},`Logs Dev Server`,-1),p(Ce),p(F,{flat:``,round:``,dense:``,icon:`refresh`,color:`grey-5`,onClick:m,loading:l.value},{default:u(()=>[p(Y,null,{default:u(()=>[y(A(e.$t(`tooltip.refreshLogs`)),1)]),_:1})]),_:1},8,[`loading`]),p(F,{flat:``,round:``,dense:``,icon:`close`,color:`grey-5`,onClick:n[0]||=t=>e.$emit(`update:modelValue`,!1)},{default:u(()=>[p(Y,null,{default:u(()=>[y(A(e.$t(`tooltip.closeDialog`)),1)]),_:1})]),_:1})]),_:1}),p(K,{dark:``}),p(J,{class:`log-content`,ref_key:`logContainer`,ref:d},{default:u(()=>[_(`pre`,at,A(c.value||`No logs available`),1)]),_:1},512)]),_:1})]),_:1},8,[`model-value`]))}}),[[`__scopeId`,`data-v-9e03d2b2`]]),st={class:`dd-panel q-px-md q-py-sm`},ct={class:`text-caption text-uppercase text-weight-bold text-grey-5 q-mb-xs`},lt={key:0,class:`text-caption text-grey-8`},ut={key:1,class:`text-caption text-grey-8`},dt={class:`row items-center q-mb-xs`},ft={key:0,class:`text-caption q-mb-xs`},pt=[`href`],mt={key:1,class:`text-caption text-grey-7`,style:{"font-size":`10px`}},ht={key:2,class:`text-caption text-red-5`},gt=X(k({__name:`DevServerPanel`,props:{workspace:{}},setup(e){let r=e,{t:i}=S(),l=se(),d=oe(),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 N(){if(w.value){m.value=!0;try{await l.startDevServer(w.value)}finally{m.value=!1}}}async function ee(){if(w.value){g.value=!0;try{await l.stopDevServer(w.value)}finally{g.value=!1}}}function P(){w.value&&E.value&&l.fetchStatus(w.value)}function I(){te(),b=setInterval(()=>{P()},3e4)}function te(){b&&=(clearInterval(b),null)}return n(w,()=>{P(),I()}),a(()=>{P(),I()}),o(()=>{te()}),(n,r)=>{let i=c(`router-link`);return t(),x(`div`,st,[_(`div`,ct,A(n.$t(`devServer.title`)),1),e.workspace?E.value?D.value?(t(),x(h,{key:2},[_(`div`,dt,[p(Ee,{color:O.value,label:k.value,style:{"font-size":`10px`}},null,8,[`color`,`label`]),p(Ce),j.value?(t(),v(F,{key:0,flat:``,round:``,dense:``,icon:`play_arrow`,size:`xs`,color:`green-5`,onClick:N,loading:m.value},{default:u(()=>[p(Y,null,{default:u(()=>[y(A(n.$t(`tooltip.startDevServer`)),1)]),_:1})]),_:1},8,[`loading`])):C(``,!0),M.value?(t(),v(F,{key:1,flat:``,round:``,dense:``,icon:`stop`,size:`xs`,color:`red-5`,onClick:ee,loading:g.value},{default:u(()=>[p(Y,null,{default:u(()=>[y(A(n.$t(`tooltip.stopDevServer`)),1)]),_:1})]),_:1},8,[`loading`])):C(``,!0),p(F,{flat:``,round:``,dense:``,icon:`article`,size:`xs`,color:`grey-5`,onClick:r[0]||=e=>f.value=!0},{default:u(()=>[p(Y,null,{default:u(()=>[y(A(n.$t(`devServer.logs`)),1)]),_:1})]),_:1})]),D.value.status===`running`&&D.value.url?(t(),x(`div`,ft,[_(`a`,{href:D.value.url,target:`_blank`,style:{color:`#6c63ff`}},A(D.value.url),9,pt)])):C(``,!0),D.value.containers.length>0?(t(),x(`div`,mt,A(n.$t(`devServer.containers`,{count:D.value.containers.length},D.value.containers.length)),1)):C(``,!0),D.value.error?(t(),x(`div`,ht,A(D.value.error),1)):C(``,!0)],64)):C(``,!0):(t(),x(`div`,ut,[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`,lt,A(n.$t(`devServer.noWorkspace`)),1)),w.value?(t(),v(ot,{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`]]),_t={class:`git-panel q-pa-md`},vt={class:`row items-center justify-between q-mb-sm`},yt={class:`text-caption text-uppercase text-weight-bold text-grey-6`,style:{"letter-spacing":`0.05em`}},bt={class:`row items-center q-mb-sm`},xt={class:`text-caption text-grey-3`},St={class:`row items-center q-mb-sm`},Ct={class:`text-caption text-grey-4`,style:{"font-family":`'Roboto Mono', monospace`,"font-size":`11px`}},wt={class:`text-caption q-mb-sm text-grey-8`,style:{"font-size":`11px`}},Tt={key:0},Et={key:1,style:{color:`#4ade80`}},Dt={key:2,style:{color:`#f59e0b`}},Ot={class:`row items-center q-mb-xs`},kt={class:`text-caption text-grey-4`,style:{"font-size":`11px`}},At={key:0,class:`row items-center q-mb-md`},jt={class:`text-caption text-grey-4`,style:{"font-size":`11px`}},Mt={key:0,class:`text-caption q-ml-xs`,style:{"font-size":`11px`,color:`#4ade80`}},Nt={key:1,class:`text-caption q-ml-xs`,style:{"font-size":`11px`,color:`#f87171`}},Pt={key:1,class:`q-mb-xs`},Ft={key:2,class:`row items-center q-gutter-xs q-mb-md`,style:{"font-size":`11px`}},It={key:0,class:`text-caption`,style:{color:`#4ade80`}},Lt={key:1,class:`text-caption`,style:{color:`#f59e0b`}},Rt={key:2,class:`text-caption text-grey-6`},zt={key:3,class:`q-mb-md`},Bt={class:`row q-gutter-xs`},Vt={key:1,class:`text-caption text-grey-8`},Ht=X(k({__name:`GitPanel`,props:{workspace:{}},setup(e){let r=E(()=>he(()=>import(`./DiffViewer-BNB89NC_.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]))),i=e,{t:a}=S(),c=Ie(),l=pe(),d=oe(),f=s(!1),m=s(!1),g=s(!1),b=s(!1),D=s(!1),O=s(!1),k=s(!1),M=T(()=>!!d.global.editorCommand);async function N(){if(i.workspace){k.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{k.value=!1}}}function ee(e){l.chatDraft=e,O.value=!1}let P=s(null),I=s(!1),te=T(()=>{if(!i.workspace?.projectPath)return`-`;let e=i.workspace.projectPath.replace(/\\/g,`/`).split(`/`);return e[e.length-1]||e[e.length-2]||`-`}),L=T(()=>!(!P.value||P.value.unpushedCount===-1)),R=T(()=>P.value&&P.value.unpushedCount===-1?a(`git.createPrNoRemote`):``);async function z(){if(!i.workspace){P.value=null;return}I.value=!0;try{P.value=await l.fetchGitStats(i.workspace.id)}catch{P.value=null}finally{I.value=!1}}n(()=>i.workspace?.id,()=>z(),{immediate:!0});let B=null;n(()=>l.gitRefreshTrigger,()=>{B&&clearTimeout(B),B=setTimeout(()=>z(),3e3)}),o(()=>{B&&clearTimeout(B)});function V(){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()=>{g.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`}),z()}catch(e){let t=e instanceof Error?e.message:a(`git.rebaseFailed`);c.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{g.value=!1}})}function ne(){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`}),z()}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 re(){i.workspace&&c.dialog({title:a(`git.pullConfirmTitle`),message:a(`git.pullConfirmMessage`,{branch:i.workspace.workingBranch}),dark:!0,cancel:{flat:!0,label:a(`common.cancel`),color:`grey-5`},ok:{flat:!0,label:a(`git.pull`),color:`grey-5`}}).onOk(async()=>{m.value=!0;try{await l.pullBranch(i.workspace.id),c.notify({type:`positive`,message:a(`git.branchPulled`),position:`top`}),z()}catch(e){console.error(`[GitPanel] pullBranch failed:`,e);let t=e instanceof Error?e.message:a(`git.pullFailed`);c.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{m.value=!1}})}function H(){P.value?.prUrl&&window.open(P.value.prUrl,`_blank`)}function U(){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)){D.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`}),z()}catch(e){let t=e instanceof Error?e.message:a(`git.changePrBaseFailed`);c.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{D.value=!1}}})}async function W(){if(i.workspace){b.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}),z()}catch(e){if(e instanceof le&&e.code===`branch_not_pushed`){c.notify({type:`warning`,message:a(`git.pushFirst`),position:`top`,timeout:6e3});return}if(e instanceof le&&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{b.value=!1}}}return(n,i)=>(t(),x(`div`,_t,[_(`div`,vt,[_(`div`,yt,A(n.$t(`git.title`)),1),e.workspace?(t(),v(F,{key:0,flat:``,round:``,dense:``,size:`xs`,icon:`refresh`,color:`grey-6`,loading:I.value,onClick:z},{default:u(()=>[p(Y,null,{default:u(()=>[y(A(n.$t(`tooltip.refreshGitStats`)),1)]),_:1})]),_:1},8,[`loading`])):C(``,!0)]),e.workspace?(t(),x(h,{key:0},[_(`div`,bt,[p(j,{name:`folder`,size:`14px`,color:`grey-6`,class:`q-mr-xs`}),_(`span`,xt,A(te.value),1)]),_(`div`,St,[i[3]||=_(`span`,{style:{width:`8px`,height:`8px`,"border-radius":`50%`,"background-color":`#4ade80`,display:`inline-block`},class:`q-mr-xs`},null,-1),_(`span`,Ct,A(e.workspace.workingBranch),1)]),_(`div`,wt,[y(A(n.$t(`git.from`))+` `+A(e.workspace.sourceBranch)+` `,1),P.value?(t(),x(h,{key:0},[i[4]||=y(` · `,-1),P.value.unpushedCount===-1?(t(),x(`span`,Tt,A(n.$t(`git.localOnly`)),1)):P.value.unpushedCount===0?(t(),x(`span`,Et,A(n.$t(`git.pushed`)),1)):(t(),x(`span`,Dt,A(n.$t(`git.unpushed`,{count:P.value.unpushedCount})),1))],64)):C(``,!0)]),P.value?(t(),x(h,{key:0},[_(`div`,Ot,[p(j,{name:`commit`,size:`14px`,color:`grey-6`,class:`q-mr-xs`}),_(`span`,kt,A(n.$t(`git.commits`,{count:P.value.commitCount},P.value.commitCount)),1)]),P.value.filesChanged>0?(t(),x(`div`,At,[p(j,{name:`insert_drive_file`,size:`14px`,color:`grey-6`,class:`q-mr-xs`}),_(`span`,jt,A(n.$t(`git.files`,{count:P.value.filesChanged},P.value.filesChanged)),1),P.value.insertions>0?(t(),x(`span`,Mt,` +`+A(P.value.insertions),1)):C(``,!0),P.value.deletions>0?(t(),x(`span`,Nt,` -`+A(P.value.deletions),1)):C(``,!0)])):(t(),x(`div`,Pt)),P.value.workingTree&&(P.value.workingTree.staged>0||P.value.workingTree.modified>0||P.value.workingTree.untracked>0)?(t(),x(`div`,Ft,[p(j,{name:`edit_note`,size:`14px`,color:`grey-6`}),P.value.workingTree.staged>0?(t(),x(`span`,It,A(n.$t(`git.staged`,{count:P.value.workingTree.staged})),1)):C(``,!0),P.value.workingTree.modified>0?(t(),x(`span`,Lt,A(n.$t(`git.modified`,{count:P.value.workingTree.modified})),1)):C(``,!0),P.value.workingTree.untracked>0?(t(),x(`span`,Rt,A(n.$t(`git.untracked`,{count:P.value.workingTree.untracked})),1)):C(``,!0)])):(t(),x(`div`,zt))],64)):C(``,!0),_(`div`,Bt,[P.value?.prUrl?(t(),v(F,{key:0,dense:``,"no-caps":``,size:`sm`,outline:``,color:`green-4`,label:n.$t(`git.viewPr`),icon:`open_in_new`,class:`git-btn`,onClick:H},null,8,[`label`])):C(``,!0),P.value?.prUrl&&P.value.prState===`OPEN`?(t(),v(F,{key:1,dense:``,"no-caps":``,size:`sm`,outline:``,color:`grey-5`,icon:`swap_horiz`,loading:D.value,class:`git-btn`,onClick:U},{default:u(()=>[p(Y,null,{default:u(()=>[y(A(n.$t(`git.changePrBase`)),1)]),_:1})]),_:1},8,[`loading`])):C(``,!0),!P.value?.prUrl||P.value.prState===`CLOSED`||P.value.prState===`MERGED`?(t(),v(F,{key:2,dense:``,"no-caps":``,size:`sm`,color:`primary`,label:n.$t(`git.createPr`),class:`git-btn`,loading:b.value,disable:!e.workspace||f.value||!L.value,onClick:W},{default:u(()=>[!L.value&&R.value?(t(),v(Y,{key:0},{default:u(()=>[y(A(R.value),1)]),_:1})):C(``,!0)]),_:1},8,[`label`,`loading`,`disable`])):C(``,!0),!P.value||P.value.unpushedCount!==0?(t(),v(F,{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||b.value||m.value||g.value,onClick:ne},null,8,[`label`,`loading`,`disable`])):C(``,!0),P.value&&P.value.unpushedCount!==-1?(t(),v(F,{key:4,dense:``,"no-caps":``,size:`sm`,outline:``,color:`grey-5`,icon:`download`,label:n.$t(`git.pull`),class:`git-btn`,loading:m.value,disable:!e.workspace||f.value||g.value,onClick:re},null,8,[`label`,`loading`,`disable`])):C(``,!0),p(F,{dense:``,"no-caps":``,size:`sm`,outline:``,color:`orange-4`,label:n.$t(`git.rebase`),class:`git-btn`,loading:g.value,disable:!e.workspace||f.value||m.value,onClick:V},null,8,[`label`,`loading`,`disable`]),p(F,{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=>O.value=!0},null,8,[`label`,`disable`]),M.value?(t(),v(F,{key:5,dense:``,"no-caps":``,size:`sm`,outline:``,color:`indigo-4`,icon:`open_in_new`,label:n.$t(`git.openEditor`),loading:k.value,disable:!e.workspace,class:`git-btn`,onClick:N},null,8,[`label`,`loading`,`disable`])):C(``,!0)])],64)):(t(),x(`div`,Vt,A(n.$t(`common.selectWorkspace`)),1)),p(ve,{modelValue:O.value,"onUpdate:modelValue":i[2]||=e=>O.value=e,maximized:``},{default:u(()=>[e.workspace?(t(),v(w(r),{key:0,"workspace-id":e.workspace.id,onClose:i[1]||=e=>O.value=!1,onSendToChat:ee},null,8,[`workspace-id`])):C(``,!0)]),_:1},8,[`modelValue`])]))}}),[[`__scopeId`,`data-v-0e9ea4fb`]]),Ut={xs:2,sm:4,md:6,lg:10,xl:14};function Wt(e,t,n){return{transform:t===!0?`translateX(${n.lang.rtl===!0?`-`:``}100%) scale3d(${-e},1,1)`:`scale3d(${e},1,1)`}}var Gt=B({name:`QLinearProgress`,props:{...ae,...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=ie(e,n.$q),i=I(e,Ut),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(()=>Wt(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(()=>Wt(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},G(t.default,n))}}}),Kt={class:`notion-panel q-pa-md`},qt={class:`row items-center q-mb-sm`},Jt={class:`text-caption text-uppercase text-weight-bold text-grey-6`,style:{"letter-spacing":`0.05em`}},Yt={key:0,class:`q-mb-sm`},Xt=[`href`],Zt={key:1,class:`text-caption q-mb-sm text-grey-8`},Qt={key:3,class:`q-mb-sm`},$t={class:`text-caption text-grey-7`,style:{"font-size":`11px`}},en={key:4,class:`text-caption text-grey-8 q-mb-sm`,style:{"font-size":`11px`}},tn={key:5,class:`task-add-row row items-center q-mb-xs`},nn={key:6,class:`tasks-list`},rn=[`onDblclick`],an={key:1,class:`text-caption text-grey-8`},on=X(k({__name:`NotionPanel`,props:{workspace:{},tasks:{}},setup(n){let r=n,{t:a}=S(),o=pe(),c=ue(),l=s(!1);function d(){r.workspace?.id&&ze(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),M=s(``),N=s({});function ee(e,t){if(t){let n=t.$el??t;N.value[e]=n}else delete N.value[e]}async function P(){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 te(){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 L(){O.value=``,E.value=!1}function R(t){k.value=t.id,M.value=t.title,e(()=>{let e=N.value[t.id]?.querySelector(`input, textarea`);e?.focus(),e?.select()})}async function B(e){if(k.value!==e.id)return;let t=M.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 V(){k.value=null,M.value=``}async function ne(e){if(r.workspace?.id)try{await o.deleteTask(r.workspace.id,e.id)}catch{}}async function re(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 H(e){switch(e){case`done`:return`check_circle`;case`in_progress`:return`timelapse`;default:return`radio_button_unchecked`}}function U(e){switch(e){case`done`:return`#4ade80`;case`in_progress`:return`#f59e0b`;default:return`#888`}}return(e,r)=>(t(),x(`div`,Kt,[_(`div`,qt,[_(`div`,Jt,A(e.$t(`notion.title`)),1),p(Ce),n.workspace?(t(),v(F,{key:0,flat:``,dense:``,round:``,size:`xs`,icon:`fact_check`,color:`grey-5`,onClick:d},{default:u(()=>[p(Y,null,{default:u(()=>[y(A(e.$t(`tasks.askProgress`)),1)]),_:1})]),_:1})):C(``,!0),n.workspace?(t(),v(F,{key:1,flat:``,dense:``,round:``,size:`xs`,icon:`add`,color:`indigo-4`,onClick:I},{default:u(()=>[p(Y,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`,Yt,[_(`a`,{href:n.workspace.notionUrl,target:`_blank`,rel:`noopener noreferrer`,class:`notion-link text-caption items-center text-blue-4`},[p(j,{name:`open_in_new`,size:`12px`,class:`q-mr-xs`}),y(` `+A(e.$t(`notion.openInNotion`)),1)],8,Xt)])):(t(),x(`div`,Zt,A(e.$t(`notion.noUrl`)),1)),n.workspace.notionUrl?(t(),v(F,{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:P},null,8,[`label`,`loading`])):C(``,!0),b.value>0?(t(),x(`div`,Qt,[p(Gt,{value:w.value,color:`primary`,"track-color":`grey-9`,class:`q-mb-xs`,style:{height:`4px`,"border-radius":`2px`}},null,8,[`value`]),_(`div`,$t,A(e.$t(`notion.subtasks`,{done:g.value,total:b.value})),1)])):E.value?C(``,!0):(t(),x(`div`,en,A(e.$t(`notion.noTasks`)),1)),E.value?(t(),x(`div`,tn,[p(be,{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:[W(z(te,[`prevent`]),[`enter`]),W(z(L,[`prevent`]),[`esc`])]},null,8,[`modelValue`,`placeholder`,`onKeydown`])])):C(``,!0),f.value.length>0?(t(),x(`div`,nn,[(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(j,{name:H(n.status),size:`14px`,style:D({color:U(n.status)}),class:`q-mr-xs cursor-pointer`,onClick:e=>re(n)},null,8,[`name`,`style`,`onClick`]),k.value===n.id?(t(),v(be,{key:0,ref_for:!0,ref:e=>ee(n.id,e),modelValue:M.value,"onUpdate:modelValue":r[1]||=e=>M.value=e,dark:``,dense:``,borderless:``,class:`col task-input`,"input-class":`task-input-inner`,onKeydown:[W(z(e=>B(n),[`prevent`]),[`enter`]),W(z(V,[`prevent`]),[`esc`])],onBlur:e=>B(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=>R(n)},A(n.title),47,rn),p(F,{flat:``,dense:``,round:``,size:`xs`,icon:`close`,color:`grey-6`,class:`task-delete-btn`,onClick:e=>ne(n)},{default:u(()=>[p(Y,null,{default:u(()=>[y(A(e.$t(`tooltip.removeNotionTask`)),1)]),_:1})]),_:1},8,[`onClick`])],64))]))),128))])):C(``,!0)],64)):(t(),x(`div`,an,A(e.$t(`common.selectWorkspace`)),1))]))}}),[[`__scopeId`,`data-v-99e38dbd`]]),sn={class:`plans-panel q-pa-md`},cn={class:`row items-center justify-between q-mb-sm`},ln={class:`text-caption text-uppercase text-weight-bold text-grey-6`,style:{"letter-spacing":`0.05em`}},un={key:0,class:`text-caption text-grey-8`},dn={key:1,class:`text-center q-py-lg`},fn={key:2,class:`text-caption text-grey-8 text-center q-py-lg`},pn={key:0,class:`text-center q-py-lg`},mn=[`innerHTML`],hn=X(k({__name:`PlansPanel`,props:{workspace:{}},setup(e){let r=e,{t:a}=S(),o=Ie(),{timeAgo:c}=Be(),l=s([]),f=s(!1),m=s(null),g=s(!1);async function b(){if(!r.workspace){l.value=[];return}f.value=!0;try{let e=await fetch(`/api/workspaces/${r.workspace.id}/plans`);if(!e.ok)throw Error(`HTTP ${e.status}`);l.value=(await e.json()).plans}catch(e){console.error(`[PlansPanel] fetchPlans failed:`,e),l.value=[]}finally{f.value=!1}}async function C(e){g.value=!0;try{let t=await fetch(`/api/workspaces/${r.workspace.id}/plan-file?path=${encodeURIComponent(e.path)}`);if(!t.ok)throw Error(`HTTP ${t.status}`);let n=await t.json();m.value={path:n.path,content:n.content,name:e.name}}catch(e){console.error(`[PlansPanel] openPlan failed:`,e),o.notify({type:`negative`,message:a(`plans.loadFailed`),position:`top`})}finally{g.value=!1}}function E(){m.value=null}let D=T(()=>{if(!m.value)return``;let e=Te.parse(m.value.content,{async:!1,breaks:!0,gfm:!0});return we.sanitize(e)});return n(()=>r.workspace?.id,()=>{m.value=null,b()},{immediate:!0}),(n,r)=>(t(),x(`div`,sn,[_(`div`,cn,[_(`div`,ln,A(n.$t(`plans.title`)),1),m.value?(t(),v(F,{key:1,flat:``,dense:``,"no-caps":``,size:`sm`,icon:`arrow_back`,label:n.$t(`plans.back`),color:`grey-5`,onClick:E},null,8,[`label`])):(t(),v(F,{key:0,flat:``,round:``,dense:``,size:`xs`,icon:`refresh`,color:`grey-6`,loading:f.value,onClick:b},{default:u(()=>[p(Y,null,{default:u(()=>[y(A(n.$t(`plans.refresh`)),1)]),_:1})]),_:1},8,[`loading`]))]),m.value?(t(),x(h,{key:1},[g.value?(t(),x(`div`,pn,[p(N,{size:`24px`,color:`grey-6`})])):(t(),x(`div`,{key:1,class:`plan-content`,innerHTML:D.value},null,8,mn))],64)):(t(),x(h,{key:0},[e.workspace?f.value?(t(),x(`div`,dn,[p(N,{size:`24px`,color:`grey-6`})])):l.value.length===0?(t(),x(`div`,fn,A(n.$t(`plans.empty`)),1)):(t(),v(Fe,{key:3,dense:``,dark:``},{default:u(()=>[(t(!0),x(h,null,i(l.value,e=>d((t(),v(Q,{key:e.path,clickable:``,dense:``,onClick:t=>C(e)},{default:u(()=>[p(Z,{avatar:``,style:{"min-width":`28px`}},{default:u(()=>[p(j,{name:`description`,size:`14px`,color:`grey-6`})]),_:1}),p(Z,null,{default:u(()=>[p(Le,{class:`text-grey-3 ellipsis`,style:{"font-family":`'Roboto Mono', monospace`,"font-size":`11px`}},{default:u(()=>[y(A(e.name),1)]),_:2},1024),p(Le,{caption:``,style:{"font-size":`10px`}},{default:u(()=>[y(A(w(c)(e.modifiedAt)),1)]),_:2},1024)]),_:2},1024)]),_:2},1032,[`onClick`])),[[M]])),128))]),_:1})):(t(),x(`div`,un,A(n.$t(`common.selectWorkspace`)),1))],64))]))}}),[[`__scopeId`,`data-v-442c2eef`]]),gn={class:`stats-panel q-pa-md`},_n={class:`row items-center q-mb-md`},vn={class:`text-caption text-uppercase text-weight-bold text-grey-6`,style:{"letter-spacing":`0.05em`}},yn={class:`stat-group-label q-mb-xs`},bn={class:`stat-row`},xn={class:`stat-label`},Sn={class:`stat-value`},Cn={class:`stat-row`},wn={class:`stat-label`},Tn={class:`stat-value`},En={key:0,class:`stat-row`},Dn={class:`stat-label`},On={class:`stat-value stat-value-ellipsis`},kn={class:`stat-row`},An={class:`stat-label`},jn={class:`stat-value`},Mn={class:`stat-row`},Nn={class:`stat-label`},Pn={class:`stat-value`},Fn={class:`stat-group-label q-mb-xs`},In={class:`stat-row`},Ln={class:`stat-label`},Rn={class:`stat-value`},zn={key:1,class:`stat-row`},Bn={class:`stat-label`},Vn={class:`stat-value`},Hn={key:2,class:`stat-row`},Un={class:`stat-label`},Wn={class:`stat-value`},Gn={key:3,class:`stat-row`},Kn={class:`stat-label`},qn={class:`stat-value`},Jn={key:4,class:`stat-row`},Yn={class:`stat-label`},Xn={class:`stat-value`},Zn={class:`stat-group-label q-mb-xs`},Qn={class:`stat-row`},$n={class:`stat-label`},er={class:`stat-value`},tr={class:`stat-row`},nr={class:`stat-label`},rr={class:`stat-value`},ir={class:`stat-row`},ar={class:`stat-label`},or={class:`stat-value`},sr={key:5,class:`stat-row`},cr={class:`stat-label text-red-4`},lr={class:`stat-value text-red-4`},ur={key:6},dr={class:`stat-group-label q-mb-xs`},fr={class:`stat-row`},pr={class:`stat-label`},mr={class:`stat-value`},hr={class:`stat-row`},gr={class:`stat-label`},_r={class:`stat-value`},vr={class:`stat-row`},yr={class:`stat-label`},br={class:`stat-value`},xr={key:0,class:`stat-row`},Sr={class:`stat-label`},Cr={class:`stat-value`},wr={key:7},Tr={class:`stat-group-label q-mb-xs`},Er={class:`stat-row`},Dr={class:`stat-label`},Or={class:`stat-value`},kr={key:0,class:`stat-row`},Ar={class:`stat-label`},jr={class:`stat-value`},Mr={key:1,class:`stat-row`},Nr={class:`stat-label`},Pr={class:`stat-value`},Fr={key:8},Ir={class:`stat-group-label q-mb-xs`},Lr={key:0,class:`q-mb-xs`},Rr={class:`stat-row q-mb-xxs`},zr={class:`stat-label`},Br={class:`stat-value`},Vr={key:1},Hr={class:`stat-row q-mb-xxs`},Ur={class:`stat-label`},Wr={class:`stat-value`},Gr={key:1,class:`text-caption text-grey-8`},Kr=X(k({__name:`StatsPanel`,props:{workspace:{}},setup(e){let{t:n}=S(),r=pe(),{timeAgo:i}=Be(),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`,gn,[_(`div`,_n,[_(`div`,vn,A(n.$t(`stats.title`)),1),p(Ce),e.workspace?(t(),v(F,{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(Y,null,{default:u(()=>[y(A(n.$t(`tooltip.refreshStats`)),1)]),_:1})]),_:1})):C(``,!0)]),e.workspace&&a.value?(t(),x(h,{key:0},[_(`div`,yn,A(n.$t(`stats.info`)),1),_(`div`,bn,[_(`span`,xn,A(n.$t(`stats.status`)),1),_(`span`,Sn,A(a.value.status),1)]),_(`div`,Cn,[_(`span`,wn,A(n.$t(`stats.model`)),1),_(`span`,Tn,A(a.value.model),1)]),a.value.branch?(t(),x(`div`,En,[_(`span`,Dn,A(n.$t(`stats.branch`)),1),_(`span`,On,A(a.value.branch),1)])):C(``,!0),_(`div`,kn,[_(`span`,An,A(n.$t(`stats.sessions`)),1),_(`span`,jn,A(a.value.completedSessions)+` / `+A(a.value.totalSessions),1)]),_(`div`,Mn,[_(`span`,Nn,A(n.$t(`stats.duration`)),1),_(`span`,Pn,A(o(a.value.durationMs)),1)]),p(K,{dark:``,class:`q-my-sm`}),_(`div`,Fn,A(n.$t(`stats.timeline`)),1),_(`div`,In,[_(`span`,Ln,A(n.$t(`stats.created`)),1),_(`span`,Rn,A(a.value.createdAt?d(a.value.createdAt):`—`),1)]),a.value.firstSessionAt?(t(),x(`div`,zn,[_(`span`,Bn,A(n.$t(`stats.firstSession`)),1),_(`span`,Vn,A(d(a.value.firstSessionAt)),1)])):C(``,!0),a.value.lastPromptAt?(t(),x(`div`,Hn,[_(`span`,Un,A(n.$t(`stats.lastPrompt`)),1),_(`span`,Wn,[y(A(w(i)(a.value.lastPromptAt))+` `,1),p(Y,null,{default:u(()=>[y(A(d(a.value.lastPromptAt)),1)]),_:1})])])):C(``,!0),a.value.lastAgentResponseAt?(t(),x(`div`,Gn,[_(`span`,Kn,A(n.$t(`stats.lastResponse`)),1),_(`span`,qn,[y(A(w(i)(a.value.lastAgentResponseAt))+` `,1),p(Y,null,{default:u(()=>[y(A(d(a.value.lastAgentResponseAt)),1)]),_:1})])])):C(``,!0),a.value.updatedAt?(t(),x(`div`,Jn,[_(`span`,Yn,A(n.$t(`stats.updated`)),1),_(`span`,Xn,A(w(i)(a.value.updatedAt)),1)])):C(``,!0),p(K,{dark:``,class:`q-my-sm`}),_(`div`,Zn,A(n.$t(`stats.activity`)),1),_(`div`,Qn,[_(`span`,$n,A(n.$t(`stats.agentMessages`)),1),_(`span`,er,A(a.value.agentMessages),1)]),_(`div`,tr,[_(`span`,nr,A(n.$t(`stats.userMessages`)),1),_(`span`,rr,A(a.value.userMessages),1)]),_(`div`,ir,[_(`span`,ar,A(n.$t(`stats.toolCalls`)),1),_(`span`,or,A(a.value.toolUses),1)]),a.value.errors>0?(t(),x(`div`,sr,[_(`span`,cr,A(n.$t(`stats.errors`)),1),_(`span`,lr,A(a.value.errors),1)])):C(``,!0),a.value.usage.inputTokens>0||a.value.usage.outputTokens>0?(t(),x(`div`,ur,[p(K,{dark:``,class:`q-my-sm`}),_(`div`,dr,A(n.$t(`stats.usage`)),1),_(`div`,fr,[_(`span`,pr,A(n.$t(`stats.inputTokens`)),1),_(`span`,mr,A(s(a.value.usage.inputTokens)),1)]),_(`div`,hr,[_(`span`,gr,A(n.$t(`stats.outputTokens`)),1),_(`span`,_r,A(s(a.value.usage.outputTokens)),1)]),_(`div`,vr,[_(`span`,yr,A(n.$t(`stats.totalTokens`)),1),_(`span`,br,A(s(a.value.usage.inputTokens+a.value.usage.outputTokens)),1)]),a.value.usage.costUsd>0?(t(),x(`div`,xr,[_(`span`,Sr,A(n.$t(`stats.cost`)),1),_(`span`,Cr,`$`+A(a.value.usage.costUsd.toFixed(4)),1)])):C(``,!0)])):C(``,!0),a.value.totalSubagents>0?(t(),x(`div`,wr,[p(K,{dark:``,class:`q-my-sm`}),_(`div`,Tr,A(n.$t(`stats.subagents`)),1),_(`div`,Er,[_(`span`,Dr,A(n.$t(`stats.completed`)),1),_(`span`,Or,A(a.value.doneSubagents)+` / `+A(a.value.totalSubagents),1)]),a.value.totalSubagentTokens>0?(t(),x(`div`,kr,[_(`span`,Ar,A(n.$t(`stats.tokens`)),1),_(`span`,jr,A(s(a.value.totalSubagentTokens)),1)])):C(``,!0),a.value.totalSubagentTools>0?(t(),x(`div`,Mr,[_(`span`,Nr,A(n.$t(`stats.toolCalls`)),1),_(`span`,Pr,A(a.value.totalSubagentTools),1)])):C(``,!0)])):C(``,!0),a.value.totalTasks>0||a.value.totalCriteria>0?(t(),x(`div`,Fr,[p(K,{dark:``,class:`q-my-sm`}),_(`div`,Ir,A(n.$t(`stats.progress`)),1),a.value.totalTasks>0?(t(),x(`div`,Lr,[_(`div`,Rr,[_(`span`,zr,A(n.$t(`stats.tasks`)),1),_(`span`,Br,A(a.value.doneTasks)+` / `+A(a.value.totalTasks),1)]),p(Gt,{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`,Vr,[_(`div`,Hr,[_(`span`,Ur,A(n.$t(`stats.acceptanceCriteria`)),1),_(`span`,Wr,A(a.value.doneCriteria)+` / `+A(a.value.totalCriteria),1)]),p(Gt,{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`,Gr,A(n.$t(`common.selectWorkspace`)),1))]))}}),[[`__scopeId`,`data-v-3d3e6cd8`]]),qr={class:`subagents-panel q-pa-md`},Jr={class:`text-caption text-uppercase text-weight-bold text-grey-6 q-mb-sm`,style:{"letter-spacing":`0.05em`}},Yr={key:0,class:`text-caption text-grey-8`},Xr={class:`row items-center q-mb-xs`},Zr={class:`text-caption text-weight-medium text-grey-3 ellipsis`,style:{"max-width":`220px`}},Qr={key:0,class:`text-caption text-grey-6`,style:{"font-size":`10px`}},$r={class:`text-grey-4`},ei={class:`row items-center q-gutter-xs q-mt-xs text-caption text-grey-7`,style:{"font-size":`10px`}},ti={key:0},ni={key:1},ri={key:2},ii=X(k({__name:`SubagentsPanel`,setup(e){let{t:n}=S(),r=pe(),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`,qr,[_(`div`,Jr,A(e.$t(`subagents.title`)),1),a.value.length===0?(t(),x(`div`,Yr,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`,Xr,[p(j,{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`,Zr,A(n.description||n.toolUseId),1)]),n.lastToolName?(t(),x(`div`,Qr,[y(A(e.$t(`subagents.running`)),1),_(`span`,$r,A(n.lastToolName),1)])):C(``,!0),_(`div`,ei,[n.toolUses===void 0?C(``,!0):(t(),x(`span`,ti,A(e.$t(`subagents.tools`,{count:n.toolUses})),1)),n.totalTokens?(t(),x(`span`,ni,`· `+A(s(n.totalTokens))+` tok`,1)):C(``,!0),n.durationMs?(t(),x(`span`,ri,`· `+A(o(n.durationMs)),1)):C(``,!0)])]))),128))]))}}),[[`__scopeId`,`data-v-81ad2481`]]),ai={class:`tools-panel q-px-md q-py-sm`},oi={class:`text-caption text-uppercase text-weight-bold text-grey-5 q-mb-xs`},si={key:0,class:`text-caption text-grey-8`},ci={key:0,class:`text-caption text-grey-8`},li=X(k({__name:`ToolsPanel`,props:{workspace:{}},setup(e){let n=e,{t:r}=S(),i=Ie(),a=oe(),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`,ai,[_(`div`,oi,A(n.$t(`tools.title`)),1),e.workspace?(t(),x(h,{key:1},[p(F,{"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(Y,null,{default:u(()=>[y(A(n.$t(`tools.runSetupScriptTooltip`)),1)]),_:1})]),_:1},8,[`label`,`loading`,`disable`]),d.value?C(``,!0):(t(),x(`div`,ci,[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`,si,A(n.$t(`devServer.noWorkspace`)),1))])}}}),[[`__scopeId`,`data-v-64fae402`]]),ui={class:`workspace-list column full-height`},di={class:`wl-header row items-center justify-between q-px-md q-py-sm`},fi={class:`text-caption text-uppercase text-weight-bold text-grey-6`,style:{"letter-spacing":`0.05em`}},pi={class:`row items-center q-gutter-xs`},mi={class:`q-px-md q-pb-sm`},hi={class:`col overflow-auto`},gi={key:0,class:`wl-group q-mt-xs`},_i={class:`text-caption text-weight-bold q-ml-xs text-red-5`},vi={key:0,class:`wl-project-label q-px-md q-pt-xs`},yi={class:`text-caption text-grey-7`},bi=[`onClick`],xi={class:`col`,style:{"min-width":`0`}},Si={class:`row items-center no-wrap q-gutter-xs`},Ci={key:0,class:`dd-dot dd-dot--running`},wi={class:`text-caption q-mt-xs`},Ti={class:`text-red-5`},Ei={class:`q-ml-xs text-grey-8`},Di={key:1,class:`wl-group q-mt-xs`},Oi={class:`text-caption text-weight-bold q-ml-xs text-green-4`},ki={key:0,class:`wl-project-label q-px-md q-pt-xs`},Ai={class:`text-caption text-grey-7`},ji=[`onClick`],Mi={class:`col`,style:{"min-width":`0`}},Ni={class:`row items-center no-wrap q-gutter-xs`},Pi={key:0,class:`dd-dot dd-dot--running`},Fi={class:`text-caption q-mt-xs`},Ii={class:`text-green-4`},Li={class:`q-ml-xs text-grey-8`},Ri={key:2,class:`wl-group q-mt-xs`},zi={class:`text-caption text-weight-bold q-ml-xs text-grey-6`},Bi={key:0,class:`wl-project-label q-px-md q-pt-xs`},Vi={class:`text-caption text-grey-7`},Hi=[`onClick`],Ui={class:`col`,style:{"min-width":`0`}},Wi={class:`row items-center no-wrap q-gutter-xs`},Gi={key:0,class:`dd-dot dd-dot--running`},Ki={class:`wl-item-meta text-caption text-grey-8`},qi={key:3,class:`wl-group q-mt-xs`},Ji={class:`text-caption text-weight-bold q-ml-xs text-grey-7`},Yi={class:`col`,style:{"min-width":`0`}},Xi={class:`wl-item-name text-body2 text-grey-5 ellipsis`},Zi={class:`wl-item-meta text-caption text-grey-8`},Qi={key:4,class:`q-pa-lg text-center text-grey-6 text-caption`},$i={class:`q-px-md q-py-xs text-caption text-grey-8`},ea={class:`text-h6`},ta={class:`text-body2 q-mb-sm text-grey-6`},na={class:`text-caption q-mb-md text-grey-7`,style:{"font-family":`monospace`}},ra={class:`column q-gutter-xs`},ia={key:0,class:`text-caption q-mt-sm text-red-5`},aa=X(k({__name:`WorkspaceList`,setup(e){let{t:n}=S(),{timeAgo:r}=Be(),o=pe(),c=ue(),l=se(),f=oe(),g=xe(),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()))),M=T(()=>o.idle.filter(e=>e.name.toLowerCase().includes(b.value.toLowerCase()))),N=T(()=>E(O.value)),ee=T(()=>E(k.value)),P=T(()=>E(M.value)),I=T(()=>o.workspaces.length),te=T(()=>o.running.length),L=s(!0),R=s(!0),B=s(!0),V=s(!1);async function ne(){V.value=!V.value,V.value&&!o.archivedLoaded&&await o.fetchArchivedWorkspaces()}let re=s(!1),U=s(null),W=s(!1),G=s(!1),ie=s(!1);function ae(e,t){t.stopPropagation(),U.value=e,W.value=!0,G.value=!1,re.value=!0}async function ce(){if(!U.value)return;let e=U.value.id;ie.value=!0;try{await o.deleteWorkspace(e,{deleteLocalBranch:W.value,deleteRemoteBranch:G.value}),c.unsubscribe(e),re.value=!1,o.selectedWorkspaceId===null&&g.push({name:`workspace`})}catch(e){console.error(`Delete failed:`,e)}finally{ie.value=!1}}async function le(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 de(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 fe(e){o.selectWorkspace(e),g.push({name:`workspace`,params:{id:e}})}function me(e){let t=`${e.projectPath}/.worktrees/${e.workingBranch}`;navigator.clipboard.writeText(t).catch(()=>{})}async function he(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 ge(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 Se(){g.push({name:`create`})}function Ce(){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`,ui,[_(`div`,di,[_(`span`,fi,A(e.$t(`workspaceList.title`)),1),_(`div`,pi,[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(F,{flat:``,round:``,dense:``,icon:`settings`,size:`sm`,color:`grey-5`,onClick:Ce}),p(F,{flat:``,round:``,dense:``,icon:`add`,size:`sm`,color:`grey-5`,onClick:Se})])]),_(`div`,mi,[p(be,{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(j,{name:`search`,size:`xs`,color:`grey-6`})]),_:1},8,[`modelValue`,`placeholder`])]),p(K,{dark:``}),_(`div`,hi,[O.value.length>0?(t(),x(`div`,gi,[_(`div`,{class:`wl-group-header row items-center q-px-md q-py-xs cursor-pointer non-selectable`,onClick:n[1]||=e=>L.value=!L.value},[p(j,{name:L.value?`expand_more`:`chevron_right`,size:`xs`,color:`red-5`},null,8,[`name`]),_(`span`,_i,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(N.value,a=>(t(),x(`div`,{key:a.projectPath,class:`wl-project-group`},[N.value.length>1?(t(),x(`div`,vi,[p(j,{name:`folder`,size:`12px`,color:`grey-7`,class:`q-mr-xs`}),_(`span`,yi,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=>fe(i.id),onContextmenu:n[2]||=z(()=>{},[`prevent`])},[p(Re,{dark:``,"context-menu":``},{default:u(()=>[p(Fe,{dense:``,style:{"min-width":`180px`}},{default:u(()=>[d((t(),v(Q,{clickable:``,onClick:e=>me(i)},{default:u(()=>[p(Z,{side:``},{default:u(()=>[p(j,{name:`content_copy`,size:`xs`})]),_:1}),p(Z,null,{default:u(()=>[y(A(e.$t(`contextMenu.copyPath`)),1)]),_:1})]),_:1},8,[`onClick`])),[[$]]),w(f).global.editorCommand?d((t(),v(Q,{key:0,clickable:``,onClick:e=>he(i)},{default:u(()=>[p(Z,{side:``},{default:u(()=>[p(j,{name:`open_in_new`,size:`xs`})]),_:1}),p(Z,null,{default:u(()=>[y(A(e.$t(`contextMenu.openEditor`)),1)]),_:1})]),_:1},8,[`onClick`])),[[$]]):C(``,!0),d((t(),v(Q,{clickable:``,onClick:e=>ge(i)},{default:u(()=>[p(Z,{side:``},{default:u(()=>[p(j,{name:`replay`,size:`xs`})]),_:1}),p(Z,null,{default:u(()=>[y(A(e.$t(`contextMenu.runSetup`)),1)]),_:1})]),_:1},8,[`onClick`])),[[$]]),p(K,{dark:``}),d((t(),v(Q,{clickable:``,onClick:e=>le(i,e)},{default:u(()=>[p(Z,{side:``},{default:u(()=>[p(j,{name:`archive`,size:`xs`})]),_:1}),p(Z,null,{default:u(()=>[y(A(e.$t(`common.archive`)),1)]),_:1})]),_:1},8,[`onClick`])),[[$]]),d((t(),v(Q,{clickable:``,onClick:e=>ae(i,e),class:`text-red-5`},{default:u(()=>[p(Z,{side:``},{default:u(()=>[p(j,{name:`delete_outline`,size:`xs`,color:`red-5`})]),_:1}),p(Z,null,{default:u(()=>[y(A(e.$t(`common.delete`)),1)]),_:1})]),_:1},8,[`onClick`])),[[$]])]),_:2},1024)]),_:2},1024),_(`div`,xi,[_(`div`,Si,[w(l).getStatus(i.id)?.status===`running`?(t(),x(`div`,Ci)):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`,wi,[p(j,{name:`warning`,size:`xs`,color:`red-5`,class:`q-mr-xs`}),_(`span`,Ti,A(i.status),1),_(`span`,Ei,`· `+A(w(r)(i.updatedAt)),1)])])],42,bi))),128))]))),128))],512),[[H,L.value]])])):C(``,!0),k.value.length>0?(t(),x(`div`,Di,[_(`div`,{class:`wl-group-header row items-center q-px-md q-py-xs cursor-pointer non-selectable`,onClick:n[3]||=e=>R.value=!R.value},[p(j,{name:R.value?`expand_more`:`chevron_right`,size:`xs`,color:`green-5`},null,8,[`name`]),_(`span`,Oi,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(ee.value,a=>(t(),x(`div`,{key:a.projectPath,class:`wl-project-group`},[ee.value.length>1?(t(),x(`div`,ki,[p(j,{name:`folder`,size:`12px`,color:`grey-7`,class:`q-mr-xs`}),_(`span`,Ai,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=>fe(i.id),onContextmenu:n[4]||=z(()=>{},[`prevent`])},[p(Re,{dark:``,"context-menu":``},{default:u(()=>[p(Fe,{dense:``,style:{"min-width":`180px`}},{default:u(()=>[d((t(),v(Q,{clickable:``,onClick:e=>me(i)},{default:u(()=>[p(Z,{side:``},{default:u(()=>[p(j,{name:`content_copy`,size:`xs`})]),_:1}),p(Z,null,{default:u(()=>[y(A(e.$t(`contextMenu.copyPath`)),1)]),_:1})]),_:1},8,[`onClick`])),[[$]]),w(f).global.editorCommand?d((t(),v(Q,{key:0,clickable:``,onClick:e=>he(i)},{default:u(()=>[p(Z,{side:``},{default:u(()=>[p(j,{name:`open_in_new`,size:`xs`})]),_:1}),p(Z,null,{default:u(()=>[y(A(e.$t(`contextMenu.openEditor`)),1)]),_:1})]),_:1},8,[`onClick`])),[[$]]):C(``,!0),d((t(),v(Q,{clickable:``,onClick:e=>ge(i)},{default:u(()=>[p(Z,{side:``},{default:u(()=>[p(j,{name:`replay`,size:`xs`})]),_:1}),p(Z,null,{default:u(()=>[y(A(e.$t(`contextMenu.runSetup`)),1)]),_:1})]),_:1},8,[`onClick`])),[[$]]),p(K,{dark:``}),d((t(),v(Q,{clickable:``,onClick:e=>le(i,e)},{default:u(()=>[p(Z,{side:``},{default:u(()=>[p(j,{name:`archive`,size:`xs`})]),_:1}),p(Z,null,{default:u(()=>[y(A(e.$t(`common.archive`)),1)]),_:1})]),_:1},8,[`onClick`])),[[$]]),d((t(),v(Q,{clickable:``,onClick:e=>ae(i,e),class:`text-red-5`},{default:u(()=>[p(Z,{side:``},{default:u(()=>[p(j,{name:`delete_outline`,size:`xs`,color:`red-5`})]),_:1}),p(Z,null,{default:u(()=>[y(A(e.$t(`common.delete`)),1)]),_:1})]),_:1},8,[`onClick`])),[[$]])]),_:2},1024)]),_:2},1024),_(`div`,Mi,[_(`div`,Ni,[w(l).getStatus(i.id)?.status===`running`?(t(),x(`div`,Pi)):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`,Fi,[_(`span`,Ii,A(i.status),1),_(`span`,Li,`· `+A(w(r)(i.updatedAt)),1)])])],42,ji))),128))]))),128))],512),[[H,R.value]])])):C(``,!0),M.value.length>0?(t(),x(`div`,Ri,[_(`div`,{class:`wl-group-header row items-center q-px-md q-py-xs cursor-pointer non-selectable`,onClick:n[5]||=e=>B.value=!B.value},[p(j,{name:B.value?`expand_more`:`chevron_right`,size:`xs`,color:`grey-6`},null,8,[`name`]),_(`span`,zi,A(e.$t(`workspaceList.idle`)),1),p(Ee,{label:M.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(P.value,a=>(t(),x(`div`,{key:a.projectPath,class:`wl-project-group`},[P.value.length>1?(t(),x(`div`,Bi,[p(j,{name:`folder`,size:`12px`,color:`grey-7`,class:`q-mr-xs`}),_(`span`,Vi,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=>fe(i.id),onContextmenu:n[6]||=z(()=>{},[`prevent`])},[p(Re,{dark:``,"context-menu":``},{default:u(()=>[p(Fe,{dense:``,style:{"min-width":`180px`}},{default:u(()=>[d((t(),v(Q,{clickable:``,onClick:e=>me(i)},{default:u(()=>[p(Z,{side:``},{default:u(()=>[p(j,{name:`content_copy`,size:`xs`})]),_:1}),p(Z,null,{default:u(()=>[y(A(e.$t(`contextMenu.copyPath`)),1)]),_:1})]),_:1},8,[`onClick`])),[[$]]),w(f).global.editorCommand?d((t(),v(Q,{key:0,clickable:``,onClick:e=>he(i)},{default:u(()=>[p(Z,{side:``},{default:u(()=>[p(j,{name:`open_in_new`,size:`xs`})]),_:1}),p(Z,null,{default:u(()=>[y(A(e.$t(`contextMenu.openEditor`)),1)]),_:1})]),_:1},8,[`onClick`])),[[$]]):C(``,!0),d((t(),v(Q,{clickable:``,onClick:e=>ge(i)},{default:u(()=>[p(Z,{side:``},{default:u(()=>[p(j,{name:`replay`,size:`xs`})]),_:1}),p(Z,null,{default:u(()=>[y(A(e.$t(`contextMenu.runSetup`)),1)]),_:1})]),_:1},8,[`onClick`])),[[$]]),p(K,{dark:``}),d((t(),v(Q,{clickable:``,onClick:e=>le(i,e)},{default:u(()=>[p(Z,{side:``},{default:u(()=>[p(j,{name:`archive`,size:`xs`})]),_:1}),p(Z,null,{default:u(()=>[y(A(e.$t(`common.archive`)),1)]),_:1})]),_:1},8,[`onClick`])),[[$]]),d((t(),v(Q,{clickable:``,onClick:e=>ae(i,e),class:`text-red-5`},{default:u(()=>[p(Z,{side:``},{default:u(()=>[p(j,{name:`delete_outline`,size:`xs`,color:`red-5`})]),_:1}),p(Z,null,{default:u(()=>[y(A(e.$t(`common.delete`)),1)]),_:1})]),_:1},8,[`onClick`])),[[$]])]),_:2},1024)]),_:2},1024),_(`div`,Ui,[_(`div`,Wi,[w(l).getStatus(i.id)?.status===`running`?(t(),x(`div`,Gi)):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`,Ki,A(w(r)(i.updatedAt)),1)])],42,Hi))),128))]))),128))],512),[[H,B.value]])])):C(``,!0),w(o).archived.length>0||V.value?(t(),x(`div`,qi,[_(`div`,{class:`wl-group-header row items-center q-px-md q-py-xs cursor-pointer non-selectable`,onClick:ne},[p(j,{name:V.value?`expand_more`:`chevron_right`,size:`xs`,color:`grey-7`},null,8,[`name`]),p(j,{name:`inventory_2`,size:`xs`,color:`grey-7`,class:`q-ml-xs`}),_(`span`,Ji,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`,Yi,[_(`div`,Xi,A(i.name),1),_(`div`,Zi,A(e.$t(`workspaceList.archived`))+` `+A(w(r)(i.archivedAt)),1)]),p(F,{flat:``,round:``,dense:``,icon:`unarchive`,size:`xs`,color:`grey-6`,class:`wl-item-action wl-item-unarchive`,onClick:e=>de(i,e)},{default:u(()=>[p(Y,null,{default:u(()=>[y(A(e.$t(`common.unarchive`)),1)]),_:1})]),_:1},8,[`onClick`]),p(F,{flat:``,round:``,dense:``,icon:`delete_outline`,size:`xs`,color:`grey-6`,class:`wl-item-action wl-item-delete`,onClick:e=>ae(i,e)},{default:u(()=>[p(Y,null,{default:u(()=>[...n[11]||=[y(`Delete`,-1)]]),_:1})]),_:1},8,[`onClick`])]))),128))],512),[[H,V.value]])])):C(``,!0),O.value.length===0&&k.value.length===0&&M.value.length===0&&w(o).archived.length===0?(t(),x(`div`,Qi,[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(K,{dark:``}),_(`div`,$i,A(e.$t(`workspaceList.footer`,{count:I.value},I.value))+` · `+A(e.$t(`workspaceList.footerRunning`,{count:te.value})),1)]),p(ve,{modelValue:re.value,"onUpdate:modelValue":n[10]||=e=>re.value=e,persistent:``},{default:u(()=>[p(ye,{class:`text-grey-3`,style:{"min-width":`360px`,background:`#1e1e3a`}},{default:u(()=>[p(J,null,{default:u(()=>[_(`div`,ea,A(e.$t(`workspaceList.deleteDialog.title`)),1)]),_:1}),p(J,{class:`q-pt-none`},{default:u(()=>[_(`div`,ta,A(U.value?.name),1),_(`div`,na,A(U.value?.workingBranch),1),_(`div`,ra,[p(q,{modelValue:W.value,"onUpdate:modelValue":n[7]||=e=>W.value=e,label:e.$t(`workspaceList.deleteDialog.deleteLocal`),dark:``,dense:``,color:`red-5`},null,8,[`modelValue`,`label`]),p(q,{modelValue:G.value,"onUpdate:modelValue":n[8]||=e=>G.value=e,disable:!W.value,label:e.$t(`workspaceList.deleteDialog.deleteRemote`),dark:``,dense:``,color:`red-5`},null,8,[`modelValue`,`disable`,`label`])]),G.value?(t(),x(`div`,ia,A(e.$t(`workspaceList.deleteDialog.warning`)),1)):C(``,!0)]),_:1}),p(_e,{align:`right`},{default:u(()=>[p(F,{flat:``,label:e.$t(`common.cancel`),color:`grey-5`,onClick:n[9]||=e=>re.value=!1,disable:ie.value},null,8,[`label`,`disable`]),p(F,{flat:``,label:e.$t(`common.delete`),color:`red-5`,loading:ie.value,onClick:ce},null,8,[`label`,`loading`])]),_:1})]),_:1})]),_:1},8,[`modelValue`])],64))}}),[[`__scopeId`,`data-v-69c12879`]]),oa=`kobo:rightTab`,sa=`at-left-drawer-width`,ca=X(k({__name:`MainLayout`,setup(e){let n=s(localStorage.getItem(oa)??`git`);function r(e){n.value=e,localStorage.setItem(oa,e)}let i=s(!0);s(!0);let a=parseInt(localStorage.getItem(sa)??`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(sa,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=ce(),m=pe(),h=T(()=>f.name===`workspace`);return(e,a)=>{let s=c(`router-view`);return t(),v(We,{view:`lHh LpR lFf`},{default:u(()=>[p(He,{modelValue:i.value,"onUpdate:modelValue":a[0]||=e=>i.value=e,width:o.value,breakpoint:0,persistent:``,bordered:``,class:`bg-dark`},{default:u(()=>[p(aa),_(`div`,{class:`resize-handle`,onMousedown:d},null,32)]),_:1},8,[`modelValue`,`width`]),p(He,{"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`}),p(je,{name:`plans`,icon:`description`})]),_:1},8,[`model-value`]),p(K,{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(Ht,{workspace:w(m).selectedWorkspace},null,8,[`workspace`])]),_:1}),p(Pe,{name:`server`,class:`q-pa-none`},{default:u(()=>[p(gt,{workspace:w(m).selectedWorkspace},null,8,[`workspace`])]),_:1}),p(Pe,{name:`tasks`,class:`q-pa-none`},{default:u(()=>[p(on,{workspace:w(m).selectedWorkspace,tasks:w(m).tasks},null,8,[`workspace`,`tasks`]),p(K,{dark:``}),p(Qe,{tasks:w(m).acceptanceCriteria},null,8,[`tasks`]),p(K,{dark:``}),p(it)]),_:1}),p(Pe,{name:`subagents`,class:`q-pa-none`},{default:u(()=>[p(ii)]),_:1}),p(Pe,{name:`tools`,class:`q-pa-none`},{default:u(()=>[p(li,{workspace:w(m).selectedWorkspace},null,8,[`workspace`])]),_:1}),p(Pe,{name:`stats`,class:`q-pa-none`},{default:u(()=>[p(Kr,{workspace:w(m).selectedWorkspace},null,8,[`workspace`])]),_:1}),p(Pe,{name:`plans`,class:`q-pa-none`},{default:u(()=>[p(hn,{workspace:w(m).selectedWorkspace},null,8,[`workspace`])]),_:1})]),_:1},8,[`modelValue`])]),_:1},8,[`model-value`]),p(Ue,{class:`bg-dark`},{default:u(()=>[p(s)]),_:1})]),_:1})}}}),[[`__scopeId`,`data-v-9e67838c`]]);export{ca as default};
@@ -0,0 +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-BIsYlO92.js";import{i as C,n as w,r as T}from"./QMenu-67GqYx0C.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(C,t,()=>n)}function Z(){let t;return l.header===void 0?(t=[r(C,()=>[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(C,{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(w,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{I as P,M as F,N as I,d as ne}from"./index-BIsYlO92.js";import{f as re}from"./_plugin-vue_export-helper-fkfRoKj2.js";import{n as L,r as ie,t as R}from"./touch-Bojc73iM.js";import{o as ae}from"./QMenu-67GqYx0C.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,I);if(u===I)return console.error(`QTab/QRouteTab component needs to be child of QTabs`),I;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||F(n.to,e.to)===!0?u.avoidRouteWatcher=ne():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};
@@ -0,0 +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 C,st as w,u as T,v as E,x as ee,y as D}from"./scroll-CWjBCoBR.js";import{a as O,o as k}from"./private.use-form-1cZLVjGN.js";import{_ as te,g as ne,v as re,y as ie}from"./index-BIsYlO92.js";import{a as A,c as j,d as M,i as ae,l as oe,o as N,r as P,s as se,u as ce}from"./_plugin-vue_export-helper-fkfRoKj2.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:`QItemLabel`,props:{overline:Boolean,caption:Boolean,header:Boolean,lines:[Number,String]},setup(e,{slots:t}){let r=a(()=>parseInt(e.lines,10)),i=a(()=>`q-item__label`+(e.overline===!0?` q-item__label--overline text-overline`:``)+(e.caption===!0?` q-item__label--caption text-caption`:``)+(e.header===!0?` q-item__label--header`:``)+(r.value===1?` ellipsis`:``)),o=a(()=>e.lines!==void 0&&r.value>1?{overflow:`hidden`,display:`-webkit-box`,"-webkit-box-orient":`vertical`,"-webkit-line-clamp":r.value}:null);return()=>n(`div`,{style:o.value,class:i.value},p(t.default))}}),z=g({name:`QItem`,props:{...k,...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=O(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 C(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 T(e){if(b.value===!0&&l(e,[13,32])===!0){w(e),e.qKeyEvent=!0;let t=new MouseEvent(`click`,e);t.qKeyEvent=!0,_.value.dispatchEvent(t)}o(`keyup`,e)}function E(){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:C,onKeyup:T};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,E())}}}),B=g({name:`QMenu`,inheritAttrs:!1,props:{...M,...h,...k,...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:N},self:{type:String,validator:N},offset:{type:Array,validator:A},scrollTarget:S,touchPosition:Boolean,maxHeight:{type:String,default:null},maxWidth:{type:String,default:null}},emits:[...D,`click`,`escapeKey`],setup(o,{slots:s,emit:c,attrs:l}){let d=null,m,h,g,S=r(),{proxy:D}=S,{$q:k}=D,A=t(null),M=t(!1),N=a(()=>o.persistent!==!0&&o.noRouteDismiss!==!0),F=O(o,k),{registerTick:I,removeTick:L}=ee(),{registerTimeout:R}=f(),{transitionProps:z,transitionStyle:B}=_(o),{localScrollTarget:V,changeScrollEvent:le,unconfigureScrollTarget:ue}=oe(o,Z),{anchorEl:H,canShow:de}=ce({showing:M}),{hide:U}=E({showing:M,canShow:de,handleShow:ge,handleHide:_e,hideOnRouteChange:N,processOnMount:!0}),{showPortal:W,hidePortal:G,renderPortal:fe}=y(S,A,be,`menu`),K={anchorEl:H,innerRef:A,onClickOutside(e){if(o.persistent!==!0&&M.value===!0)return U(e),(e.type===`touchstart`||e.target.classList.contains(`q-dialog__backdrop`))&&w(e),!0}},q=a(()=>P(o.anchor||(o.cover===!0?`center middle`:`bottom start`),k.lang.rtl)),pe=a(()=>o.cover===!0?q.value:P(o.self||`top start`,k.lang.rtl)),me=a(()=>(o.square===!0?` q-menu--square`:``)+(F.value===!0?` q-menu--dark q-dark`:``)),he=a(()=>o.autoClose===!0?{onClick:ve}:{}),J=a(()=>M.value===!0&&o.persistent!==!0);e(J,e=>{e===!0?(re(Q),se(K)):(ie(Q),j(K))});function Y(){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 ge(t){if(d=o.noRefocus===!1?document.activeElement:null,ne(ye),W(),Z(),m=void 0,t!==void 0&&(o.touchPosition||o.contextMenu)){let e=C(t);if(e.left!==void 0){let{top:t,left:n}=H.value.getBoundingClientRect();m={left:e.left-n,top:e.top-t}}}h===void 0&&(h=e(()=>k.screen.width+`|`+k.screen.height+`|`+o.self+`|`+o.anchor+`|`+k.lang.rtl,$)),o.noFocus!==!0&&document.activeElement.blur(),I(()=>{$(),o.noFocus!==!0&&Y()}),R(()=>{k.platform.is.ios===!0&&(g=o.autoClose,A.value.click()),$(),W(!0),c(`show`,t)},o.transitionDuration)}function _e(e){L(),G(),X(!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(()=>{G(!0),c(`hide`,e)},o.transitionDuration)}function X(e){m=void 0,h!==void 0&&(h(),h=void 0),(e===!0||M.value===!0)&&(te(ye),ue(),j(K),ie(Q)),e!==!0&&(d=null)}function Z(){(H.value!==null||o.scrollTarget!==void 0)&&(V.value=x(H.value,o.scrollTarget),le(V.value,$))}function ve(e){g===!0?g=!1:(T(D,e),c(`click`,e))}function ye(e){J.value===!0&&o.noFocus!==!0&&u(A.value,e.target)!==!0&&Y()}function Q(e){o.noEscDismiss!==!0&&(c(`escapeKey`),U(e))}function $(){ae({targetEl:A.value,offset:o.offset,anchorEl:H.value,anchorOrigin:q.value,selfOrigin:pe.value,absoluteOffset:m,fit:o.fit,cover:o.cover,maxHeight:o.maxHeight,maxWidth:o.maxWidth})}function be(){return n(v,z.value,()=>M.value===!0?n(`div`,{role:`menu`,...l,ref:A,tabindex:-1,class:[`q-menu q-position-engine scroll`+me.value,l.class],style:[l.style,B.value],...he.value},p(s.default)):null)}return i(X),Object.assign(D,{focus:Y,updatePosition:$}),fe}});export{I as a,L as i,z as n,F as o,R as r,B as t};
@@ -0,0 +1 @@
1
+ import{A as e,D as t,E as n,H as r,O as i,P as a,Q as o,S as s,b as c,j as l,k as u,u as d,w as f}from"./vue-i18n-nv59vAyH.js";import{B as p,J as m,L as h,M as g,R as _,U as v,V as y,W as b,X as x,ct as S,it as C,nt as w,ot as T,st as E,z as D}from"./scroll-CWjBCoBR.js";import{a as O,n as k,o as A,r as j,s as ee}from"./private.use-form-1cZLVjGN.js";import{M,N,P,a as te,c as F,h as ne,i as re,l as ie,o as I,s as L}from"./index-BIsYlO92.js";import{n as ae}from"./format-Ex4UmWdz.js";import{i as oe,n as se,o as ce,r as le,t as ue}from"./QMenu-67GqYx0C.js";var de=S({name:`QField`,inheritAttrs:!1,props:{...F,tag:{type:String,default:`label`}},emits:L,setup(){return I(ie({tagProp:!0}))}}),fe={xs:8,sm:10,md:14,lg:20,xl:24},pe=S({name:`QChip`,props:{...A,...b,dense:Boolean,icon:String,iconRight:String,iconRemove:String,iconSelected:String,label:[String,Number],color:String,textColor:String,modelValue:{type:Boolean,default:!0},selected:{type:Boolean,default:null},square:Boolean,outline:Boolean,clickable:Boolean,removable:Boolean,removeAriaLabel:String,tabindex:[String,Number],disable:Boolean,ripple:{type:[Boolean,Object],default:!0}},emits:[`update:modelValue`,`update:selected`,`remove`,`click`],setup(e,{slots:t,emit:n}){let{proxy:{$q:r}}=c(),i=O(e,r),a=v(e,fe),o=d(()=>e.selected===!0||e.icon!==void 0),l=d(()=>e.selected===!0?e.iconSelected||r.iconSet.chip.selected:e.icon),u=d(()=>e.iconRemove||r.iconSet.chip.remove),f=d(()=>e.disable===!1&&(e.clickable===!0||e.selected!==null)),m=d(()=>{let t=e.outline===!0&&e.color||e.textColor;return`q-chip row inline no-wrap items-center`+(e.outline===!1&&e.color!==void 0?` bg-${e.color}`:``)+(t?` text-${t} q-chip--colored`:``)+(e.disable===!0?` disabled`:``)+(e.dense===!0?` q-chip--dense`:``)+(e.outline===!0?` q-chip--outline`:``)+(e.selected===!0?` q-chip--selected`:``)+(f.value===!0?` q-chip--clickable cursor-pointer non-selectable q-hoverable`:``)+(e.square===!0?` q-chip--square`:``)+(i.value===!0?` q-chip--dark q-dark`:``)}),y=d(()=>{let t=e.disable===!0?{tabindex:-1,"aria-disabled":`true`}:{tabindex:e.tabindex||0};return{chip:t,remove:{...t,role:`button`,"aria-hidden":`false`,"aria-label":e.removeAriaLabel||r.lang.label.remove}}});function b(e){e.keyCode===13&&x(e)}function x(t){e.disable||(n(`update:selected`,!e.selected),n(`click`,t))}function S(t){(t.keyCode===void 0||t.keyCode===13)&&(E(t),e.disable===!1&&(n(`update:modelValue`,!1),n(`remove`)))}function C(){let n=[];f.value===!0&&n.push(s(`div`,{class:`q-focus-helper`})),o.value===!0&&n.push(s(h,{class:`q-chip__icon q-chip__icon--left`,name:l.value}));let r=e.label===void 0?void 0:[s(`div`,{class:`ellipsis`},[e.label])];return n.push(s(`div`,{class:`q-chip__content col row no-wrap items-center q-anchor--skip`},p(t.default,r))),e.iconRight&&n.push(s(h,{class:`q-chip__icon q-chip__icon--right`,name:e.iconRight})),e.removable===!0&&n.push(s(h,{class:`q-chip__icon q-chip__icon--remove cursor-pointer`,name:u.value,...y.value.remove,onClick:S,onKeyup:S})),n}return()=>{if(e.modelValue===!1)return;let t={class:m.value,style:a.value};return f.value===!0&&Object.assign(t,y.value.chip,{onClick:x,onKeyup:b}),_(`div`,t,C(),`ripple`,e.ripple!==!1&&e.disable!==!0,()=>[[g,e.ripple]])}}}),R=1e3,z=[`start`,`center`,`end`,`start-force`,`center-force`,`end-force`],me=Array.prototype.filter,he=window.getComputedStyle(document.body).overflowAnchor===void 0?w:function(e,t){e!==null&&(e._qOverflowAnimationFrame!==void 0&&cancelAnimationFrame(e._qOverflowAnimationFrame),e._qOverflowAnimationFrame=requestAnimationFrame(()=>{if(e===null)return;e._qOverflowAnimationFrame=void 0;let n=e.children||[];me.call(n,e=>e.dataset&&e.dataset.qVsAnchor!==void 0).forEach(e=>{delete e.dataset.qVsAnchor});let r=n[t];r?.dataset&&(r.dataset.qVsAnchor=``)}))};function B(e,t){return e+t}function ge(e,t,n,r,i,a,o,s){let c=e===window?document.scrollingElement||document.documentElement:e,l=i===!0?`offsetWidth`:`offsetHeight`,u={scrollStart:0,scrollViewSize:-o-s,scrollMaxSize:0,offsetStart:-o,offsetEnd:-s};if(i===!0?(e===window?(u.scrollStart=window.pageXOffset||window.scrollX||document.body.scrollLeft||0,u.scrollViewSize+=document.documentElement.clientWidth):(u.scrollStart=c.scrollLeft,u.scrollViewSize+=c.clientWidth),u.scrollMaxSize=c.scrollWidth,a===!0&&(u.scrollStart=(ce===!0?u.scrollMaxSize-u.scrollViewSize:0)-u.scrollStart)):(e===window?(u.scrollStart=window.pageYOffset||window.scrollY||document.body.scrollTop||0,u.scrollViewSize+=document.documentElement.clientHeight):(u.scrollStart=c.scrollTop,u.scrollViewSize+=c.clientHeight),u.scrollMaxSize=c.scrollHeight),n!==null)for(let e=n.previousElementSibling;e!==null;e=e.previousElementSibling)e.classList.contains(`q-virtual-scroll--skip`)===!1&&(u.offsetStart+=e[l]);if(r!==null)for(let e=r.nextElementSibling;e!==null;e=e.nextElementSibling)e.classList.contains(`q-virtual-scroll--skip`)===!1&&(u.offsetEnd+=e[l]);if(t!==e){let n=c.getBoundingClientRect(),r=t.getBoundingClientRect();i===!0?(u.offsetStart+=r.left-n.left,u.offsetEnd-=r.width):(u.offsetStart+=r.top-n.top,u.offsetEnd-=r.height),e!==window&&(u.offsetStart+=u.scrollStart),u.offsetEnd+=u.scrollMaxSize-u.offsetStart}return u}function V(e,t,n,r){t===`end`&&(t=(e===window?document.body:e)[n===!0?`scrollWidth`:`scrollHeight`]),e===window?n===!0?(r===!0&&(t=(ce===!0?document.body.scrollWidth-document.documentElement.clientWidth:0)-t),window.scrollTo(t,window.pageYOffset||window.scrollY||document.body.scrollTop||0)):window.scrollTo(window.pageXOffset||window.scrollX||document.body.scrollLeft||0,t):n===!0?(r===!0&&(t=(ce===!0?e.scrollWidth-e.offsetWidth:0)-t),e.scrollLeft=t):e.scrollTop=t}function H(e,t,n,r){if(n>=r)return 0;let i=t.length,a=Math.floor(n/R),o=Math.floor((r-1)/R)+1,s=e.slice(a,o).reduce(B,0);return n%R!==0&&(s-=t.slice(a*R,n).reduce(B,0)),r%R!==0&&r!==i&&(s-=t.slice(r,o*R).reduce(B,0)),s}var _e={virtualScrollHorizontal:Boolean,onVirtualScroll:Function,virtualScrollSliceSize:{type:[Number,String],default:10},virtualScrollSliceRatioBefore:{type:[Number,String],default:1},virtualScrollSliceRatioAfter:{type:[Number,String],default:1},virtualScrollItemSize:{type:[Number,String],default:24},virtualScrollStickySizeStart:{type:[Number,String],default:0},virtualScrollStickySizeEnd:{type:[Number,String],default:0},tableColspan:[Number,String]};function ve({virtualScrollLength:e,getVirtualScrollTarget:a,getVirtualScrollEl:f,virtualScrollItemSizeComputed:p}){let{props:m,emit:h,proxy:g}=c(),{$q:_}=g,v,y,b,x=[],S,C=o(0),w=o(0),T=o({}),E=o(null),D=o(null),O=o(null),k=o({from:0,to:0}),A=d(()=>m.tableColspan===void 0?100:m.tableColspan);p===void 0&&(p=d(()=>m.virtualScrollItemSize));let j=d(()=>p.value+`;`+m.virtualScrollHorizontal);r(d(()=>j.value+`;`+m.virtualScrollSliceRatioBefore+`;`+m.virtualScrollSliceRatioAfter),()=>{I()}),r(j,M);function M(){ie(y,!0)}function N(e){ie(e===void 0?y:e)}function P(t,n){let r=a();if(r==null||r.nodeType===8)return;let i=ge(r,f(),E.value,D.value,m.virtualScrollHorizontal,_.lang.rtl,m.virtualScrollStickySizeStart,m.virtualScrollStickySizeEnd);b!==i.scrollViewSize&&I(i.scrollViewSize),F(r,i,Math.min(e.value-1,Math.max(0,parseInt(t,10)||0)),0,z.indexOf(n)===-1?y!==-1&&t>y?`end`:`start`:n)}function te(){let t=a();if(t==null||t.nodeType===8)return;let n=ge(t,f(),E.value,D.value,m.virtualScrollHorizontal,_.lang.rtl,m.virtualScrollStickySizeStart,m.virtualScrollStickySizeEnd),r=e.value-1,i=n.scrollMaxSize-n.offsetStart-n.offsetEnd-w.value;if(v===n.scrollStart)return;if(n.scrollMaxSize<=0){F(t,n,0,0);return}b!==n.scrollViewSize&&I(n.scrollViewSize),ne(k.value.from);let o=Math.floor(n.scrollMaxSize-Math.max(n.scrollViewSize,n.offsetEnd)-Math.min(S[r],n.scrollViewSize/2));if(o>0&&Math.ceil(n.scrollStart)>=o){F(t,n,r,n.scrollMaxSize-n.offsetEnd-x.reduce(B,0));return}let s=0,c=n.scrollStart-n.offsetStart,l=c;if(c<=i&&c+n.scrollViewSize>=C.value)c-=C.value,s=k.value.from,l=c;else for(let e=0;c>=x[e]&&s<r;e++)c-=x[e],s+=R;for(;c>0&&s<r;)c-=S[s],c>-n.scrollViewSize?(s++,l=c):l=S[s]+c;F(t,n,s,l)}function F(t,n,r,i,a){let o=typeof a==`string`&&a.indexOf(`-force`)!==-1,s=o===!0?a.replace(`-force`,``):a,c=s===void 0?`start`:s,l=Math.max(0,r-T.value[c]),u=l+T.value.total;u>e.value&&(u=e.value,l=Math.max(0,u-T.value.total)),v=n.scrollStart;let d=l!==k.value.from||u!==k.value.to;if(d===!1&&s===void 0){ae(r);return}let{activeElement:f}=document,p=O.value;d===!0&&p!==null&&p!==f&&p.contains(f)===!0&&(p.addEventListener(`focusout`,re),setTimeout(()=>{p?.removeEventListener(`focusout`,re)})),he(p,r-l);let h=s===void 0?0:S.slice(l,r).reduce(B,0);if(d===!0){let t=u>=k.value.from&&l<=k.value.to?k.value.to:u;k.value={from:l,to:t},C.value=H(x,S,0,l),w.value=H(x,S,u,e.value),requestAnimationFrame(()=>{k.value.to!==u&&v===n.scrollStart&&(k.value={from:k.value.from,to:u},w.value=H(x,S,u,e.value))})}requestAnimationFrame(()=>{if(v!==n.scrollStart)return;d===!0&&ne(l);let e=S.slice(l,r).reduce(B,0),a=e+n.offsetStart+C.value,c=a+S[r],u=a+i;if(s!==void 0){let t=e-h,i=n.scrollStart+t;u=o!==!0&&i<a&&c<i+n.scrollViewSize?i:s===`end`?c-n.scrollViewSize:a-(s===`start`?0:Math.round((n.scrollViewSize-S[r])/2))}v=u,V(t,u,m.virtualScrollHorizontal,_.lang.rtl),ae(r)})}function ne(e){let t=O.value;if(t){let n=me.call(t.children,e=>e.classList&&e.classList.contains(`q-virtual-scroll--skip`)===!1),r=n.length,i=m.virtualScrollHorizontal===!0?e=>e.getBoundingClientRect().width:e=>e.offsetHeight,a=e,o,s;for(let e=0;e<r;){for(o=i(n[e]),e++;e<r&&n[e].classList.contains(`q-virtual-scroll--with-prev`)===!0;)o+=i(n[e]),e++;s=o-S[a],s!==0&&(S[a]+=s,x[Math.floor(a/R)]+=s),a++}}}function re(){O.value?.focus()}function ie(t,r){let i=Number(p.value);(r===!0||Array.isArray(S)===!1)&&(S=[]);let a=S.length;S.length=e.value;for(let t=e.value-1;t>=a;t--)S[t]=i;let o=Math.floor((e.value-1)/R);x=[];for(let t=0;t<=o;t++){let n=0,r=Math.min((t+1)*R,e.value);for(let e=t*R;e<r;e++)n+=S[e];x.push(n)}y=-1,v=void 0,C.value=H(x,S,0,k.value.from),w.value=H(x,S,k.value.to,e.value),t>=0?(ne(k.value.from),n(()=>{P(t)})):oe()}function I(e){if(e===void 0&&typeof window<`u`){let t=a();t!=null&&t.nodeType!==8&&(e=ge(t,f(),E.value,D.value,m.virtualScrollHorizontal,_.lang.rtl,m.virtualScrollStickySizeStart,m.virtualScrollStickySizeEnd).scrollViewSize)}b=e;let t=parseFloat(m.virtualScrollSliceRatioBefore)||0,n=parseFloat(m.virtualScrollSliceRatioAfter)||0,r=1+t+n,i=e===void 0||e<=0?1:Math.ceil(e/p.value),o=Math.max(1,i,Math.ceil((m.virtualScrollSliceSize>0?m.virtualScrollSliceSize:10)/r));T.value={total:Math.ceil(o*r),start:Math.ceil(o*t),center:Math.ceil(o*(.5+t)),end:Math.ceil(o*(1+t)),view:i}}function L(e,t){let n=m.virtualScrollHorizontal===!0?`width`:`height`,r={[`--q-virtual-scroll-item-`+n]:p.value+`px`};return[e===`tbody`?s(e,{class:`q-virtual-scroll__padding`,key:`before`,ref:E},[s(`tr`,[s(`td`,{style:{[n]:`${C.value}px`,...r},colspan:A.value})])]):s(e,{class:`q-virtual-scroll__padding`,key:`before`,ref:E,style:{[n]:`${C.value}px`,...r}}),s(e,{class:`q-virtual-scroll__content`,key:`content`,ref:O,tabindex:-1},t.flat()),e===`tbody`?s(e,{class:`q-virtual-scroll__padding`,key:`after`,ref:D},[s(`tr`,[s(`td`,{style:{[n]:`${w.value}px`,...r},colspan:A.value})])]):s(e,{class:`q-virtual-scroll__padding`,key:`after`,ref:D,style:{[n]:`${w.value}px`,...r}})]}function ae(e){y!==e&&(m.onVirtualScroll!==void 0&&h(`virtualScroll`,{index:e,from:k.value.from,to:k.value.to-1,direction:e<y?`decrease`:`increase`,ref:g}),y=e)}I();let oe=ee(te,_.platform.is.ios===!0?120:35);i(()=>{I()});let se=!1;return l(()=>{se=!0}),t(()=>{if(se!==!0)return;let e=a();v!==void 0&&e!=null&&e.nodeType!==8?V(e,v,m.virtualScrollHorizontal,_.lang.rtl):P(y)}),u(()=>{oe.cancel()}),Object.assign(g,{scrollTo:P,reset:M,refresh:N}),{virtualScrollSliceRange:k,virtualScrollSliceSizeComputed:T,setVirtualScrollSize:I,onVirtualScrollEvt:oe,localResetVirtualScroll:ie,padVirtualScroll:L,scrollTo:P,reset:M,refresh:N}}var ye=e=>[`add`,`add-unique`,`toggle`].includes(e),be=".*+?^${}()|[]\\",xe=Object.keys(F);function Se(e,t){if(typeof e==`function`)return e;let n=e===void 0?t:e;return e=>typeof e==`object`&&e&&n in e?e[n]:e}var Ce=S({name:`QSelect`,inheritAttrs:!1,props:{..._e,...j,...F,modelValue:{required:!0},multiple:Boolean,displayValue:[String,Number],displayValueHtml:Boolean,dropdownIcon:String,options:{type:Array,default:()=>[]},optionValue:[Function,String],optionLabel:[Function,String],optionDisable:[Function,String],hideSelected:Boolean,hideDropdownIcon:Boolean,fillInput:Boolean,maxValues:[Number,String],optionsDense:Boolean,optionsDark:{type:Boolean,default:null},optionsSelectedClass:String,optionsHtml:Boolean,optionsCover:Boolean,menuShrink:Boolean,menuAnchor:String,menuSelf:String,menuOffset:Array,popupContentClass:String,popupContentStyle:[String,Array,Object],popupNoRouteDismiss:Boolean,useInput:Boolean,useChips:Boolean,newValueMode:{type:String,validator:ye},mapOptions:Boolean,emitValue:Boolean,disableTabSelection:Boolean,inputDebounce:{type:[Number,String],default:500},inputClass:[Array,String,Object],inputStyle:[Array,String,Object],tabindex:{type:[String,Number],default:0},autocomplete:String,transitionShow:{},transitionHide:{},transitionDuration:{},behavior:{type:String,validator:e=>[`default`,`menu`,`dialog`].includes(e),default:`default`},virtualScrollItemSize:_e.virtualScrollItemSize.type,onNewValue:Function,onFilter:Function},emits:[...L,`add`,`remove`,`inputValue`,`keyup`,`keypress`,`keydown`,`popupShow`,`popupHide`,`filterAbort`],setup(t,{slots:i,emit:l}){let{proxy:f}=c(),{$q:p}=f,g=o(!1),_=o(!1),v=o(-1),y=o(``),b=o(!1),S=o(!1),w=null,O=null,A,j,ee,N=null,P,F,L,ce,fe=o(null),R=o(null),z=o(null),me=o(null),he=o(null),B=k(t),ge=re(dt),V=d(()=>Array.isArray(t.options)?t.options.length:0),{virtualScrollSliceRange:H,virtualScrollSliceSizeComputed:_e,localResetVirtualScroll:Ce,padVirtualScroll:we,onVirtualScrollEvt:Te,scrollTo:Ee,setVirtualScrollSize:De}=ve({virtualScrollLength:V,getVirtualScrollTarget:st,getVirtualScrollEl:ot,virtualScrollItemSizeComputed:d(()=>t.virtualScrollItemSize===void 0?t.optionsDense===!0?24:48:t.virtualScrollItemSize)}),U=ie(),W=d(()=>{let e=t.mapOptions===!0&&t.multiple!==!0,n=t.modelValue!==void 0&&(t.modelValue!==null||e===!0)?t.multiple===!0&&Array.isArray(t.modelValue)?t.modelValue:[t.modelValue]:[];if(t.mapOptions===!0&&Array.isArray(t.options)===!0){let r=t.mapOptions===!0&&A!==void 0?A:[],i=n.map(e=>$e(e,r));return t.modelValue===null&&e===!0?i.filter(e=>e!==null):i}return n}),Oe=d(()=>{let e={};return xe.forEach(n=>{let r=t[n];r!==void 0&&(e[n]=r)}),e}),ke=d(()=>t.optionsDark===null?U.isDark.value:t.optionsDark),Ae=d(()=>te(W.value)),je=d(()=>{let e=`q-field__input q-placeholder col`;return t.hideSelected===!0||W.value.length===0?[e,t.inputClass]:(e+=` q-field__input--padding`,t.inputClass===void 0?e:[e,t.inputClass])}),Me=d(()=>(t.virtualScrollHorizontal===!0?`q-virtual-scroll--horizontal`:``)+(t.popupContentClass?` `+t.popupContentClass:``)),Ne=d(()=>V.value===0),Pe=d(()=>W.value.map(e=>K.value(e)).join(`, `)),Fe=d(()=>t.displayValue===void 0?Pe.value:t.displayValue),Ie=d(()=>t.optionsHtml===!0?()=>!0:e=>e?.html===!0),Le=d(()=>t.displayValueHtml===!0||t.displayValue===void 0&&(t.optionsHtml===!0||W.value.some(Ie.value))),Re=d(()=>U.focused.value===!0?t.tabindex:-1),ze=d(()=>{let e={tabindex:t.tabindex,role:`combobox`,"aria-label":t.label,"aria-readonly":t.readonly===!0?`true`:`false`,"aria-autocomplete":t.useInput===!0?`list`:`none`,"aria-expanded":g.value===!0?`true`:`false`,"aria-controls":`${U.targetUid.value}_lb`};return v.value>=0&&(e[`aria-activedescendant`]=`${U.targetUid.value}_${v.value}`),e}),Be=d(()=>({id:`${U.targetUid.value}_lb`,role:`listbox`,"aria-multiselectable":t.multiple===!0?`true`:`false`})),Ve=d(()=>W.value.map((e,t)=>({index:t,opt:e,html:Ie.value(e),selected:!0,removeAtIndex:Xe,toggleOption:J,tabindex:Re.value}))),He=d(()=>{if(V.value===0)return[];let{from:e,to:n}=H.value;return t.options.slice(e,n).map((n,r)=>{let i=q.value(n)===!0,a=et(n)===!0,o=e+r,s={clickable:!0,active:a,activeClass:Ge.value,manualFocus:!0,focused:!1,disable:i,tabindex:-1,dense:t.optionsDense,dark:ke.value,role:`option`,"aria-selected":a===!0?`true`:`false`,id:`${U.targetUid.value}_${o}`,onClick:()=>{J(n)}};return i!==!0&&(v.value===o&&(s.focused=!0),p.platform.is.desktop===!0&&(s.onMousemove=()=>{g.value===!0&&Y(o)})),{index:o,opt:n,html:Ie.value(n),label:K.value(n),selected:s.active,focused:s.focused,toggleOption:J,setOptionIndex:Y,itemProps:s}})}),Ue=d(()=>t.dropdownIcon===void 0?p.iconSet.arrow.dropdown:t.dropdownIcon),We=d(()=>t.optionsCover===!1&&t.outlined!==!0&&t.standout!==!0&&t.borderless!==!0&&t.rounded!==!0),Ge=d(()=>t.optionsSelectedClass===void 0?t.color===void 0?``:`text-${t.color}`:t.optionsSelectedClass),G=d(()=>Se(t.optionValue,`value`)),K=d(()=>Se(t.optionLabel,`label`)),q=d(()=>Se(t.optionDisable,`disable`)),Ke=d(()=>W.value.map(G.value)),qe=d(()=>{let e={onInput:dt,onChange:ge,onKeydown:at,onKeyup:rt,onKeypress:it,onFocus:tt,onClick(e){j===!0&&T(e)}};return e.onCompositionstart=e.onCompositionupdate=e.onCompositionend=ge,e});r(W,e=>{A=e,t.useInput===!0&&t.fillInput===!0&&t.multiple!==!0&&U.innerLoading.value!==!0&&(_.value!==!0&&g.value!==!0||Ae.value!==!0)&&(ee!==!0&&Ct(),(_.value===!0||g.value===!0)&&X(``))},{immediate:!0}),r(()=>t.fillInput,Ct),r(g,wt),r(V,Tt);function Je(e){return t.emitValue===!0?G.value(e):e}function Ye(e){if(e!==-1&&e<W.value.length)if(t.multiple===!0){let n=t.modelValue.slice();l(`remove`,{index:e,value:n.splice(e,1)[0]}),l(`update:modelValue`,n)}else l(`update:modelValue`,null)}function Xe(e){Ye(e),U.focus()}function Ze(e,n){let r=Je(e);if(t.multiple!==!0){t.fillInput===!0&&pt(K.value(e),!0,!0),l(`update:modelValue`,r);return}if(W.value.length===0){l(`add`,{index:0,value:r}),l(`update:modelValue`,t.multiple===!0?[r]:r);return}if(n===!0&&et(e)===!0||t.maxValues!==void 0&&t.modelValue.length>=t.maxValues)return;let i=t.modelValue.slice();l(`add`,{index:i.length,value:r}),i.push(r),l(`update:modelValue`,i)}function J(e,n){if(U.editable.value!==!0||e===void 0||q.value(e)===!0)return;let r=G.value(e);if(t.multiple!==!0){n!==!0&&(pt(t.fillInput===!0?K.value(e):``,!0,!0),$()),R.value?.focus(),(W.value.length===0||M(G.value(W.value[0]),r)!==!0)&&l(`update:modelValue`,t.emitValue===!0?r:e);return}if((j!==!0||b.value===!0)&&U.focus(),tt(),W.value.length===0){let n=t.emitValue===!0?r:e;l(`add`,{index:0,value:n}),l(`update:modelValue`,t.multiple===!0?[n]:n);return}let i=t.modelValue.slice(),a=Ke.value.findIndex(e=>M(e,r));if(a!==-1)l(`remove`,{index:a,value:i.splice(a,1)[0]});else{if(t.maxValues!==void 0&&i.length>=t.maxValues)return;let n=t.emitValue===!0?r:e;l(`add`,{index:i.length,value:n}),i.push(n)}l(`update:modelValue`,i)}function Y(e){if(p.platform.is.desktop!==!0)return;let t=e!==-1&&e<V.value?e:-1;v.value!==t&&(v.value=t)}function Qe(e=1,n){if(g.value===!0){let r=v.value;do r=ae(r+e,-1,V.value-1);while(r!==-1&&r!==v.value&&q.value(t.options[r])===!0);v.value!==r&&(Y(r),Ee(r),n!==!0&&t.useInput===!0&&t.fillInput===!0&&ft(r>=0?K.value(t.options[r]):P,!0))}}function $e(e,n){let r=t=>M(G.value(t),e);return t.options.find(r)||n.find(r)||e}function et(e){let t=G.value(e);return Ke.value.find(e=>M(e,t))!==void 0}function tt(e){t.useInput===!0&&R.value!==null&&(e===void 0||R.value===e.target&&e.target.value===Pe.value)&&R.value.select()}function nt(e){m(e,27)===!0&&g.value===!0&&(T(e),$(),Ct()),l(`keyup`,e)}function rt(e){let{value:n}=e.target;if(e.keyCode!==void 0){nt(e);return}if(e.target.value=``,w!==null&&(clearTimeout(w),w=null),O!==null&&(clearTimeout(O),O=null),Ct(),typeof n==`string`&&n.length!==0){let e=n.toLocaleLowerCase(),r=n=>{let r=t.options.find(t=>String(n.value(t)).toLocaleLowerCase()===e);return r===void 0?!1:(W.value.indexOf(r)===-1?J(r):$(),!0)},i=e=>{r(G)!==!0&&e!==!0&&r(K)!==!0&&X(n,!0,()=>i(!0))};i()}else U.clearValue(e)}function it(e){l(`keypress`,e)}function at(e){if(l(`keydown`,e),x(e)===!0)return;let r=y.value.length!==0&&(t.newValueMode!==void 0||t.onNewValue!==void 0),i=e.shiftKey!==!0&&t.disableTabSelection!==!0&&t.multiple!==!0&&(v.value!==-1||r===!0);if(e.keyCode===27){C(e);return}if(e.keyCode===9&&i===!1){Z();return}if(e.target===void 0||e.target.id!==U.targetUid.value||U.editable.value!==!0)return;if(e.keyCode===40&&U.innerLoading.value!==!0&&g.value===!1){E(e),Q();return}if(e.keyCode===8&&(t.useChips===!0||t.clearable===!0)&&t.hideSelected!==!0&&y.value.length===0){t.multiple===!0&&Array.isArray(t.modelValue)===!0?Ye(t.modelValue.length-1):t.multiple!==!0&&t.modelValue!==null&&l(`update:modelValue`,null);return}(e.keyCode===35||e.keyCode===36)&&(typeof y.value!=`string`||y.value.length===0)&&(E(e),v.value=-1,Qe(e.keyCode===36?1:-1,t.multiple)),(e.keyCode===33||e.keyCode===34)&&_e.value!==void 0&&(E(e),v.value=Math.max(-1,Math.min(V.value,v.value+(e.keyCode===33?-1:1)*_e.value.view)),Qe(e.keyCode===33?1:-1,t.multiple)),(e.keyCode===38||e.keyCode===40)&&(E(e),Qe(e.keyCode===38?-1:1,t.multiple));let a=V.value;if((L===void 0||ce<Date.now())&&(L=``),a>0&&t.useInput!==!0&&e.key!==void 0&&e.key.length===1&&e.altKey===!1&&e.ctrlKey===!1&&e.metaKey===!1&&(e.keyCode!==32||L.length!==0)){g.value!==!0&&Q(e);let r=e.key.toLocaleLowerCase(),i=L.length===1&&L[0]===r;ce=Date.now()+1500,i===!1&&(E(e),L+=r);let o=RegExp(`^`+L.split(``).map(e=>be.indexOf(e)===-1?e:`\\`+e).join(`.*`),`i`),s=v.value;if(i===!0||s<0||o.test(K.value(t.options[s]))!==!0)do s=ae(s+1,-1,a-1);while(s!==v.value&&(q.value(t.options[s])===!0||o.test(K.value(t.options[s]))!==!0));v.value!==s&&n(()=>{Y(s),Ee(s),s>=0&&t.useInput===!0&&t.fillInput===!0&&ft(K.value(t.options[s]),!0)});return}if(!(e.keyCode!==13&&(e.keyCode!==32||t.useInput===!0||L!==``)&&(e.keyCode!==9||i===!1))){if(e.keyCode!==9&&E(e),v.value!==-1&&v.value<a){J(t.options[v.value]);return}if(r===!0){let e=(e,n)=>{if(n){if(ye(n)!==!0)return}else n=t.newValueMode;pt(``,t.multiple!==!0,!0),e!=null&&((n===`toggle`?J:Ze)(e,n===`add-unique`),t.multiple!==!0&&(R.value?.focus(),$()))};if(t.onNewValue===void 0?e(y.value):l(`newValue`,y.value,e),t.multiple!==!0)return}g.value===!0?Z():U.innerLoading.value!==!0&&Q()}}function ot(){return j===!0?he.value:z.value!==null&&z.value.contentEl!==null?z.value.contentEl:void 0}function st(){return ot()}function ct(){return t.hideSelected===!0?[]:i[`selected-item`]===void 0?i.selected===void 0?t.useChips===!0?Ve.value.map((e,n)=>s(pe,{key:`option-`+n,removable:U.editable.value===!0&&q.value(e.opt)!==!0,dense:!0,textColor:t.color,tabindex:Re.value,onRemove(){e.removeAtIndex(n)}},()=>s(`span`,{class:`ellipsis`,[e.html===!0?`innerHTML`:`textContent`]:K.value(e.opt)}))):[s(`span`,{class:`ellipsis`,[Le.value===!0?`innerHTML`:`textContent`]:Fe.value})]:[].concat(i.selected()):Ve.value.map(e=>i[`selected-item`](e)).slice()}function lt(){if(Ne.value===!0)return i[`no-option`]===void 0?void 0:i[`no-option`]({inputValue:y.value});let e=i.option===void 0?e=>s(se,{key:e.index,...e.itemProps},()=>s(oe,()=>s(le,()=>s(`span`,{[e.html===!0?`innerHTML`:`textContent`]:e.label})))):i.option,t=we(`div`,He.value.map(e));return i[`before-options`]!==void 0&&(t=i[`before-options`]().concat(t)),D(i[`after-options`],t)}function ut(e,n){let r=n===!0?{...ze.value,...U.splitAttrs.attributes.value}:void 0,i={ref:n===!0?R:void 0,key:`i_t`,class:je.value,style:t.inputStyle,value:y.value===void 0?``:y.value,type:`search`,...r,id:n===!0?U.targetUid.value:void 0,maxlength:t.maxlength,autocomplete:t.autocomplete,"data-autofocus":e===!0||t.autofocus===!0||void 0,disabled:t.disable===!0,readonly:t.readonly===!0,...qe.value};return e!==!0&&j===!0&&(Array.isArray(i.class)===!0?i.class=[...i.class,`no-pointer-events`]:i.class+=` no-pointer-events`),s(`input`,i)}function dt(e){w!==null&&(clearTimeout(w),w=null),O!==null&&(clearTimeout(O),O=null),!(e&&e.target&&e.target.qComposing===!0)&&(ft(e.target.value||``),ee=!0,P=y.value,U.focused.value!==!0&&(j!==!0||b.value===!0)&&U.focus(),t.onFilter!==void 0&&(w=setTimeout(()=>{w=null,X(y.value)},t.inputDebounce)))}function ft(e,n){y.value!==e&&(y.value=e,n===!0||t.inputDebounce===0||t.inputDebounce===`0`?l(`inputValue`,e):O=setTimeout(()=>{O=null,l(`inputValue`,e)},t.inputDebounce))}function pt(e,n,r){ee=r!==!0,t.useInput===!0&&(ft(e,!0),(n===!0||r!==!0)&&(P=e),n!==!0&&X(e))}function X(e,r,i){if(t.onFilter===void 0||r!==!0&&U.focused.value!==!0)return;U.innerLoading.value===!0?l(`filterAbort`):(U.innerLoading.value=!0,S.value=!0),e!==``&&t.multiple!==!0&&W.value.length!==0&&ee!==!0&&e===K.value(W.value[0])&&(e=``);let a=setTimeout(()=>{g.value===!0&&(g.value=!1)},10);N!==null&&clearTimeout(N),N=a,l(`filter`,e,(e,t)=>{(r===!0||U.focused.value===!0)&&N===a&&(clearTimeout(N),typeof e==`function`&&e(),S.value=!1,n(()=>{U.innerLoading.value=!1,U.editable.value===!0&&(r===!0?g.value===!0&&$():g.value===!0?wt(!0):g.value=!0),typeof t==`function`&&n(()=>{t(f)}),typeof i==`function`&&n(()=>{i(f)})}))},()=>{U.focused.value===!0&&N===a&&(clearTimeout(N),U.innerLoading.value=!1,S.value=!1),g.value===!0&&(g.value=!1)})}function mt(){return s(ue,{ref:z,class:Me.value,style:t.popupContentStyle,modelValue:g.value,fit:t.menuShrink!==!0,cover:t.optionsCover===!0&&Ne.value!==!0&&t.useInput!==!0,anchor:t.menuAnchor,self:t.menuSelf,offset:t.menuOffset,dark:ke.value,noParentEvent:!0,noRefocus:!0,noFocus:!0,noRouteDismiss:t.popupNoRouteDismiss,square:We.value,transitionShow:t.transitionShow,transitionHide:t.transitionHide,transitionDuration:t.transitionDuration,separateClosePopup:!0,...Be.value,onScrollPassive:Te,onBeforeShow:Dt,onBeforeHide:ht,onShow:gt},lt)}function ht(e){Ot(e),Z()}function gt(){De()}function _t(e){T(e),R.value?.focus(),b.value=!0,window.scrollTo(window.pageXOffset||window.scrollX||document.body.scrollLeft||0,0)}function vt(e){T(e),n(()=>{b.value=!1})}function yt(){let e=[s(de,{class:`col-auto ${U.fieldClass.value}`,...Oe.value,for:U.targetUid.value,dark:ke.value,square:!0,loading:S.value,itemAligned:!1,filled:!0,stackLabel:y.value.length!==0,...U.splitAttrs.listeners.value,onFocus:_t,onBlur:vt},{...i,rawControl:()=>U.getControl(!0),before:void 0,after:void 0})];return g.value===!0&&e.push(s(`div`,{ref:he,class:Me.value+` scroll`,style:t.popupContentStyle,...Be.value,onClick:C,onScrollPassive:Te},lt())),s(ne,{ref:me,modelValue:_.value,position:t.useInput===!0?`top`:void 0,transitionShow:F,transitionHide:t.transitionHide,transitionDuration:t.transitionDuration,noRouteDismiss:t.popupNoRouteDismiss,onBeforeShow:Dt,onBeforeHide:bt,onHide:xt,onShow:St},()=>s(`div`,{class:`q-select__dialog`+(ke.value===!0?` q-select__dialog--dark q-dark`:``)+(b.value===!0?` q-select__dialog--focused`:``)},e))}function bt(e){Ot(e),me.value!==null&&me.value.__updateRefocusTarget(U.rootRef.value.querySelector(`.q-field__native > [tabindex]:last-child`)),U.focused.value=!1}function xt(e){$(),U.focused.value===!1&&l(`blur`,e),Ct()}function St(){let e=document.activeElement;(e===null||e.id!==U.targetUid.value)&&R.value!==null&&R.value!==e&&R.value.focus(),De()}function Z(){_.value!==!0&&(v.value=-1,g.value===!0&&(g.value=!1),U.focused.value===!1&&(N!==null&&(clearTimeout(N),N=null),U.innerLoading.value===!0&&(l(`filterAbort`),U.innerLoading.value=!1,S.value=!1)))}function Q(e){U.editable.value===!0&&(j===!0?(U.onControlFocusin(e),_.value=!0,n(()=>{U.focus()})):U.focus(),t.onFilter===void 0?(Ne.value!==!0||i[`no-option`]!==void 0)&&(g.value=!0):X(y.value))}function $(){_.value=!1,Z()}function Ct(){t.useInput===!0&&pt(t.multiple!==!0&&t.fillInput===!0&&W.value.length!==0&&K.value(W.value[0])||``,!0,!0)}function wt(e){let n=-1;if(e===!0){if(W.value.length!==0){let e=G.value(W.value[0]);n=t.options.findIndex(t=>M(G.value(t),e))}Ce(n)}Y(n)}function Tt(e,t){g.value===!0&&U.innerLoading.value===!1&&(Ce(-1,!0),n(()=>{g.value===!0&&U.innerLoading.value===!1&&(e>t?Ce():wt(!0))}))}function Et(){_.value===!1&&z.value!==null&&z.value.updatePosition()}function Dt(e){e!==void 0&&T(e),l(`popupShow`,e),U.hasPopupOpen=!0,U.onControlFocusin(e)}function Ot(e){e!==void 0&&T(e),l(`popupHide`,e),U.hasPopupOpen=!1,U.onControlFocusout(e)}function kt(){j=p.platform.is.mobile!==!0&&t.behavior!==`dialog`?!1:t.behavior!==`menu`&&(t.useInput===!0?i[`no-option`]!==void 0||t.onFilter!==void 0||Ne.value===!1:!0),F=p.platform.is.ios===!0&&j===!0&&t.useInput===!0?`fade`:t.transitionShow}return e(kt),a(Et),kt(),u(()=>{w!==null&&clearTimeout(w),O!==null&&clearTimeout(O)}),Object.assign(f,{showPopup:Q,hidePopup:$,removeAtIndex:Ye,add:Ze,toggleOption:J,getOptionIndex:()=>v.value,setOptionIndex:Y,moveOptionSelection:Qe,filter:X,updateMenuPosition:Et,updateInputValue:pt,isOptionSelected:et,getEmittingOptionValue:Je,isOptionDisabled:(...e)=>q.value.apply(null,e)===!0,getOptionValue:(...e)=>G.value.apply(null,e),getOptionLabel:(...e)=>K.value.apply(null,e)}),Object.assign(U,{innerValue:W,fieldClass:d(()=>`q-select q-field--auto-height q-select--with${t.useInput===!0?``:`out`}-input q-select--with${t.useChips===!0?``:`out`}-chips q-select--${t.multiple===!0?`multiple`:`single`}`),inputRef:fe,targetRef:R,hasValue:Ae,showPopup:Q,floatingLabel:d(()=>t.hideSelected!==!0&&Ae.value===!0||typeof y.value==`number`||y.value.length!==0||te(t.displayValue)),getControlChild:()=>{if(U.editable.value!==!1&&(_.value===!0||Ne.value!==!0||i[`no-option`]!==void 0))return j===!0?yt():mt();U.hasPopupOpen===!0&&(U.hasPopupOpen=!1)},controlEvents:{onFocusin(e){U.onControlFocusin(e)},onFocusout(e){U.onControlFocusout(e,()=>{Ct(),Z()})},onClick(e){if(C(e),j!==!0&&g.value===!0){Z(),R.value?.focus();return}Q(e)}},getControl:e=>{let n=ct(),r=e===!0||_.value!==!0||j!==!0;if(t.useInput===!0)n.push(ut(e,r));else if(U.editable.value===!0){let i=r===!0?ze.value:void 0;n.push(s(`input`,{ref:r===!0?R:void 0,key:`d_t`,class:`q-select__focus-target`,id:r===!0?U.targetUid.value:void 0,value:Fe.value,readonly:!0,"data-autofocus":e===!0||t.autofocus===!0||void 0,...i,onKeydown:at,onKeyup:nt,onKeypress:it})),r===!0&&typeof t.autocomplete==`string`&&t.autocomplete.length!==0&&n.push(s(`input`,{class:`q-select__autocomplete-input`,autocomplete:t.autocomplete,tabindex:-1,onKeyup:rt}))}if(B.value!==void 0&&t.disable!==!0&&Ke.value.length!==0){let e=Ke.value.map(e=>s(`option`,{value:e,selected:!0}));n.push(s(`select`,{class:`hidden`,name:B.value,multiple:t.multiple},e))}return s(`div`,{class:`q-field__native row items-center`,...t.useInput===!0||r!==!0?void 0:U.splitAttrs.attributes.value,...U.splitAttrs.listeners.value},n)},getInnerAppend:()=>t.loading!==!0&&S.value!==!0&&t.hideDropdownIcon!==!0?[s(h,{class:`q-select__dropdown-icon`+(g.value===!0?` rotate-180`:``),name:Ue.value})]:null}),I(U)}}),we=S({name:`QPage`,props:{padding:Boolean,styleFn:Function},setup(e,{slots:t}){let{proxy:{$q:n}}=c(),r=f(P,N);if(r===N)return console.error(`QPage needs to be a deep child of QLayout`),N;if(f(`_q_pc_`,N)===N)return console.error(`QPage needs to be child of QPageContainer`),N;let i=d(()=>{let t=(r.header.space===!0?r.header.size:0)+(r.footer.space===!0?r.footer.size:0);if(typeof e.styleFn==`function`){let i=r.isContainer.value===!0?r.containerHeight.value:n.screen.height;return e.styleFn(t,i)}return{minHeight:r.isContainer.value===!0?r.containerHeight.value-t+`px`:n.screen.height===0?t===0?`100vh`:`calc(100vh - ${t}px)`:n.screen.height-t+`px`}}),a=d(()=>`q-page${e.padding===!0?` q-layout-padding`:``}`);return()=>s(`main`,{class:a.value,style:i.value},y(t.default))}});export{Ce as n,we as t};
@@ -0,0 +1 @@
1
+ import{F as e,H as t,L as n,M as r,N as ee,Q as i,U as a,W as te,_ as o,_t as ne,a as s,d as c,f as l,g as u,m as d,n as re,p as ie,rt as f,u as p,y as ae,yt as m}from"./vue-i18n-nv59vAyH.js";import{L as oe,T as h}from"./scroll-CWjBCoBR.js";import{i as g}from"./private.use-form-1cZLVjGN.js";import{t as se}from"./settings-CuK-S6HH.js";import{f as ce,h as le,j as ue,m as de,p as fe,r as _,t as v}from"./index-BIsYlO92.js";import{n as pe,p as me,t as y}from"./_plugin-vue_export-helper-fkfRoKj2.js";import{a as he,i as ge,n as _e,r as b,t as ve}from"./QList-oHuiVWr0.js";import{a as ye,i as x,n as S,r as C}from"./QMenu-67GqYx0C.js";import{t as be}from"./ClosePopup-jSuaV6dg.js";import{t as xe}from"./QExpansionItem-D6zpEqBV.js";import{n as w,t as Se}from"./QPage-DE75SzRI.js";var Ce={class:`settings-inner`},we={class:`settings-header row items-center q-mb-lg`},Te={class:`text-h5 text-weight-medium text-grey-3`},Ee={class:`settings-card rounded-borders q-pa-lg`},De={class:`text-subtitle1 text-weight-medium q-mb-md text-grey-3`},Oe={class:`q-mb-lg`},ke={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},Ae={class:`q-mb-lg`},je={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},Me={class:`q-mb-lg`},Ne={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},Pe={class:`text-caption text-red-4 q-mt-xs`},Fe={class:`q-mb-lg`},Ie={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},Le={class:`text-caption text-grey-7 q-mt-xs`},Re={class:`q-mb-lg`},ze={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},Be={class:`q-mb-lg`},Ve={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},He={class:`q-mb-md`},Ue={class:`q-mb-lg`},We={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},Ge={class:`text-caption text-grey-7 q-mt-xs`},Ke={class:`q-mb-lg`},qe={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},Je={class:`text-caption text-grey-7 q-mt-xs`},Ye={class:`q-mb-lg`},Xe={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},Ze={class:`text-caption text-grey-7 q-mt-xs`},Qe={class:`q-mb-lg`},$e={class:`field-label text-body2 text-weight-medium q-mb-sm text-grey-6`},et={class:`q-mb-sm`},tt={class:`field-label-sub text-caption q-mb-xs text-grey-7`},nt={class:`q-mb-sm`},rt={class:`field-label-sub text-caption q-mb-xs text-grey-7`},it={class:`text-caption text-grey-7 q-mt-xs`},at={class:`row justify-end`},ot={class:`row q-gutter-md`,style:{"min-height":`500px`}},st={class:`project-list-col`},ct={class:`settings-card rounded-borders`,style:{height:`100%`}},lt={class:`q-pa-sm`},ut={class:`text-caption text-uppercase text-weight-bold q-px-sm q-py-xs text-grey-6`,style:{"letter-spacing":`0.05em`}},dt={key:0,class:`q-pa-md text-center text-caption text-grey-8`},ft={class:`q-pa-sm`},pt={class:`project-form-col`},mt={class:`settings-card rounded-borders q-pa-lg`,style:{height:`100%`}},ht={class:`text-subtitle1 text-weight-medium q-mb-md text-grey-3`},gt={class:`q-mb-md`},_t={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},vt={class:`q-mb-md`},yt={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},bt={class:`q-mb-md`},xt={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},St={class:`q-mb-md`},Ct={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},wt={class:`q-mb-md`},Tt={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},Et={class:`q-mb-md`},Dt={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},Ot={class:`q-mb-md`},kt={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},At={class:`text-caption text-grey-7 q-mt-xs`},jt={class:`q-mb-lg`},Mt={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},Nt={class:`text-caption text-grey-7 q-mt-xs`},Pt={class:`q-mb-lg`},Ft={class:`field-label text-body2 text-weight-medium q-mb-sm text-grey-6`},It={class:`q-mb-sm`},Lt={class:`field-label-sub text-caption q-mb-xs text-grey-7`},Rt={class:`q-mb-sm`},zt={class:`field-label-sub text-caption q-mb-xs text-grey-7`},Bt={class:`text-caption text-grey-7 q-mt-xs`},Vt={class:`q-mb-lg`},Ht={class:`field-label text-body2 text-weight-medium q-mb-sm text-grey-6`},Ut={class:`q-mb-md`},Wt={class:`field-label-sub text-caption q-mb-xs text-grey-7`},Gt={class:`field-label-sub text-caption q-mb-xs text-grey-7`},Kt={class:`row items-center q-gutter-sm`},qt={key:1,class:`column items-center justify-center`,style:{height:`100%`,"min-height":`300px`}},Jt={class:`text-body2 text-grey-8`},Yt={class:`settings-card rounded-borders q-pa-lg`},Xt={class:`row items-center justify-between q-mb-md`},Zt={class:`text-subtitle1 text-weight-medium text-grey-3`},Qt={key:0,class:`text-grey-6 q-py-lg text-center`},$t={key:1,class:`column q-gutter-sm`},en={class:`row items-start justify-between no-wrap`},tn={class:`col`},nn={class:`text-body1 text-weight-medium`,style:{"font-family":`'Roboto Mono', monospace`}},rn={class:`text-caption text-grey-5 q-mt-xs`},an={class:`row no-wrap q-gutter-xs`},on={class:`text-caption text-grey-7 q-mt-lg`,style:{"font-family":`'Roboto Mono', monospace`}},sn={class:`text-subtitle1`},cn={class:`q-pl-md q-pt-xs`,style:{"font-size":`11px`,"font-family":`'Roboto Mono', monospace`,columns:`2`,"column-gap":`24px`}},ln={key:0,class:`text-negative text-caption`},T=y(ae({__name:`SettingsPage`,setup(ae){let y=ye(),T=se(),E=ue(),{t:D,locale:un}=re(),O=i(`global`),k=i(`auto`),A=i(!0),j=i(``),M=i(``),N=i(``),P=i(!0),F=i(!0),I=i(``),L=i(``),R=i(`plan`),z=i(!1),B=i(-1),V=i(!1),H=i({path:``,displayName:``,defaultSourceBranch:``,defaultModel:``,dangerouslySkipPermissions:!0,prPromptTemplate:``,gitConventions:``,setupScript:``,devServer:{startCommand:``,stopCommand:``}}),U=i([]),W=i(!1),G=i(!1),dn=i(!1),K=i(!1),q=i(null),J=i(``),Y=i(``),X=i(``),Z=i(``),fn=i(!1),pn=p(()=>[...E.templates].sort((e,t)=>e.slug.localeCompare(t.slug))),mn=[`{workspace_name}`,`{working_branch}`,`{source_branch}`,`{project_path}`,`{worktree_path}`,`{commit_count}`,`{unpushed_count}`,`{files_changed}`,`{insertions}`,`{deletions}`,`{pr_number}`,`{pr_url}`,`{pr_state}`,`{session_name}`];function hn(){q.value=null,J.value=``,Y.value=``,X.value=``,Z.value=``,K.value=!0}function gn(e){q.value=e.slug,J.value=e.slug,Y.value=e.description,X.value=e.content,Z.value=``,K.value=!0}async function _n(){Z.value=``;let e=J.value.trim(),t=Y.value.trim();if(q.value===null&&!/^[a-z0-9][a-z0-9-]{0,63}$/.test(e)){Z.value=D(`templates.slugInvalid`);return}if(!t){Z.value=D(`templates.descriptionRequired`);return}if(!X.value.trim()){Z.value=D(`templates.contentRequired`);return}fn.value=!0;try{q.value===null?await E.createTemplate({slug:e,description:t,content:X.value}):await E.updateTemplate(q.value,{description:t,content:X.value}),K.value=!1}catch(e){Z.value=e instanceof Error?e.message:D(`templates.createFailed`)}finally{fn.value=!1}}async function vn(e){y.dialog({title:D(`templates.deleteTemplate`),message:`${D(`templates.deleteConfirm`,{slug:e.slug})}\n\n${D(`templates.deleteConfirmMessage`)}`,dark:!0,cancel:{flat:!0,label:D(`common.cancel`),color:`grey-5`},ok:{flat:!0,label:D(`templates.deleteTemplate`),color:`red-5`}}).onOk(async()=>{try{await E.deleteTemplate(e.slug)}catch(e){y.notify({type:`negative`,message:e instanceof Error?e.message:D(`templates.deleteFailed`),position:`top`})}})}let yn=[{label:`English`,value:`en`},{label:`Français`,value:`fr`},{label:`Deutsch`,value:`de`},{label:`Español`,value:`es`},{label:`Italiano`,value:`it`}];function bn(e){un.value=e,localStorage.setItem(`kobo:locale`,e)}let xn=p(()=>[{label:D(`model.auto`),value:`auto`},{label:D(`model.opus`),value:`claude-opus-4-6`},{label:D(`model.sonnet`),value:`claude-sonnet-4-6`},{label:D(`model.haiku`),value:`claude-haiku-4-5-20251001`}]),Sn=p(()=>[{label:D(`settings.useGlobal`),value:``},...xn.value]),Cn=p(()=>[{name:`{{pr_number}}`,description:D(`settings.var.prNumber`)},{name:`{{pr_url}}`,description:D(`settings.var.prUrl`)},{name:`{{branch_name}}`,description:D(`settings.var.branchName`)},{name:`{{source_branch}}`,description:D(`settings.var.sourceBranch`)},{name:`{{workspace_name}}`,description:D(`settings.var.workspaceName`)},{name:`{{project_name}}`,description:D(`settings.var.projectName`)},{name:`{{notion_url}}`,description:D(`settings.var.notionUrl`)},{name:`{{commits}}`,description:D(`settings.var.commits`)},{name:`{{diff_stats}}`,description:D(`settings.var.diffStats`)},{name:`{{tasks}}`,description:D(`settings.var.tasks`)},{name:`{{acceptance_criteria}}`,description:D(`settings.var.acceptanceCriteria`)}]),Q=p(()=>B.value<0||B.value>=T.projects.length?null:T.projects[B.value]??null);function wn(){k.value=T.global.defaultModel,A.value=T.global.dangerouslySkipPermissions??!0,j.value=T.global.prPromptTemplate,M.value=T.global.gitConventions,N.value=T.global.editorCommand??``,P.value=T.global.browserNotifications??!0,F.value=T.global.audioNotifications??!0,I.value=T.global.notionStatusProperty??``,L.value=T.global.notionInProgressStatus??``,R.value=T.global.defaultPermissionMode||`plan`}function Tn(e){if(!e){H.value={path:``,displayName:``,defaultSourceBranch:``,defaultModel:``,dangerouslySkipPermissions:!0,prPromptTemplate:``,gitConventions:``,setupScript:``,notionStatusProperty:``,notionInProgressStatus:``,devServer:{startCommand:``,stopCommand:``}},U.value=[];return}H.value={path:e.path,displayName:e.displayName,defaultSourceBranch:e.defaultSourceBranch,defaultModel:e.defaultModel,dangerouslySkipPermissions:e.dangerouslySkipPermissions??!0,prPromptTemplate:e.prPromptTemplate,gitConventions:e.gitConventions??``,setupScript:e.setupScript??``,notionStatusProperty:e.notionStatusProperty??``,notionInProgressStatus:e.notionInProgressStatus??``,devServer:{startCommand:e.devServer?.startCommand??``,stopCommand:e.devServer?.stopCommand??``}},e.path&&En(e.path)}async function En(e){if(!e.trim()){U.value=[];return}W.value=!0;try{let t=await fetch(`/api/git/branches?path=${encodeURIComponent(e.trim())}`);if(!t.ok)throw Error(`HTTP ${t.status}`);let n=await t.json();U.value=n.local??n.branches??[]}catch{U.value=[]}finally{W.value=!1}}let $=null;t(()=>H.value.path,e=>{$&&clearTimeout($),$=setTimeout(()=>{En(e)},500)}),t(B,()=>{V.value=!1,Tn(Q.value)});async function Dn(){z.value=!0;try{await T.updateGlobal({defaultModel:k.value,dangerouslySkipPermissions:A.value,prPromptTemplate:j.value,gitConventions:M.value,editorCommand:N.value,browserNotifications:P.value,audioNotifications:F.value,notionStatusProperty:I.value,notionInProgressStatus:L.value,defaultPermissionMode:R.value}),y.notify({type:`positive`,message:D(`settings.saved`),position:`top`})}catch{y.notify({type:`negative`,message:D(`settings.saveError`),position:`top`})}finally{z.value=!1}}async function On(){if(!H.value.path.trim()){y.notify({type:`negative`,message:D(`settings.projectPathRequired`),position:`top`});return}G.value=!0;try{await T.upsertProject(H.value.path.trim(),{displayName:H.value.displayName,defaultSourceBranch:H.value.defaultSourceBranch,defaultModel:H.value.defaultModel,dangerouslySkipPermissions:H.value.dangerouslySkipPermissions,prPromptTemplate:H.value.prPromptTemplate,gitConventions:H.value.gitConventions,setupScript:H.value.setupScript,notionStatusProperty:H.value.notionStatusProperty,notionInProgressStatus:H.value.notionInProgressStatus,devServer:H.value.devServer}),V.value=!1;let e=T.projects.findIndex(e=>e.path===H.value.path.trim());e>=0&&(B.value=e),y.notify({type:`positive`,message:D(`settings.projectSaved`),position:`top`})}catch{y.notify({type:`negative`,message:D(`settings.projectSaveError`),position:`top`})}finally{G.value=!1}}async function kn(){if(Q.value){dn.value=!0;try{await T.deleteProject(Q.value.path),B.value=-1,V.value=!1,Tn(null),y.notify({type:`positive`,message:D(`settings.projectDeleted`),position:`top`})}catch{y.notify({type:`negative`,message:D(`settings.projectDeleteError`),position:`top`})}finally{dn.value=!1}}}function An(){B.value=-1,V.value=!0,Tn(null)}function jn(e){V.value=!1,B.value=e}function Mn(e){if(e.displayName)return e.displayName;let t=e.path.split(`/`);return t[t.length-1]??e.path}let Nn=i([]);function Pn(e,t){t(()=>{Nn.value=e?U.value.filter(t=>t.toLowerCase().includes(e.toLowerCase())):U.value})}return r(async()=>{await T.fetchSettings(),wn()}),ee(()=>{$&&clearTimeout($)}),(t,r)=>(e(),l(Se,{class:`settings-page`},{default:a(()=>[c(`div`,Ce,[c(`div`,we,[o(oe,{name:`settings`,size:`24px`,color:`indigo-4`,class:`q-mr-sm`}),c(`span`,Te,m(t.$t(`settings.title`)),1)]),o(ge,{modelValue:O.value,"onUpdate:modelValue":r[0]||=e=>O.value=e,dense:``,"active-color":`indigo-4`,"indicator-color":`indigo-4`,class:`settings-tabs q-mb-lg`,align:`left`,"narrow-indicator":``},{default:a(()=>[o(he,{name:`global`,label:t.$t(`settings.global`)},null,8,[`label`]),o(he,{name:`projects`,label:t.$t(`settings.projects`)},null,8,[`label`]),o(he,{name:`templates`,label:t.$t(`templates.title`)},null,8,[`label`])]),_:1},8,[`modelValue`]),o(_e,{modelValue:O.value,"onUpdate:modelValue":r[24]||=e=>O.value=e,animated:``,class:`settings-panels`},{default:a(()=>[o(b,{name:`global`,class:`q-pa-none`},{default:a(()=>[c(`div`,Ee,[c(`div`,De,m(t.$t(`settings.globalSettings`)),1),o(g,{dark:``,class:`q-mb-md`}),c(`div`,Oe,[c(`div`,ke,m(t.$t(`settings.language`)),1),o(w,{"model-value":f(un),options:yn,"emit-value":``,"map-options":``,"option-value":`value`,"option-label":`label`,dense:``,dark:``,outlined:``,class:`settings-input`,"onUpdate:modelValue":bn},null,8,[`model-value`])]),c(`div`,Ae,[c(`div`,je,m(t.$t(`settings.defaultModel`)),1),o(w,{modelValue:k.value,"onUpdate:modelValue":r[1]||=e=>k.value=e,options:xn.value,"emit-value":``,"map-options":``,"option-value":`value`,"option-label":`label`,dense:``,dark:``,outlined:``,class:`settings-input`},null,8,[`modelValue`,`options`])]),c(`div`,Me,[c(`div`,Ne,m(t.$t(`settings.agentPermissions`)),1),o(v,{modelValue:A.value,"onUpdate:modelValue":r[2]||=e=>A.value=e,label:t.$t(`settings.skipPermissions`),dark:``,dense:``,color:`indigo-4`,class:`text-grey-5 text-caption`},null,8,[`modelValue`,`label`]),c(`div`,Pe,m(t.$t(`settings.skipPermissionsWarning`)),1)]),c(`div`,Fe,[c(`div`,Ie,m(t.$t(`settings.defaultPermissionMode`)),1),o(w,{modelValue:R.value,"onUpdate:modelValue":r[3]||=e=>R.value=e,options:[{label:t.$t(`permissionMode.plan`),value:`plan`},{label:t.$t(`permissionMode.autoAccept`),value:`auto-accept`}],"emit-value":``,"map-options":``,dense:``,dark:``,outlined:``,class:`settings-input`},null,8,[`modelValue`,`options`]),c(`div`,Le,m(t.$t(`settings.defaultPermissionModeHint`)),1)]),c(`div`,Re,[c(`div`,ze,m(t.$t(`settings.activityFeed`)),1),o(v,{"model-value":f(T).showVerboseSystemMessages,label:t.$t(`settings.verboseMessages`),dark:``,dense:``,color:`indigo-4`,class:`text-grey-5 text-caption`,"onUpdate:modelValue":r[4]||=e=>f(T).toggleVerboseSystemMessages()},null,8,[`model-value`,`label`])]),c(`div`,Be,[c(`div`,Ve,m(t.$t(`settings.notifications`)),1),o(v,{modelValue:P.value,"onUpdate:modelValue":r[5]||=e=>P.value=e,label:t.$t(`settings.browserNotifications`),dark:``,dense:``,color:`indigo-4`,class:`text-grey-5 text-caption`},null,8,[`modelValue`,`label`]),o(v,{modelValue:F.value,"onUpdate:modelValue":r[6]||=e=>F.value=e,label:t.$t(`settings.audioNotifications`),dark:``,dense:``,color:`indigo-4`,class:`text-grey-5 text-caption`},null,8,[`modelValue`,`label`])]),c(`div`,He,[o(xe,{dense:``,dark:``,icon:`code`,label:t.$t(`settings.availableVariables`),class:`variables-panel rounded-borders`},{default:a(()=>[o(ve,{dense:``,dark:``,class:`q-pa-sm`},{default:a(()=>[(e(!0),d(s,null,n(Cn.value,t=>(e(),l(S,{key:t.name,dense:``},{default:a(()=>[o(x,null,{default:a(()=>[o(C,{class:`text-caption`,style:{"font-family":`monospace`}},{default:a(()=>[u(m(t.name),1)]),_:2},1024),o(C,{caption:``,class:`text-grey-7`},{default:a(()=>[u(m(t.description),1)]),_:2},1024)]),_:2},1024)]),_:2},1024))),128))]),_:1})]),_:1},8,[`label`])]),c(`div`,Ue,[c(`div`,We,m(t.$t(`settings.prPromptTemplate`)),1),o(_,{modelValue:j.value,"onUpdate:modelValue":r[7]||=e=>j.value=e,type:`textarea`,dense:``,dark:``,outlined:``,rows:8,autogrow:``,placeholder:t.$t(`settings.prPromptPlaceholder`),class:`settings-input mono-textarea`},null,8,[`modelValue`,`placeholder`]),c(`div`,Ge,m(t.$t(`settings.prPromptHint`)),1)]),c(`div`,Ke,[c(`div`,qe,m(t.$t(`settings.gitConventions`)),1),o(_,{modelValue:M.value,"onUpdate:modelValue":r[8]||=e=>M.value=e,type:`textarea`,dense:``,dark:``,outlined:``,rows:8,placeholder:t.$t(`settings.gitConventionsPlaceholder`),class:`settings-input mono-textarea`},null,8,[`modelValue`,`placeholder`]),c(`div`,Je,m(t.$t(`settings.gitConventionsHint`)),1)]),c(`div`,Ye,[c(`div`,Xe,m(t.$t(`settings.editorCommand`)),1),o(_,{modelValue:N.value,"onUpdate:modelValue":r[9]||=e=>N.value=e,dense:``,dark:``,outlined:``,placeholder:t.$t(`settings.editorCommandPlaceholder`),class:`settings-input`},null,8,[`modelValue`,`placeholder`]),c(`div`,Ze,m(t.$t(`settings.editorCommandHint`)),1)]),c(`div`,Qe,[c(`div`,$e,m(t.$t(`settings.notionStatus`)),1),c(`div`,et,[c(`div`,tt,m(t.$t(`settings.notionStatusProperty`)),1),o(_,{modelValue:I.value,"onUpdate:modelValue":r[10]||=e=>I.value=e,dense:``,dark:``,outlined:``,placeholder:t.$t(`settings.notionStatusPropertyPlaceholder`),class:`settings-input`},null,8,[`modelValue`,`placeholder`])]),c(`div`,nt,[c(`div`,rt,m(t.$t(`settings.notionInProgressStatus`)),1),o(_,{modelValue:L.value,"onUpdate:modelValue":r[11]||=e=>L.value=e,dense:``,dark:``,outlined:``,placeholder:t.$t(`settings.notionInProgressStatusPlaceholder`),class:`settings-input`},null,8,[`modelValue`,`placeholder`])]),c(`div`,it,m(t.$t(`settings.notionStatusHint`)),1)]),c(`div`,at,[o(h,{label:t.$t(`common.save`),"no-caps":``,unelevated:``,color:`primary`,loading:z.value,onClick:Dn},null,8,[`label`,`loading`])])])]),_:1}),o(b,{name:`projects`,class:`q-pa-none`},{default:a(()=>[c(`div`,ot,[c(`div`,st,[c(`div`,ct,[c(`div`,lt,[c(`div`,ut,m(t.$t(`settings.configuredProjects`)),1)]),o(g,{dark:``}),o(ve,{dark:``,dense:``,class:`q-py-xs`},{default:a(()=>[(e(!0),d(s,null,n(f(T).projects,(t,n)=>(e(),l(S,{key:t.path,clickable:``,active:B.value===n&&!V.value,"active-class":`project-item--active`,class:`project-item q-mx-xs rounded-borders`,style:{"min-height":`40px`},onClick:e=>jn(n)},{default:a(()=>[o(x,null,{default:a(()=>[o(C,{class:`text-body2 text-grey-3`},{default:a(()=>[u(m(Mn(t)),1)]),_:2},1024),o(C,{caption:``,class:`text-grey-7 ellipsis`,style:{"font-size":`11px`,"font-family":`monospace`}},{default:a(()=>[u(m(t.path),1)]),_:2},1024)]),_:2},1024)]),_:2},1032,[`active`,`onClick`]))),128))]),_:1}),f(T).projects.length===0&&!f(T).loading?(e(),d(`div`,dt,m(t.$t(`settings.noProjects`)),1)):ie(``,!0),o(g,{dark:``}),c(`div`,ft,[o(h,{label:t.$t(`settings.addProject`),icon:`add`,"no-caps":``,flat:``,dense:``,class:`full-width`,color:`indigo-4`,onClick:An},null,8,[`label`])])])]),c(`div`,pt,[c(`div`,mt,[Q.value||V.value?(e(),d(s,{key:0},[c(`div`,ht,m(V.value?t.$t(`settings.newProject`):t.$t(`settings.editProject`)),1),o(g,{dark:``,class:`q-mb-md`}),c(`div`,gt,[c(`div`,_t,m(t.$t(`settings.projectPath`)),1),o(_,{modelValue:H.value.path,"onUpdate:modelValue":r[12]||=e=>H.value.path=e,dense:``,dark:``,outlined:``,readonly:!V.value,placeholder:t.$t(`settings.projectPathPlaceholder`),class:ne([`settings-input`,{"readonly-input":!V.value}])},null,8,[`modelValue`,`readonly`,`placeholder`,`class`])]),c(`div`,vt,[c(`div`,yt,m(t.$t(`settings.displayName`)),1),o(_,{modelValue:H.value.displayName,"onUpdate:modelValue":r[13]||=e=>H.value.displayName=e,dense:``,dark:``,outlined:``,placeholder:t.$t(`settings.displayNamePlaceholder`),class:`settings-input`},null,8,[`modelValue`,`placeholder`])]),c(`div`,bt,[c(`div`,xt,m(t.$t(`settings.defaultSourceBranch`)),1),o(w,{modelValue:H.value.defaultSourceBranch,"onUpdate:modelValue":r[14]||=e=>H.value.defaultSourceBranch=e,options:Nn.value,dense:``,dark:``,outlined:``,"use-input":``,"emit-value":``,loading:W.value,class:`settings-input`,placeholder:`main`,onFilter:Pn},{"no-option":a(()=>[o(S,null,{default:a(()=>[o(x,{class:`text-grey-6 text-caption`},{default:a(()=>[u(m(H.value.path.trim()?t.$t(`createPage.noBranches`):t.$t(`createPage.enterPath`)),1)]),_:1})]),_:1})]),_:1},8,[`modelValue`,`options`,`loading`])]),c(`div`,St,[c(`div`,Ct,m(t.$t(`settings.defaultModel.project`)),1),o(w,{modelValue:H.value.defaultModel,"onUpdate:modelValue":r[15]||=e=>H.value.defaultModel=e,options:Sn.value,"emit-value":``,"map-options":``,"option-value":`value`,"option-label":`label`,dense:``,dark:``,outlined:``,class:`settings-input`},null,8,[`modelValue`,`options`])]),c(`div`,wt,[c(`div`,Tt,m(t.$t(`settings.agentPermissions`)),1),o(v,{modelValue:H.value.dangerouslySkipPermissions,"onUpdate:modelValue":r[16]||=e=>H.value.dangerouslySkipPermissions=e,label:t.$t(`settings.skipPermissions.project`),dark:``,dense:``,color:`indigo-4`,class:`text-grey-5 text-caption`},null,8,[`modelValue`,`label`])]),c(`div`,Et,[c(`div`,Dt,m(t.$t(`settings.prPromptTemplate.project`)),1),o(_,{modelValue:H.value.prPromptTemplate,"onUpdate:modelValue":r[17]||=e=>H.value.prPromptTemplate=e,type:`textarea`,dense:``,dark:``,outlined:``,rows:4,placeholder:t.$t(`settings.prPromptPlaceholder.project`),class:`settings-input mono-textarea`},null,8,[`modelValue`,`placeholder`])]),c(`div`,Ot,[c(`div`,kt,m(t.$t(`settings.gitConventions.project`)),1),o(_,{modelValue:H.value.gitConventions,"onUpdate:modelValue":r[18]||=e=>H.value.gitConventions=e,type:`textarea`,dense:``,dark:``,outlined:``,rows:6,placeholder:t.$t(`settings.gitConventionsEmpty`),class:`settings-input mono-textarea`},null,8,[`modelValue`,`placeholder`]),c(`div`,At,m(t.$t(`settings.gitConventionsEmpty`)),1)]),c(`div`,jt,[c(`div`,Mt,m(t.$t(`settings.setupScript`)),1),o(_,{modelValue:H.value.setupScript,"onUpdate:modelValue":r[19]||=e=>H.value.setupScript=e,type:`textarea`,dense:``,dark:``,outlined:``,rows:5,placeholder:t.$t(`settings.setupScriptPlaceholder`),class:`settings-input mono-textarea`},null,8,[`modelValue`,`placeholder`]),c(`div`,Nt,m(t.$t(`settings.setupScriptHint`)),1)]),c(`div`,Pt,[c(`div`,Ft,m(t.$t(`settings.notionStatus`)),1),c(`div`,It,[c(`div`,Lt,m(t.$t(`settings.notionStatusProperty`)),1),o(_,{modelValue:H.value.notionStatusProperty,"onUpdate:modelValue":r[20]||=e=>H.value.notionStatusProperty=e,dense:``,dark:``,outlined:``,placeholder:t.$t(`settings.notionStatusPropertyPlaceholder`),class:`settings-input`},null,8,[`modelValue`,`placeholder`])]),c(`div`,Rt,[c(`div`,zt,m(t.$t(`settings.notionInProgressStatus`)),1),o(_,{modelValue:H.value.notionInProgressStatus,"onUpdate:modelValue":r[21]||=e=>H.value.notionInProgressStatus=e,dense:``,dark:``,outlined:``,placeholder:t.$t(`settings.notionInProgressStatusPlaceholder`),class:`settings-input`},null,8,[`modelValue`,`placeholder`])]),c(`div`,Bt,m(t.$t(`settings.notionStatusHint`)),1)]),c(`div`,Vt,[c(`div`,Ht,m(t.$t(`settings.devServer`)),1),c(`div`,Ut,[c(`div`,Wt,m(t.$t(`settings.devServerStart`)),1),o(_,{modelValue:H.value.devServer.startCommand,"onUpdate:modelValue":r[22]||=e=>H.value.devServer.startCommand=e,type:`textarea`,dense:``,dark:``,outlined:``,rows:3,placeholder:t.$t(`settings.devServerStartPlaceholder`),class:`settings-input mono-textarea`},null,8,[`modelValue`,`placeholder`])]),c(`div`,null,[c(`div`,Gt,m(t.$t(`settings.devServerStop`)),1),o(_,{modelValue:H.value.devServer.stopCommand,"onUpdate:modelValue":r[23]||=e=>H.value.devServer.stopCommand=e,type:`textarea`,dense:``,dark:``,outlined:``,rows:3,placeholder:t.$t(`settings.devServerStopPlaceholder`),class:`settings-input mono-textarea`},null,8,[`modelValue`,`placeholder`])])]),c(`div`,Kt,[V.value?ie(``,!0):(e(),l(h,{key:0,label:t.$t(`common.delete`),"no-caps":``,flat:``,color:`red-5`,loading:dn.value,onClick:kn},null,8,[`label`,`loading`])),o(me),o(h,{label:t.$t(`common.save`),"no-caps":``,unelevated:``,color:`primary`,loading:G.value,onClick:On},null,8,[`label`,`loading`])])],64)):(e(),d(`div`,qt,[o(oe,{name:`folder_open`,size:`48px`,color:`grey-7`,class:`q-mb-md`}),c(`div`,Jt,m(t.$t(`settings.selectProject`)),1)]))])])])]),_:1}),o(b,{name:`templates`,class:`q-pa-none`},{default:a(()=>[c(`div`,Yt,[c(`div`,Xt,[c(`div`,Zt,m(t.$t(`templates.title`)),1),o(h,{color:`primary`,icon:`add`,label:t.$t(`templates.newTemplate`),dense:``,"no-caps":``,onClick:hn},null,8,[`label`])]),o(g,{dark:``,class:`q-mb-md`}),pn.value.length===0?(e(),d(`div`,Qt,m(t.$t(`templates.empty`)),1)):(e(),d(`div`,$t,[(e(!0),d(s,null,n(pn.value,n=>(e(),l(de,{key:n.slug,dark:``,flat:``,bordered:``,class:`q-pa-md template-card`},{default:a(()=>[c(`div`,en,[c(`div`,tn,[c(`div`,nn,` /`+m(n.slug),1),c(`div`,rn,m(n.description),1)]),c(`div`,an,[o(h,{flat:``,dense:``,round:``,size:`sm`,icon:`edit`,color:`grey-5`,onClick:e=>gn(n)},{default:a(()=>[o(pe,null,{default:a(()=>[u(m(t.$t(`templates.editTemplate`)),1)]),_:1})]),_:1},8,[`onClick`]),o(h,{flat:``,dense:``,round:``,size:`sm`,icon:`delete`,color:`red-4`,onClick:e=>vn(n)},{default:a(()=>[o(pe,null,{default:a(()=>[u(m(t.$t(`templates.deleteTemplate`)),1)]),_:1})]),_:1},8,[`onClick`])])])]),_:2},1024))),128))])),c(`div`,on,m(t.$t(`templates.filePath`,{path:`~/.config/kobo/templates.json`})),1)])]),_:1})]),_:1},8,[`modelValue`])]),o(le,{modelValue:K.value,"onUpdate:modelValue":r[28]||=e=>K.value=e,persistent:``},{default:a(()=>[o(de,{dark:``,style:{"min-width":`560px`,"max-width":`800px`,width:`80vw`}},{default:a(()=>[o(fe,null,{default:a(()=>[c(`div`,sn,m(q.value===null?t.$t(`templates.newTemplate`):t.$t(`templates.editTemplate`)),1)]),_:1}),o(fe,{class:`q-gutter-md`},{default:a(()=>[o(_,{modelValue:J.value,"onUpdate:modelValue":r[25]||=e=>J.value=e,label:t.$t(`templates.slug`),hint:t.$t(`templates.slugHint`),dark:``,dense:``,prefix:`/`,disable:q.value!==null,rules:[e=>/^[a-z0-9][a-z0-9-]{0,63}$/.test(e)||t.$t(`templates.slugInvalid`)],"lazy-rules":``},null,8,[`modelValue`,`label`,`hint`,`disable`,`rules`]),o(_,{modelValue:Y.value,"onUpdate:modelValue":r[26]||=e=>Y.value=e,label:t.$t(`templates.description`),hint:t.$t(`templates.descriptionHint`),dark:``,dense:``,counter:``,maxlength:`120`,rules:[e=>e&&e.trim().length>0||``]},null,8,[`modelValue`,`label`,`hint`,`rules`]),o(_,{modelValue:X.value,"onUpdate:modelValue":r[27]||=e=>X.value=e,label:t.$t(`templates.content`),hint:t.$t(`templates.contentHint`),dark:``,dense:``,type:`textarea`,autogrow:``,counter:``,maxlength:`4096`,rules:[e=>e&&e.trim().length>0||``]},null,8,[`modelValue`,`label`,`hint`,`rules`]),o(xe,{dense:``,"dense-toggle":``,label:t.$t(`templates.availableVars`),"header-class":`text-grey-6 text-caption q-pa-none`,style:{"font-size":`11px`}},{default:a(()=>[c(`div`,cn,[(e(),d(s,null,n(mn,e=>c(`div`,{key:e,class:`text-grey-5 q-mb-xs`},m(e),1)),64))])]),_:1},8,[`label`]),Z.value?(e(),d(`div`,ln,m(Z.value),1)):ie(``,!0)]),_:1}),o(ce,{align:`right`},{default:a(()=>[te(o(h,{flat:``,label:t.$t(`common.cancel`)},null,8,[`label`]),[[be]]),o(h,{flat:``,color:`primary`,label:q.value===null?t.$t(`templates.create`):t.$t(`templates.save`),loading:fn.value,onClick:_n},null,8,[`label`,`loading`])]),_:1})]),_:1})]),_:1},8,[`modelValue`])]),_:1}))}}),[[`__scopeId`,`data-v-0d6e3265`]]);export{T as default};
@@ -0,0 +1 @@
1
+ .settings-page[data-v-0d6e3265]{background-color:#1a1a2e;min-height:100%;padding:32px 24px}.settings-inner[data-v-0d6e3265]{width:100%;max-width:900px;margin:0 auto}.settings-header[data-v-0d6e3265]{min-height:48px}.settings-tabs[data-v-0d6e3265] .q-tab{color:#888;text-transform:none;font-weight:500}.settings-tabs[data-v-0d6e3265] .q-tab--active{color:#6c63ff}.settings-panels[data-v-0d6e3265]{background:0 0}.settings-card[data-v-0d6e3265]{background:#224;border:1px solid #2a2a4a}.template-card[data-v-0d6e3265]{background:#1a1a2e;border:1px solid #2a2a4a}.settings-input[data-v-0d6e3265] .q-field__control{background:#1a1a2e;border-color:#2a2a4a}.settings-input[data-v-0d6e3265] .q-field__native,.settings-input[data-v-0d6e3265] input,.settings-input[data-v-0d6e3265] textarea{color:#e0e0e0}.settings-input[data-v-0d6e3265] .q-field__label{color:#888}.mono-textarea[data-v-0d6e3265] textarea{font-family:JetBrains Mono,Fira Code,monospace;font-size:13px}.readonly-input[data-v-0d6e3265] .q-field__control{background:#16162a}.readonly-input[data-v-0d6e3265] input{color:#888}.project-list-col[data-v-0d6e3265]{flex-shrink:0;width:30%;min-width:200px;max-width:280px;overflow:hidden}.project-form-col[data-v-0d6e3265]{flex:1;min-width:0}.project-item[data-v-0d6e3265]:hover{background-color:#ffffff08}.project-item--active[data-v-0d6e3265]{border-left:3px solid #6c63ff;background-color:#2a2a4a!important}
@@ -1 +1 @@
1
- import{H as e,M as t,b as n,k as r}from"./vue-i18n-nv59vAyH.js";import{Q as i,Z as a,at as o,ct as s,et as c,ft as l,i as u,it as d,lt as f,n as p,nt as m,o as h,ot as g,rt as _,st as v,t as y,tt as b}from"./scroll-CWjBCoBR.js";import{f as x}from"./_plugin-vue_export-helper-CLHv3piE.js";import{n as S,t as C}from"./touch-Bojc73iM.js";var{passive:w}=b,T=[`both`,`horizontal`,`vertical`],E=s({name:`QScrollObserver`,props:{axis:{type:String,validator:e=>T.includes(e),default:`vertical`},debounce:[String,Number],scrollTarget:h},emits:[`scroll`],setup(i,{emit:a}){let o={position:{top:0,left:0},direction:`down`,directionChanged:!1,delta:{top:0,left:0},inflectionPoint:{top:0,left:0}},s=null,c,l;e(()=>i.scrollTarget,()=>{h(),f()});function d(){s?.();let e=Math.max(0,u(c)),t=y(c),n={top:e-o.position.top,left:t-o.position.left};if(i.axis===`vertical`&&n.top===0||i.axis===`horizontal`&&n.left===0)return;let r=Math.abs(n.top)>=Math.abs(n.left)?n.top<0?`up`:`down`:n.left<0?`left`:`right`;o.position={top:e,left:t},o.directionChanged=o.direction!==r,o.delta=n,o.directionChanged===!0&&(o.direction=r,o.inflectionPoint=o.position),a(`scroll`,{...o})}function f(){c=p(l,i.scrollTarget),c.addEventListener(`scroll`,g,w),g(!0)}function h(){c!==void 0&&(c.removeEventListener(`scroll`,g,w),c=void 0)}function g(e){if(e===!0||i.debounce===0||i.debounce===`0`)d();else if(s===null){let[e,t]=i.debounce?[setTimeout(d,i.debounce),clearTimeout]:[requestAnimationFrame(d),cancelAnimationFrame];s=()=>{t(e),s=null}}}let{proxy:_}=n();return e(()=>_.$q.lang.rtl,d),t(()=>{l=_.$el.parentNode,f()}),r(()=>{s?.(),h()}),Object.assign(_,{trigger:g,getPosition:()=>o}),m}});function D(e,t,n){let r=_(e),i,a=r.left-t.event.x,o=r.top-t.event.y,s=Math.abs(a),c=Math.abs(o),l=t.direction;l.horizontal===!0&&l.vertical!==!0?i=a<0?`left`:`right`:l.horizontal!==!0&&l.vertical===!0?i=o<0?`up`:`down`:l.up===!0&&o<0?(i=`up`,s>c&&(l.left===!0&&a<0?i=`left`:l.right===!0&&a>0&&(i=`right`))):l.down===!0&&o>0?(i=`down`,s>c&&(l.left===!0&&a<0?i=`left`:l.right===!0&&a>0&&(i=`right`))):l.left===!0&&a<0?(i=`left`,s<c&&(l.up===!0&&o<0?i=`up`:l.down===!0&&o>0&&(i=`down`))):l.right===!0&&a>0&&(i=`right`,s<c&&(l.up===!0&&o<0?i=`up`:l.down===!0&&o>0&&(i=`down`)));let u=!1;if(i===void 0&&n===!1){if(t.event.isFirst===!0||t.event.lastDir===void 0)return{};i=t.event.lastDir,u=!0,i===`left`||i===`right`?(r.left-=a,s=0,a=0):(r.top-=o,c=0,o=0)}return{synthetic:u,payload:{evt:e,touch:t.event.mouse!==!0,mouse:t.event.mouse===!0,position:r,direction:i,isFirst:t.event.isFirst,isFinal:n===!0,duration:Date.now()-t.event.time,distance:{x:s,y:c},offset:{x:a,y:o},delta:{x:r.left-t.event.lastX,y:r.top-t.event.lastY}}}}var O=0,k=f({name:`touch-pan`,beforeMount(e,{value:t,modifiers:n}){if(n.mouse!==!0&&l.has.touch!==!0)return;function r(e,t){n.mouse===!0&&t===!0?v(e):(n.stop===!0&&g(e),n.prevent===!0&&d(e))}let s={uid:`qvtp_`+ O++,handler:t,modifiers:n,direction:C(n),noop:m,mouseStart(e){S(e,s)&&c(e)&&(a(s,`temp`,[[document,`mousemove`,`move`,`notPassiveCapture`],[document,`mouseup`,`end`,`passiveCapture`]]),s.start(e,!0))},touchStart(e){if(S(e,s)){let t=e.target;a(s,`temp`,[[t,`touchmove`,`move`,`notPassiveCapture`],[t,`touchcancel`,`end`,`passiveCapture`],[t,`touchend`,`end`,`passiveCapture`]]),s.start(e)}},start(t,r){if(l.is.firefox===!0&&o(e,!0),s.lastEvt=t,r===!0||n.stop===!0){if(s.direction.all!==!0&&(r!==!0||s.modifiers.mouseAllDir!==!0&&s.modifiers.mousealldir!==!0)){let e=t.type.indexOf(`mouse`)===-1?new TouchEvent(t.type,t):new MouseEvent(t.type,t);t.defaultPrevented===!0&&d(e),t.cancelBubble===!0&&g(e),Object.assign(e,{qKeyEvent:t.qKeyEvent,qClickOutside:t.qClickOutside,qAnchorHandled:t.qAnchorHandled,qClonedBy:t.qClonedBy===void 0?[s.uid]:t.qClonedBy.concat(s.uid)}),s.initialEvent={target:t.target,event:e}}g(t)}let{left:i,top:a}=_(t);s.event={x:i,y:a,time:Date.now(),mouse:r===!0,detected:!1,isFirst:!0,isFinal:!1,lastX:i,lastY:a}},move(e){if(s.event===void 0)return;let t=_(e),i=t.left-s.event.x,a=t.top-s.event.y;if(i===0&&a===0)return;s.lastEvt=e;let o=s.event.mouse===!0,c=()=>{r(e,o);let t;n.preserveCursor!==!0&&n.preservecursor!==!0&&(t=document.documentElement.style.cursor||``,document.documentElement.style.cursor=`grabbing`),o===!0&&document.body.classList.add(`no-pointer-events--children`),document.body.classList.add(`non-selectable`),x(),s.styleCleanup=e=>{if(s.styleCleanup=void 0,t!==void 0&&(document.documentElement.style.cursor=t),document.body.classList.remove(`non-selectable`),o===!0){let t=()=>{document.body.classList.remove(`no-pointer-events--children`)};e===void 0?t():setTimeout(()=>{t(),e()},50)}else e!==void 0&&e()}};if(s.event.detected===!0){s.event.isFirst!==!0&&r(e,s.event.mouse);let{payload:t,synthetic:n}=D(e,s,!1);t!==void 0&&(s.handler(t)===!1?s.end(e):(s.styleCleanup===void 0&&s.event.isFirst===!0&&c(),s.event.lastX=t.position.left,s.event.lastY=t.position.top,s.event.lastDir=n===!0?void 0:t.direction,s.event.isFirst=!1));return}if(s.direction.all===!0||o===!0&&(s.modifiers.mouseAllDir===!0||s.modifiers.mousealldir===!0)){c(),s.event.detected=!0,s.move(e);return}let l=Math.abs(i),u=Math.abs(a);l!==u&&(s.direction.horizontal===!0&&l>u||s.direction.vertical===!0&&l<u||s.direction.up===!0&&l<u&&a<0||s.direction.down===!0&&l<u&&a>0||s.direction.left===!0&&l>u&&i<0||s.direction.right===!0&&l>u&&i>0?(s.event.detected=!0,s.move(e)):s.end(e,!0))},end(t,n){if(s.event!==void 0){if(i(s,`temp`),l.is.firefox===!0&&o(e,!1),n===!0)s.styleCleanup?.(),s.event.detected!==!0&&s.initialEvent!==void 0&&s.initialEvent.target.dispatchEvent(s.initialEvent.event);else if(s.event.detected===!0){s.event.isFirst===!0&&s.handler(D(t===void 0?s.lastEvt:t,s).payload);let{payload:e}=D(t===void 0?s.lastEvt:t,s,!0),n=()=>{s.handler(e)};s.styleCleanup===void 0?n():s.styleCleanup(n)}s.event=void 0,s.initialEvent=void 0,s.lastEvt=void 0}}};e.__qtouchpan=s,n.mouse===!0&&a(s,`main`,[[e,`mousedown`,`mouseStart`,`passive${n.mouseCapture===!0||n.mousecapture===!0?`Capture`:``}`]]),l.has.touch===!0&&a(s,`main`,[[e,`touchstart`,`touchStart`,`passive${n.capture===!0?`Capture`:``}`],[e,`touchmove`,`noop`,`notPassiveCapture`]])},updated(e,t){let n=e.__qtouchpan;n!==void 0&&(t.oldValue!==t.value&&(typeof value!=`function`&&n.end(),n.handler=t.value),n.direction=C(t.modifiers))},beforeUnmount(e){let t=e.__qtouchpan;t!==void 0&&(t.event!==void 0&&t.end(),i(t,`main`),i(t,`temp`),l.is.firefox===!0&&o(e,!1),t.styleCleanup?.(),delete e.__qtouchpan)}});export{E as n,k as t};
1
+ import{H as e,M as t,b as n,k as r}from"./vue-i18n-nv59vAyH.js";import{Q as i,Z as a,at as o,ct as s,et as c,ft as l,i as u,it as d,lt as f,n as p,nt as m,o as h,ot as g,rt as _,st as v,t as y,tt as b}from"./scroll-CWjBCoBR.js";import{f as x}from"./_plugin-vue_export-helper-fkfRoKj2.js";import{n as S,t as C}from"./touch-Bojc73iM.js";var{passive:w}=b,T=[`both`,`horizontal`,`vertical`],E=s({name:`QScrollObserver`,props:{axis:{type:String,validator:e=>T.includes(e),default:`vertical`},debounce:[String,Number],scrollTarget:h},emits:[`scroll`],setup(i,{emit:a}){let o={position:{top:0,left:0},direction:`down`,directionChanged:!1,delta:{top:0,left:0},inflectionPoint:{top:0,left:0}},s=null,c,l;e(()=>i.scrollTarget,()=>{h(),f()});function d(){s?.();let e=Math.max(0,u(c)),t=y(c),n={top:e-o.position.top,left:t-o.position.left};if(i.axis===`vertical`&&n.top===0||i.axis===`horizontal`&&n.left===0)return;let r=Math.abs(n.top)>=Math.abs(n.left)?n.top<0?`up`:`down`:n.left<0?`left`:`right`;o.position={top:e,left:t},o.directionChanged=o.direction!==r,o.delta=n,o.directionChanged===!0&&(o.direction=r,o.inflectionPoint=o.position),a(`scroll`,{...o})}function f(){c=p(l,i.scrollTarget),c.addEventListener(`scroll`,g,w),g(!0)}function h(){c!==void 0&&(c.removeEventListener(`scroll`,g,w),c=void 0)}function g(e){if(e===!0||i.debounce===0||i.debounce===`0`)d();else if(s===null){let[e,t]=i.debounce?[setTimeout(d,i.debounce),clearTimeout]:[requestAnimationFrame(d),cancelAnimationFrame];s=()=>{t(e),s=null}}}let{proxy:_}=n();return e(()=>_.$q.lang.rtl,d),t(()=>{l=_.$el.parentNode,f()}),r(()=>{s?.(),h()}),Object.assign(_,{trigger:g,getPosition:()=>o}),m}});function D(e,t,n){let r=_(e),i,a=r.left-t.event.x,o=r.top-t.event.y,s=Math.abs(a),c=Math.abs(o),l=t.direction;l.horizontal===!0&&l.vertical!==!0?i=a<0?`left`:`right`:l.horizontal!==!0&&l.vertical===!0?i=o<0?`up`:`down`:l.up===!0&&o<0?(i=`up`,s>c&&(l.left===!0&&a<0?i=`left`:l.right===!0&&a>0&&(i=`right`))):l.down===!0&&o>0?(i=`down`,s>c&&(l.left===!0&&a<0?i=`left`:l.right===!0&&a>0&&(i=`right`))):l.left===!0&&a<0?(i=`left`,s<c&&(l.up===!0&&o<0?i=`up`:l.down===!0&&o>0&&(i=`down`))):l.right===!0&&a>0&&(i=`right`,s<c&&(l.up===!0&&o<0?i=`up`:l.down===!0&&o>0&&(i=`down`)));let u=!1;if(i===void 0&&n===!1){if(t.event.isFirst===!0||t.event.lastDir===void 0)return{};i=t.event.lastDir,u=!0,i===`left`||i===`right`?(r.left-=a,s=0,a=0):(r.top-=o,c=0,o=0)}return{synthetic:u,payload:{evt:e,touch:t.event.mouse!==!0,mouse:t.event.mouse===!0,position:r,direction:i,isFirst:t.event.isFirst,isFinal:n===!0,duration:Date.now()-t.event.time,distance:{x:s,y:c},offset:{x:a,y:o},delta:{x:r.left-t.event.lastX,y:r.top-t.event.lastY}}}}var O=0,k=f({name:`touch-pan`,beforeMount(e,{value:t,modifiers:n}){if(n.mouse!==!0&&l.has.touch!==!0)return;function r(e,t){n.mouse===!0&&t===!0?v(e):(n.stop===!0&&g(e),n.prevent===!0&&d(e))}let s={uid:`qvtp_`+ O++,handler:t,modifiers:n,direction:C(n),noop:m,mouseStart(e){S(e,s)&&c(e)&&(a(s,`temp`,[[document,`mousemove`,`move`,`notPassiveCapture`],[document,`mouseup`,`end`,`passiveCapture`]]),s.start(e,!0))},touchStart(e){if(S(e,s)){let t=e.target;a(s,`temp`,[[t,`touchmove`,`move`,`notPassiveCapture`],[t,`touchcancel`,`end`,`passiveCapture`],[t,`touchend`,`end`,`passiveCapture`]]),s.start(e)}},start(t,r){if(l.is.firefox===!0&&o(e,!0),s.lastEvt=t,r===!0||n.stop===!0){if(s.direction.all!==!0&&(r!==!0||s.modifiers.mouseAllDir!==!0&&s.modifiers.mousealldir!==!0)){let e=t.type.indexOf(`mouse`)===-1?new TouchEvent(t.type,t):new MouseEvent(t.type,t);t.defaultPrevented===!0&&d(e),t.cancelBubble===!0&&g(e),Object.assign(e,{qKeyEvent:t.qKeyEvent,qClickOutside:t.qClickOutside,qAnchorHandled:t.qAnchorHandled,qClonedBy:t.qClonedBy===void 0?[s.uid]:t.qClonedBy.concat(s.uid)}),s.initialEvent={target:t.target,event:e}}g(t)}let{left:i,top:a}=_(t);s.event={x:i,y:a,time:Date.now(),mouse:r===!0,detected:!1,isFirst:!0,isFinal:!1,lastX:i,lastY:a}},move(e){if(s.event===void 0)return;let t=_(e),i=t.left-s.event.x,a=t.top-s.event.y;if(i===0&&a===0)return;s.lastEvt=e;let o=s.event.mouse===!0,c=()=>{r(e,o);let t;n.preserveCursor!==!0&&n.preservecursor!==!0&&(t=document.documentElement.style.cursor||``,document.documentElement.style.cursor=`grabbing`),o===!0&&document.body.classList.add(`no-pointer-events--children`),document.body.classList.add(`non-selectable`),x(),s.styleCleanup=e=>{if(s.styleCleanup=void 0,t!==void 0&&(document.documentElement.style.cursor=t),document.body.classList.remove(`non-selectable`),o===!0){let t=()=>{document.body.classList.remove(`no-pointer-events--children`)};e===void 0?t():setTimeout(()=>{t(),e()},50)}else e!==void 0&&e()}};if(s.event.detected===!0){s.event.isFirst!==!0&&r(e,s.event.mouse);let{payload:t,synthetic:n}=D(e,s,!1);t!==void 0&&(s.handler(t)===!1?s.end(e):(s.styleCleanup===void 0&&s.event.isFirst===!0&&c(),s.event.lastX=t.position.left,s.event.lastY=t.position.top,s.event.lastDir=n===!0?void 0:t.direction,s.event.isFirst=!1));return}if(s.direction.all===!0||o===!0&&(s.modifiers.mouseAllDir===!0||s.modifiers.mousealldir===!0)){c(),s.event.detected=!0,s.move(e);return}let l=Math.abs(i),u=Math.abs(a);l!==u&&(s.direction.horizontal===!0&&l>u||s.direction.vertical===!0&&l<u||s.direction.up===!0&&l<u&&a<0||s.direction.down===!0&&l<u&&a>0||s.direction.left===!0&&l>u&&i<0||s.direction.right===!0&&l>u&&i>0?(s.event.detected=!0,s.move(e)):s.end(e,!0))},end(t,n){if(s.event!==void 0){if(i(s,`temp`),l.is.firefox===!0&&o(e,!1),n===!0)s.styleCleanup?.(),s.event.detected!==!0&&s.initialEvent!==void 0&&s.initialEvent.target.dispatchEvent(s.initialEvent.event);else if(s.event.detected===!0){s.event.isFirst===!0&&s.handler(D(t===void 0?s.lastEvt:t,s).payload);let{payload:e}=D(t===void 0?s.lastEvt:t,s,!0),n=()=>{s.handler(e)};s.styleCleanup===void 0?n():s.styleCleanup(n)}s.event=void 0,s.initialEvent=void 0,s.lastEvt=void 0}}};e.__qtouchpan=s,n.mouse===!0&&a(s,`main`,[[e,`mousedown`,`mouseStart`,`passive${n.mouseCapture===!0||n.mousecapture===!0?`Capture`:``}`]]),l.has.touch===!0&&a(s,`main`,[[e,`touchstart`,`touchStart`,`passive${n.capture===!0?`Capture`:``}`],[e,`touchmove`,`noop`,`notPassiveCapture`]])},updated(e,t){let n=e.__qtouchpan;n!==void 0&&(t.oldValue!==t.value&&(typeof value!=`function`&&n.end(),n.handler=t.value),n.direction=C(t.modifiers))},beforeUnmount(e){let t=e.__qtouchpan;t!==void 0&&(t.event!==void 0&&t.end(),i(t,`main`),i(t,`temp`),l.is.firefox===!0&&o(e,!1),t.styleCleanup?.(),delete e.__qtouchpan)}});export{E as n,k as t};