@loicngr/kobo 0.1.1

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 (59) hide show
  1. package/AGENTS.md +227 -0
  2. package/LICENSE +674 -0
  3. package/README.md +199 -0
  4. package/dist/mcp-server/kobo-tasks-handlers.js +27 -0
  5. package/dist/mcp-server/kobo-tasks-server.js +116 -0
  6. package/dist/server/db/index.js +22 -0
  7. package/dist/server/db/migrations.js +20 -0
  8. package/dist/server/db/schema.js +49 -0
  9. package/dist/server/index.js +178 -0
  10. package/dist/server/routes/dev-server.js +74 -0
  11. package/dist/server/routes/git.js +20 -0
  12. package/dist/server/routes/notion.js +24 -0
  13. package/dist/server/routes/settings.js +92 -0
  14. package/dist/server/routes/workspaces.js +730 -0
  15. package/dist/server/services/agent-manager.js +435 -0
  16. package/dist/server/services/dev-server-service.js +298 -0
  17. package/dist/server/services/notion-service.js +369 -0
  18. package/dist/server/services/pr-template-service.js +38 -0
  19. package/dist/server/services/settings-service.js +205 -0
  20. package/dist/server/services/websocket-service.js +212 -0
  21. package/dist/server/services/workspace-service.js +208 -0
  22. package/dist/server/services/worktree-service.js +117 -0
  23. package/dist/server/utils/git-ops.js +117 -0
  24. package/dist/server/utils/paths.js +95 -0
  25. package/dist/server/utils/process-tracker.js +46 -0
  26. package/package.json +84 -0
  27. package/src/client/dist/spa/assets/ActivityFeed-BveJRagX.js +60 -0
  28. package/src/client/dist/spa/assets/ActivityFeed-DBNn62g_.css +1 -0
  29. package/src/client/dist/spa/assets/CreatePage-BlgXsrJO.css +1 -0
  30. package/src/client/dist/spa/assets/CreatePage-wbOkBwYU.js +2 -0
  31. package/src/client/dist/spa/assets/KFOMCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWuYjalmUiAw-BepdiOnY.woff +0 -0
  32. package/src/client/dist/spa/assets/KFOMCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWuZtalmUiAw-4ZhHFPot.woff +0 -0
  33. package/src/client/dist/spa/assets/KFOMCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWuaabVmUiAw-CNa4tw4G.woff +0 -0
  34. package/src/client/dist/spa/assets/KFOMCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWub2bVmUiAw-CHKg1YId.woff +0 -0
  35. package/src/client/dist/spa/assets/KFOMCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWubEbFmUiAw-yBxCyPWP.woff +0 -0
  36. package/src/client/dist/spa/assets/KFOMCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWubEbVmUiAw-3fZ6d7DD.woff +0 -0
  37. package/src/client/dist/spa/assets/MainLayout-6hzaLlYO.js +1 -0
  38. package/src/client/dist/spa/assets/MainLayout-D0OU6djX.css +1 -0
  39. package/src/client/dist/spa/assets/QBadge-Cb92Ia8-.js +1 -0
  40. package/src/client/dist/spa/assets/QDialog-B5H6ayTp.js +1 -0
  41. package/src/client/dist/spa/assets/QExpansionItem-DJgnAZg_.js +1 -0
  42. package/src/client/dist/spa/assets/QPage-CLk9i9z8.js +1 -0
  43. package/src/client/dist/spa/assets/QSpinnerDots-DcaNq8uL.js +1 -0
  44. package/src/client/dist/spa/assets/QTabPanels-DlG5TZhP.js +1 -0
  45. package/src/client/dist/spa/assets/QTooltip-637ruGFc.js +1 -0
  46. package/src/client/dist/spa/assets/SettingsPage-B9VYIQs-.css +1 -0
  47. package/src/client/dist/spa/assets/SettingsPage-KEqbLZUA.js +1 -0
  48. package/src/client/dist/spa/assets/WorkspacePage-BFuHLjou.css +1 -0
  49. package/src/client/dist/spa/assets/WorkspacePage-D0Hm21LY.js +2 -0
  50. package/src/client/dist/spa/assets/_plugin-vue_export-helper-CHpmshS7.js +1 -0
  51. package/src/client/dist/spa/assets/flUhRq6tzZclQEJ-Vdg-IuiaDsNa-Dr0goTwe.woff +0 -0
  52. package/src/client/dist/spa/assets/flUhRq6tzZclQEJ-Vdg-IuiaDsNcIhQ8tQ-D-x-0Q06.woff2 +0 -0
  53. package/src/client/dist/spa/assets/index-BThMCiY7.css +1 -0
  54. package/src/client/dist/spa/assets/index-CMvo3OTb.js +5 -0
  55. package/src/client/dist/spa/assets/nodes-DeIen-kp.js +1 -0
  56. package/src/client/dist/spa/assets/use-quasar-Dq-Vjx_2.js +1 -0
  57. package/src/client/dist/spa/index.html +4 -0
  58. package/src/mcp-server/kobo-tasks-handlers.ts +54 -0
  59. package/src/mcp-server/kobo-tasks-server.ts +128 -0
@@ -0,0 +1 @@
1
+ import{$ as e,At as t,B as n,Bt as r,C as i,Ct as a,Dt as o,E as s,Et as c,Ft as l,G as u,H as d,K as f,M as p,P as m,S as h,St as g,T as _,Tt as v,V as y,W as b,a as x,b as S,bt as C,f as w,i as T,lt as E,p as D,vt as ee,w as O,wt as te,x as ne,y as k,yt as A}from"./nodes-DeIen-kp.js";import{f as j,g as M,l as N,u as P}from"./index-CMvo3OTb.js";import{C as F,D as I,E as L,S as R,T as re,_ as z,a as B,b as V,g as ie,h as ae,i as oe,l as se,m as ce,n as le,o as ue,p as H,r as U,s as de,v as fe,w as pe,y as me}from"./_plugin-vue_export-helper-CHpmshS7.js";import{C as W,S as G,a as he,d as ge,f as _e,h as ve,i as ye,l as be,m as K,n as xe,p as Se,r as Ce,s as we,t as Te,u as q,v as Ee,x as De}from"./QDialog-B5H6ayTp.js";var Oe=f({name:`QItem`,props:{...W,...x,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:t,emit:n}){let{proxy:{$q:i}}=ee(),a=G(e,i),{hasLink:o,linkAttrs:s,linkClass:c,linkTag:l,navigateOnClick:d}=T(),f=r(null),m=r(null),h=E(()=>e.clickable===!0||o.value===!0||e.tag===`label`),g=E(()=>e.disable!==!0&&h.value===!0),_=E(()=>`q-item q-item-type row no-wrap`+(e.dense===!0?` q-item--dense`:``)+(a.value===!0?` q-item--dark`:``)+(o.value===!0&&e.active===null?c.value:e.active===!0?` q-item--active${e.activeClass===void 0?``:` ${e.activeClass}`}`:``)+(e.disable===!0?` disabled`:``)+(g.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`:``):``)),v=E(()=>e.insetLevel===void 0?null:{[`padding`+(i.lang.rtl===!0?`Right`:`Left`)]:16+e.insetLevel*56+`px`});function y(e){g.value===!0&&(m.value!==null&&e.qAvoidFocus!==!0&&(e.qKeyEvent!==!0&&document.activeElement===f.value?m.value.focus():document.activeElement===m.value&&f.value.focus()),d(e))}function b(e){if(g.value===!0&&p(e,[13,32])===!0){u(e),e.qKeyEvent=!0;let t=new MouseEvent(`click`,e);t.qKeyEvent=!0,f.value.dispatchEvent(t)}n(`keyup`,e)}function x(){let e=O(t.default,[]);return g.value===!0&&e.unshift(A(`div`,{class:`q-focus-helper`,tabindex:-1,ref:m})),e}return()=>{let t={ref:f,class:_.value,style:v.value,role:`listitem`,onClick:y,onKeyup:b};return g.value===!0?(t.tabindex=e.tabindex||`0`,Object.assign(t,s.value)):h.value===!0&&(t[`aria-disabled`]=`true`),A(l.value,t,x())}}}),ke=f({name:`QItemSection`,props:{avatar:Boolean,thumbnail:Boolean,side:Boolean,top:Boolean,noWrap:Boolean},setup(e,{slots:t}){let n=E(()=>`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()=>A(`div`,{class:n.value},i(t.default))}}),Ae=f({name:`QItemLabel`,props:{overline:Boolean,caption:Boolean,header:Boolean,lines:[Number,String]},setup(e,{slots:t}){let n=E(()=>parseInt(e.lines,10)),r=E(()=>`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`:``)+(n.value===1?` ellipsis`:``)),a=E(()=>e.lines!==void 0&&n.value>1?{overflow:`hidden`,display:`-webkit-box`,"-webkit-box-orient":`vertical`,"-webkit-line-clamp":n.value}:null);return()=>A(`div`,{style:a.value,class:r.value},i(t.default))}}),je=f({name:`QField`,inheritAttrs:!1,props:{...K,tag:{type:String,default:`label`}},emits:Se,setup(){return _e(ve({tagProp:!0}))}}),Me={xs:8,sm:10,md:14,lg:20,xl:24},Ne=f({name:`QChip`,props:{...W,...s,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}}=ee(),i=G(e,r),a=_(e,Me),o=E(()=>e.selected===!0||e.icon!==void 0),s=E(()=>e.selected===!0?e.iconSelected||r.iconSet.chip.selected:e.icon),c=E(()=>e.iconRemove||r.iconSet.chip.remove),l=E(()=>e.disable===!1&&(e.clickable===!0||e.selected!==null)),d=E(()=>{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`:``)+(l.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`:``)}),f=E(()=>{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 p(e){e.keyCode===13&&m(e)}function m(t){e.disable||(n(`update:selected`,!e.selected),n(`click`,t))}function g(t){(t.keyCode===void 0||t.keyCode===13)&&(u(t),e.disable===!1&&(n(`update:modelValue`,!1),n(`remove`)))}function v(){let n=[];l.value===!0&&n.push(A(`div`,{class:`q-focus-helper`})),o.value===!0&&n.push(A(k,{class:`q-chip__icon q-chip__icon--left`,name:s.value}));let r=e.label===void 0?void 0:[A(`div`,{class:`ellipsis`},[e.label])];return n.push(A(`div`,{class:`q-chip__content col row no-wrap items-center q-anchor--skip`},h(t.default,r))),e.iconRight&&n.push(A(k,{class:`q-chip__icon q-chip__icon--right`,name:e.iconRight})),e.removable===!0&&n.push(A(k,{class:`q-chip__icon q-chip__icon--remove cursor-pointer`,name:c.value,...f.value.remove,onClick:g,onKeyup:g})),n}return()=>{if(e.modelValue===!1)return;let t={class:d.value,style:a.value};return l.value===!0&&Object.assign(t,f.value.chip,{onClick:m,onKeyup:p}),S(`div`,t,v(),`ripple`,e.ripple!==!1&&e.disable!==!0,()=>[[w,e.ripple]])}}}),Pe=f({name:`QMenu`,inheritAttrs:!1,props:{...I,...pe,...W,...z,persistent:Boolean,autoClose:Boolean,separateClosePopup:Boolean,noEscDismiss:Boolean,noRouteDismiss:Boolean,noRefocus:Boolean,noFocus:Boolean,fit:Boolean,cover:Boolean,square:Boolean,anchor:{type:String,validator:B},self:{type:String,validator:B},offset:{type:Array,validator:oe},scrollTarget:H,touchPosition:Boolean,maxHeight:{type:String,default:null},maxWidth:{type:String,default:null}},emits:[...F,`click`,`escapeKey`],setup(t,{slots:n,emit:a,attrs:o}){let s=null,c,d,f,p=ee(),{proxy:m}=p,{$q:h}=m,g=r(null),_=r(!1),b=E(()=>t.persistent!==!0&&t.noRouteDismiss!==!0),x=G(t,h),{registerTick:S,removeTick:C}=ae(),{registerTimeout:w}=ce(),{transitionProps:T,transitionStyle:O}=ie(t),{localScrollTarget:te,changeScrollEvent:ne,unconfigureScrollTarget:k}=re(t,K),{anchorEl:j,canShow:M}=L({showing:_}),{hide:N}=R({showing:_,canShow:M,handleShow:_e,handleHide:ve,hideOnRouteChange:b,processOnMount:!0}),{showPortal:P,hidePortal:F,renderPortal:I}=fe(p,g,Ee,`menu`),z={anchorEl:j,innerRef:g,onClickOutside(e){if(t.persistent!==!0&&_.value===!0)return N(e),(e.type===`touchstart`||e.target.classList.contains(`q-dialog__backdrop`))&&u(e),!0}},B=E(()=>le(t.anchor||(t.cover===!0?`center middle`:`bottom start`),h.lang.rtl)),oe=E(()=>t.cover===!0?B.value:le(t.self||`top start`,h.lang.rtl)),H=E(()=>(t.square===!0?` q-menu--square`:``)+(x.value===!0?` q-menu--dark q-dark`:``)),pe=E(()=>t.autoClose===!0?{onClick:Se}:{}),W=E(()=>_.value===!0&&t.persistent!==!0);l(W,e=>{e===!0?(ye(Te),ue(z)):(he(Te),de(z))});function ge(){V(()=>{let e=g.value;e&&e.contains(document.activeElement)!==!0&&(e=e.querySelector(`[autofocus][tabindex], [data-autofocus][tabindex]`)||e.querySelector(`[autofocus] [tabindex], [data-autofocus] [tabindex]`)||e.querySelector(`[autofocus], [data-autofocus]`)||e,e.focus({preventScroll:!0}))})}function _e(e){if(s=t.noRefocus===!1?document.activeElement:null,xe(we),P(),K(),c=void 0,e!==void 0&&(t.touchPosition||t.contextMenu)){let t=y(e);if(t.left!==void 0){let{top:e,left:n}=j.value.getBoundingClientRect();c={left:t.left-n,top:t.top-e}}}d===void 0&&(d=l(()=>h.screen.width+`|`+h.screen.height+`|`+t.self+`|`+t.anchor+`|`+h.lang.rtl,q)),t.noFocus!==!0&&document.activeElement.blur(),S(()=>{q(),t.noFocus!==!0&&ge()}),w(()=>{h.platform.is.ios===!0&&(f=t.autoClose,g.value.click()),q(),P(!0),a(`show`,e)},t.transitionDuration)}function ve(e){C(),F(),be(!0),s!==null&&(e===void 0||e.qClickOutside!==!0)&&(((e?.type.indexOf(`key`)===0?s.closest(`[tabindex]:not([tabindex^="-"])`):void 0)||s).focus(),s=null),w(()=>{F(!0),a(`hide`,e)},t.transitionDuration)}function be(e){c=void 0,d!==void 0&&(d(),d=void 0),(e===!0||_.value===!0)&&(Ce(we),k(),de(z),he(Te)),e!==!0&&(s=null)}function K(){(j.value!==null||t.scrollTarget!==void 0)&&(te.value=se(j.value,t.scrollTarget),ne(te.value,q))}function Se(e){f===!0?f=!1:(me(m,e),a(`click`,e))}function we(e){W.value===!0&&t.noFocus!==!0&&D(g.value,e.target)!==!0&&ge()}function Te(e){t.noEscDismiss!==!0&&(a(`escapeKey`),N(e))}function q(){U({targetEl:g.value,offset:t.offset,anchorEl:j.value,anchorOrigin:B.value,selfOrigin:oe.value,absoluteOffset:c,fit:t.fit,cover:t.cover,maxHeight:t.maxHeight,maxWidth:t.maxWidth})}function Ee(){return A(e,T.value,()=>_.value===!0?A(`div`,{role:`menu`,...o,ref:g,tabindex:-1,class:[`q-menu q-position-engine scroll`+H.value,o.class],style:[o.style,O.value],...pe.value},i(n.default)):null)}return v(be),Object.assign(m,{focus:ge,updatePosition:q}),I}}),J=1e3,Fe=[`start`,`center`,`end`,`start-force`,`center-force`,`end-force`],Ie=Array.prototype.filter,Y=window.getComputedStyle(document.body).overflowAnchor===void 0?n: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||[];Ie.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 X(e,t){return e+t}function Z(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=(Ee===!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 Le(e,t,n,r){t===`end`&&(t=(e===window?document.body:e)[n===!0?`scrollWidth`:`scrollHeight`]),e===window?n===!0?(r===!0&&(t=(Ee===!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=(Ee===!0?e.scrollWidth-e.offsetWidth:0)-t),e.scrollLeft=t):e.scrollTop=t}function Re(e,t,n,r){if(n>=r)return 0;let i=t.length,a=Math.floor(n/J),o=Math.floor((r-1)/J)+1,s=e.slice(a,o).reduce(X,0);return n%J!==0&&(s-=t.slice(a*J,n).reduce(X,0)),r%J!==0&&r!==i&&(s-=t.slice(r,o*J).reduce(X,0)),s}var ze={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 Be({virtualScrollLength:e,getVirtualScrollTarget:t,getVirtualScrollEl:n,virtualScrollItemSizeComputed:i}){let{props:s,emit:c,proxy:u}=ee(),{$q:d}=u,f,p,m,h=[],_,y=r(0),b=r(0),x=r({}),S=r(null),C=r(null),w=r(null),T=r({from:0,to:0}),D=E(()=>s.tableColspan===void 0?100:s.tableColspan);i===void 0&&(i=E(()=>s.virtualScrollItemSize));let O=E(()=>i.value+`;`+s.virtualScrollHorizontal);l(E(()=>O.value+`;`+s.virtualScrollSliceRatioBefore+`;`+s.virtualScrollSliceRatioAfter),()=>{R()}),l(O,ne);function ne(){L(p,!0)}function k(e){L(e===void 0?p:e)}function j(r,i){let a=t();if(a==null||a.nodeType===8)return;let o=Z(a,n(),S.value,C.value,s.virtualScrollHorizontal,d.lang.rtl,s.virtualScrollStickySizeStart,s.virtualScrollStickySizeEnd);m!==o.scrollViewSize&&R(o.scrollViewSize),P(a,o,Math.min(e.value-1,Math.max(0,parseInt(r,10)||0)),0,Fe.indexOf(i)===-1?p!==-1&&r>p?`end`:`start`:i)}function N(){let r=t();if(r==null||r.nodeType===8)return;let i=Z(r,n(),S.value,C.value,s.virtualScrollHorizontal,d.lang.rtl,s.virtualScrollStickySizeStart,s.virtualScrollStickySizeEnd),a=e.value-1,o=i.scrollMaxSize-i.offsetStart-i.offsetEnd-b.value;if(f===i.scrollStart)return;if(i.scrollMaxSize<=0){P(r,i,0,0);return}m!==i.scrollViewSize&&R(i.scrollViewSize),F(T.value.from);let c=Math.floor(i.scrollMaxSize-Math.max(i.scrollViewSize,i.offsetEnd)-Math.min(_[a],i.scrollViewSize/2));if(c>0&&Math.ceil(i.scrollStart)>=c){P(r,i,a,i.scrollMaxSize-i.offsetEnd-h.reduce(X,0));return}let l=0,u=i.scrollStart-i.offsetStart,p=u;if(u<=o&&u+i.scrollViewSize>=y.value)u-=y.value,l=T.value.from,p=u;else for(let e=0;u>=h[e]&&l<a;e++)u-=h[e],l+=J;for(;u>0&&l<a;)u-=_[l],u>-i.scrollViewSize?(l++,p=u):p=_[l]+u;P(r,i,l,p)}function P(t,n,r,i,a){let o=typeof a==`string`&&a.indexOf(`-force`)!==-1,c=o===!0?a.replace(`-force`,``):a,l=c===void 0?`start`:c,u=Math.max(0,r-x.value[l]),p=u+x.value.total;p>e.value&&(p=e.value,u=Math.max(0,p-x.value.total)),f=n.scrollStart;let m=u!==T.value.from||p!==T.value.to;if(m===!1&&c===void 0){z(r);return}let{activeElement:g}=document,v=w.value;m===!0&&v!==null&&v!==g&&v.contains(g)===!0&&(v.addEventListener(`focusout`,I),setTimeout(()=>{v?.removeEventListener(`focusout`,I)})),Y(v,r-u);let S=c===void 0?0:_.slice(u,r).reduce(X,0);if(m===!0){let t=p>=T.value.from&&u<=T.value.to?T.value.to:p;T.value={from:u,to:t},y.value=Re(h,_,0,u),b.value=Re(h,_,p,e.value),requestAnimationFrame(()=>{T.value.to!==p&&f===n.scrollStart&&(T.value={from:T.value.from,to:p},b.value=Re(h,_,p,e.value))})}requestAnimationFrame(()=>{if(f!==n.scrollStart)return;m===!0&&F(u);let e=_.slice(u,r).reduce(X,0),a=e+n.offsetStart+y.value,l=a+_[r],p=a+i;if(c!==void 0){let t=e-S,i=n.scrollStart+t;p=o!==!0&&i<a&&l<i+n.scrollViewSize?i:c===`end`?l-n.scrollViewSize:a-(c===`start`?0:Math.round((n.scrollViewSize-_[r])/2))}f=p,Le(t,p,s.virtualScrollHorizontal,d.lang.rtl),z(r)})}function F(e){let t=w.value;if(t){let n=Ie.call(t.children,e=>e.classList&&e.classList.contains(`q-virtual-scroll--skip`)===!1),r=n.length,i=s.virtualScrollHorizontal===!0?e=>e.getBoundingClientRect().width:e=>e.offsetHeight,a=e,o,c;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++;c=o-_[a],c!==0&&(_[a]+=c,h[Math.floor(a/J)]+=c),a++}}}function I(){w.value?.focus()}function L(t,n){let r=Number(i.value);(n===!0||Array.isArray(_)===!1)&&(_=[]);let a=_.length;_.length=e.value;for(let t=e.value-1;t>=a;t--)_[t]=r;let o=Math.floor((e.value-1)/J);h=[];for(let t=0;t<=o;t++){let n=0,r=Math.min((t+1)*J,e.value);for(let e=t*J;e<r;e++)n+=_[e];h.push(n)}p=-1,f=void 0,y.value=Re(h,_,0,T.value.from),b.value=Re(h,_,T.value.to,e.value),t>=0?(F(T.value.from),g(()=>{j(t)})):B()}function R(e){if(e===void 0&&typeof window<`u`){let r=t();r!=null&&r.nodeType!==8&&(e=Z(r,n(),S.value,C.value,s.virtualScrollHorizontal,d.lang.rtl,s.virtualScrollStickySizeStart,s.virtualScrollStickySizeEnd).scrollViewSize)}m=e;let r=parseFloat(s.virtualScrollSliceRatioBefore)||0,a=parseFloat(s.virtualScrollSliceRatioAfter)||0,o=1+r+a,c=e===void 0||e<=0?1:Math.ceil(e/i.value),l=Math.max(1,c,Math.ceil((s.virtualScrollSliceSize>0?s.virtualScrollSliceSize:10)/o));x.value={total:Math.ceil(l*o),start:Math.ceil(l*r),center:Math.ceil(l*(.5+r)),end:Math.ceil(l*(1+r)),view:c}}function re(e,t){let n=s.virtualScrollHorizontal===!0?`width`:`height`,r={[`--q-virtual-scroll-item-`+n]:i.value+`px`};return[e===`tbody`?A(e,{class:`q-virtual-scroll__padding`,key:`before`,ref:S},[A(`tr`,[A(`td`,{style:{[n]:`${y.value}px`,...r},colspan:D.value})])]):A(e,{class:`q-virtual-scroll__padding`,key:`before`,ref:S,style:{[n]:`${y.value}px`,...r}}),A(e,{class:`q-virtual-scroll__content`,key:`content`,ref:w,tabindex:-1},t.flat()),e===`tbody`?A(e,{class:`q-virtual-scroll__padding`,key:`after`,ref:C},[A(`tr`,[A(`td`,{style:{[n]:`${b.value}px`,...r},colspan:D.value})])]):A(e,{class:`q-virtual-scroll__padding`,key:`after`,ref:C,style:{[n]:`${b.value}px`,...r}})]}function z(e){p!==e&&(s.onVirtualScroll!==void 0&&c(`virtualScroll`,{index:e,from:T.value.from,to:T.value.to-1,direction:e<p?`decrease`:`increase`,ref:u}),p=e)}R();let B=M(N,d.platform.is.ios===!0?120:35);te(()=>{R()});let V=!1;return o(()=>{V=!0}),a(()=>{if(V!==!0)return;let e=t();f!==void 0&&e!=null&&e.nodeType!==8?Le(e,f,s.virtualScrollHorizontal,d.lang.rtl):j(p)}),v(()=>{B.cancel()}),Object.assign(u,{scrollTo:j,reset:ne,refresh:k}),{virtualScrollSliceRange:T,virtualScrollSliceSizeComputed:x,setVirtualScrollSize:R,onVirtualScrollEvt:B,localResetVirtualScroll:L,padVirtualScroll:re,scrollTo:j,reset:ne,refresh:k}}var Ve=e=>[`add`,`add-unique`,`toggle`].includes(e),He=".*+?^${}()|[]\\",Ue=Object.keys(K);function We(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 Ge=f({name:`QSelect`,inheritAttrs:!1,props:{...ze,...q,...K,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:Ve},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:ze.virtualScrollItemSize.type,onNewValue:Function,onFilter:Function},emits:[...Se,`add`,`remove`,`inputValue`,`keyup`,`keypress`,`keydown`,`popupShow`,`popupHide`,`filterAbort`],setup(e,{slots:n,emit:i}){let{proxy:a}=ee(),{$q:o}=a,s=r(!1),f=r(!1),h=r(-1),_=r(``),y=r(!1),x=r(!1),S=null,C=null,w,T,D,O=null,te,j,M,P,F=r(null),I=r(null),L=r(null),R=r(null),re=r(null),z=be(e),B=we(ct),V=E(()=>Array.isArray(e.options)?e.options.length:0),{virtualScrollSliceRange:ie,virtualScrollSliceSizeComputed:ae,localResetVirtualScroll:oe,padVirtualScroll:se,onVirtualScrollEvt:ce,scrollTo:le,setVirtualScrollSize:ue}=Be({virtualScrollLength:V,getVirtualScrollTarget:it,getVirtualScrollEl:rt,virtualScrollItemSizeComputed:E(()=>e.virtualScrollItemSize===void 0?e.optionsDense===!0?24:48:e.virtualScrollItemSize)}),H=ve(),U=E(()=>{let t=e.mapOptions===!0&&e.multiple!==!0,n=e.modelValue!==void 0&&(e.modelValue!==null||t===!0)?e.multiple===!0&&Array.isArray(e.modelValue)?e.modelValue:[e.modelValue]:[];if(e.mapOptions===!0&&Array.isArray(e.options)===!0){let r=e.mapOptions===!0&&w!==void 0?w:[],i=n.map(e=>Xe(e,r));return e.modelValue===null&&t===!0?i.filter(e=>e!==null):i}return n}),de=E(()=>{let t={};return Ue.forEach(n=>{let r=e[n];r!==void 0&&(t[n]=r)}),t}),fe=E(()=>e.optionsDark===null?H.isDark.value:e.optionsDark),pe=E(()=>ge(U.value)),me=E(()=>{let t=`q-field__input q-placeholder col`;return e.hideSelected===!0||U.value.length===0?[t,e.inputClass]:(t+=` q-field__input--padding`,e.inputClass===void 0?t:[t,e.inputClass])}),W=E(()=>(e.virtualScrollHorizontal===!0?`q-virtual-scroll--horizontal`:``)+(e.popupContentClass?` `+e.popupContentClass:``)),G=E(()=>V.value===0),he=E(()=>U.value.map(e=>X.value(e)).join(`, `)),ye=E(()=>e.displayValue===void 0?he.value:e.displayValue),K=E(()=>e.optionsHtml===!0?()=>!0:e=>e?.html===!0),xe=E(()=>e.displayValueHtml===!0||e.displayValue===void 0&&(e.optionsHtml===!0||U.value.some(K.value))),Se=E(()=>H.focused.value===!0?e.tabindex:-1),Ce=E(()=>{let t={tabindex:e.tabindex,role:`combobox`,"aria-label":e.label,"aria-readonly":e.readonly===!0?`true`:`false`,"aria-autocomplete":e.useInput===!0?`list`:`none`,"aria-expanded":s.value===!0?`true`:`false`,"aria-controls":`${H.targetUid.value}_lb`};return h.value>=0&&(t[`aria-activedescendant`]=`${H.targetUid.value}_${h.value}`),t}),q=E(()=>({id:`${H.targetUid.value}_lb`,role:`listbox`,"aria-multiselectable":e.multiple===!0?`true`:`false`})),Ee=E(()=>U.value.map((e,t)=>({index:t,opt:e,html:K.value(e),selected:!0,removeAtIndex:Ke,toggleOption:Q,tabindex:Se.value}))),Me=E(()=>{if(V.value===0)return[];let{from:t,to:n}=ie.value;return e.options.slice(t,n).map((n,r)=>{let i=Z.value(n)===!0,a=Ze(n)===!0,c=t+r,l={clickable:!0,active:a,activeClass:Ie.value,manualFocus:!0,focused:!1,disable:i,tabindex:-1,dense:e.optionsDense,dark:fe.value,role:`option`,"aria-selected":a===!0?`true`:`false`,id:`${H.targetUid.value}_${c}`,onClick:()=>{Q(n)}};return i!==!0&&(h.value===c&&(l.focused=!0),o.platform.is.desktop===!0&&(l.onMousemove=()=>{s.value===!0&&Je(c)})),{index:c,opt:n,html:K.value(n),label:X.value(n),selected:l.active,focused:l.focused,toggleOption:Q,setOptionIndex:Je,itemProps:l}})}),J=E(()=>e.dropdownIcon===void 0?o.iconSet.arrow.dropdown:e.dropdownIcon),Fe=E(()=>e.optionsCover===!1&&e.outlined!==!0&&e.standout!==!0&&e.borderless!==!0&&e.rounded!==!0),Ie=E(()=>e.optionsSelectedClass===void 0?e.color===void 0?``:`text-${e.color}`:e.optionsSelectedClass),Y=E(()=>We(e.optionValue,`value`)),X=E(()=>We(e.optionLabel,`label`)),Z=E(()=>We(e.optionDisable,`disable`)),Le=E(()=>U.value.map(Y.value)),Re=E(()=>{let e={onInput:ct,onChange:B,onKeydown:nt,onKeyup:et,onKeypress:tt,onFocus:Qe,onClick(e){T===!0&&b(e)}};return e.onCompositionstart=e.onCompositionupdate=e.onCompositionend=B,e});l(U,t=>{w=t,e.useInput===!0&&e.fillInput===!0&&e.multiple!==!0&&H.innerLoading.value!==!0&&(f.value!==!0&&s.value!==!0||pe.value!==!0)&&(D!==!0&&Ct(),(f.value===!0||s.value===!0)&&dt(``))},{immediate:!0}),l(()=>e.fillInput,Ct),l(s,wt),l(V,Tt);function ze(t){return e.emitValue===!0?Y.value(t):t}function Ge(t){if(t!==-1&&t<U.value.length)if(e.multiple===!0){let n=e.modelValue.slice();i(`remove`,{index:t,value:n.splice(t,1)[0]}),i(`update:modelValue`,n)}else i(`update:modelValue`,null)}function Ke(e){Ge(e),H.focus()}function qe(t,n){let r=ze(t);if(e.multiple!==!0){e.fillInput===!0&&ut(X.value(t),!0,!0),i(`update:modelValue`,r);return}if(U.value.length===0){i(`add`,{index:0,value:r}),i(`update:modelValue`,e.multiple===!0?[r]:r);return}if(n===!0&&Ze(t)===!0||e.maxValues!==void 0&&e.modelValue.length>=e.maxValues)return;let a=e.modelValue.slice();i(`add`,{index:a.length,value:r}),a.push(r),i(`update:modelValue`,a)}function Q(t,n){if(H.editable.value!==!0||t===void 0||Z.value(t)===!0)return;let r=Y.value(t);if(e.multiple!==!0){n!==!0&&(ut(e.fillInput===!0?X.value(t):``,!0,!0),$()),I.value?.focus(),(U.value.length===0||N(Y.value(U.value[0]),r)!==!0)&&i(`update:modelValue`,e.emitValue===!0?r:t);return}if((T!==!0||y.value===!0)&&H.focus(),Qe(),U.value.length===0){let n=e.emitValue===!0?r:t;i(`add`,{index:0,value:n}),i(`update:modelValue`,e.multiple===!0?[n]:n);return}let a=e.modelValue.slice(),o=Le.value.findIndex(e=>N(e,r));if(o!==-1)i(`remove`,{index:o,value:a.splice(o,1)[0]});else{if(e.maxValues!==void 0&&a.length>=e.maxValues)return;let n=e.emitValue===!0?r:t;i(`add`,{index:a.length,value:n}),a.push(n)}i(`update:modelValue`,a)}function Je(e){if(o.platform.is.desktop!==!0)return;let t=e!==-1&&e<V.value?e:-1;h.value!==t&&(h.value=t)}function Ye(t=1,n){if(s.value===!0){let r=h.value;do r=De(r+t,-1,V.value-1);while(r!==-1&&r!==h.value&&Z.value(e.options[r])===!0);h.value!==r&&(Je(r),le(r),n!==!0&&e.useInput===!0&&e.fillInput===!0&&lt(r>=0?X.value(e.options[r]):te,!0))}}function Xe(t,n){let r=e=>N(Y.value(e),t);return e.options.find(r)||n.find(r)||t}function Ze(e){let t=Y.value(e);return Le.value.find(e=>N(e,t))!==void 0}function Qe(t){e.useInput===!0&&I.value!==null&&(t===void 0||I.value===t.target&&t.target.value===he.value)&&I.value.select()}function $e(e){p(e,27)===!0&&s.value===!0&&(b(e),$(),Ct()),i(`keyup`,e)}function et(t){let{value:n}=t.target;if(t.keyCode!==void 0){$e(t);return}if(t.target.value=``,S!==null&&(clearTimeout(S),S=null),C!==null&&(clearTimeout(C),C=null),Ct(),typeof n==`string`&&n.length!==0){let t=n.toLocaleLowerCase(),r=n=>{let r=e.options.find(e=>String(n.value(e)).toLocaleLowerCase()===t);return r===void 0?!1:(U.value.indexOf(r)===-1?Q(r):$(),!0)},i=e=>{r(Y)!==!0&&e!==!0&&r(X)!==!0&&dt(n,!0,()=>i(!0))};i()}else H.clearValue(t)}function tt(e){i(`keypress`,e)}function nt(t){if(i(`keydown`,t),m(t)===!0)return;let n=_.value.length!==0&&(e.newValueMode!==void 0||e.onNewValue!==void 0),r=t.shiftKey!==!0&&e.disableTabSelection!==!0&&e.multiple!==!0&&(h.value!==-1||n===!0);if(t.keyCode===27){d(t);return}if(t.keyCode===9&&r===!1){xt();return}if(t.target===void 0||t.target.id!==H.targetUid.value||H.editable.value!==!0)return;if(t.keyCode===40&&H.innerLoading.value!==!0&&s.value===!1){u(t),St();return}if(t.keyCode===8&&(e.useChips===!0||e.clearable===!0)&&e.hideSelected!==!0&&_.value.length===0){e.multiple===!0&&Array.isArray(e.modelValue)===!0?Ge(e.modelValue.length-1):e.multiple!==!0&&e.modelValue!==null&&i(`update:modelValue`,null);return}(t.keyCode===35||t.keyCode===36)&&(typeof _.value!=`string`||_.value.length===0)&&(u(t),h.value=-1,Ye(t.keyCode===36?1:-1,e.multiple)),(t.keyCode===33||t.keyCode===34)&&ae.value!==void 0&&(u(t),h.value=Math.max(-1,Math.min(V.value,h.value+(t.keyCode===33?-1:1)*ae.value.view)),Ye(t.keyCode===33?1:-1,e.multiple)),(t.keyCode===38||t.keyCode===40)&&(u(t),Ye(t.keyCode===38?-1:1,e.multiple));let a=V.value;if((M===void 0||P<Date.now())&&(M=``),a>0&&e.useInput!==!0&&t.key!==void 0&&t.key.length===1&&t.altKey===!1&&t.ctrlKey===!1&&t.metaKey===!1&&(t.keyCode!==32||M.length!==0)){s.value!==!0&&St(t);let n=t.key.toLocaleLowerCase(),r=M.length===1&&M[0]===n;P=Date.now()+1500,r===!1&&(u(t),M+=n);let i=RegExp(`^`+M.split(``).map(e=>He.indexOf(e)===-1?e:`\\`+e).join(`.*`),`i`),o=h.value;if(r===!0||o<0||i.test(X.value(e.options[o]))!==!0)do o=De(o+1,-1,a-1);while(o!==h.value&&(Z.value(e.options[o])===!0||i.test(X.value(e.options[o]))!==!0));h.value!==o&&g(()=>{Je(o),le(o),o>=0&&e.useInput===!0&&e.fillInput===!0&&lt(X.value(e.options[o]),!0)});return}if(!(t.keyCode!==13&&(t.keyCode!==32||e.useInput===!0||M!==``)&&(t.keyCode!==9||r===!1))){if(t.keyCode!==9&&u(t),h.value!==-1&&h.value<a){Q(e.options[h.value]);return}if(n===!0){let t=(t,n)=>{if(n){if(Ve(n)!==!0)return}else n=e.newValueMode;ut(``,e.multiple!==!0,!0),t!=null&&((n===`toggle`?Q:qe)(t,n===`add-unique`),e.multiple!==!0&&(I.value?.focus(),$()))};if(e.onNewValue===void 0?t(_.value):i(`newValue`,_.value,t),e.multiple!==!0)return}s.value===!0?xt():H.innerLoading.value!==!0&&St()}}function rt(){return T===!0?re.value:L.value!==null&&L.value.contentEl!==null?L.value.contentEl:void 0}function it(){return rt()}function at(){return e.hideSelected===!0?[]:n[`selected-item`]===void 0?n.selected===void 0?e.useChips===!0?Ee.value.map((t,n)=>A(Ne,{key:`option-`+n,removable:H.editable.value===!0&&Z.value(t.opt)!==!0,dense:!0,textColor:e.color,tabindex:Se.value,onRemove(){t.removeAtIndex(n)}},()=>A(`span`,{class:`ellipsis`,[t.html===!0?`innerHTML`:`textContent`]:X.value(t.opt)}))):[A(`span`,{class:`ellipsis`,[xe.value===!0?`innerHTML`:`textContent`]:ye.value})]:[].concat(n.selected()):Ee.value.map(e=>n[`selected-item`](e)).slice()}function ot(){if(G.value===!0)return n[`no-option`]===void 0?void 0:n[`no-option`]({inputValue:_.value});let e=n.option===void 0?e=>A(Oe,{key:e.index,...e.itemProps},()=>A(ke,()=>A(Ae,()=>A(`span`,{[e.html===!0?`innerHTML`:`textContent`]:e.label})))):n.option,t=se(`div`,Me.value.map(e));return n[`before-options`]!==void 0&&(t=n[`before-options`]().concat(t)),ne(n[`after-options`],t)}function st(t,n){let r=n===!0?{...Ce.value,...H.splitAttrs.attributes.value}:void 0,i={ref:n===!0?I:void 0,key:`i_t`,class:me.value,style:e.inputStyle,value:_.value===void 0?``:_.value,type:`search`,...r,id:n===!0?H.targetUid.value:void 0,maxlength:e.maxlength,autocomplete:e.autocomplete,"data-autofocus":t===!0||e.autofocus===!0||void 0,disabled:e.disable===!0,readonly:e.readonly===!0,...Re.value};return t!==!0&&T===!0&&(Array.isArray(i.class)===!0?i.class=[...i.class,`no-pointer-events`]:i.class+=` no-pointer-events`),A(`input`,i)}function ct(t){S!==null&&(clearTimeout(S),S=null),C!==null&&(clearTimeout(C),C=null),!(t&&t.target&&t.target.qComposing===!0)&&(lt(t.target.value||``),D=!0,te=_.value,H.focused.value!==!0&&(T!==!0||y.value===!0)&&H.focus(),e.onFilter!==void 0&&(S=setTimeout(()=>{S=null,dt(_.value)},e.inputDebounce)))}function lt(t,n){_.value!==t&&(_.value=t,n===!0||e.inputDebounce===0||e.inputDebounce===`0`?i(`inputValue`,t):C=setTimeout(()=>{C=null,i(`inputValue`,t)},e.inputDebounce))}function ut(t,n,r){D=r!==!0,e.useInput===!0&&(lt(t,!0),(n===!0||r!==!0)&&(te=t),n!==!0&&dt(t))}function dt(t,n,r){if(e.onFilter===void 0||n!==!0&&H.focused.value!==!0)return;H.innerLoading.value===!0?i(`filterAbort`):(H.innerLoading.value=!0,x.value=!0),t!==``&&e.multiple!==!0&&U.value.length!==0&&D!==!0&&t===X.value(U.value[0])&&(t=``);let o=setTimeout(()=>{s.value===!0&&(s.value=!1)},10);O!==null&&clearTimeout(O),O=o,i(`filter`,t,(e,t)=>{(n===!0||H.focused.value===!0)&&O===o&&(clearTimeout(O),typeof e==`function`&&e(),x.value=!1,g(()=>{H.innerLoading.value=!1,H.editable.value===!0&&(n===!0?s.value===!0&&$():s.value===!0?wt(!0):s.value=!0),typeof t==`function`&&g(()=>{t(a)}),typeof r==`function`&&g(()=>{r(a)})}))},()=>{H.focused.value===!0&&O===o&&(clearTimeout(O),H.innerLoading.value=!1,x.value=!1),s.value===!0&&(s.value=!1)})}function ft(){return A(Pe,{ref:L,class:W.value,style:e.popupContentStyle,modelValue:s.value,fit:e.menuShrink!==!0,cover:e.optionsCover===!0&&G.value!==!0&&e.useInput!==!0,anchor:e.menuAnchor,self:e.menuSelf,offset:e.menuOffset,dark:fe.value,noParentEvent:!0,noRefocus:!0,noFocus:!0,noRouteDismiss:e.popupNoRouteDismiss,square:Fe.value,transitionShow:e.transitionShow,transitionHide:e.transitionHide,transitionDuration:e.transitionDuration,separateClosePopup:!0,...q.value,onScrollPassive:ce,onBeforeShow:Dt,onBeforeHide:pt,onShow:mt},ot)}function pt(e){Ot(e),xt()}function mt(){ue()}function ht(e){b(e),I.value?.focus(),y.value=!0,window.scrollTo(window.pageXOffset||window.scrollX||document.body.scrollLeft||0,0)}function gt(e){b(e),g(()=>{y.value=!1})}function _t(){let t=[A(je,{class:`col-auto ${H.fieldClass.value}`,...de.value,for:H.targetUid.value,dark:fe.value,square:!0,loading:x.value,itemAligned:!1,filled:!0,stackLabel:_.value.length!==0,...H.splitAttrs.listeners.value,onFocus:ht,onBlur:gt},{...n,rawControl:()=>H.getControl(!0),before:void 0,after:void 0})];return s.value===!0&&t.push(A(`div`,{ref:re,class:W.value+` scroll`,style:e.popupContentStyle,...q.value,onClick:d,onScrollPassive:ce},ot())),A(Te,{ref:R,modelValue:f.value,position:e.useInput===!0?`top`:void 0,transitionShow:j,transitionHide:e.transitionHide,transitionDuration:e.transitionDuration,noRouteDismiss:e.popupNoRouteDismiss,onBeforeShow:Dt,onBeforeHide:vt,onHide:yt,onShow:bt},()=>A(`div`,{class:`q-select__dialog`+(fe.value===!0?` q-select__dialog--dark q-dark`:``)+(y.value===!0?` q-select__dialog--focused`:``)},t))}function vt(e){Ot(e),R.value!==null&&R.value.__updateRefocusTarget(H.rootRef.value.querySelector(`.q-field__native > [tabindex]:last-child`)),H.focused.value=!1}function yt(e){$(),H.focused.value===!1&&i(`blur`,e),Ct()}function bt(){let e=document.activeElement;(e===null||e.id!==H.targetUid.value)&&I.value!==null&&I.value!==e&&I.value.focus(),ue()}function xt(){f.value!==!0&&(h.value=-1,s.value===!0&&(s.value=!1),H.focused.value===!1&&(O!==null&&(clearTimeout(O),O=null),H.innerLoading.value===!0&&(i(`filterAbort`),H.innerLoading.value=!1,x.value=!1)))}function St(t){H.editable.value===!0&&(T===!0?(H.onControlFocusin(t),f.value=!0,g(()=>{H.focus()})):H.focus(),e.onFilter===void 0?(G.value!==!0||n[`no-option`]!==void 0)&&(s.value=!0):dt(_.value))}function $(){f.value=!1,xt()}function Ct(){e.useInput===!0&&ut(e.multiple!==!0&&e.fillInput===!0&&U.value.length!==0&&X.value(U.value[0])||``,!0,!0)}function wt(t){let n=-1;if(t===!0){if(U.value.length!==0){let t=Y.value(U.value[0]);n=e.options.findIndex(e=>N(Y.value(e),t))}oe(n)}Je(n)}function Tt(e,t){s.value===!0&&H.innerLoading.value===!1&&(oe(-1,!0),g(()=>{s.value===!0&&H.innerLoading.value===!1&&(e>t?oe():wt(!0))}))}function Et(){f.value===!1&&L.value!==null&&L.value.updatePosition()}function Dt(e){e!==void 0&&b(e),i(`popupShow`,e),H.hasPopupOpen=!0,H.onControlFocusin(e)}function Ot(e){e!==void 0&&b(e),i(`popupHide`,e),H.hasPopupOpen=!1,H.onControlFocusout(e)}function kt(){T=o.platform.is.mobile!==!0&&e.behavior!==`dialog`?!1:e.behavior!==`menu`&&(e.useInput===!0?n[`no-option`]!==void 0||e.onFilter!==void 0||G.value===!1:!0),j=o.platform.is.ios===!0&&T===!0&&e.useInput===!0?`fade`:e.transitionShow}return c(kt),t(Et),kt(),v(()=>{S!==null&&clearTimeout(S),C!==null&&clearTimeout(C)}),Object.assign(a,{showPopup:St,hidePopup:$,removeAtIndex:Ge,add:qe,toggleOption:Q,getOptionIndex:()=>h.value,setOptionIndex:Je,moveOptionSelection:Ye,filter:dt,updateMenuPosition:Et,updateInputValue:ut,isOptionSelected:Ze,getEmittingOptionValue:ze,isOptionDisabled:(...e)=>Z.value.apply(null,e)===!0,getOptionValue:(...e)=>Y.value.apply(null,e),getOptionLabel:(...e)=>X.value.apply(null,e)}),Object.assign(H,{innerValue:U,fieldClass:E(()=>`q-select q-field--auto-height q-select--with${e.useInput===!0?``:`out`}-input q-select--with${e.useChips===!0?``:`out`}-chips q-select--${e.multiple===!0?`multiple`:`single`}`),inputRef:F,targetRef:I,hasValue:pe,showPopup:St,floatingLabel:E(()=>e.hideSelected!==!0&&pe.value===!0||typeof _.value==`number`||_.value.length!==0||ge(e.displayValue)),getControlChild:()=>{if(H.editable.value!==!1&&(f.value===!0||G.value!==!0||n[`no-option`]!==void 0))return T===!0?_t():ft();H.hasPopupOpen===!0&&(H.hasPopupOpen=!1)},controlEvents:{onFocusin(e){H.onControlFocusin(e)},onFocusout(e){H.onControlFocusout(e,()=>{Ct(),xt()})},onClick(e){if(d(e),T!==!0&&s.value===!0){xt(),I.value?.focus();return}St(e)}},getControl:t=>{let n=at(),r=t===!0||f.value!==!0||T!==!0;if(e.useInput===!0)n.push(st(t,r));else if(H.editable.value===!0){let i=r===!0?Ce.value:void 0;n.push(A(`input`,{ref:r===!0?I:void 0,key:`d_t`,class:`q-select__focus-target`,id:r===!0?H.targetUid.value:void 0,value:ye.value,readonly:!0,"data-autofocus":t===!0||e.autofocus===!0||void 0,...i,onKeydown:nt,onKeyup:$e,onKeypress:tt})),r===!0&&typeof e.autocomplete==`string`&&e.autocomplete.length!==0&&n.push(A(`input`,{class:`q-select__autocomplete-input`,autocomplete:e.autocomplete,tabindex:-1,onKeyup:et}))}if(z.value!==void 0&&e.disable!==!0&&Le.value.length!==0){let t=Le.value.map(e=>A(`option`,{value:e,selected:!0}));n.push(A(`select`,{class:`hidden`,name:z.value,multiple:e.multiple},t))}return A(`div`,{class:`q-field__native row items-center`,...e.useInput===!0||r!==!0?void 0:H.splitAttrs.attributes.value,...H.splitAttrs.listeners.value},n)},getInnerAppend:()=>e.loading!==!0&&x.value!==!0&&e.hideDropdownIcon!==!0?[A(k,{class:`q-select__dropdown-icon`+(s.value===!0?` rotate-180`:``),name:J.value})]:null}),_e(H)}}),Ke=f({name:`QPage`,props:{padding:Boolean,styleFn:Function},setup(e,{slots:t}){let{proxy:{$q:n}}=ee(),r=C(j,P);if(r===P)return console.error(`QPage needs to be a deep child of QLayout`),P;if(C(`_q_pc_`,P)===P)return console.error(`QPage needs to be child of QPageContainer`),P;let a=E(()=>{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`}}),o=E(()=>`q-page${e.padding===!0?` q-layout-padding`:``}`);return()=>A(`main`,{class:o.value,style:a.value},i(t.default))}});export{Oe as a,ke as i,Ge as n,Ae as r,Ke as t};
@@ -0,0 +1 @@
1
+ import{K as e,_ as t,v as n,yt as r}from"./nodes-DeIen-kp.js";var i=`<circle cx="15" cy="15" r="15"><animate attributeName="r" from="15" to="15" begin="0s" dur="0.8s" values="15;9;15" calcMode="linear" repeatCount="indefinite"></animate><animate attributeName="fill-opacity" from="1" to="1" begin="0s" dur="0.8s" values="1;.5;1" calcMode="linear" repeatCount="indefinite"></animate></circle><circle cx="60" cy="15" r="9" fill-opacity=".3"><animate attributeName="r" from="9" to="9" begin="0s" dur="0.8s" values="9;15;9" calcMode="linear" repeatCount="indefinite"></animate><animate attributeName="fill-opacity" from=".5" to=".5" begin="0s" dur="0.8s" values=".5;1;.5" calcMode="linear" repeatCount="indefinite"></animate></circle><circle cx="105" cy="15" r="15"><animate attributeName="r" from="15" to="15" begin="0s" dur="0.8s" values="15;9;15" calcMode="linear" repeatCount="indefinite"></animate><animate attributeName="fill-opacity" from="1" to="1" begin="0s" dur="0.8s" values="1;.5;1" calcMode="linear" repeatCount="indefinite"></animate></circle>`,a=e({name:`QSpinnerDots`,props:n,setup(e){let{cSize:n,classes:a}=t(e);return()=>r(`svg`,{class:a.value,fill:`currentColor`,width:n.value,height:n.value,viewBox:`0 0 120 30`,xmlns:`http://www.w3.org/2000/svg`,innerHTML:i})}});export{a as t};
@@ -0,0 +1 @@
1
+ import{$ as e,B as t,Bt as n,C as r,Ct as i,Dt as a,F as o,Ft as s,G as c,I as l,K as u,Lt as d,M as f,Mt as ee,Ot as p,P as te,R as m,St as h,Tt as g,U as _,V as v,X as y,Z as b,b as x,bt as S,f as C,lt as w,o as T,ot as E,q as D,vt as O,x as k,y as A,yt as j,z as M}from"./nodes-DeIen-kp.js";import{l as N,m as P,u as F}from"./index-CMvo3OTb.js";import{h as I,k as ne,m as L}from"./_plugin-vue_export-helper-CHpmshS7.js";import{C as re,S as ie,v as ae,y as oe}from"./QDialog-B5H6ayTp.js";var R={left:!0,right:!0,up:!0,down:!0,horizontal:!0,vertical:!0},z=Object.keys(R);R.all=!0;function B(e){let t={};for(let n of z)e[n]===!0&&(t[n]=!0);return Object.keys(t).length===0?R:(t.horizontal===!0?t.left=t.right=!0:t.left===!0&&t.right===!0&&(t.horizontal=!0),t.vertical===!0?t.up=t.down=!0:t.up===!0&&t.down===!0&&(t.vertical=!0),t.horizontal===!0&&t.vertical===!0&&(t.all=!0),t)}var V=[`INPUT`,`TEXTAREA`];function H(e,t){return t.event===void 0&&e.target!==void 0&&e.target.draggable!==!0&&typeof t.handler==`function`&&V.includes(e.target.nodeName.toUpperCase())===!1&&(e.qClonedBy===void 0||e.qClonedBy.indexOf(t.uid)===-1)}var U=0,se=[`click`,`keydown`],W={icon:String,label:[Number,String],alert:[Boolean,String],alertIcon:String,name:{type:[Number,String],default:()=>`t_${U++}`},noCaps:Boolean,tabindex:[String,Number],disable:Boolean,contentClass:String,ripple:{type:[Boolean,Object],default:!0}};function G(e,t,r,i){let a=S(P,F);if(a===F)return console.error(`QTab/QRouteTab component needs to be child of QTabs`),F;let{proxy:o}=O(),s=n(null),l=n(null),u=n(null),ee=w(()=>e.disable===!0||e.ripple===!1?!1:Object.assign({keyCodes:[13,32],early:!0},e.ripple===!0?{}:e.ripple)),m=w(()=>a.currentModel.value===e.name),h=w(()=>`q-tab relative-position self-stretch flex flex-center text-center`+(m.value===!0?` q-tab--active`+(a.tabProps.value.activeClass?` `+a.tabProps.value.activeClass:``)+(a.tabProps.value.activeColor?` text-${a.tabProps.value.activeColor}`:``)+(a.tabProps.value.activeBgColor?` bg-${a.tabProps.value.activeBgColor}`:``):` q-tab--inactive`)+(e.icon&&e.label&&a.tabProps.value.inlineLabel===!1?` q-tab--full`:``)+(e.noCaps===!0||a.tabProps.value.noCaps===!0?` q-tab--no-caps`:``)+(e.disable===!0?` disabled`:` q-focusable q-hoverable cursor-pointer`)+(i===void 0?``:i.linkClass.value)),_=w(()=>`q-tab__content self-stretch flex-center relative-position q-anchor--skip non-selectable `+(a.tabProps.value.inlineLabel===!0?`row no-wrap q-tab__content--inline`:`column`)+(e.contentClass===void 0?``:` ${e.contentClass}`)),v=w(()=>e.disable===!0||a.hasFocus.value===!0||m.value===!1&&a.hasActiveTab.value===!0?-1:e.tabindex||0);function y(t,n){if(n!==!0&&t?.qAvoidFocus!==!0&&s.value?.focus(),e.disable===!0){i?.hasRouterLink.value===!0&&c(t);return}if(i===void 0){a.updateModel({name:e.name}),r(`click`,t);return}if(i.hasRouterLink.value===!0){let n=(n={})=>{let r,o=n.to===void 0||N(n.to,e.to)===!0?a.avoidRouteWatcher=oe():null;return i.navigateToRouterLink(t,{...n,returnRouterError:!0}).catch(e=>{r=e}).then(t=>{if(o===a.avoidRouteWatcher&&(a.avoidRouteWatcher=!1,r===void 0&&(t===void 0||t.message?.startsWith(`Avoided redundant navigation`)===!0)&&a.updateModel({name:e.name})),n.returnRouterError===!0)return r===void 0?t:Promise.reject(r)})};r(`click`,t,n),t.defaultPrevented!==!0&&n();return}r(`click`,t)}function b(e){f(e,[13,32])?y(e,!0):te(e)!==!0&&e.keyCode>=35&&e.keyCode<=40&&e.altKey!==!0&&e.metaKey!==!0&&a.onKbdNavigate(e.keyCode,o.$el)===!0&&c(e),r(`keydown`,e)}function x(){let n=a.tabProps.value.narrowIndicator,r=[],i=j(`div`,{ref:u,class:[`q-tab__indicator`,a.tabProps.value.indicatorClass]});e.icon!==void 0&&r.push(j(A,{class:`q-tab__icon`,name:e.icon})),e.label!==void 0&&r.push(j(`div`,{class:`q-tab__label`},e.label)),e.alert!==!1&&r.push(e.alertIcon===void 0?j(`div`,{class:`q-tab__alert`+(e.alert===!0?``:` text-${e.alert}`)}):j(A,{class:`q-tab__alert-icon`,color:e.alert===!0?void 0:e.alert,name:e.alertIcon})),n===!0&&r.push(i);let o=[j(`div`,{class:`q-focus-helper`,tabindex:-1,ref:s}),j(`div`,{class:_.value},k(t.default,r))];return n===!1&&o.push(i),o}let T={name:w(()=>e.name),rootRef:l,tabIndicatorRef:u,routeData:i};g(()=>{a.unregisterTab(T)}),p(()=>{a.registerTab(T)});function E(t,n){return d(j(t,{ref:l,class:h.value,tabindex:v.value,role:`tab`,"aria-selected":m.value===!0?`true`:`false`,"aria-disabled":e.disable===!0?`true`:void 0,onClick:y,onKeydown:b,...n},x()),[[C,ee.value]])}return{renderTab:E,$tabs:a}}var K=u({name:`QTab`,props:W,emits:se,setup(e,{slots:t,emit:n}){let{renderTab:r}=G(e,t,n);return()=>r(`div`)}});function q(){let e=n(!b.value);return e.value===!1&&p(()=>{e.value=!0}),{isHydrated:e}}var J=typeof ResizeObserver<`u`,Y=J===!0?{}:{style:`display:block;position:absolute;top:0;left:0;right:0;bottom:0;height:100%;width:100%;overflow:hidden;pointer-events:none;z-index:-1;`,url:`about:blank`},ce=u({name:`QResizeObserver`,props:{debounce:{type:[String,Number],default:100}},emits:[`resize`],setup(e,{emit:n}){let r=null,i,a={width:-1,height:-1};function o(t){t===!0||e.debounce===0||e.debounce===`0`?s():r===null&&(r=setTimeout(s,e.debounce))}function s(){if(r!==null&&(clearTimeout(r),r=null),i){let{offsetWidth:e,offsetHeight:t}=i;(e!==a.width||t!==a.height)&&(a={width:e,height:t},n(`resize`,a))}}let{proxy:c}=O();if(c.trigger=o,J===!0){let e,n=t=>{i=c.$el.parentNode,i?(e=new ResizeObserver(o),e.observe(i),s()):t!==!0&&h(()=>{n(!0)})};return p(()=>{n()}),g(()=>{r!==null&&clearTimeout(r),e!==void 0&&(e.disconnect===void 0?i&&e.unobserve(i):e.disconnect())}),t}else{let{isHydrated:e}=q(),t;function n(){r!==null&&(clearTimeout(r),r=null),t!==void 0&&(t.removeEventListener!==void 0&&t.removeEventListener(`resize`,o,M.passive),t=void 0)}function a(){n(),i?.contentDocument&&(t=i.contentDocument.defaultView,t.addEventListener(`resize`,o,M.passive),s())}return p(()=>{h(()=>{i=c.$el,i&&a()})}),g(n),()=>{if(e.value===!0)return j(`object`,{class:`q--avoid-card-border`,style:Y.style,tabindex:-1,type:`text/html`,data:Y.url,"aria-hidden":`true`,onLoad:a})}}}});function le(e,t,n){let r=n===!0?[`left`,`right`]:[`top`,`bottom`];return`absolute-${t===!0?r[0]:r[1]}${e?` text-${e}`:``}`}var ue=[`left`,`center`,`right`,`justify`],de=u({name:`QTabs`,props:{modelValue:[Number,String],align:{type:String,default:`center`,validator:e=>ue.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(e,{slots:t,emit:o}){let{proxy:c}=O(),{$q:l}=c,{registerTick:u}=I(),{registerTick:d}=I(),{registerTick:f}=I(),{registerTimeout:p,removeTimeout:te}=L(),{registerTimeout:m,removeTimeout:h}=L(),_=n(null),v=n(null),y=n(e.modelValue),b=n(!1),x=n(!0),S=n(!1),C=n(!1),T=[],E=n(0),D=n(!1),k=null,M=null,N,F=w(()=>({activeClass:e.activeClass,activeColor:e.activeColor,activeBgColor:e.activeBgColor,indicatorClass:le(e.indicatorColor,e.switchIndicator,e.vertical),narrowIndicator:e.narrowIndicator,inlineLabel:e.inlineLabel,noCaps:e.noCaps})),ne=w(()=>{let e=E.value,t=y.value;for(let n=0;n<e;n++)if(T[n].name.value===t)return!0;return!1}),re=w(()=>`q-tabs__content--align-${b.value===!0?`left`:C.value===!0?`justify`:e.align}`),ie=w(()=>`q-tabs row no-wrap items-center q-tabs--${b.value===!0?``:`not-`}scrollable q-tabs--${e.vertical===!0?`vertical`:`horizontal`} q-tabs__arrows--${e.outsideArrows===!0?`outside`:`inside`} q-tabs--mobile-with${e.mobileArrows===!0?``:`out`}-arrows`+(e.dense===!0?` q-tabs--dense`:``)+(e.shrink===!0?` col-shrink`:``)+(e.stretch===!0?` self-stretch`:``)),oe=w(()=>`q-tabs__content scroll--mobile row no-wrap items-center self-stretch hide-scrollbar relative-position `+re.value+(e.contentClass===void 0?``:` ${e.contentClass}`)),R=w(()=>e.vertical===!0?{container:`height`,content:`offsetHeight`,scroll:`scrollHeight`}:{container:`width`,content:`offsetWidth`,scroll:`scrollWidth`}),z=w(()=>e.vertical!==!0&&l.lang.rtl===!0),B=w(()=>ae===!1&&z.value===!0);s(z,G),s(()=>e.modelValue,e=>{V({name:e,setCurrent:!0,skipEmit:!0})}),s(()=>e.outsideArrows,H);function V({name:t,setCurrent:n,skipEmit:r}){y.value!==t&&(r!==!0&&e[`onUpdate:modelValue`]!==void 0&&o(`update:modelValue`,t),(n===!0||e[`onUpdate:modelValue`]===void 0)&&(se(y.value,t),y.value=t))}function H(){u(()=>{_.value&&U({width:_.value.offsetWidth,height:_.value.offsetHeight})})}function U(t){if(R.value===void 0||v.value===null)return;let n=t[R.value.container],r=Math.min(v.value[R.value.scroll],Array.prototype.reduce.call(v.value.children,(e,t)=>e+(t[R.value.content]||0),0)),i=n>0&&r>n;b.value=i,i===!0&&d(G),C.value=n<parseInt(e.breakpoint,10)}function se(t,n){let r=t!=null&&t!==``?T.find(e=>e.name.value===t):null,i=n!=null&&n!==``?T.find(e=>e.name.value===n):null;if($===!0)$=!1;else if(r&&i){let t=r.tabIndicatorRef.value,n=i.tabIndicatorRef.value;k!==null&&(clearTimeout(k),k=null),t.style.transition=`none`,t.style.transform=`none`,n.style.transition=`none`,n.style.transform=`none`;let a=t.getBoundingClientRect(),o=n.getBoundingClientRect();n.style.transform=e.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)`,f(()=>{k=setTimeout(()=>{k=null,n.style.transition=`transform .25s cubic-bezier(.4, 0, .2, 1)`,n.style.transform=`none`},70)})}i&&b.value===!0&&W(i.rootRef.value)}function W(t){let{left:n,width:r,top:i,height:a}=v.value.getBoundingClientRect(),o=t.getBoundingClientRect(),s=e.vertical===!0?o.top-i:o.left-n;if(s<0){v.value[e.vertical===!0?`scrollTop`:`scrollLeft`]+=Math.floor(s),G();return}s+=e.vertical===!0?o.height-a:o.width-r,s>0&&(v.value[e.vertical===!0?`scrollTop`:`scrollLeft`]+=Math.ceil(s),G())}function G(){let t=v.value;if(t===null)return;let n=t.getBoundingClientRect(),r=e.vertical===!0?t.scrollTop:Math.abs(t.scrollLeft);z.value===!0?(x.value=Math.ceil(r+n.width)<t.scrollWidth-1,S.value=r>0):(x.value=r>0,S.value=e.vertical===!0?Math.ceil(r+n.height)<t.scrollHeight:Math.ceil(r+n.width)<t.scrollWidth)}function K(e){M!==null&&clearInterval(M),M=setInterval(()=>{fe(e)===!0&&Y()},5)}function q(){K(B.value===!0?2**53-1:0)}function J(){K(B.value===!0?0:2**53-1)}function Y(){M!==null&&(clearInterval(M),M=null)}function ue(t,n){let r=Array.prototype.filter.call(v.value.children,e=>e===n||e.matches&&e.matches(`.q-tab.q-focusable`)===!0),i=r.length;if(i===0)return;if(t===36)return W(r[0]),r[0].focus(),!0;if(t===35)return W(r[i-1]),r[i-1].focus(),!0;let a=t===(e.vertical===!0?38:37),o=t===(e.vertical===!0?40:39),s=a===!0?-1:o===!0?1:void 0;if(s!==void 0){let e=z.value===!0?-1:1,t=r.indexOf(n)+s*e;return t>=0&&t<i&&(W(r[t]),r[t].focus({preventScroll:!0})),!0}}let de=w(()=>B.value===!0?{get:e=>Math.abs(e.scrollLeft),set:(e,t)=>{e.scrollLeft=-t}}:e.vertical===!0?{get:e=>e.scrollTop,set:(e,t)=>{e.scrollTop=t}}:{get:e=>e.scrollLeft,set:(e,t)=>{e.scrollLeft=t}});function fe(e){let t=v.value,{get:n,set:r}=de.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),G(),i}function X(e,t){for(let n in e)if(e[n]!==t[n])return!1;return!0}function pe(){let e=null,t={matchedLen:0,queryDiff:9999,hrefLen:0},n=T.filter(e=>e.routeData?.hasRouterLink.value===!0),{hash:r,query:i}=c.$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||X(i,c)===!1)continue;e=o.name.value;break}if(s!==``&&s!==r||d!==0&&X(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&&T.some(e=>e.routeData===void 0&&e.name.value===y.value)===!0){$=!1;return}V({name:e,setCurrent:!0})}function me(e){if(te(),D.value!==!0&&_.value!==null&&e.target&&typeof e.target.closest==`function`){let t=e.target.closest(`.q-tab`);t&&_.value.contains(t)===!0&&(D.value=!0,b.value===!0&&W(t))}}function Z(){p(()=>{D.value=!1},30)}function Q(){ve.avoidRouteWatcher===!1?m(pe):h()}function he(){if(N===void 0){let e=s(()=>c.$route.fullPath,Q);N=()=>{e(),N=void 0}}}function ge(e){T.push(e),E.value++,H(),e.routeData===void 0||c.$route===void 0?m(()=>{if(b.value===!0){let e=y.value,t=e!=null&&e!==``?T.find(t=>t.name.value===e):null;t&&W(t.rootRef.value)}}):(he(),e.routeData.hasRouterLink.value===!0&&Q())}function _e(e){T.splice(T.indexOf(e),1),E.value--,H(),N!==void 0&&e.routeData!==void 0&&(T.every(e=>e.routeData===void 0)===!0&&N(),Q())}let ve={currentModel:y,tabProps:F,hasFocus:D,hasActiveTab:ne,registerTab:ge,unregisterTab:_e,verifyRouteModel:Q,updateModel:V,onKbdNavigate:ue,avoidRouteWatcher:!1};ee(P,ve);function ye(){k!==null&&clearTimeout(k),Y(),N?.()}let be,$;return g(ye),a(()=>{be=N!==void 0,ye()}),i(()=>{be===!0&&(he(),$=!0,Q()),H()}),()=>j(`div`,{ref:_,class:ie.value,role:`tablist`,onFocusin:me,onFocusout:Z},[j(ce,{onResize:U}),j(`div`,{ref:v,class:oe.value,onScroll:G},r(t.default)),j(A,{class:`q-tabs__arrow q-tabs__arrow--left absolute q-tab__icon`+(x.value===!0?``:` q-tabs__arrow--faded`),name:e.leftIcon||l.iconSet.tabs[e.vertical===!0?`up`:`left`],onMousedownPassive:q,onTouchstartPassive:q,onMouseupPassive:Y,onMouseleavePassive:Y,onTouchendPassive:Y}),j(A,{class:`q-tabs__arrow q-tabs__arrow--right absolute q-tab__icon`+(S.value===!0?``:` q-tabs__arrow--faded`),name:e.rightIcon||l.iconSet.tabs[e.vertical===!0?`down`:`right`],onMousedownPassive:J,onTouchstartPassive:J,onMouseupPassive:Y,onMouseleavePassive:Y,onTouchendPassive:Y})])}});function fe(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 X=D({name:`touch-swipe`,beforeMount(e,{value:n,arg:r,modifiers:i}){if(i.mouse!==!0&&y.has.touch!==!0)return;let a=i.mouseCapture===!0?`Capture`:``,s={handler:n,sensitivity:fe(r),direction:B(i),noop:t,mouseStart(e){H(e,s)&&m(e)&&(o(s,`temp`,[[document,`mousemove`,`move`,`notPassive${a}`],[document,`mouseup`,`end`,`notPassiveCapture`]]),s.start(e,!0))},touchStart(e){if(H(e,s)){let t=e.target;o(s,`temp`,[[t,`touchmove`,`move`,`notPassiveCapture`],[t,`touchcancel`,`end`,`notPassiveCapture`],[t,`touchend`,`end`,`notPassiveCapture`]]),s.start(e)}},start(t,n){y.is.firefox===!0&&_(e,!0);let r=v(t);s.event={x:r.left,y:r.top,time:Date.now(),mouse:n===!0,dir:!1}},move(e){if(s.event===void 0)return;if(s.event.dir!==!1){c(e);return}let t=Date.now()-s.event.time;if(t===0)return;let n=v(e),r=n.left-s.event.x,i=Math.abs(r),a=n.top-s.event.y,o=Math.abs(a);if(s.event.mouse!==!0){if(i<s.sensitivity[1]&&o<s.sensitivity[1]){s.end(e);return}}else if(window.getSelection().toString()!==``){s.end(e);return}else if(i<s.sensitivity[2]&&o<s.sensitivity[2])return;let l=i/t,u=o/t;s.direction.vertical===!0&&i<o&&i<100&&u>s.sensitivity[0]&&(s.event.dir=a<0?`up`:`down`),s.direction.horizontal===!0&&i>o&&o<100&&l>s.sensitivity[0]&&(s.event.dir=r<0?`left`:`right`),s.direction.up===!0&&i<o&&a<0&&i<100&&u>s.sensitivity[0]&&(s.event.dir=`up`),s.direction.down===!0&&i<o&&a>0&&i<100&&u>s.sensitivity[0]&&(s.event.dir=`down`),s.direction.left===!0&&i>o&&r<0&&o<100&&l>s.sensitivity[0]&&(s.event.dir=`left`),s.direction.right===!0&&i>o&&r>0&&o<100&&l>s.sensitivity[0]&&(s.event.dir=`right`),s.event.dir===!1?s.end(e):(c(e),s.event.mouse===!0&&(document.body.classList.add(`no-pointer-events--children`),document.body.classList.add(`non-selectable`),ne(),s.styleCleanup=e=>{s.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()}),s.handler({evt:e,touch:s.event.mouse!==!0,mouse:s.event.mouse,direction:s.event.dir,duration:t,distance:{x:i,y:o}}))},end(t){s.event!==void 0&&(l(s,`temp`),y.is.firefox===!0&&_(e,!1),s.styleCleanup?.(!0),t!==void 0&&s.event.dir!==!1&&c(t),s.event=void 0)}};e.__qtouchswipe=s,i.mouse===!0&&o(s,`main`,[[e,`mousedown`,`mouseStart`,`passive${i.mouseCapture===!0||i.mousecapture===!0?`Capture`:``}`]]),y.has.touch===!0&&o(s,`main`,[[e,`touchstart`,`touchStart`,`passive${i.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=B(t.modifiers))},beforeUnmount(e){let t=e.__qtouchswipe;t!==void 0&&(l(t,`main`),l(t,`temp`),y.is.firefox===!0&&_(e,!1),t.styleCleanup?.(),delete e.__qtouchswipe)}});function pe(){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 me={name:{required:!0},disable:Boolean},Z={setup(e,{slots:t}){return()=>j(`div`,{class:`q-panel scroll`,role:`tabpanel`},r(t.default))}},Q={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},he=[`update:modelValue`,`beforeTransition`,`transition`];function ge(){let{props:t,emit:i,proxy:a}=O(),{getCache:o}=pe(),{registerTimeout:c}=L(),l,u,d=n(null),f={value:null};function ee(e){let n=t.vertical===!0?`up`:`left`;A((a.$q.lang.rtl===!0?-1:1)*(e.direction===n?1:-1))}let p=w(()=>[[X,ee,void 0,{horizontal:t.vertical!==!0,vertical:t.vertical,mouse:!0}]]),te=w(()=>t.transitionPrev||`slide-${t.vertical===!0?`down`:`right`}`),m=w(()=>t.transitionNext||`slide-${t.vertical===!0?`up`:`left`}`),h=w(()=>`--q-transition-duration: ${t.transitionDuration}ms`),g=w(()=>typeof t.modelValue==`string`||typeof t.modelValue==`number`?t.modelValue:String(t.modelValue)),_=w(()=>({include:t.keepAliveInclude,exclude:t.keepAliveExclude,max:t.keepAliveMax})),v=w(()=>t.keepAliveInclude!==void 0||t.keepAliveExclude!==void 0);s(()=>t.modelValue,(e,n)=>{let r=S(e)===!0?C(e):-1;u!==!0&&k(r===-1?0:r<C(n)?-1:1),f.value!==r&&(f.value=r,i(`beforeTransition`,e,n),c(()=>{i(`transition`,e,n)},t.transitionDuration))});function y(){A(1)}function b(){A(-1)}function x(e){i(`update:modelValue`,e)}function S(e){return e!=null&&e!==``}function C(e){return l.findIndex(t=>t.props.name===e&&t.props.disable!==``&&t.props.disable!==!0)}function D(){return l.filter(e=>e.props.disable!==``&&e.props.disable!==!0)}function k(e){let n=e!==0&&t.animated===!0&&f.value!==-1?`q-transition--`+(e===-1?te.value:m.value):null;d.value!==n&&(d.value=n)}function A(e,n=f.value){let r=n+e;for(;r!==-1&&r<l.length;){let t=l[r];if(t!==void 0&&t.props.disable!==``&&t.props.disable!==!0){k(e),u=!0,i(`update:modelValue`,t.props.name),setTimeout(()=>{u=!1});return}r+=e}t.infinite===!0&&l.length!==0&&n!==-1&&n!==l.length&&A(e,e===-1?l.length:-1)}function M(){let e=C(t.modelValue);return f.value!==e&&(f.value=e),!0}function N(){let e=S(t.modelValue)===!0&&M()&&l[f.value];return t.keepAlive===!0?[j(E,_.value,[j(v.value===!0?o(g.value,()=>({...Z,name:g.value})):Z,{key:g.value,style:h.value},()=>e)])]:[j(`div`,{class:`q-panel scroll`,style:h.value,key:g.value,role:`tabpanel`},[e])]}function P(){if(l.length!==0)return t.animated===!0?[j(e,{name:d.value},N)]:N()}function F(e){return l=T(r(e.default,[])).filter(e=>e.props!==null&&e.props.slot===void 0&&S(e.props.name)===!0),l.length}function I(){return l}return Object.assign(a,{next:y,previous:b,goTo:x}),{panelIndex:f,panelDirectives:p,updatePanelsList:F,updatePanelIndex:M,getPanelContent:P,getEnabledPanels:D,getPanels:I,isValidPanelName:S,keepAliveProps:_,needsUniqueKeepAliveWrapper:v,goToPanelByOffset:A,goToPanel:x,nextPanel:y,previousPanel:b}}var _e=u({name:`QTabPanel`,props:me,setup(e,{slots:t}){return()=>j(`div`,{class:`q-tab-panel`,role:`tabpanel`},r(t.default))}}),ve=u({name:`QTabPanels`,props:{...Q,...re},emits:he,setup(e,{slots:t}){let n=ie(e,O().proxy.$q),{updatePanelsList:r,getPanelContent:i,panelDirectives:a}=ge(),o=w(()=>`q-tab-panels q-panel-parent`+(n.value===!0?` q-tab-panels--dark q-dark`:``));return()=>(r(t),x(`div`,{class:o.value},i(),`pan`,e.swipeable,()=>a.value))}});export{K as a,ce as i,_e as n,B as o,de as r,H as s,ve as t};
@@ -0,0 +1 @@
1
+ import{$ as e,Bt as t,C as n,F as r,Ft as i,G as a,I as o,K as s,Tt as c,lt as l,vt as u,yt as d}from"./nodes-DeIen-kp.js";import{C as f,E as p,O as m,S as ee,T as h,_ as g,a as _,g as te,h as v,i as y,k as b,l as x,m as S,n as C,o as w,p as T,r as E,s as D,v as ne,w as O}from"./_plugin-vue_export-helper-CHpmshS7.js";var k=s({name:`QTooltip`,inheritAttrs:!1,props:{...m,...O,...g,maxHeight:{type:String,default:null},maxWidth:{type:String,default:null},transitionShow:{...g.transitionShow,default:`jump-down`},transitionHide:{...g.transitionHide,default:`jump-up`},anchor:{type:String,default:`bottom middle`,validator:_},self:{type:String,default:`top middle`,validator:_},offset:{type:Array,default:()=>[14,14],validator:y},scrollTarget:T,delay:{type:Number,default:0},hideDelay:{type:Number,default:0},persistent:Boolean},emits:[...f],setup(s,{slots:f,emit:m,attrs:g}){let _,y,T=u(),{proxy:{$q:O}}=T,k=t(null),A=t(!1),j=l(()=>C(s.anchor,O.lang.rtl)),M=l(()=>C(s.self,O.lang.rtl)),N=l(()=>s.persistent!==!0),{registerTick:P,removeTick:F}=v(),{registerTimeout:I}=S(),{transitionProps:L,transitionStyle:R}=te(s),{localScrollTarget:z,changeScrollEvent:B,unconfigureScrollTarget:V}=h(s,$),{anchorEl:H,canShow:U,anchorEvents:W}=p({showing:A,configureAnchorEl:oe}),{show:G,hide:K}=ee({showing:A,canShow:U,handleShow:X,handleHide:re,hideOnRouteChange:N,processOnMount:!0});Object.assign(W,{delayShow:ie,delayHide:ae});let{showPortal:q,hidePortal:J,renderPortal:Y}=ne(T,k,ce,`tooltip`);if(O.platform.is.mobile===!0){let e={anchorEl:H,innerRef:k,onClickOutside(e){return K(e),e.target.classList.contains(`q-dialog__backdrop`)&&a(e),!0}};i(l(()=>s.modelValue===null&&s.persistent!==!0&&A.value===!0),t=>{(t===!0?w:D)(e)}),c(()=>{D(e)})}function X(e){q(),P(()=>{y=new MutationObserver(()=>Q()),y.observe(k.value,{attributes:!1,childList:!0,characterData:!0,subtree:!0}),Q(),$()}),_===void 0&&(_=i(()=>O.screen.width+`|`+O.screen.height+`|`+s.self+`|`+s.anchor+`|`+O.lang.rtl,Q)),I(()=>{q(!0),m(`show`,e)},s.transitionDuration)}function re(e){F(),J(),Z(),I(()=>{J(!0),m(`hide`,e)},s.transitionDuration)}function Z(){y!==void 0&&(y.disconnect(),y=void 0),_!==void 0&&(_(),_=void 0),V(),o(W,`tooltipTemp`)}function Q(){E({targetEl:k.value,offset:s.offset,anchorEl:H.value,anchorOrigin:j.value,selfOrigin:M.value,maxHeight:s.maxHeight,maxWidth:s.maxWidth})}function ie(e){if(O.platform.is.mobile===!0){b(),document.body.classList.add(`non-selectable`);let e=H.value;r(W,`tooltipTemp`,[`touchmove`,`touchcancel`,`touchend`,`click`].map(t=>[e,t,`delayHide`,`passiveCapture`]))}I(()=>{G(e)},s.delay)}function ae(e){O.platform.is.mobile===!0&&(o(W,`tooltipTemp`),b(),setTimeout(()=>{document.body.classList.remove(`non-selectable`)},10)),I(()=>{K(e)},s.hideDelay)}function oe(){s.noParentEvent===!0||H.value===null||r(W,`anchor`,O.platform.is.mobile===!0?[[H.value,`touchstart`,`delayShow`,`passive`]]:[[H.value,`mouseenter`,`delayShow`,`passive`],[H.value,`mouseleave`,`delayHide`,`passive`]])}function $(){if(H.value!==null||s.scrollTarget!==void 0){z.value=x(H.value,s.scrollTarget);let e=s.noParentEvent===!0?Q:K;B(z.value,e)}}function se(){return A.value===!0?d(`div`,{...g,ref:k,class:[`q-tooltip q-tooltip--style q-position-engine no-pointer-events`,g.class],style:[g.style,R.value],role:`tooltip`},n(f.default)):null}function ce(){return d(e,L.value,se)}return c(Z),Object.assign(T.proxy,{updatePosition:Q}),Y}});export{k as t};
@@ -0,0 +1 @@
1
+ .settings-page[data-v-d249acf1]{background-color:#1a1a2e;min-height:100%;padding:32px 24px}.settings-inner[data-v-d249acf1]{width:100%;max-width:900px;margin:0 auto}.settings-header[data-v-d249acf1]{min-height:48px}.settings-tabs[data-v-d249acf1] .q-tab{color:#888;text-transform:none;font-weight:500}.settings-tabs[data-v-d249acf1] .q-tab--active{color:#6c63ff}.settings-panels[data-v-d249acf1]{background:0 0}.settings-card[data-v-d249acf1]{background:#224;border:1px solid #2a2a4a}.settings-input[data-v-d249acf1] .q-field__control{background:#1a1a2e;border-color:#2a2a4a}.settings-input[data-v-d249acf1] .q-field__native,.settings-input[data-v-d249acf1] input,.settings-input[data-v-d249acf1] textarea{color:#e0e0e0}.settings-input[data-v-d249acf1] .q-field__label{color:#888}.mono-textarea[data-v-d249acf1] textarea{font-family:JetBrains Mono,Fira Code,monospace;font-size:13px}.readonly-input[data-v-d249acf1] .q-field__control{background:#16162a}.readonly-input[data-v-d249acf1] input{color:#888}.project-list-col[data-v-d249acf1]{flex-shrink:0;width:30%;min-width:200px;max-width:280px;overflow:hidden}.project-form-col[data-v-d249acf1]{flex:1;min-width:0}.project-item[data-v-d249acf1]:hover{background-color:#ffffff08}.project-item--active[data-v-d249acf1]{border-left:3px solid #6c63ff;background-color:#2a2a4a!important}
@@ -0,0 +1 @@
1
+ import{Bt as e,C as t,Ft as n,Gt as r,It as i,K as a,Nt as o,Ot as ee,Wt as s,_t as c,at as l,dt as u,ft as d,ht as f,jt as p,lt as m,mt as h,pt as g,qt as _,r as v,ut as y,vt as b,y as x,yt as S}from"./nodes-DeIen-kp.js";import{A as te,t as C}from"./_plugin-vue_export-helper-CHpmshS7.js";import{C as w,S as T,_ as E,o as D}from"./QDialog-B5H6ayTp.js";import{a as O,n as k,r as ne,t as re}from"./QTabPanels-DlG5TZhP.js";import{n as ie,t as ae}from"./use-quasar-Dq-Vjx_2.js";import{a as A,i as j,n as M,r as N,t as oe}from"./QPage-CLk9i9z8.js";import{t as se}from"./QExpansionItem-DJgnAZg_.js";var P=[`ul`,`ol`],F=a({name:`QList`,props:{...w,bordered:Boolean,dense:Boolean,separator:Boolean,padding:Boolean,tag:{type:String,default:`div`}},setup(e,{slots:n}){let r=T(e,b().proxy.$q),i=m(()=>P.includes(e.tag)?null:`list`),a=m(()=>`q-list`+(e.bordered===!0?` q-list--bordered`:``)+(e.dense===!0?` q-list--dense`:``)+(e.separator===!0?` q-list--separator`:``)+(r.value===!0?` q-list--dark`:``)+(e.padding===!0?` q-list--padding`:``));return()=>S(e.tag,{class:a.value,role:i.value},t(n.default))}}),ce={class:`settings-inner`},le={class:`settings-header row items-center q-mb-lg`},ue={class:`settings-card rounded-borders q-pa-lg`},de={class:`q-mb-lg`},fe={class:`q-mb-md`},pe={class:`q-mb-lg`},I={class:`q-mb-lg`},L={class:`row justify-end`},R={class:`row q-gutter-md`,style:{"min-height":`500px`}},z={class:`project-list-col`},B={class:`settings-card rounded-borders`,style:{height:`100%`}},me={key:0,class:`q-pa-md text-center text-caption text-grey-8`},he={class:`q-pa-sm`},ge={class:`project-form-col`},_e={class:`settings-card rounded-borders q-pa-lg`,style:{height:`100%`}},ve={class:`text-subtitle1 text-weight-medium q-mb-md text-grey-3`},ye={class:`q-mb-md`},be={class:`q-mb-md`},xe={class:`q-mb-md`},Se={class:`q-mb-md`},Ce={class:`q-mb-md`},we={class:`q-mb-md`},Te={class:`q-mb-lg`},Ee={class:`q-mb-md`},De={class:`row items-center q-gutter-sm`},Oe={key:1,class:`column items-center justify-center`,style:{height:`100%`,"min-height":`300px`}},V=C(c({__name:`SettingsPage`,setup(t){let a=ae(),c=ie(),b=e(`global`),S=e(`auto`),C=e(``),w=e(``),T=e(!1),P=e(-1),V=e(!1),H=e({path:``,displayName:``,defaultSourceBranch:``,defaultModel:``,prPromptTemplate:``,gitConventions:``,devServer:{startCommand:``,stopCommand:``}}),U=e([]),W=e(!1),G=e(!1),K=e(!1),q=[{label:`Auto`,value:`auto`},{label:`Opus 4.6`,value:`claude-opus-4-6`},{label:`Sonnet 4.6`,value:`claude-sonnet-4-6`},{label:`Haiku 4.5`,value:`claude-haiku-4-5-20251001`}],ke=[{label:`Use global`,value:``},...q],Ae=[{name:`{{pr_number}}`,description:`PR number (e.g., 42)`},{name:`{{pr_url}}`,description:`Full URL of the created PR`},{name:`{{branch_name}}`,description:`Working branch name`},{name:`{{source_branch}}`,description:`Source branch the PR targets`},{name:`{{workspace_name}}`,description:`Workspace name`},{name:`{{project_name}}`,description:`Last segment of the project path`},{name:`{{notion_url}}`,description:`Notion URL if set, empty otherwise`},{name:`{{commits}}`,description:`Bulleted commit list between source and head`},{name:`{{diff_stats}}`,description:`Git shortstat summary (files, insertions, deletions)`},{name:`{{tasks}}`,description:`Regular tasks as a checkbox list`},{name:`{{acceptance_criteria}}`,description:`Acceptance criteria as a checkbox list`}],J=m(()=>P.value<0||P.value>=c.projects.length?null:c.projects[P.value]??null);function je(){S.value=c.global.defaultModel,C.value=c.global.prPromptTemplate,w.value=c.global.gitConventions}function Y(e){if(!e){H.value={path:``,displayName:``,defaultSourceBranch:``,defaultModel:``,prPromptTemplate:``,gitConventions:``,devServer:{startCommand:``,stopCommand:``}},U.value=[];return}H.value={path:e.path,displayName:e.displayName,defaultSourceBranch:e.defaultSourceBranch,defaultModel:e.defaultModel,prPromptTemplate:e.prPromptTemplate,gitConventions:e.gitConventions??``,devServer:{startCommand:e.devServer?.startCommand??``,stopCommand:e.devServer?.stopCommand??``}},e.path&&X(e.path)}async function X(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 Z=null;n(()=>H.value.path,e=>{Z&&clearTimeout(Z),Z=setTimeout(()=>{X(e)},500)}),n(P,()=>{V.value=!1,Y(J.value)});async function Q(){T.value=!0;try{await c.updateGlobal({defaultModel:S.value,prPromptTemplate:C.value,gitConventions:w.value}),a.notify({type:`positive`,message:`Global settings saved.`,position:`top`})}catch{a.notify({type:`negative`,message:`Error saving settings.`,position:`top`})}finally{T.value=!1}}async function Me(){if(!H.value.path.trim()){a.notify({type:`negative`,message:`Project path is required.`,position:`top`});return}G.value=!0;try{await c.upsertProject(H.value.path.trim(),{displayName:H.value.displayName,defaultSourceBranch:H.value.defaultSourceBranch,defaultModel:H.value.defaultModel,prPromptTemplate:H.value.prPromptTemplate,gitConventions:H.value.gitConventions,devServer:H.value.devServer}),V.value=!1;let e=c.projects.findIndex(e=>e.path===H.value.path.trim());e>=0&&(P.value=e),a.notify({type:`positive`,message:`Project saved.`,position:`top`})}catch{a.notify({type:`negative`,message:`Error saving project.`,position:`top`})}finally{G.value=!1}}async function Ne(){if(J.value){K.value=!0;try{await c.deleteProject(J.value.path),P.value=-1,V.value=!1,Y(null),a.notify({type:`positive`,message:`Project deleted.`,position:`top`})}catch{a.notify({type:`negative`,message:`Error deleting project.`,position:`top`})}finally{K.value=!1}}}function Pe(){P.value=-1,V.value=!0,Y(null)}function Fe(e){V.value=!1,P.value=e}function Ie(e){if(e.displayName)return e.displayName;let t=e.path.split(`/`);return t[t.length-1]??e.path}let $=e([]);function Le(e,t){t(()=>{$.value=e?U.value.filter(t=>t.toLowerCase().includes(e.toLowerCase())):U.value})}return ee(async()=>{await c.fetchSettings(),je()}),(e,t)=>(p(),u(oe,{class:`settings-page`},{default:i(()=>[y(`div`,ce,[y(`div`,le,[f(x,{name:`settings`,size:`24px`,color:`indigo-4`,class:`q-mr-sm`}),t[13]||=y(`span`,{class:`text-h5 text-weight-medium text-grey-3`},`Settings`,-1)]),f(ne,{modelValue:b.value,"onUpdate:modelValue":t[0]||=e=>b.value=e,dense:``,"active-color":`indigo-4`,"indicator-color":`indigo-4`,class:`settings-tabs q-mb-lg`,align:`left`,"narrow-indicator":``},{default:i(()=>[f(O,{name:`global`,label:`Global`}),f(O,{name:`projects`,label:`Projects`})]),_:1},8,[`modelValue`]),f(re,{modelValue:b.value,"onUpdate:modelValue":t[12]||=e=>b.value=e,animated:``,class:`settings-panels`},{default:i(()=>[f(k,{name:`global`,class:`q-pa-none`},{default:i(()=>[y(`div`,ue,[t[19]||=y(`div`,{class:`text-subtitle1 text-weight-medium q-mb-md text-grey-3`},` Global Settings `,-1),f(E,{dark:``,class:`q-mb-md`}),y(`div`,de,[t[14]||=y(`div`,{class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},`Default model`,-1),f(M,{modelValue:S.value,"onUpdate:modelValue":t[1]||=e=>S.value=e,options:q,"emit-value":``,"map-options":``,"option-value":`value`,"option-label":`label`,dense:``,dark:``,outlined:``,class:`settings-input`},null,8,[`modelValue`])]),y(`div`,fe,[f(se,{dense:``,dark:``,icon:`code`,label:`Available variables in PR prompt template`,class:`variables-panel rounded-borders`},{default:i(()=>[f(F,{dense:``,dark:``,class:`q-pa-sm`},{default:i(()=>[(p(),g(l,null,o(Ae,e=>f(A,{key:e.name,dense:``},{default:i(()=>[f(j,null,{default:i(()=>[f(N,{class:`text-caption`,style:{"font-family":`monospace`}},{default:i(()=>[h(_(e.name),1)]),_:2},1024),f(N,{caption:``,class:`text-grey-7`},{default:i(()=>[h(_(e.description),1)]),_:2},1024)]),_:2},1024)]),_:2},1024)),64))]),_:1})]),_:1})]),y(`div`,pe,[t[15]||=y(`div`,{class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},`PR prompt template`,-1),f(D,{modelValue:C.value,"onUpdate:modelValue":t[2]||=e=>C.value=e,type:`textarea`,dense:``,dark:``,outlined:``,rows:8,autogrow:``,placeholder:`Instructions for the agent when creating GitHub PRs...`,class:`settings-input mono-textarea`},null,8,[`modelValue`]),t[16]||=y(`div`,{class:`text-caption text-grey-7 q-mt-xs`},[h(`Use `),y(`code`,null,`{{variable}}`),h(` placeholders. See "Available variables" above.`)],-1)]),y(`div`,I,[t[17]||=y(`div`,{class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},`Git conventions (global)`,-1),f(D,{modelValue:w.value,"onUpdate:modelValue":t[3]||=e=>w.value=e,type:`textarea`,dense:``,dark:``,outlined:``,rows:8,autogrow:``,placeholder:`# Git conventions...`,class:`settings-input mono-textarea`},null,8,[`modelValue`]),t[18]||=y(`div`,{class:`text-caption text-grey-7 q-mt-xs`},[h(`These conventions are written to `),y(`code`,null,`.ai/git-conventions.md`),h(` in each new workspace and must be followed by the agent before any git operation. Overridden by per-project conventions if defined.`)],-1)]),y(`div`,L,[f(v,{label:`Save`,"no-caps":``,unelevated:``,color:`primary`,loading:T.value,onClick:Q},null,8,[`loading`])])])]),_:1}),f(k,{name:`projects`,class:`q-pa-none`},{default:i(()=>[y(`div`,R,[y(`div`,z,[y(`div`,B,[t[20]||=y(`div`,{class:`q-pa-sm`},[y(`div`,{class:`text-caption text-uppercase text-weight-bold q-px-sm q-py-xs text-grey-6`,style:{"letter-spacing":`0.05em`}},` Configured projects `)],-1),f(E,{dark:``}),f(F,{dark:``,dense:``,class:`q-py-xs`},{default:i(()=>[(p(!0),g(l,null,o(s(c).projects,(e,t)=>(p(),u(A,{key:e.path,clickable:``,active:P.value===t&&!V.value,"active-class":`project-item--active`,class:`project-item q-mx-xs rounded-borders`,style:{"min-height":`40px`},onClick:e=>Fe(t)},{default:i(()=>[f(j,null,{default:i(()=>[f(N,{class:`text-body2 text-grey-3`},{default:i(()=>[h(_(Ie(e)),1)]),_:2},1024),f(N,{caption:``,class:`text-grey-7 ellipsis`,style:{"font-size":`11px`,"font-family":`monospace`}},{default:i(()=>[h(_(e.path),1)]),_:2},1024)]),_:2},1024)]),_:2},1032,[`active`,`onClick`]))),128))]),_:1}),s(c).projects.length===0&&!s(c).loading?(p(),g(`div`,me,` No projects configured `)):d(``,!0),f(E,{dark:``}),y(`div`,he,[f(v,{label:`Add project`,icon:`add`,"no-caps":``,flat:``,dense:``,class:`full-width`,color:`indigo-4`,onClick:Pe})])])]),y(`div`,ge,[y(`div`,_e,[J.value||V.value?(p(),g(l,{key:0},[y(`div`,ve,_(V.value?`New project`:`Edit project`),1),f(E,{dark:``,class:`q-mb-md`}),y(`div`,ye,[t[21]||=y(`div`,{class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},`Project path`,-1),f(D,{modelValue:H.value.path,"onUpdate:modelValue":t[4]||=e=>H.value.path=e,dense:``,dark:``,outlined:``,readonly:!V.value,placeholder:`/path/to/project`,class:r([`settings-input`,{"readonly-input":!V.value}])},null,8,[`modelValue`,`readonly`,`class`])]),y(`div`,be,[t[22]||=y(`div`,{class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},`Display name`,-1),f(D,{modelValue:H.value.displayName,"onUpdate:modelValue":t[5]||=e=>H.value.displayName=e,dense:``,dark:``,outlined:``,placeholder:`My project`,class:`settings-input`},null,8,[`modelValue`])]),y(`div`,xe,[t[23]||=y(`div`,{class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},`Default source branch`,-1),f(M,{modelValue:H.value.defaultSourceBranch,"onUpdate:modelValue":t[6]||=e=>H.value.defaultSourceBranch=e,options:$.value,dense:``,dark:``,outlined:``,"use-input":``,"emit-value":``,loading:W.value,class:`settings-input`,placeholder:`main`,onFilter:Le},{"no-option":i(()=>[f(A,null,{default:i(()=>[f(j,{class:`text-grey-6 text-caption`},{default:i(()=>[h(_(H.value.path.trim()?`No branches found`:`Enter the project path`),1)]),_:1})]),_:1})]),_:1},8,[`modelValue`,`options`,`loading`])]),y(`div`,Se,[t[24]||=y(`div`,{class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},`Default model`,-1),f(M,{modelValue:H.value.defaultModel,"onUpdate:modelValue":t[7]||=e=>H.value.defaultModel=e,options:ke,"emit-value":``,"map-options":``,"option-value":`value`,"option-label":`label`,dense:``,dark:``,outlined:``,class:`settings-input`},null,8,[`modelValue`])]),y(`div`,Ce,[t[25]||=y(`div`,{class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},`PR prompt template`,-1),f(D,{modelValue:H.value.prPromptTemplate,"onUpdate:modelValue":t[8]||=e=>H.value.prPromptTemplate=e,type:`textarea`,dense:``,dark:``,outlined:``,rows:4,placeholder:`Project-specific instructions for PR creation...`,class:`settings-input mono-textarea`},null,8,[`modelValue`])]),y(`div`,we,[t[26]||=y(`div`,{class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},`Git conventions (project override)`,-1),f(D,{modelValue:H.value.gitConventions,"onUpdate:modelValue":t[9]||=e=>H.value.gitConventions=e,type:`textarea`,dense:``,dark:``,outlined:``,rows:6,autogrow:``,placeholder:`Leave empty to use the global conventions.`,class:`settings-input mono-textarea`},null,8,[`modelValue`]),t[27]||=y(`div`,{class:`text-caption text-grey-7 q-mt-xs`},`Leave empty to use the global conventions.`,-1)]),y(`div`,Te,[t[30]||=y(`div`,{class:`field-label text-body2 text-weight-medium q-mb-sm text-grey-6`},`Dev server`,-1),y(`div`,Ee,[t[28]||=y(`div`,{class:`field-label-sub text-caption q-mb-xs text-grey-7`},`Script start`,-1),f(D,{modelValue:H.value.devServer.startCommand,"onUpdate:modelValue":t[10]||=e=>H.value.devServer.startCommand=e,type:`textarea`,dense:``,dark:``,outlined:``,rows:3,placeholder:`npm run dev`,class:`settings-input mono-textarea`},null,8,[`modelValue`])]),y(`div`,null,[t[29]||=y(`div`,{class:`field-label-sub text-caption q-mb-xs text-grey-7`},`Script stop`,-1),f(D,{modelValue:H.value.devServer.stopCommand,"onUpdate:modelValue":t[11]||=e=>H.value.devServer.stopCommand=e,type:`textarea`,dense:``,dark:``,outlined:``,rows:3,placeholder:`Optional — the process will be killed automatically if empty`,class:`settings-input mono-textarea`},null,8,[`modelValue`])])]),y(`div`,De,[V.value?d(``,!0):(p(),u(v,{key:0,label:`Delete`,"no-caps":``,flat:``,color:`red-5`,loading:K.value,onClick:Ne},null,8,[`loading`])),f(te),f(v,{label:`Save`,"no-caps":``,unelevated:``,color:`primary`,loading:G.value,onClick:Me},null,8,[`loading`])])],64)):(p(),g(`div`,Oe,[f(x,{name:`folder_open`,size:`48px`,color:`grey-7`,class:`q-mb-md`}),t[31]||=y(`div`,{class:`text-body2 text-grey-8`},` Select a project or add a new one `,-1)]))])])])]),_:1})]),_:1},8,[`modelValue`])])]),_:1}))}}),[[`__scopeId`,`data-v-d249acf1`]]);export{V as default};
@@ -0,0 +1 @@
1
+ .chat-input-container[data-v-a55ff523]{background-color:#16162a;border-top:1px solid #2a2a4a;min-height:48px}.chat-input[data-v-a55ff523]{background-color:#224;padding:4px 12px}.chat-input[data-v-a55ff523] .q-field__control{min-height:32px}.chat-input[data-v-a55ff523] textarea,.chat-input[data-v-a55ff523] input{color:#ccc;font-size:13px}.skills-popup[data-v-a55ff523]{z-index:9999;background-color:#1e1e3a;border:1px solid #2a2a4a;max-height:300px;position:absolute;bottom:calc(100% + 4px);left:8px;right:48px;overflow-y:auto;box-shadow:0 -4px 16px #0006}.skills-header[data-v-a55ff523]{border-bottom:1px solid #2a2a4a}.skill-item[data-v-a55ff523]{font-family:Roboto Mono,monospace}.skill-item[data-v-a55ff523]:hover,.skill-item--active[data-v-a55ff523]{background-color:#6c63ff26}.wp-header[data-v-c8d59d54]{background-color:#16162a;border-bottom:1px solid #2a2a4a;min-height:48px}
@@ -0,0 +1,2 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/ActivityFeed-BveJRagX.js","assets/index-CMvo3OTb.js","assets/nodes-DeIen-kp.js","assets/index-BThMCiY7.css","assets/_plugin-vue_export-helper-CHpmshS7.js","assets/QSpinnerDots-DcaNq8uL.js","assets/QTooltip-637ruGFc.js","assets/ActivityFeed-DBNn62g_.css"])))=>i.map(i=>d[i]);
2
+ import{Bt as e,Ft as t,Gt as n,It as r,Nt as i,Ot as a,Wt as o,_t as s,at as c,dt as l,ft as u,gt as d,ht as f,jt as p,lt as m,pt as h,qt as g,r as _,st as v,ut as y,y as b}from"./nodes-DeIen-kp.js";import{i as x,n as S,o as C,r as w,t as T}from"./index-CMvo3OTb.js";import{A as E,t as D}from"./_plugin-vue_export-helper-CHpmshS7.js";import{t as O}from"./QSpinnerDots-DcaNq8uL.js";import{_ as k,o as A}from"./QDialog-B5H6ayTp.js";import{t as j}from"./QBadge-Cb92Ia8-.js";import{n as M,t as N}from"./QPage-CLk9i9z8.js";var P={class:`chat-input-container row items-end q-pa-sm q-gutter-sm`,style:{position:`relative`}},F={key:0,class:`skills-popup rounded-borders`},I=[`onClick`,`onMouseenter`],L={class:`text-caption`},R=D(s({__name:`ChatInput`,props:{workspaceId:{}},setup(r){let o=r,s=C(),l=x(),d=e(``),v=e([]),S=e(!1),w=e(``),T=e(0),E=m(()=>{if(!w.value)return v.value;let e=w.value.toLowerCase();return v.value.filter(t=>t.toLowerCase().includes(e))}),D=0;async function O(){let e=Date.now();if(!(e-D<5e3)){D=e;try{let e=await fetch(`/api/skills`);e.ok&&(v.value=await e.json())}catch{}}}a(O),t(d,async e=>{e.startsWith(`/`)?(await O(),w.value=e.substring(1),S.value=!0,T.value=0):S.value=!1});function k(e){d.value=`/${e} `,S.value=!1}let j=m(()=>!o.workspaceId);function M(){let e=d.value.trim();!e||j.value||(l.sendChatMessage(o.workspaceId,e),s.addActivityItem(o.workspaceId,{id:`user-${Date.now()}`,type:`text`,content:e,timestamp:new Date().toISOString(),meta:{sender:`user`,pending:!0}}),d.value=``)}function N(e){if(S.value&&E.value.length>0){if(e.key===`ArrowDown`){e.preventDefault(),T.value=Math.min(T.value+1,E.value.length-1);return}if(e.key===`ArrowUp`){e.preventDefault(),T.value=Math.max(T.value-1,0);return}if(e.key===`Tab`||e.key===`Enter`&&!e.shiftKey){e.preventDefault(),k(E.value[T.value]);return}if(e.key===`Escape`){S.value=!1;return}}e.key===`Enter`&&!e.shiftKey&&(e.preventDefault(),M())}return(e,t)=>(p(),h(`div`,P,[S.value&&E.value.length>0?(p(),h(`div`,F,[t[1]||=y(`div`,{class:`skills-header text-caption text-weight-bold text-grey-6 q-px-sm q-py-xs`},` Skills `,-1),(p(!0),h(c,null,i(E.value.slice(0,12),(e,t)=>(p(),h(`div`,{key:e,class:n([`skill-item row items-center q-px-sm q-py-xs cursor-pointer`,{"skill-item--active":t===T.value}]),onClick:t=>k(e),onMouseenter:e=>T.value=t},[f(b,{name:`bolt`,size:`12px`,color:`indigo-4`,class:`q-mr-xs`}),y(`span`,L,g(e),1)],42,I))),128))])):u(``,!0),f(A,{modelValue:d.value,"onUpdate:modelValue":t[0]||=e=>d.value=e,dense:``,dark:``,borderless:``,autogrow:``,placeholder:`Message... (/ for skills)`,class:`chat-input col rounded-borders`,disable:j.value,onKeydown:N},null,8,[`modelValue`,`disable`]),f(_,{flat:``,dense:``,icon:`send`,color:`primary`,disable:j.value||!d.value.trim(),onClick:M},null,8,[`disable`])]))}}),[[`__scopeId`,`data-v-a55ff523`]]),z={class:`wp-header row items-center q-px-md q-py-sm no-wrap`},B={class:`text-body1 text-weight-medium text-grey-3 ellipsis`},V={key:1,class:`text-body2 text-grey-8`},H={class:`col column items-center justify-center`},U=D(s({__name:`WorkspacePage`,setup(e){let n=d(()=>Promise.all([T(()=>import(`./ActivityFeed-BveJRagX.js`),__vite__mapDeps([0,1,2,3,4,5,6,7])),new Promise(e=>setTimeout(e,500))]).then(([e])=>e)),i=C(),s=S(),b=w(),x=m(()=>i.selectedWorkspaceId),D=m(()=>i.selectedWorkspace),A=m(()=>i.sessions),P=m({get:()=>i.selectedSessionId,set:e=>{i.selectSession(e);let t={...s.query};e?t.session=e:delete t.session,b.replace({query:t})}}),F=m(()=>[{label:`All sessions`,value:null,caption:``},...i.sessions.map((e,t)=>({label:`Session #${i.sessions.length-t}`,value:e.claudeSessionId,caption:I(e.startedAt)}))]);function I(e){let t=Date.now()-new Date(e).getTime(),n=Math.floor(t/6e4);if(n<1)return`just now`;if(n<60)return`${n}m ago`;let r=Math.floor(n/60);return r<24?`${r}h ago`:`${Math.floor(r/24)}d ago`}return a(()=>{let e=s.params.id;e&&i.selectWorkspace(e);let t=s.query.session;t&&i.selectSession(t)}),t(()=>s.params.id,e=>{e&&e!==i.selectedWorkspaceId&&i.selectWorkspace(e)}),(e,t)=>(p(),l(N,{class:`column no-wrap`,style:{height:`100vh`}},{default:r(()=>[y(`div`,z,[D.value?(p(),h(c,{key:0},[y(`span`,B,g(D.value.name),1),f(j,{label:D.value.status,color:[`error`,`quota`].includes(D.value.status)?`red-9`:[`extracting`,`brainstorming`,`executing`].includes(D.value.status)?`green-9`:`grey-8`,class:`q-ml-sm`,style:{"font-size":`10px`}},null,8,[`label`,`color`]),A.value.length>1?(p(),l(M,{key:0,modelValue:P.value,"onUpdate:modelValue":t[0]||=e=>P.value=e,options:F.value,"emit-value":``,"map-options":``,dense:``,dark:``,borderless:``,"options-dense":``,class:`q-ml-sm`,style:{"min-width":`160px`,"max-width":`220px`,"font-size":`11px`}},null,8,[`modelValue`,`options`])):u(``,!0),f(E),[`created`,`idle`,`completed`,`error`,`quota`].includes(D.value.status)?(p(),l(_,{key:1,dense:``,"no-caps":``,size:`sm`,color:`positive`,icon:`play_arrow`,label:`Start`,class:`q-mr-xs`,onClick:t[1]||=e=>o(i).startWorkspace(D.value.id)})):u(``,!0),[`extracting`,`brainstorming`,`executing`].includes(D.value.status)?(p(),l(_,{key:2,dense:``,"no-caps":``,size:`sm`,color:`negative`,icon:`stop`,label:`Stop`,class:`q-mr-xs`,onClick:t[2]||=e=>o(i).stopWorkspace(D.value.id)})):u(``,!0)],64)):(p(),h(`span`,V,` Select a workspace to begin `))]),f(k,{dark:``}),(p(),l(v,null,{fallback:r(()=>[y(`div`,H,[f(O,{size:`40px`,color:`indigo-4`}),t[3]||=y(`div`,{class:`text-grey-6 text-caption q-mt-sm`},`Loading...`,-1)])]),default:r(()=>[f(o(n),{class:`col`,style:{"min-height":`0`}})]),_:1})),x.value?(p(),l(R,{key:0,"workspace-id":x.value},null,8,[`workspace-id`])):u(``,!0)]),_:1}))}}),[[`__scopeId`,`data-v-c8d59d54`]]);export{U as default};
@@ -0,0 +1 @@
1
+ import{Bt as e,Dt as t,F as n,Ft as r,H as i,I as a,K as o,M as s,Ot as c,Q as l,St as u,Tt as d,X as f,Y as p,c as m,ct as h,h as g,kt as _,l as v,lt as y,m as b,n as x,s as S,t as ee,vt as C,yt as w,z as T}from"./nodes-DeIen-kp.js";var te=o({name:`QSpace`,setup(){let e=w(`div`,{class:`q-space`});return()=>e}});function E(){if(window.getSelection!==void 0){let e=window.getSelection();e.empty===void 0?e.removeAllRanges!==void 0&&(e.removeAllRanges(),p.is.mobile!==!0&&e.addRange(document.createRange())):e.empty()}else document.selection!==void 0&&document.selection.empty()}var D={target:{type:[Boolean,String,Element],default:!0},noParentEvent:Boolean},ne={...D,contextMenu:Boolean};function re({showing:t,avoidEmit:o,configureAnchorEl:l}){let{props:f,proxy:p,emit:m}=C(),h=e(null),g=null;function _(e){return h.value===null?!1:e===void 0||e.touches===void 0||e.touches.length<=1}let v={};l===void 0&&(Object.assign(v,{hide(e){p.hide(e)},toggle(e){p.toggle(e),e.qAnchorHandled=!0},toggleKey(e){s(e,13)===!0&&v.toggle(e)},contextClick(e){p.hide(e),i(e),u(()=>{p.show(e),e.qAnchorHandled=!0})},prevent:i,mobileTouch(e){if(v.mobileCleanup(e),_(e)!==!0)return;p.hide(e),h.value.classList.add(`non-selectable`);let t=e.target;n(v,`anchor`,[[t,`touchmove`,`mobileCleanup`,`passive`],[t,`touchend`,`mobileCleanup`,`passive`],[t,`touchcancel`,`mobileCleanup`,`passive`],[h.value,`contextmenu`,`prevent`,`notPassive`]]),g=setTimeout(()=>{g=null,p.show(e),e.qAnchorHandled=!0},300)},mobileCleanup(e){h.value.classList.remove(`non-selectable`),g!==null&&(clearTimeout(g),g=null),t.value===!0&&e!==void 0&&E()}}),l=function(e=f.contextMenu){if(f.noParentEvent===!0||h.value===null)return;let t;t=e===!0?p.$q.platform.is.mobile===!0?[[h.value,`touchstart`,`mobileTouch`,`passive`]]:[[h.value,`mousedown`,`hide`,`passive`],[h.value,`contextmenu`,`contextClick`,`notPassive`]]:[[h.value,`click`,`toggle`,`passive`],[h.value,`keyup`,`toggleKey`,`passive`]],n(v,`anchor`,t)});function y(){a(v,`anchor`)}function b(e){for(h.value=e;h.value.classList.contains(`q-anchor--skip`);)h.value=h.value.parentNode;l()}function x(){if(f.target===!1||f.target===``||p.$el.parentNode===null)h.value=null;else if(f.target===!0)b(p.$el.parentNode);else{let e=f.target;if(typeof f.target==`string`)try{e=document.querySelector(f.target)}catch{e=void 0}e==null?(h.value=null,console.error(`Anchor: target "${f.target}" not found`)):(h.value=e.$el||e,l())}}return r(()=>f.contextMenu,e=>{h.value!==null&&(y(),l(e))}),r(()=>f.target,()=>{h.value!==null&&y(),x()}),r(()=>f.noParentEvent,e=>{h.value!==null&&(e===!0?y():l())}),c(()=>{x(),o!==!0&&f.modelValue===!0&&h.value===null&&m(`update:modelValue`,!1)}),d(()=>{g!==null&&clearTimeout(g),y()}),{anchorEl:h,canShow:_,anchorEvents:v}}function ie(t,n){let i=e(null),a;function o(e,t){let n=`${t===void 0?`remove`:`add`}EventListener`,r=t===void 0?a:t;e!==window&&e[n](`scroll`,r,T.passive),window[n](`scroll`,r,T.passive),a=t}function s(){i.value!==null&&(o(i.value),i.value=null)}return d(r(()=>t.noParentEvent,()=>{i.value!==null&&(s(),n())})),{localScrollTarget:i,unconfigureScrollTarget:s,changeScrollEvent:o}}var ae={modelValue:{type:Boolean,default:null},"onUpdate:modelValue":[Function,Array]},oe=[`beforeShow`,`show`,`beforeHide`,`hide`];function se({showing:e,canShow:t,hideOnRouteChange:n,handleShow:i,handleHide:a,processOnMount:o}){let s=C(),{props:l,emit:d,proxy:f}=s,p;function h(t){e.value===!0?v(t):g(t)}function g(e){if(l.disable===!0||e?.qAnchorHandled===!0||t!==void 0&&t(e)!==!0)return;let n=l[`onUpdate:modelValue`]!==void 0;n===!0&&(d(`update:modelValue`,!0),p=e,u(()=>{p===e&&(p=void 0)})),(l.modelValue===null||n===!1)&&_(e)}function _(t){e.value!==!0&&(e.value=!0,d(`beforeShow`,t),i===void 0?d(`show`,t):i(t))}function v(e){if(l.disable===!0)return;let t=l[`onUpdate:modelValue`]!==void 0;t===!0&&(d(`update:modelValue`,!1),p=e,u(()=>{p===e&&(p=void 0)})),(l.modelValue===null||t===!1)&&y(e)}function y(t){e.value!==!1&&(e.value=!1,d(`beforeHide`,t),a===void 0?d(`hide`,t):a(t))}function b(t){l.disable===!0&&t===!0?l[`onUpdate:modelValue`]!==void 0&&d(`update:modelValue`,!1):t===!0!==e.value&&(t===!0?_:y)(p)}r(()=>l.modelValue,b),n!==void 0&&m(s)===!0&&r(()=>f.$route.fullPath,()=>{n.value===!0&&e.value===!0&&v()}),o===!0&&c(()=>{b(l.modelValue)});let x={show:g,hide:v,toggle:h};return Object.assign(f,x),x}var O=[],k=[];function A(e){k=k.filter(t=>t!==e)}function ce(e){A(e),k.push(e)}function j(e){A(e),k.length===0&&O.length!==0&&(O[O.length-1](),O=[])}function le(e){k.length===0?e():O.push(e)}function ue(e){O=O.filter(t=>t!==e)}var M=[];function de(e,t){do{if(e.$options.name===`QMenu`){if(e.hide(t),e.$props.separateClosePopup===!0)return S(e)}else if(e.__qPortal===!0){let n=S(e);return n?.$options.name===`QPopupProxy`?(e.hide(t),n):e}e=S(e)}while(e!=null)}var fe=o({name:`QPortal`,setup(e,{slots:t}){return()=>t.default()}});function pe(e){for(e=e.parent;e!=null;){if(e.type.name===`QGlobalDialog`)return!0;if(e.type.name===`QDialog`||e.type.name===`QMenu`)return!1;e=e.parent}return!1}function N(t,n,r,i){let a=e(!1),o=e(!1),s=null,c={},u=i===`dialog`&&pe(t);function d(e){if(e===!0){j(c),o.value=!0;return}o.value=!1,a.value===!1&&(u===!1&&s===null&&(s=ee(!1,i)),a.value=!0,M.push(t.proxy),ce(c))}function f(e){if(o.value=!1,e!==!0)return;j(c),a.value=!1;let n=M.indexOf(t.proxy);n!==-1&&M.splice(n,1),s!==null&&(x(s),s=null)}return _(()=>{f(!0)}),t.proxy.__qPortal=!0,l(t.proxy,`contentEl`,()=>n.value),{showPortal:d,hidePortal:f,portalIsActive:a,portalIsAccessible:o,renderPortal:()=>u===!0?r():a.value===!0?[w(h,{to:s},w(fe,r))]:void 0}}var P={transitionShow:{type:String,default:`fade`},transitionHide:{type:String,default:`fade`},transitionDuration:{type:[String,Number],default:300}};function F(e,t=()=>{},n=()=>{}){return{transitionProps:y(()=>{let r=`q-transition--${e.transitionShow||t()}`,i=`q-transition--${e.transitionHide||n()}`;return{appear:!0,enterFromClass:`${r}-enter-from`,enterActiveClass:`${r}-enter-active`,enterToClass:`${r}-enter-to`,leaveFromClass:`${i}-leave-from`,leaveActiveClass:`${i}-leave-active`,leaveToClass:`${i}-leave-to`}}),transitionStyle:y(()=>`--q-transition-duration: ${e.transitionDuration}ms`)}}function I(){let e,n=C();function r(){e=void 0}return t(r),d(r),{removeTick:r,registerTick(t){e=t,u(()=>{e===t&&(v(n)===!1&&e(),e=void 0)})}}}function L(){let e=null,n=C();function r(){e!==null&&(clearTimeout(e),e=null)}return t(r),d(r),{removeTimeout:r,registerTimeout(t,i){r(),v(n)===!1&&(e=setTimeout(()=>{e=null,t()},i))}}}var R=[Element,String],z=[null,document,document.body,document.scrollingElement,document.documentElement];function B(e,t){let n=g(t);if(n===void 0){if(e==null)return window;n=e.closest(`.scroll,.scroll-y,.overflow-auto`)}return z.includes(n)?window:n}function me(e){return e===window?window.pageYOffset||window.scrollY||document.body.scrollTop||0:e.scrollTop}function he(e){return e===window?window.pageXOffset||window.scrollX||document.body.scrollLeft||0:e.scrollLeft}var V;function H(){if(V!==void 0)return V;let e=document.createElement(`p`),t=document.createElement(`div`);b(e,{width:`100%`,height:`200px`}),b(t,{position:`absolute`,top:`0px`,left:`0px`,visibility:`hidden`,width:`200px`,height:`150px`,overflow:`hidden`}),t.appendChild(e),document.body.appendChild(t);let n=e.offsetWidth;t.style.overflow=`scroll`;let r=e.offsetWidth;return n===r&&(r=t.clientWidth),t.remove(),V=n-r,V}function ge(e,t=!0){return!e||e.nodeType!==Node.ELEMENT_NODE?!1:t?e.scrollHeight>e.clientHeight&&(e.classList.contains(`scroll`)||e.classList.contains(`overflow-auto`)||[`auto`,`scroll`].includes(window.getComputedStyle(e)[`overflow-y`])):e.scrollWidth>e.clientWidth&&(e.classList.contains(`scroll`)||e.classList.contains(`overflow-auto`)||[`auto`,`scroll`].includes(window.getComputedStyle(e)[`overflow-x`]))}var U=null,{notPassiveCapture:W}=T,G=[];function K(e){U!==null&&(clearTimeout(U),U=null);let t=e.target;if(t===void 0||t.nodeType===8||t.classList.contains(`no-pointer-events`)===!0)return;let n=M.length-1;for(;n>=0;){let e=M[n].$;if(e.type.name===`QTooltip`){n--;continue}if(e.type.name!==`QDialog`)break;if(e.props.seamless!==!0)return;n--}for(let n=G.length-1;n>=0;n--){let r=G[n];if((r.anchorEl.value===null||r.anchorEl.value.contains(t)===!1)&&(t===document.body||r.innerRef.value!==null&&r.innerRef.value.contains(t)===!1))e.qClickOutside=!0,r.onClickOutside(e);else return}}function _e(e){G.push(e),G.length===1&&(document.addEventListener(`mousedown`,K,W),document.addEventListener(`touchstart`,K,W))}function ve(e){let t=G.findIndex(t=>t===e);t!==-1&&(G.splice(t,1),G.length===0&&(U!==null&&(clearTimeout(U),U=null),document.removeEventListener(`mousedown`,K,W),document.removeEventListener(`touchstart`,K,W)))}var q,J;function Y(e){let t=e.split(` `);return t.length===2?[`top`,`center`,`bottom`].includes(t[0])===!0?[`left`,`middle`,`right`,`start`,`end`].includes(t[1])===!0?!0:(console.error(`Anchor/Self position must end with one of left/middle/right/start/end`),!1):(console.error(`Anchor/Self position must start with one of top/center/bottom`),!1):!1}function ye(e){return e?!(e.length!==2||typeof e[0]!=`number`||typeof e[1]!=`number`):!0}var X={"start#ltr":`left`,"start#rtl":`right`,"end#ltr":`right`,"end#rtl":`left`};[`left`,`middle`,`right`].forEach(e=>{X[`${e}#ltr`]=e,X[`${e}#rtl`]=e});function be(e,t){let n=e.split(` `);return{vertical:n[0],horizontal:X[`${n[1]}#${t===!0?`rtl`:`ltr`}`]}}function xe(e,t){let{top:n,left:r,right:i,bottom:a,width:o,height:s}=e.getBoundingClientRect();return t!==void 0&&(n-=t[1],r-=t[0],a+=t[1],i+=t[0],o+=t[0],s+=t[1]),{top:n,bottom:a,height:s,left:r,right:i,width:o,middle:r+(i-r)/2,center:n+(a-n)/2}}function Se(e,t,n){let{top:r,left:i}=e.getBoundingClientRect();return r+=t.top,i+=t.left,n!==void 0&&(r+=n[1],i+=n[0]),{top:r,bottom:r+1,height:1,left:i,right:i+1,width:1,middle:i,center:r}}function Ce(e,t){return{top:0,center:t/2,bottom:t,left:0,middle:e/2,right:e}}function Z(e,t,n,r){return{top:e[n.vertical]-t[r.vertical],left:e[n.horizontal]-t[r.horizontal]}}function Q(e,t=0){if(e.targetEl===null||e.anchorEl===null||t>5)return;if(e.targetEl.offsetHeight===0||e.targetEl.offsetWidth===0){setTimeout(()=>{Q(e,t+1)},10);return}let{targetEl:n,offset:r,anchorEl:i,anchorOrigin:a,selfOrigin:o,absoluteOffset:s,fit:c,cover:l,maxHeight:u,maxWidth:d}=e;if(f.is.ios===!0&&window.visualViewport!==void 0){let e=document.body.style,{offsetLeft:t,offsetTop:n}=window.visualViewport;t!==q&&(e.setProperty(`--q-pe-left`,t+`px`),q=t),n!==J&&(e.setProperty(`--q-pe-top`,n+`px`),J=n)}let{scrollLeft:p,scrollTop:m}=n,h=s===void 0?xe(i,l===!0?[0,0]:r):Se(i,s,r);Object.assign(n.style,{top:0,left:0,minWidth:null,minHeight:null,maxWidth:d,maxHeight:u,visibility:`visible`});let{offsetWidth:g,offsetHeight:_}=n,{elWidth:v,elHeight:y}=c===!0||l===!0?{elWidth:Math.max(h.width,g),elHeight:l===!0?Math.max(h.height,_):_}:{elWidth:g,elHeight:_},b={maxWidth:d,maxHeight:u};(c===!0||l===!0)&&(b.minWidth=h.width+`px`,l===!0&&(b.minHeight=h.height+`px`)),Object.assign(n.style,b);let x=Ce(v,y),S=Z(h,x,a,o);if(s===void 0||r===void 0)$(S,h,x,a,o);else{let{top:e,left:t}=S;$(S,h,x,a,o);let n=!1;if(S.top!==e){n=!0;let e=2*r[1];h.center=h.top-=e,h.bottom-=e+2}if(S.left!==t){n=!0;let e=2*r[0];h.middle=h.left-=e,h.right-=e+2}n===!0&&(S=Z(h,x,a,o),$(S,h,x,a,o))}b={top:S.top+`px`,left:S.left+`px`},S.maxHeight!==void 0&&(b.maxHeight=S.maxHeight+`px`,h.height>S.maxHeight&&(b.minHeight=b.maxHeight)),S.maxWidth!==void 0&&(b.maxWidth=S.maxWidth+`px`,h.width>S.maxWidth&&(b.minWidth=b.maxWidth)),Object.assign(n.style,b),n.scrollTop!==m&&(n.scrollTop=m),n.scrollLeft!==p&&(n.scrollLeft=p)}function $(e,t,n,r,i){let a=n.bottom,o=n.right,s=H(),c=window.innerHeight-s,l=document.body.clientWidth;if(e.top<0||e.top+a>c)if(i.vertical===`center`)e.top=t[r.vertical]>c/2?Math.max(0,c-a):0,e.maxHeight=Math.min(a,c);else if(t[r.vertical]>c/2){let n=Math.min(c,r.vertical===`center`?t.center:r.vertical===i.vertical?t.bottom:t.top);e.maxHeight=Math.min(a,n),e.top=Math.max(0,n-a)}else e.top=Math.max(0,r.vertical===`center`?t.center:r.vertical===i.vertical?t.top:t.bottom),e.maxHeight=Math.min(a,c-e.top);if(e.left<0||e.left+o>l)if(e.maxWidth=Math.min(o,l),i.horizontal===`middle`)e.left=t[r.horizontal]>l/2?Math.max(0,l-o):0;else if(t[r.horizontal]>l/2){let n=Math.min(l,r.horizontal===`middle`?t.middle:r.horizontal===i.horizontal?t.right:t.left);e.maxWidth=Math.min(o,n),e.left=Math.max(0,n-e.maxWidth)}else e.left=Math.max(0,r.horizontal===`middle`?t.middle:r.horizontal===i.horizontal?t.left:t.right),e.maxWidth=Math.min(o,l-e.left)}var we=(e,t)=>{let n=e.__vccOpts||e;for(let[e,r]of t)n[e]=r;return n};export{te as A,oe as C,ne as D,re as E,D as O,se as S,ie as T,P as _,Y as a,le as b,he as c,me as d,ge as f,F as g,I as h,ye as i,E as k,B as l,L as m,be as n,_e as o,R as p,Q as r,ve as s,we as t,H as u,N as v,ae as w,ue as x,de as y};