@loicngr/kobo 1.0.0 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -0
- package/package.json +1 -1
- package/src/client/dist/spa/assets/{ActivityFeed-BveJRagX.js → ActivityFeed-B2jpghoY.js} +1 -1
- package/src/client/dist/spa/assets/{CreatePage-wbOkBwYU.js → CreatePage-BdmfCbtE.js} +1 -1
- package/src/client/dist/spa/assets/{MainLayout-6hzaLlYO.js → MainLayout-CHyXeNrm.js} +1 -1
- package/src/client/dist/spa/assets/{QDialog-B5H6ayTp.js → QDialog-4OVnJT5b.js} +1 -1
- package/src/client/dist/spa/assets/{QExpansionItem-DJgnAZg_.js → QExpansionItem-B7zh077K.js} +1 -1
- package/src/client/dist/spa/assets/{QPage-CLk9i9z8.js → QPage-DKJI735G.js} +1 -1
- package/src/client/dist/spa/assets/{QTabPanels-DlG5TZhP.js → QTabPanels-BAa7ivXp.js} +1 -1
- package/src/client/dist/spa/assets/{SettingsPage-KEqbLZUA.js → SettingsPage-BEDCuLGe.js} +1 -1
- package/src/client/dist/spa/assets/{WorkspacePage-D0Hm21LY.js → WorkspacePage-C6D1voGm.js} +2 -2
- package/src/client/dist/spa/assets/{WorkspacePage-BFuHLjou.css → WorkspacePage-HtatyhXN.css} +1 -1
- package/src/client/dist/spa/assets/{index-CMvo3OTb.js → index-BZyTYZ0E.js} +3 -3
- package/src/client/dist/spa/index.html +1 -1
package/README.md
CHANGED
|
@@ -2,6 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
> **Kōbō** (工房) — Japanese for *workshop*. A multi-workspace agent manager for [Claude Code](https://claude.com/claude-code).
|
|
4
4
|
|
|
5
|
+
> [!WARNING]
|
|
6
|
+
> 🚧 **Work in progress** — This project is under active development. Breaking changes may occur at any time.
|
|
7
|
+
|
|
5
8
|
Kōbō lets you delegate multiple coding missions to Claude Code agents in parallel. Each workspace lives in its own isolated git worktree with its own branch, its own Claude session, optionally its own dev server, and a custom MCP tools server the agent uses to track progress. A Vue 3 dashboard shows live agent output, tasks, acceptance criteria, and git state across every workspace.
|
|
6
9
|
|
|
7
10
|
Think of it as an apprentice's hall: you hand out missions, each apprentice sets up their own workbench, and you watch them work from a single control surface.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@loicngr/kobo",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.1.0",
|
|
4
4
|
"description": "Kōbō — multi-workspace agent manager for Claude Code. Orchestrates isolated git worktrees with dev servers, Notion integration, and MCP tools.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "GPL-3.0-or-later",
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{Bt as e,Ft as t,Gt as n,It as r,Nt as i,Ot as a,St as o,Wt as s,_t as c,at as l,dt as u,ft as d,ht as f,jt as p,kt as m,lt as ee,mt as te,pt as h,qt as g,r as ne,ut as _,y as v}from"./nodes-DeIen-kp.js";import{i as re,o as ie,s as y}from"./index-CMvo3OTb.js";import{A as ae,t as b}from"./_plugin-vue_export-helper-CHpmshS7.js";import{t as x}from"./QSpinnerDots-DcaNq8uL.js";import{t as oe}from"./QTooltip-637ruGFc.js";var{entries:se,setPrototypeOf:S,isFrozen:ce,getPrototypeOf:le,getOwnPropertyDescriptor:ue}=Object,{freeze:C,seal:w,create:de}=Object,{apply:T,construct:fe}=typeof Reflect<`u`&&Reflect;C||=function(e){return e},w||=function(e){return e},T||=function(e,t){var n=[...arguments].slice(2);return e.apply(t,n)},fe||=function(e){return new e(...[...arguments].slice(1))};var pe=A(Array.prototype.forEach),me=A(Array.prototype.lastIndexOf),he=A(Array.prototype.pop),E=A(Array.prototype.push),ge=A(Array.prototype.splice),_e=A(String.prototype.toLowerCase),ve=A(String.prototype.toString),ye=A(String.prototype.match),D=A(String.prototype.replace),be=A(String.prototype.indexOf),xe=A(String.prototype.trim),O=A(Object.prototype.hasOwnProperty),k=A(RegExp.prototype.test),Se=j(TypeError);function A(e){return function(t){t instanceof RegExp&&(t.lastIndex=0);var n=[...arguments].slice(1);return T(e,t,n)}}function j(e){return function(){return fe(e,[...arguments])}}function M(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:_e;S&&S(e,null);let r=t.length;for(;r--;){let i=t[r];if(typeof i==`string`){let e=n(i);e!==i&&(ce(t)||(t[r]=e),i=e)}e[i]=!0}return e}function Ce(e){for(let t=0;t<e.length;t++)O(e,t)||(e[t]=null);return e}function N(e){let t=de(null);for(let[n,r]of se(e))O(e,n)&&(Array.isArray(r)?t[n]=Ce(r):r&&typeof r==`object`&&r.constructor===Object?t[n]=N(r):t[n]=r);return t}function we(e,t){for(;e!==null;){let n=ue(e,t);if(n){if(n.get)return A(n.get);if(typeof n.value==`function`)return A(n.value)}e=le(e)}function n(){return null}return n}var Te=C(`a.abbr.acronym.address.area.article.aside.audio.b.bdi.bdo.big.blink.blockquote.body.br.button.canvas.caption.center.cite.code.col.colgroup.content.data.datalist.dd.decorator.del.details.dfn.dialog.dir.div.dl.dt.element.em.fieldset.figcaption.figure.font.footer.form.h1.h2.h3.h4.h5.h6.head.header.hgroup.hr.html.i.img.input.ins.kbd.label.legend.li.main.map.mark.marquee.menu.menuitem.meter.nav.nobr.ol.optgroup.option.output.p.picture.pre.progress.q.rp.rt.ruby.s.samp.search.section.select.shadow.slot.small.source.spacer.span.strike.strong.style.sub.summary.sup.table.tbody.td.template.textarea.tfoot.th.thead.time.tr.track.tt.u.ul.var.video.wbr`.split(`.`)),Ee=C(`svg.a.altglyph.altglyphdef.altglyphitem.animatecolor.animatemotion.animatetransform.circle.clippath.defs.desc.ellipse.enterkeyhint.exportparts.filter.font.g.glyph.glyphref.hkern.image.inputmode.line.lineargradient.marker.mask.metadata.mpath.part.path.pattern.polygon.polyline.radialgradient.rect.stop.style.switch.symbol.text.textpath.title.tref.tspan.view.vkern`.split(`.`)),De=C([`feBlend`,`feColorMatrix`,`feComponentTransfer`,`feComposite`,`feConvolveMatrix`,`feDiffuseLighting`,`feDisplacementMap`,`feDistantLight`,`feDropShadow`,`feFlood`,`feFuncA`,`feFuncB`,`feFuncG`,`feFuncR`,`feGaussianBlur`,`feImage`,`feMerge`,`feMergeNode`,`feMorphology`,`feOffset`,`fePointLight`,`feSpecularLighting`,`feSpotLight`,`feTile`,`feTurbulence`]),Oe=C([`animate`,`color-profile`,`cursor`,`discard`,`font-face`,`font-face-format`,`font-face-name`,`font-face-src`,`font-face-uri`,`foreignobject`,`hatch`,`hatchpath`,`mesh`,`meshgradient`,`meshpatch`,`meshrow`,`missing-glyph`,`script`,`set`,`solidcolor`,`unknown`,`use`]),ke=C(`math.menclose.merror.mfenced.mfrac.mglyph.mi.mlabeledtr.mmultiscripts.mn.mo.mover.mpadded.mphantom.mroot.mrow.ms.mspace.msqrt.mstyle.msub.msup.msubsup.mtable.mtd.mtext.mtr.munder.munderover.mprescripts`.split(`.`)),Ae=C([`maction`,`maligngroup`,`malignmark`,`mlongdiv`,`mscarries`,`mscarry`,`msgroup`,`mstack`,`msline`,`msrow`,`semantics`,`annotation`,`annotation-xml`,`mprescripts`,`none`]),je=C([`#text`]),Me=C(`accept.action.align.alt.autocapitalize.autocomplete.autopictureinpicture.autoplay.background.bgcolor.border.capture.cellpadding.cellspacing.checked.cite.class.clear.color.cols.colspan.controls.controlslist.coords.crossorigin.datetime.decoding.default.dir.disabled.disablepictureinpicture.disableremoteplayback.download.draggable.enctype.enterkeyhint.exportparts.face.for.headers.height.hidden.high.href.hreflang.id.inert.inputmode.integrity.ismap.kind.label.lang.list.loading.loop.low.max.maxlength.media.method.min.minlength.multiple.muted.name.nonce.noshade.novalidate.nowrap.open.optimum.part.pattern.placeholder.playsinline.popover.popovertarget.popovertargetaction.poster.preload.pubdate.radiogroup.readonly.rel.required.rev.reversed.role.rows.rowspan.spellcheck.scope.selected.shape.size.sizes.slot.span.srclang.start.src.srcset.step.style.summary.tabindex.title.translate.type.usemap.valign.value.width.wrap.xmlns.slot`.split(`.`)),Ne=C(`accent-height.accumulate.additive.alignment-baseline.amplitude.ascent.attributename.attributetype.azimuth.basefrequency.baseline-shift.begin.bias.by.class.clip.clippathunits.clip-path.clip-rule.color.color-interpolation.color-interpolation-filters.color-profile.color-rendering.cx.cy.d.dx.dy.diffuseconstant.direction.display.divisor.dur.edgemode.elevation.end.exponent.fill.fill-opacity.fill-rule.filter.filterunits.flood-color.flood-opacity.font-family.font-size.font-size-adjust.font-stretch.font-style.font-variant.font-weight.fx.fy.g1.g2.glyph-name.glyphref.gradientunits.gradienttransform.height.href.id.image-rendering.in.in2.intercept.k.k1.k2.k3.k4.kerning.keypoints.keysplines.keytimes.lang.lengthadjust.letter-spacing.kernelmatrix.kernelunitlength.lighting-color.local.marker-end.marker-mid.marker-start.markerheight.markerunits.markerwidth.maskcontentunits.maskunits.max.mask.mask-type.media.method.mode.min.name.numoctaves.offset.operator.opacity.order.orient.orientation.origin.overflow.paint-order.path.pathlength.patterncontentunits.patterntransform.patternunits.points.preservealpha.preserveaspectratio.primitiveunits.r.rx.ry.radius.refx.refy.repeatcount.repeatdur.restart.result.rotate.scale.seed.shape-rendering.slope.specularconstant.specularexponent.spreadmethod.startoffset.stddeviation.stitchtiles.stop-color.stop-opacity.stroke-dasharray.stroke-dashoffset.stroke-linecap.stroke-linejoin.stroke-miterlimit.stroke-opacity.stroke.stroke-width.style.surfacescale.systemlanguage.tabindex.tablevalues.targetx.targety.transform.transform-origin.text-anchor.text-decoration.text-rendering.textlength.type.u1.u2.unicode.values.viewbox.visibility.version.vert-adv-y.vert-origin-x.vert-origin-y.width.word-spacing.wrap.writing-mode.xchannelselector.ychannelselector.x.x1.x2.xmlns.y.y1.y2.z.zoomandpan`.split(`.`)),Pe=C(`accent.accentunder.align.bevelled.close.columnsalign.columnlines.columnspan.denomalign.depth.dir.display.displaystyle.encoding.fence.frame.height.href.id.largeop.length.linethickness.lspace.lquote.mathbackground.mathcolor.mathsize.mathvariant.maxsize.minsize.movablelimits.notation.numalign.open.rowalign.rowlines.rowspacing.rowspan.rspace.rquote.scriptlevel.scriptminsize.scriptsizemultiplier.selection.separator.separators.stretchy.subscriptshift.supscriptshift.symmetric.voffset.width.xmlns`.split(`.`)),Fe=C([`xlink:href`,`xml:id`,`xlink:title`,`xml:space`,`xmlns:xlink`]),P=w(/\{\{[\w\W]*|[\w\W]*\}\}/gm),Ie=w(/<%[\w\W]*|[\w\W]*%>/gm),F=w(/\$\{[\w\W]*/gm),Le=w(/^data-[\-\w.\u00B7-\uFFFF]+$/),Re=w(/^aria-[\-\w]+$/),ze=w(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),I=w(/^(?:\w+script|data):/i),Be=w(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),Ve=w(/^html$/i),He=w(/^[a-z][.\w]*(-[.\w]+)+$/i),Ue=Object.freeze({__proto__:null,ARIA_ATTR:Re,ATTR_WHITESPACE:Be,CUSTOM_ELEMENT:He,DATA_ATTR:Le,DOCTYPE_NAME:Ve,ERB_EXPR:Ie,IS_ALLOWED_URI:ze,IS_SCRIPT_OR_DATA:I,MUSTACHE_EXPR:P,TMPLIT_EXPR:F}),We={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,progressingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},Ge=function(){return typeof window>`u`?null:window},Ke=function(e,t){if(typeof e!=`object`||typeof e.createPolicy!=`function`)return null;let n=null,r=`data-tt-policy-suffix`;t&&t.hasAttribute(r)&&(n=t.getAttribute(r));let i=`dompurify`+(n?`#`+n:``);try{return e.createPolicy(i,{createHTML(e){return e},createScriptURL(e){return e}})}catch{return console.warn(`TrustedTypes policy `+i+` could not be created.`),null}},qe=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}};function Je(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:Ge(),t=e=>Je(e);if(t.version=`3.3.3`,t.removed=[],!e||!e.document||e.document.nodeType!==We.document||!e.Element)return t.isSupported=!1,t;let{document:n}=e,r=n,i=r.currentScript,{DocumentFragment:a,HTMLTemplateElement:o,Node:s,Element:c,NodeFilter:l,NamedNodeMap:u=e.NamedNodeMap||e.MozNamedAttrMap,HTMLFormElement:d,DOMParser:f,trustedTypes:p}=e,m=c.prototype,ee=we(m,`cloneNode`),te=we(m,`remove`),h=we(m,`nextSibling`),g=we(m,`childNodes`),ne=we(m,`parentNode`);if(typeof o==`function`){let e=n.createElement(`template`);e.content&&e.content.ownerDocument&&(n=e.content.ownerDocument)}let _,v=``,{implementation:re,createNodeIterator:ie,createDocumentFragment:y,getElementsByTagName:ae}=n,{importNode:b}=r,x=qe();t.isSupported=typeof se==`function`&&typeof ne==`function`&&re&&re.createHTMLDocument!==void 0;let{MUSTACHE_EXPR:oe,ERB_EXPR:S,TMPLIT_EXPR:ce,DATA_ATTR:le,ARIA_ATTR:ue,IS_SCRIPT_OR_DATA:w,ATTR_WHITESPACE:T,CUSTOM_ELEMENT:fe}=Ue,{IS_ALLOWED_URI:A}=Ue,j=null,Ce=M({},[...Te,...Ee,...De,...ke,...je]),P=null,Ie=M({},[...Me,...Ne,...Pe,...Fe]),F=Object.seal(de(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),Le=null,Re=null,I=Object.seal(de(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}})),Be=!0,He=!0,Ye=!1,Xe=!0,L=!1,R=!0,z=!1,B=!1,V=!1,Ze=!1,H=!1,Qe=!1,$e=!0,et=!1,U=!0,tt=!1,W={},G=null,nt=M({},[`annotation-xml`,`audio`,`colgroup`,`desc`,`foreignobject`,`head`,`iframe`,`math`,`mi`,`mn`,`mo`,`ms`,`mtext`,`noembed`,`noframes`,`noscript`,`plaintext`,`script`,`style`,`svg`,`template`,`thead`,`title`,`video`,`xmp`]),rt=null,it=M({},[`audio`,`video`,`img`,`source`,`image`,`track`]),at=null,ot=M({},[`alt`,`class`,`for`,`id`,`label`,`name`,`pattern`,`placeholder`,`role`,`summary`,`title`,`value`,`style`,`xmlns`]),st=`http://www.w3.org/1998/Math/MathML`,ct=`http://www.w3.org/2000/svg`,K=`http://www.w3.org/1999/xhtml`,q=K,lt=!1,ut=null,dt=M({},[st,ct,K],ve),ft=M({},[`mi`,`mo`,`mn`,`ms`,`mtext`]),pt=M({},[`annotation-xml`]),mt=M({},[`title`,`style`,`font`,`a`,`script`]),ht=null,gt=[`application/xhtml+xml`,`text/html`],J=null,_t=null,vt=n.createElement(`form`),yt=function(e){return e instanceof RegExp||e instanceof Function},bt=function(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(!(_t&&_t===e)){if((!e||typeof e!=`object`)&&(e={}),e=N(e),ht=gt.indexOf(e.PARSER_MEDIA_TYPE)===-1?`text/html`:e.PARSER_MEDIA_TYPE,J=ht===`application/xhtml+xml`?ve:_e,j=O(e,`ALLOWED_TAGS`)?M({},e.ALLOWED_TAGS,J):Ce,P=O(e,`ALLOWED_ATTR`)?M({},e.ALLOWED_ATTR,J):Ie,ut=O(e,`ALLOWED_NAMESPACES`)?M({},e.ALLOWED_NAMESPACES,ve):dt,at=O(e,`ADD_URI_SAFE_ATTR`)?M(N(ot),e.ADD_URI_SAFE_ATTR,J):ot,rt=O(e,`ADD_DATA_URI_TAGS`)?M(N(it),e.ADD_DATA_URI_TAGS,J):it,G=O(e,`FORBID_CONTENTS`)?M({},e.FORBID_CONTENTS,J):nt,Le=O(e,`FORBID_TAGS`)?M({},e.FORBID_TAGS,J):N({}),Re=O(e,`FORBID_ATTR`)?M({},e.FORBID_ATTR,J):N({}),W=O(e,`USE_PROFILES`)?e.USE_PROFILES:!1,Be=e.ALLOW_ARIA_ATTR!==!1,He=e.ALLOW_DATA_ATTR!==!1,Ye=e.ALLOW_UNKNOWN_PROTOCOLS||!1,Xe=e.ALLOW_SELF_CLOSE_IN_ATTR!==!1,L=e.SAFE_FOR_TEMPLATES||!1,R=e.SAFE_FOR_XML!==!1,z=e.WHOLE_DOCUMENT||!1,Ze=e.RETURN_DOM||!1,H=e.RETURN_DOM_FRAGMENT||!1,Qe=e.RETURN_TRUSTED_TYPE||!1,V=e.FORCE_BODY||!1,$e=e.SANITIZE_DOM!==!1,et=e.SANITIZE_NAMED_PROPS||!1,U=e.KEEP_CONTENT!==!1,tt=e.IN_PLACE||!1,A=e.ALLOWED_URI_REGEXP||ze,q=e.NAMESPACE||K,ft=e.MATHML_TEXT_INTEGRATION_POINTS||ft,pt=e.HTML_INTEGRATION_POINTS||pt,F=e.CUSTOM_ELEMENT_HANDLING||{},e.CUSTOM_ELEMENT_HANDLING&&yt(e.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(F.tagNameCheck=e.CUSTOM_ELEMENT_HANDLING.tagNameCheck),e.CUSTOM_ELEMENT_HANDLING&&yt(e.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(F.attributeNameCheck=e.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),e.CUSTOM_ELEMENT_HANDLING&&typeof e.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements==`boolean`&&(F.allowCustomizedBuiltInElements=e.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),L&&(He=!1),H&&(Ze=!0),W&&(j=M({},je),P=de(null),W.html===!0&&(M(j,Te),M(P,Me)),W.svg===!0&&(M(j,Ee),M(P,Ne),M(P,Fe)),W.svgFilters===!0&&(M(j,De),M(P,Ne),M(P,Fe)),W.mathMl===!0&&(M(j,ke),M(P,Pe),M(P,Fe))),O(e,`ADD_TAGS`)||(I.tagCheck=null),O(e,`ADD_ATTR`)||(I.attributeCheck=null),e.ADD_TAGS&&(typeof e.ADD_TAGS==`function`?I.tagCheck=e.ADD_TAGS:(j===Ce&&(j=N(j)),M(j,e.ADD_TAGS,J))),e.ADD_ATTR&&(typeof e.ADD_ATTR==`function`?I.attributeCheck=e.ADD_ATTR:(P===Ie&&(P=N(P)),M(P,e.ADD_ATTR,J))),e.ADD_URI_SAFE_ATTR&&M(at,e.ADD_URI_SAFE_ATTR,J),e.FORBID_CONTENTS&&(G===nt&&(G=N(G)),M(G,e.FORBID_CONTENTS,J)),e.ADD_FORBID_CONTENTS&&(G===nt&&(G=N(G)),M(G,e.ADD_FORBID_CONTENTS,J)),U&&(j[`#text`]=!0),z&&M(j,[`html`,`head`,`body`]),j.table&&(M(j,[`tbody`]),delete Le.tbody),e.TRUSTED_TYPES_POLICY){if(typeof e.TRUSTED_TYPES_POLICY.createHTML!=`function`)throw Se(`TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.`);if(typeof e.TRUSTED_TYPES_POLICY.createScriptURL!=`function`)throw Se(`TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.`);_=e.TRUSTED_TYPES_POLICY,v=_.createHTML(``)}else _===void 0&&(_=Ke(p,i)),_!==null&&typeof v==`string`&&(v=_.createHTML(``));C&&C(e),_t=e}},xt=M({},[...Ee,...De,...Oe]),St=M({},[...ke,...Ae]),Ct=function(e){let t=ne(e);(!t||!t.tagName)&&(t={namespaceURI:q,tagName:`template`});let n=_e(e.tagName),r=_e(t.tagName);return ut[e.namespaceURI]?e.namespaceURI===ct?t.namespaceURI===K?n===`svg`:t.namespaceURI===st?n===`svg`&&(r===`annotation-xml`||ft[r]):!!xt[n]:e.namespaceURI===st?t.namespaceURI===K?n===`math`:t.namespaceURI===ct?n===`math`&&pt[r]:!!St[n]:e.namespaceURI===K?t.namespaceURI===ct&&!pt[r]||t.namespaceURI===st&&!ft[r]?!1:!St[n]&&(mt[n]||!xt[n]):!!(ht===`application/xhtml+xml`&&ut[e.namespaceURI]):!1},wt=function(e){E(t.removed,{element:e});try{ne(e).removeChild(e)}catch{te(e)}},Tt=function(e,n){try{E(t.removed,{attribute:n.getAttributeNode(e),from:n})}catch{E(t.removed,{attribute:null,from:n})}if(n.removeAttribute(e),e===`is`)if(Ze||H)try{wt(n)}catch{}else try{n.setAttribute(e,``)}catch{}},Et=function(e){let t=null,r=null;if(V)e=`<remove></remove>`+e;else{let t=ye(e,/^[\r\n\t ]+/);r=t&&t[0]}ht===`application/xhtml+xml`&&q===K&&(e=`<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>`+e+`</body></html>`);let i=_?_.createHTML(e):e;if(q===K)try{t=new f().parseFromString(i,ht)}catch{}if(!t||!t.documentElement){t=re.createDocument(q,`template`,null);try{t.documentElement.innerHTML=lt?v:i}catch{}}let a=t.body||t.documentElement;return e&&r&&a.insertBefore(n.createTextNode(r),a.childNodes[0]||null),q===K?ae.call(t,z?`html`:`body`)[0]:z?t.documentElement:a},Dt=function(e){return ie.call(e.ownerDocument||e,e,l.SHOW_ELEMENT|l.SHOW_COMMENT|l.SHOW_TEXT|l.SHOW_PROCESSING_INSTRUCTION|l.SHOW_CDATA_SECTION,null)},Ot=function(e){return e instanceof d&&(typeof e.nodeName!=`string`||typeof e.textContent!=`string`||typeof e.removeChild!=`function`||!(e.attributes instanceof u)||typeof e.removeAttribute!=`function`||typeof e.setAttribute!=`function`||typeof e.namespaceURI!=`string`||typeof e.insertBefore!=`function`||typeof e.hasChildNodes!=`function`)},kt=function(e){return typeof s==`function`&&e instanceof s};function Y(e,n,r){pe(e,e=>{e.call(t,n,r,_t)})}let At=function(e){let n=null;if(Y(x.beforeSanitizeElements,e,null),Ot(e))return wt(e),!0;let r=J(e.nodeName);if(Y(x.uponSanitizeElement,e,{tagName:r,allowedTags:j}),R&&e.hasChildNodes()&&!kt(e.firstElementChild)&&k(/<[/\w!]/g,e.innerHTML)&&k(/<[/\w!]/g,e.textContent)||e.nodeType===We.progressingInstruction||R&&e.nodeType===We.comment&&k(/<[/\w]/g,e.data))return wt(e),!0;if(!(I.tagCheck instanceof Function&&I.tagCheck(r))&&(!j[r]||Le[r])){if(!Le[r]&&Mt(r)&&(F.tagNameCheck instanceof RegExp&&k(F.tagNameCheck,r)||F.tagNameCheck instanceof Function&&F.tagNameCheck(r)))return!1;if(U&&!G[r]){let t=ne(e)||e.parentNode,n=g(e)||e.childNodes;if(n&&t){let r=n.length;for(let i=r-1;i>=0;--i){let r=ee(n[i],!0);r.__removalCount=(e.__removalCount||0)+1,t.insertBefore(r,h(e))}}}return wt(e),!0}return e instanceof c&&!Ct(e)||(r===`noscript`||r===`noembed`||r===`noframes`)&&k(/<\/no(script|embed|frames)/i,e.innerHTML)?(wt(e),!0):(L&&e.nodeType===We.text&&(n=e.textContent,pe([oe,S,ce],e=>{n=D(n,e,` `)}),e.textContent!==n&&(E(t.removed,{element:e.cloneNode()}),e.textContent=n)),Y(x.afterSanitizeElements,e,null),!1)},jt=function(e,t,r){if(Re[t]||$e&&(t===`id`||t===`name`)&&(r in n||r in vt))return!1;if(!(He&&!Re[t]&&k(le,t))&&!(Be&&k(ue,t))&&!(I.attributeCheck instanceof Function&&I.attributeCheck(t,e))){if(!P[t]||Re[t]){if(!(Mt(e)&&(F.tagNameCheck instanceof RegExp&&k(F.tagNameCheck,e)||F.tagNameCheck instanceof Function&&F.tagNameCheck(e))&&(F.attributeNameCheck instanceof RegExp&&k(F.attributeNameCheck,t)||F.attributeNameCheck instanceof Function&&F.attributeNameCheck(t,e))||t===`is`&&F.allowCustomizedBuiltInElements&&(F.tagNameCheck instanceof RegExp&&k(F.tagNameCheck,r)||F.tagNameCheck instanceof Function&&F.tagNameCheck(r))))return!1}else if(!at[t]&&!k(A,D(r,T,``))&&!((t===`src`||t===`xlink:href`||t===`href`)&&e!==`script`&&be(r,`data:`)===0&&rt[e])&&!(Ye&&!k(w,D(r,T,``)))&&r)return!1}return!0},Mt=function(e){return e!==`annotation-xml`&&ye(e,fe)},Nt=function(e){Y(x.beforeSanitizeAttributes,e,null);let{attributes:n}=e;if(!n||Ot(e))return;let r={attrName:``,attrValue:``,keepAttr:!0,allowedAttributes:P,forceKeepAttr:void 0},i=n.length;for(;i--;){let{name:a,namespaceURI:o,value:s}=n[i],c=J(a),l=s,u=a===`value`?l:xe(l);if(r.attrName=c,r.attrValue=u,r.keepAttr=!0,r.forceKeepAttr=void 0,Y(x.uponSanitizeAttribute,e,r),u=r.attrValue,et&&(c===`id`||c===`name`)&&(Tt(a,e),u=`user-content-`+u),R&&k(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,u)){Tt(a,e);continue}if(c===`attributename`&&ye(u,`href`)){Tt(a,e);continue}if(r.forceKeepAttr)continue;if(!r.keepAttr){Tt(a,e);continue}if(!Xe&&k(/\/>/i,u)){Tt(a,e);continue}L&&pe([oe,S,ce],e=>{u=D(u,e,` `)});let d=J(e.nodeName);if(!jt(d,c,u)){Tt(a,e);continue}if(_&&typeof p==`object`&&typeof p.getAttributeType==`function`&&!o)switch(p.getAttributeType(d,c)){case`TrustedHTML`:u=_.createHTML(u);break;case`TrustedScriptURL`:u=_.createScriptURL(u);break}if(u!==l)try{o?e.setAttributeNS(o,a,u):e.setAttribute(a,u),Ot(e)?wt(e):he(t.removed)}catch{Tt(a,e)}}Y(x.afterSanitizeAttributes,e,null)},Pt=function e(t){let n=null,r=Dt(t);for(Y(x.beforeSanitizeShadowDOM,t,null);n=r.nextNode();)Y(x.uponSanitizeShadowNode,n,null),At(n),Nt(n),n.content instanceof a&&e(n.content);Y(x.afterSanitizeShadowDOM,t,null)};return t.sanitize=function(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=null,o=null,c=null,l=null;if(lt=!e,lt&&(e=`<!-->`),typeof e!=`string`&&!kt(e))if(typeof e.toString==`function`){if(e=e.toString(),typeof e!=`string`)throw Se(`dirty is not a string, aborting`)}else throw Se(`toString is not a function`);if(!t.isSupported)return e;if(B||bt(n),t.removed=[],typeof e==`string`&&(tt=!1),tt){if(e.nodeName){let t=J(e.nodeName);if(!j[t]||Le[t])throw Se(`root node is forbidden and cannot be sanitized in-place`)}}else if(e instanceof s)i=Et(`<!---->`),o=i.ownerDocument.importNode(e,!0),o.nodeType===We.element&&o.nodeName===`BODY`||o.nodeName===`HTML`?i=o:i.appendChild(o);else{if(!Ze&&!L&&!z&&e.indexOf(`<`)===-1)return _&&Qe?_.createHTML(e):e;if(i=Et(e),!i)return Ze?null:Qe?v:``}i&&V&&wt(i.firstChild);let u=Dt(tt?e:i);for(;c=u.nextNode();)At(c),Nt(c),c.content instanceof a&&Pt(c.content);if(tt)return e;if(Ze){if(H)for(l=y.call(i.ownerDocument);i.firstChild;)l.appendChild(i.firstChild);else l=i;return(P.shadowroot||P.shadowrootmode)&&(l=b.call(r,l,!0)),l}let d=z?i.outerHTML:i.innerHTML;return z&&j[`!doctype`]&&i.ownerDocument&&i.ownerDocument.doctype&&i.ownerDocument.doctype.name&&k(Ve,i.ownerDocument.doctype.name)&&(d=`<!DOCTYPE `+i.ownerDocument.doctype.name+`>
|
|
1
|
+
import{Bt as e,Ft as t,Gt as n,It as r,Nt as i,Ot as a,St as o,Wt as s,_t as c,at as l,dt as u,ft as d,ht as f,jt as p,kt as m,lt as ee,mt as te,pt as h,qt as g,r as ne,ut as _,y as v}from"./nodes-DeIen-kp.js";import{i as re,o as ie,s as y}from"./index-BZyTYZ0E.js";import{A as ae,t as b}from"./_plugin-vue_export-helper-CHpmshS7.js";import{t as x}from"./QSpinnerDots-DcaNq8uL.js";import{t as oe}from"./QTooltip-637ruGFc.js";var{entries:se,setPrototypeOf:S,isFrozen:ce,getPrototypeOf:le,getOwnPropertyDescriptor:ue}=Object,{freeze:C,seal:w,create:de}=Object,{apply:T,construct:fe}=typeof Reflect<`u`&&Reflect;C||=function(e){return e},w||=function(e){return e},T||=function(e,t){var n=[...arguments].slice(2);return e.apply(t,n)},fe||=function(e){return new e(...[...arguments].slice(1))};var pe=A(Array.prototype.forEach),me=A(Array.prototype.lastIndexOf),he=A(Array.prototype.pop),E=A(Array.prototype.push),ge=A(Array.prototype.splice),_e=A(String.prototype.toLowerCase),ve=A(String.prototype.toString),ye=A(String.prototype.match),D=A(String.prototype.replace),be=A(String.prototype.indexOf),xe=A(String.prototype.trim),O=A(Object.prototype.hasOwnProperty),k=A(RegExp.prototype.test),Se=j(TypeError);function A(e){return function(t){t instanceof RegExp&&(t.lastIndex=0);var n=[...arguments].slice(1);return T(e,t,n)}}function j(e){return function(){return fe(e,[...arguments])}}function M(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:_e;S&&S(e,null);let r=t.length;for(;r--;){let i=t[r];if(typeof i==`string`){let e=n(i);e!==i&&(ce(t)||(t[r]=e),i=e)}e[i]=!0}return e}function Ce(e){for(let t=0;t<e.length;t++)O(e,t)||(e[t]=null);return e}function N(e){let t=de(null);for(let[n,r]of se(e))O(e,n)&&(Array.isArray(r)?t[n]=Ce(r):r&&typeof r==`object`&&r.constructor===Object?t[n]=N(r):t[n]=r);return t}function we(e,t){for(;e!==null;){let n=ue(e,t);if(n){if(n.get)return A(n.get);if(typeof n.value==`function`)return A(n.value)}e=le(e)}function n(){return null}return n}var Te=C(`a.abbr.acronym.address.area.article.aside.audio.b.bdi.bdo.big.blink.blockquote.body.br.button.canvas.caption.center.cite.code.col.colgroup.content.data.datalist.dd.decorator.del.details.dfn.dialog.dir.div.dl.dt.element.em.fieldset.figcaption.figure.font.footer.form.h1.h2.h3.h4.h5.h6.head.header.hgroup.hr.html.i.img.input.ins.kbd.label.legend.li.main.map.mark.marquee.menu.menuitem.meter.nav.nobr.ol.optgroup.option.output.p.picture.pre.progress.q.rp.rt.ruby.s.samp.search.section.select.shadow.slot.small.source.spacer.span.strike.strong.style.sub.summary.sup.table.tbody.td.template.textarea.tfoot.th.thead.time.tr.track.tt.u.ul.var.video.wbr`.split(`.`)),Ee=C(`svg.a.altglyph.altglyphdef.altglyphitem.animatecolor.animatemotion.animatetransform.circle.clippath.defs.desc.ellipse.enterkeyhint.exportparts.filter.font.g.glyph.glyphref.hkern.image.inputmode.line.lineargradient.marker.mask.metadata.mpath.part.path.pattern.polygon.polyline.radialgradient.rect.stop.style.switch.symbol.text.textpath.title.tref.tspan.view.vkern`.split(`.`)),De=C([`feBlend`,`feColorMatrix`,`feComponentTransfer`,`feComposite`,`feConvolveMatrix`,`feDiffuseLighting`,`feDisplacementMap`,`feDistantLight`,`feDropShadow`,`feFlood`,`feFuncA`,`feFuncB`,`feFuncG`,`feFuncR`,`feGaussianBlur`,`feImage`,`feMerge`,`feMergeNode`,`feMorphology`,`feOffset`,`fePointLight`,`feSpecularLighting`,`feSpotLight`,`feTile`,`feTurbulence`]),Oe=C([`animate`,`color-profile`,`cursor`,`discard`,`font-face`,`font-face-format`,`font-face-name`,`font-face-src`,`font-face-uri`,`foreignobject`,`hatch`,`hatchpath`,`mesh`,`meshgradient`,`meshpatch`,`meshrow`,`missing-glyph`,`script`,`set`,`solidcolor`,`unknown`,`use`]),ke=C(`math.menclose.merror.mfenced.mfrac.mglyph.mi.mlabeledtr.mmultiscripts.mn.mo.mover.mpadded.mphantom.mroot.mrow.ms.mspace.msqrt.mstyle.msub.msup.msubsup.mtable.mtd.mtext.mtr.munder.munderover.mprescripts`.split(`.`)),Ae=C([`maction`,`maligngroup`,`malignmark`,`mlongdiv`,`mscarries`,`mscarry`,`msgroup`,`mstack`,`msline`,`msrow`,`semantics`,`annotation`,`annotation-xml`,`mprescripts`,`none`]),je=C([`#text`]),Me=C(`accept.action.align.alt.autocapitalize.autocomplete.autopictureinpicture.autoplay.background.bgcolor.border.capture.cellpadding.cellspacing.checked.cite.class.clear.color.cols.colspan.controls.controlslist.coords.crossorigin.datetime.decoding.default.dir.disabled.disablepictureinpicture.disableremoteplayback.download.draggable.enctype.enterkeyhint.exportparts.face.for.headers.height.hidden.high.href.hreflang.id.inert.inputmode.integrity.ismap.kind.label.lang.list.loading.loop.low.max.maxlength.media.method.min.minlength.multiple.muted.name.nonce.noshade.novalidate.nowrap.open.optimum.part.pattern.placeholder.playsinline.popover.popovertarget.popovertargetaction.poster.preload.pubdate.radiogroup.readonly.rel.required.rev.reversed.role.rows.rowspan.spellcheck.scope.selected.shape.size.sizes.slot.span.srclang.start.src.srcset.step.style.summary.tabindex.title.translate.type.usemap.valign.value.width.wrap.xmlns.slot`.split(`.`)),Ne=C(`accent-height.accumulate.additive.alignment-baseline.amplitude.ascent.attributename.attributetype.azimuth.basefrequency.baseline-shift.begin.bias.by.class.clip.clippathunits.clip-path.clip-rule.color.color-interpolation.color-interpolation-filters.color-profile.color-rendering.cx.cy.d.dx.dy.diffuseconstant.direction.display.divisor.dur.edgemode.elevation.end.exponent.fill.fill-opacity.fill-rule.filter.filterunits.flood-color.flood-opacity.font-family.font-size.font-size-adjust.font-stretch.font-style.font-variant.font-weight.fx.fy.g1.g2.glyph-name.glyphref.gradientunits.gradienttransform.height.href.id.image-rendering.in.in2.intercept.k.k1.k2.k3.k4.kerning.keypoints.keysplines.keytimes.lang.lengthadjust.letter-spacing.kernelmatrix.kernelunitlength.lighting-color.local.marker-end.marker-mid.marker-start.markerheight.markerunits.markerwidth.maskcontentunits.maskunits.max.mask.mask-type.media.method.mode.min.name.numoctaves.offset.operator.opacity.order.orient.orientation.origin.overflow.paint-order.path.pathlength.patterncontentunits.patterntransform.patternunits.points.preservealpha.preserveaspectratio.primitiveunits.r.rx.ry.radius.refx.refy.repeatcount.repeatdur.restart.result.rotate.scale.seed.shape-rendering.slope.specularconstant.specularexponent.spreadmethod.startoffset.stddeviation.stitchtiles.stop-color.stop-opacity.stroke-dasharray.stroke-dashoffset.stroke-linecap.stroke-linejoin.stroke-miterlimit.stroke-opacity.stroke.stroke-width.style.surfacescale.systemlanguage.tabindex.tablevalues.targetx.targety.transform.transform-origin.text-anchor.text-decoration.text-rendering.textlength.type.u1.u2.unicode.values.viewbox.visibility.version.vert-adv-y.vert-origin-x.vert-origin-y.width.word-spacing.wrap.writing-mode.xchannelselector.ychannelselector.x.x1.x2.xmlns.y.y1.y2.z.zoomandpan`.split(`.`)),Pe=C(`accent.accentunder.align.bevelled.close.columnsalign.columnlines.columnspan.denomalign.depth.dir.display.displaystyle.encoding.fence.frame.height.href.id.largeop.length.linethickness.lspace.lquote.mathbackground.mathcolor.mathsize.mathvariant.maxsize.minsize.movablelimits.notation.numalign.open.rowalign.rowlines.rowspacing.rowspan.rspace.rquote.scriptlevel.scriptminsize.scriptsizemultiplier.selection.separator.separators.stretchy.subscriptshift.supscriptshift.symmetric.voffset.width.xmlns`.split(`.`)),Fe=C([`xlink:href`,`xml:id`,`xlink:title`,`xml:space`,`xmlns:xlink`]),P=w(/\{\{[\w\W]*|[\w\W]*\}\}/gm),Ie=w(/<%[\w\W]*|[\w\W]*%>/gm),F=w(/\$\{[\w\W]*/gm),Le=w(/^data-[\-\w.\u00B7-\uFFFF]+$/),Re=w(/^aria-[\-\w]+$/),ze=w(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),I=w(/^(?:\w+script|data):/i),Be=w(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),Ve=w(/^html$/i),He=w(/^[a-z][.\w]*(-[.\w]+)+$/i),Ue=Object.freeze({__proto__:null,ARIA_ATTR:Re,ATTR_WHITESPACE:Be,CUSTOM_ELEMENT:He,DATA_ATTR:Le,DOCTYPE_NAME:Ve,ERB_EXPR:Ie,IS_ALLOWED_URI:ze,IS_SCRIPT_OR_DATA:I,MUSTACHE_EXPR:P,TMPLIT_EXPR:F}),We={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,progressingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},Ge=function(){return typeof window>`u`?null:window},Ke=function(e,t){if(typeof e!=`object`||typeof e.createPolicy!=`function`)return null;let n=null,r=`data-tt-policy-suffix`;t&&t.hasAttribute(r)&&(n=t.getAttribute(r));let i=`dompurify`+(n?`#`+n:``);try{return e.createPolicy(i,{createHTML(e){return e},createScriptURL(e){return e}})}catch{return console.warn(`TrustedTypes policy `+i+` could not be created.`),null}},qe=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}};function Je(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:Ge(),t=e=>Je(e);if(t.version=`3.3.3`,t.removed=[],!e||!e.document||e.document.nodeType!==We.document||!e.Element)return t.isSupported=!1,t;let{document:n}=e,r=n,i=r.currentScript,{DocumentFragment:a,HTMLTemplateElement:o,Node:s,Element:c,NodeFilter:l,NamedNodeMap:u=e.NamedNodeMap||e.MozNamedAttrMap,HTMLFormElement:d,DOMParser:f,trustedTypes:p}=e,m=c.prototype,ee=we(m,`cloneNode`),te=we(m,`remove`),h=we(m,`nextSibling`),g=we(m,`childNodes`),ne=we(m,`parentNode`);if(typeof o==`function`){let e=n.createElement(`template`);e.content&&e.content.ownerDocument&&(n=e.content.ownerDocument)}let _,v=``,{implementation:re,createNodeIterator:ie,createDocumentFragment:y,getElementsByTagName:ae}=n,{importNode:b}=r,x=qe();t.isSupported=typeof se==`function`&&typeof ne==`function`&&re&&re.createHTMLDocument!==void 0;let{MUSTACHE_EXPR:oe,ERB_EXPR:S,TMPLIT_EXPR:ce,DATA_ATTR:le,ARIA_ATTR:ue,IS_SCRIPT_OR_DATA:w,ATTR_WHITESPACE:T,CUSTOM_ELEMENT:fe}=Ue,{IS_ALLOWED_URI:A}=Ue,j=null,Ce=M({},[...Te,...Ee,...De,...ke,...je]),P=null,Ie=M({},[...Me,...Ne,...Pe,...Fe]),F=Object.seal(de(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),Le=null,Re=null,I=Object.seal(de(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}})),Be=!0,He=!0,Ye=!1,Xe=!0,L=!1,R=!0,z=!1,B=!1,V=!1,Ze=!1,H=!1,Qe=!1,$e=!0,et=!1,U=!0,tt=!1,W={},G=null,nt=M({},[`annotation-xml`,`audio`,`colgroup`,`desc`,`foreignobject`,`head`,`iframe`,`math`,`mi`,`mn`,`mo`,`ms`,`mtext`,`noembed`,`noframes`,`noscript`,`plaintext`,`script`,`style`,`svg`,`template`,`thead`,`title`,`video`,`xmp`]),rt=null,it=M({},[`audio`,`video`,`img`,`source`,`image`,`track`]),at=null,ot=M({},[`alt`,`class`,`for`,`id`,`label`,`name`,`pattern`,`placeholder`,`role`,`summary`,`title`,`value`,`style`,`xmlns`]),st=`http://www.w3.org/1998/Math/MathML`,ct=`http://www.w3.org/2000/svg`,K=`http://www.w3.org/1999/xhtml`,q=K,lt=!1,ut=null,dt=M({},[st,ct,K],ve),ft=M({},[`mi`,`mo`,`mn`,`ms`,`mtext`]),pt=M({},[`annotation-xml`]),mt=M({},[`title`,`style`,`font`,`a`,`script`]),ht=null,gt=[`application/xhtml+xml`,`text/html`],J=null,_t=null,vt=n.createElement(`form`),yt=function(e){return e instanceof RegExp||e instanceof Function},bt=function(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(!(_t&&_t===e)){if((!e||typeof e!=`object`)&&(e={}),e=N(e),ht=gt.indexOf(e.PARSER_MEDIA_TYPE)===-1?`text/html`:e.PARSER_MEDIA_TYPE,J=ht===`application/xhtml+xml`?ve:_e,j=O(e,`ALLOWED_TAGS`)?M({},e.ALLOWED_TAGS,J):Ce,P=O(e,`ALLOWED_ATTR`)?M({},e.ALLOWED_ATTR,J):Ie,ut=O(e,`ALLOWED_NAMESPACES`)?M({},e.ALLOWED_NAMESPACES,ve):dt,at=O(e,`ADD_URI_SAFE_ATTR`)?M(N(ot),e.ADD_URI_SAFE_ATTR,J):ot,rt=O(e,`ADD_DATA_URI_TAGS`)?M(N(it),e.ADD_DATA_URI_TAGS,J):it,G=O(e,`FORBID_CONTENTS`)?M({},e.FORBID_CONTENTS,J):nt,Le=O(e,`FORBID_TAGS`)?M({},e.FORBID_TAGS,J):N({}),Re=O(e,`FORBID_ATTR`)?M({},e.FORBID_ATTR,J):N({}),W=O(e,`USE_PROFILES`)?e.USE_PROFILES:!1,Be=e.ALLOW_ARIA_ATTR!==!1,He=e.ALLOW_DATA_ATTR!==!1,Ye=e.ALLOW_UNKNOWN_PROTOCOLS||!1,Xe=e.ALLOW_SELF_CLOSE_IN_ATTR!==!1,L=e.SAFE_FOR_TEMPLATES||!1,R=e.SAFE_FOR_XML!==!1,z=e.WHOLE_DOCUMENT||!1,Ze=e.RETURN_DOM||!1,H=e.RETURN_DOM_FRAGMENT||!1,Qe=e.RETURN_TRUSTED_TYPE||!1,V=e.FORCE_BODY||!1,$e=e.SANITIZE_DOM!==!1,et=e.SANITIZE_NAMED_PROPS||!1,U=e.KEEP_CONTENT!==!1,tt=e.IN_PLACE||!1,A=e.ALLOWED_URI_REGEXP||ze,q=e.NAMESPACE||K,ft=e.MATHML_TEXT_INTEGRATION_POINTS||ft,pt=e.HTML_INTEGRATION_POINTS||pt,F=e.CUSTOM_ELEMENT_HANDLING||{},e.CUSTOM_ELEMENT_HANDLING&&yt(e.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(F.tagNameCheck=e.CUSTOM_ELEMENT_HANDLING.tagNameCheck),e.CUSTOM_ELEMENT_HANDLING&&yt(e.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(F.attributeNameCheck=e.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),e.CUSTOM_ELEMENT_HANDLING&&typeof e.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements==`boolean`&&(F.allowCustomizedBuiltInElements=e.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),L&&(He=!1),H&&(Ze=!0),W&&(j=M({},je),P=de(null),W.html===!0&&(M(j,Te),M(P,Me)),W.svg===!0&&(M(j,Ee),M(P,Ne),M(P,Fe)),W.svgFilters===!0&&(M(j,De),M(P,Ne),M(P,Fe)),W.mathMl===!0&&(M(j,ke),M(P,Pe),M(P,Fe))),O(e,`ADD_TAGS`)||(I.tagCheck=null),O(e,`ADD_ATTR`)||(I.attributeCheck=null),e.ADD_TAGS&&(typeof e.ADD_TAGS==`function`?I.tagCheck=e.ADD_TAGS:(j===Ce&&(j=N(j)),M(j,e.ADD_TAGS,J))),e.ADD_ATTR&&(typeof e.ADD_ATTR==`function`?I.attributeCheck=e.ADD_ATTR:(P===Ie&&(P=N(P)),M(P,e.ADD_ATTR,J))),e.ADD_URI_SAFE_ATTR&&M(at,e.ADD_URI_SAFE_ATTR,J),e.FORBID_CONTENTS&&(G===nt&&(G=N(G)),M(G,e.FORBID_CONTENTS,J)),e.ADD_FORBID_CONTENTS&&(G===nt&&(G=N(G)),M(G,e.ADD_FORBID_CONTENTS,J)),U&&(j[`#text`]=!0),z&&M(j,[`html`,`head`,`body`]),j.table&&(M(j,[`tbody`]),delete Le.tbody),e.TRUSTED_TYPES_POLICY){if(typeof e.TRUSTED_TYPES_POLICY.createHTML!=`function`)throw Se(`TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.`);if(typeof e.TRUSTED_TYPES_POLICY.createScriptURL!=`function`)throw Se(`TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.`);_=e.TRUSTED_TYPES_POLICY,v=_.createHTML(``)}else _===void 0&&(_=Ke(p,i)),_!==null&&typeof v==`string`&&(v=_.createHTML(``));C&&C(e),_t=e}},xt=M({},[...Ee,...De,...Oe]),St=M({},[...ke,...Ae]),Ct=function(e){let t=ne(e);(!t||!t.tagName)&&(t={namespaceURI:q,tagName:`template`});let n=_e(e.tagName),r=_e(t.tagName);return ut[e.namespaceURI]?e.namespaceURI===ct?t.namespaceURI===K?n===`svg`:t.namespaceURI===st?n===`svg`&&(r===`annotation-xml`||ft[r]):!!xt[n]:e.namespaceURI===st?t.namespaceURI===K?n===`math`:t.namespaceURI===ct?n===`math`&&pt[r]:!!St[n]:e.namespaceURI===K?t.namespaceURI===ct&&!pt[r]||t.namespaceURI===st&&!ft[r]?!1:!St[n]&&(mt[n]||!xt[n]):!!(ht===`application/xhtml+xml`&&ut[e.namespaceURI]):!1},wt=function(e){E(t.removed,{element:e});try{ne(e).removeChild(e)}catch{te(e)}},Tt=function(e,n){try{E(t.removed,{attribute:n.getAttributeNode(e),from:n})}catch{E(t.removed,{attribute:null,from:n})}if(n.removeAttribute(e),e===`is`)if(Ze||H)try{wt(n)}catch{}else try{n.setAttribute(e,``)}catch{}},Et=function(e){let t=null,r=null;if(V)e=`<remove></remove>`+e;else{let t=ye(e,/^[\r\n\t ]+/);r=t&&t[0]}ht===`application/xhtml+xml`&&q===K&&(e=`<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>`+e+`</body></html>`);let i=_?_.createHTML(e):e;if(q===K)try{t=new f().parseFromString(i,ht)}catch{}if(!t||!t.documentElement){t=re.createDocument(q,`template`,null);try{t.documentElement.innerHTML=lt?v:i}catch{}}let a=t.body||t.documentElement;return e&&r&&a.insertBefore(n.createTextNode(r),a.childNodes[0]||null),q===K?ae.call(t,z?`html`:`body`)[0]:z?t.documentElement:a},Dt=function(e){return ie.call(e.ownerDocument||e,e,l.SHOW_ELEMENT|l.SHOW_COMMENT|l.SHOW_TEXT|l.SHOW_PROCESSING_INSTRUCTION|l.SHOW_CDATA_SECTION,null)},Ot=function(e){return e instanceof d&&(typeof e.nodeName!=`string`||typeof e.textContent!=`string`||typeof e.removeChild!=`function`||!(e.attributes instanceof u)||typeof e.removeAttribute!=`function`||typeof e.setAttribute!=`function`||typeof e.namespaceURI!=`string`||typeof e.insertBefore!=`function`||typeof e.hasChildNodes!=`function`)},kt=function(e){return typeof s==`function`&&e instanceof s};function Y(e,n,r){pe(e,e=>{e.call(t,n,r,_t)})}let At=function(e){let n=null;if(Y(x.beforeSanitizeElements,e,null),Ot(e))return wt(e),!0;let r=J(e.nodeName);if(Y(x.uponSanitizeElement,e,{tagName:r,allowedTags:j}),R&&e.hasChildNodes()&&!kt(e.firstElementChild)&&k(/<[/\w!]/g,e.innerHTML)&&k(/<[/\w!]/g,e.textContent)||e.nodeType===We.progressingInstruction||R&&e.nodeType===We.comment&&k(/<[/\w]/g,e.data))return wt(e),!0;if(!(I.tagCheck instanceof Function&&I.tagCheck(r))&&(!j[r]||Le[r])){if(!Le[r]&&Mt(r)&&(F.tagNameCheck instanceof RegExp&&k(F.tagNameCheck,r)||F.tagNameCheck instanceof Function&&F.tagNameCheck(r)))return!1;if(U&&!G[r]){let t=ne(e)||e.parentNode,n=g(e)||e.childNodes;if(n&&t){let r=n.length;for(let i=r-1;i>=0;--i){let r=ee(n[i],!0);r.__removalCount=(e.__removalCount||0)+1,t.insertBefore(r,h(e))}}}return wt(e),!0}return e instanceof c&&!Ct(e)||(r===`noscript`||r===`noembed`||r===`noframes`)&&k(/<\/no(script|embed|frames)/i,e.innerHTML)?(wt(e),!0):(L&&e.nodeType===We.text&&(n=e.textContent,pe([oe,S,ce],e=>{n=D(n,e,` `)}),e.textContent!==n&&(E(t.removed,{element:e.cloneNode()}),e.textContent=n)),Y(x.afterSanitizeElements,e,null),!1)},jt=function(e,t,r){if(Re[t]||$e&&(t===`id`||t===`name`)&&(r in n||r in vt))return!1;if(!(He&&!Re[t]&&k(le,t))&&!(Be&&k(ue,t))&&!(I.attributeCheck instanceof Function&&I.attributeCheck(t,e))){if(!P[t]||Re[t]){if(!(Mt(e)&&(F.tagNameCheck instanceof RegExp&&k(F.tagNameCheck,e)||F.tagNameCheck instanceof Function&&F.tagNameCheck(e))&&(F.attributeNameCheck instanceof RegExp&&k(F.attributeNameCheck,t)||F.attributeNameCheck instanceof Function&&F.attributeNameCheck(t,e))||t===`is`&&F.allowCustomizedBuiltInElements&&(F.tagNameCheck instanceof RegExp&&k(F.tagNameCheck,r)||F.tagNameCheck instanceof Function&&F.tagNameCheck(r))))return!1}else if(!at[t]&&!k(A,D(r,T,``))&&!((t===`src`||t===`xlink:href`||t===`href`)&&e!==`script`&&be(r,`data:`)===0&&rt[e])&&!(Ye&&!k(w,D(r,T,``)))&&r)return!1}return!0},Mt=function(e){return e!==`annotation-xml`&&ye(e,fe)},Nt=function(e){Y(x.beforeSanitizeAttributes,e,null);let{attributes:n}=e;if(!n||Ot(e))return;let r={attrName:``,attrValue:``,keepAttr:!0,allowedAttributes:P,forceKeepAttr:void 0},i=n.length;for(;i--;){let{name:a,namespaceURI:o,value:s}=n[i],c=J(a),l=s,u=a===`value`?l:xe(l);if(r.attrName=c,r.attrValue=u,r.keepAttr=!0,r.forceKeepAttr=void 0,Y(x.uponSanitizeAttribute,e,r),u=r.attrValue,et&&(c===`id`||c===`name`)&&(Tt(a,e),u=`user-content-`+u),R&&k(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,u)){Tt(a,e);continue}if(c===`attributename`&&ye(u,`href`)){Tt(a,e);continue}if(r.forceKeepAttr)continue;if(!r.keepAttr){Tt(a,e);continue}if(!Xe&&k(/\/>/i,u)){Tt(a,e);continue}L&&pe([oe,S,ce],e=>{u=D(u,e,` `)});let d=J(e.nodeName);if(!jt(d,c,u)){Tt(a,e);continue}if(_&&typeof p==`object`&&typeof p.getAttributeType==`function`&&!o)switch(p.getAttributeType(d,c)){case`TrustedHTML`:u=_.createHTML(u);break;case`TrustedScriptURL`:u=_.createScriptURL(u);break}if(u!==l)try{o?e.setAttributeNS(o,a,u):e.setAttribute(a,u),Ot(e)?wt(e):he(t.removed)}catch{Tt(a,e)}}Y(x.afterSanitizeAttributes,e,null)},Pt=function e(t){let n=null,r=Dt(t);for(Y(x.beforeSanitizeShadowDOM,t,null);n=r.nextNode();)Y(x.uponSanitizeShadowNode,n,null),At(n),Nt(n),n.content instanceof a&&e(n.content);Y(x.afterSanitizeShadowDOM,t,null)};return t.sanitize=function(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=null,o=null,c=null,l=null;if(lt=!e,lt&&(e=`<!-->`),typeof e!=`string`&&!kt(e))if(typeof e.toString==`function`){if(e=e.toString(),typeof e!=`string`)throw Se(`dirty is not a string, aborting`)}else throw Se(`toString is not a function`);if(!t.isSupported)return e;if(B||bt(n),t.removed=[],typeof e==`string`&&(tt=!1),tt){if(e.nodeName){let t=J(e.nodeName);if(!j[t]||Le[t])throw Se(`root node is forbidden and cannot be sanitized in-place`)}}else if(e instanceof s)i=Et(`<!---->`),o=i.ownerDocument.importNode(e,!0),o.nodeType===We.element&&o.nodeName===`BODY`||o.nodeName===`HTML`?i=o:i.appendChild(o);else{if(!Ze&&!L&&!z&&e.indexOf(`<`)===-1)return _&&Qe?_.createHTML(e):e;if(i=Et(e),!i)return Ze?null:Qe?v:``}i&&V&&wt(i.firstChild);let u=Dt(tt?e:i);for(;c=u.nextNode();)At(c),Nt(c),c.content instanceof a&&Pt(c.content);if(tt)return e;if(Ze){if(H)for(l=y.call(i.ownerDocument);i.firstChild;)l.appendChild(i.firstChild);else l=i;return(P.shadowroot||P.shadowrootmode)&&(l=b.call(r,l,!0)),l}let d=z?i.outerHTML:i.innerHTML;return z&&j[`!doctype`]&&i.ownerDocument&&i.ownerDocument.doctype&&i.ownerDocument.doctype.name&&k(Ve,i.ownerDocument.doctype.name)&&(d=`<!DOCTYPE `+i.ownerDocument.doctype.name+`>
|
|
2
2
|
`+d),L&&pe([oe,S,ce],e=>{d=D(d,e,` `)}),_&&Qe?_.createHTML(d):d},t.setConfig=function(){bt(arguments.length>0&&arguments[0]!==void 0?arguments[0]:{}),B=!0},t.clearConfig=function(){_t=null,B=!1},t.isValidAttribute=function(e,t,n){return _t||bt({}),jt(J(e),J(t),n)},t.addHook=function(e,t){typeof t==`function`&&E(x[e],t)},t.removeHook=function(e,t){if(t!==void 0){let n=me(x[e],t);return n===-1?void 0:ge(x[e],n,1)[0]}return he(x[e])},t.removeHooks=function(e){x[e]=[]},t.removeAllHooks=function(){x=qe()},t}var Ye=Je(),Xe;function L(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var R=L();function z(e){R=e}var B={exec:()=>null};function V(e,t=``){let n=typeof e==`string`?e:e.source,r={replace:(e,t)=>{let i=typeof t==`string`?t:t.source;return i=i.replace(H.caret,`$1`),n=n.replace(e,i),r},getRegex:()=>new RegExp(n,t)};return r}var Ze=(()=>{try{return!0}catch{return!1}})(),H={codeRemoveIndent:/^(?: {1,4}| {0,3}\t)/gm,outputLinkReplace:/\\([\[\]])/g,indentCodeCompensation:/^(\s+)(?:```)/,beginningSpace:/^\s+/,endingHash:/#$/,startingSpaceChar:/^ /,endingSpaceChar:/ $/,nonSpaceChar:/[^ ]/,newLineCharGlobal:/\n/g,tabCharGlobal:/\t/g,multipleSpaceGlobal:/\s+/g,blankLine:/^[ \t]*$/,doubleBlankLine:/\n[ \t]*\n[ \t]*$/,blockquoteStart:/^ {0,3}>/,blockquoteSetextReplace:/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \t]?/gm,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\[[ xX]\] +\S/,listReplaceTask:/^\[[ xX]\] +/,listTaskCheckbox:/\[[ xX]\]/,anyLine:/\n.*\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\||\| *$/g,tableRowBlankLine:/\n[ \t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^<a /i,endATag:/^<\/a>/i,startPreScriptTag:/^<(pre|code|kbd|script)(\s|>)/i,endPreScriptTag:/^<\/(pre|code|kbd|script)(\s|>)/i,startAngleBracket:/^</,endAngleBracket:/>$/,pedanticHrefTitle:/^([^'"]*[^\s])\s+(['"])(.*)\2/,unicodeAlphaNumeric:/[\p{L}\p{N}]/u,escapeTest:/[&<>"']/,escapeReplace:/[&<>"']/g,escapeTestNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,escapeReplaceNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,caret:/(^|[^\[])\^/g,percentDecode:/%25/g,findPipe:/\|/g,splitPipe:/ \|/,slashPipe:/\\\|/g,carriageReturn:/\r\n|\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\S*/,endingNewline:/\n$/,listItemRegex:e=>RegExp(`^( {0,3}${e})((?:[ ][^\\n]*)?(?:\\n|$))`),nextBulletRegex:e=>RegExp(`^ {0,${Math.min(3,e-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`),hrRegex:e=>RegExp(`^ {0,${Math.min(3,e-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),fencesBeginRegex:e=>RegExp(`^ {0,${Math.min(3,e-1)}}(?:\`\`\`|~~~)`),headingBeginRegex:e=>RegExp(`^ {0,${Math.min(3,e-1)}}#`),htmlBeginRegex:e=>RegExp(`^ {0,${Math.min(3,e-1)}}<(?:[a-z].*>|!--)`,`i`),blockquoteBeginRegex:e=>RegExp(`^ {0,${Math.min(3,e-1)}}>`)},Qe=/^(?:[ \t]*(?:\n|$))+/,$e=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,et=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,U=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,tt=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,W=/ {0,3}(?:[*+-]|\d{1,9}[.)])/,G=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,nt=V(G).replace(/bull/g,W).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/\|table/g,``).getRegex(),rt=V(G).replace(/bull/g,W).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/table/g,/ {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(),it=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,at=/^[^\n]+/,ot=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/,st=V(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace(`label`,ot).replace(`title`,/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),ct=V(/^(bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,W).getRegex(),K=`address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul`,q=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,lt=V(`^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))`,`i`).replace(`comment`,q).replace(`tag`,K).replace(`attribute`,/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),ut=V(it).replace(`hr`,U).replace(`heading`,` {0,3}#{1,6}(?:\\s|$)`).replace(`|lheading`,``).replace(`|table`,``).replace(`blockquote`,` {0,3}>`).replace(`fences`," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace(`list`,` {0,3}(?:[*+-]|1[.)])[ \\t]`).replace(`html`,`</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)`).replace(`tag`,K).getRegex(),dt={blockquote:V(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace(`paragraph`,ut).getRegex(),code:$e,def:st,fences:et,heading:tt,hr:U,html:lt,lheading:nt,list:ct,newline:Qe,paragraph:ut,table:B,text:at},ft=V(`^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)`).replace(`hr`,U).replace(`heading`,` {0,3}#{1,6}(?:\\s|$)`).replace(`blockquote`,` {0,3}>`).replace(`code`,`(?: {4}| {0,3} )[^\\n]`).replace(`fences`," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace(`list`,` {0,3}(?:[*+-]|1[.)])[ \\t]`).replace(`html`,`</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)`).replace(`tag`,K).getRegex(),pt={...dt,lheading:rt,table:ft,paragraph:V(it).replace(`hr`,U).replace(`heading`,` {0,3}#{1,6}(?:\\s|$)`).replace(`|lheading`,``).replace(`table`,ft).replace(`blockquote`,` {0,3}>`).replace(`fences`," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace(`list`,` {0,3}(?:[*+-]|1[.)])[ \\t]`).replace(`html`,`</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)`).replace(`tag`,K).getRegex()},mt={...dt,html:V(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace(`comment`,q).replace(/tag/g,`(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b`).getRegex(),def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:B,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:V(it).replace(`hr`,U).replace(`heading`,` *#{1,6} *[^
|
|
3
3
|
]`).replace(`lheading`,nt).replace(`|table`,``).replace(`blockquote`,` {0,3}>`).replace(`|fences`,``).replace(`|list`,``).replace(`|html`,``).replace(`|tag`,``).getRegex()},ht=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,gt=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,J=/^( {2,}|\\)\n(?!\s*$)/,_t=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,vt=/[\p{P}\p{S}]/u,yt=/[\s\p{P}\p{S}]/u,bt=/[^\s\p{P}\p{S}]/u,xt=V(/^((?![*_])punctSpace)/,`u`).replace(/punctSpace/g,yt).getRegex(),St=/(?!~)[\p{P}\p{S}]/u,Ct=/(?!~)[\s\p{P}\p{S}]/u,wt=/(?:[^\s\p{P}\p{S}]|~)/u,Tt=V(/link|precode-code|html/,`g`).replace(`link`,/\[(?:[^\[\]`]|(?<a>`+)[^`]+\k<a>(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace(`precode-`,Ze?"(?<!`)()":"(^^|[^`])").replace(`code`,/(?<b>`+)[^`]+\k<b>(?!`)/).replace(`html`,/<(?! )[^<>]*?>/).getRegex(),Et=/^(?:\*+(?:((?!\*)punct)|([^\s*]))?)|^_+(?:((?!_)punct)|([^\s_]))?/,Dt=V(Et,`u`).replace(/punct/g,vt).getRegex(),Ot=V(Et,`u`).replace(/punct/g,St).getRegex(),kt=`^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)`,Y=V(kt,`gu`).replace(/notPunctSpace/g,bt).replace(/punctSpace/g,yt).replace(/punct/g,vt).getRegex(),At=V(kt,`gu`).replace(/notPunctSpace/g,wt).replace(/punctSpace/g,Ct).replace(/punct/g,St).getRegex(),jt=V(`^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)`,`gu`).replace(/notPunctSpace/g,bt).replace(/punctSpace/g,yt).replace(/punct/g,vt).getRegex(),Mt=V(/^~~?(?:((?!~)punct)|[^\s~])/,`u`).replace(/punct/g,vt).getRegex(),Nt=V(`^[^~]+(?=[^~])|(?!~)punct(~~?)(?=[\\s]|$)|notPunctSpace(~~?)(?!~)(?=punctSpace|$)|(?!~)punctSpace(~~?)(?=notPunctSpace)|[\\s](~~?)(?!~)(?=punct)|(?!~)punct(~~?)(?!~)(?=punct)|notPunctSpace(~~?)(?=notPunctSpace)`,`gu`).replace(/notPunctSpace/g,bt).replace(/punctSpace/g,yt).replace(/punct/g,vt).getRegex(),Pt=V(/\\(punct)/,`gu`).replace(/punct/g,vt).getRegex(),Ft=V(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace(`scheme`,/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace(`email`,/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),It=V(q).replace(`(?:-->|$)`,`-->`).getRegex(),Lt=V(`^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>`).replace(`comment`,It).replace(`attribute`,/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),Rt=/(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+(?!`)[^`]*?`+(?!`)|``+(?=\])|[^\[\]\\`])*?/,zt=V(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]+(?:\n[ \t]*)?|\n[ \t]*)(title))?\s*\)/).replace(`label`,Rt).replace(`href`,/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace(`title`,/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),Bt=V(/^!?\[(label)\]\[(ref)\]/).replace(`label`,Rt).replace(`ref`,ot).getRegex(),Vt=V(/^!?\[(ref)\](?:\[\])?/).replace(`ref`,ot).getRegex(),Ht=V(`reflink|nolink(?!\\()`,`g`).replace(`reflink`,Bt).replace(`nolink`,Vt).getRegex(),Ut=/[hH][tT][tT][pP][sS]?|[fF][tT][pP]/,Wt={_backpedal:B,anyPunctuation:Pt,autolink:Ft,blockSkip:Tt,br:J,code:gt,del:B,delLDelim:B,delRDelim:B,emStrongLDelim:Dt,emStrongRDelimAst:Y,emStrongRDelimUnd:jt,escape:ht,link:zt,nolink:Vt,punctuation:xt,reflink:Bt,reflinkSearch:Ht,tag:Lt,text:_t,url:B},Gt={...Wt,link:V(/^!?\[(label)\]\((.*?)\)/).replace(`label`,Rt).getRegex(),reflink:V(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace(`label`,Rt).getRegex()},Kt={...Wt,emStrongRDelimAst:At,emStrongLDelim:Ot,delLDelim:Mt,delRDelim:Nt,url:V(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace(`protocol`,Ut).replace(`email`,/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])((?:\\[\s\S]|[^\\])*?(?:\\[\s\S]|[^\s~\\]))\1(?=[^~]|$)/,text:V(/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|protocol:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/).replace(`protocol`,Ut).getRegex()},qt={...Kt,br:V(J).replace(`{2,}`,`*`).getRegex(),text:V(Kt.text).replace(`\\b_`,`\\b_| {2,}\\n`).replace(/\{2,\}/g,`*`).getRegex()},Jt={normal:dt,gfm:pt,pedantic:mt},Yt={normal:Wt,gfm:Kt,breaks:qt,pedantic:Gt},Xt={"&":`&`,"<":`<`,">":`>`,'"':`"`,"'":`'`},Zt=e=>Xt[e];function X(e,t){if(t){if(H.escapeTest.test(e))return e.replace(H.escapeReplace,Zt)}else if(H.escapeTestNoEncode.test(e))return e.replace(H.escapeReplaceNoEncode,Zt);return e}function Qt(e){try{e=encodeURI(e).replace(H.percentDecode,`%`)}catch{return null}return e}function $t(e,t){let n=e.replace(H.findPipe,(e,t,n)=>{let r=!1,i=t;for(;--i>=0&&n[i]===`\\`;)r=!r;return r?`|`:` |`}).split(H.splitPipe),r=0;if(n[0].trim()||n.shift(),n.length>0&&!n.at(-1)?.trim()&&n.pop(),t)if(n.length>t)n.splice(t);else for(;n.length<t;)n.push(``);for(;r<n.length;r++)n[r]=n[r].trim().replace(H.slashPipe,`|`);return n}function en(e,t,n){let r=e.length;if(r===0)return``;let i=0;for(;i<r;){let a=e.charAt(r-i-1);if(a===t&&!n)i++;else if(a!==t&&n)i++;else break}return e.slice(0,r-i)}function tn(e,t){if(e.indexOf(t[1])===-1)return-1;let n=0;for(let r=0;r<e.length;r++)if(e[r]===`\\`)r++;else if(e[r]===t[0])n++;else if(e[r]===t[1]&&(n--,n<0))return r;return n>0?-2:-1}function nn(e,t=0){let n=t,r=``;for(let t of e)if(t===` `){let e=4-n%4;r+=` `.repeat(e),n+=e}else r+=t,n++;return r}function rn(e,t,n,r,i){let a=t.href,o=t.title||null,s=e[1].replace(i.other.outputLinkReplace,`$1`);r.state.inLink=!0;let c={type:e[0].charAt(0)===`!`?`image`:`link`,raw:n,href:a,title:o,text:s,tokens:r.inlineTokens(s)};return r.state.inLink=!1,c}function an(e,t,n){let r=e.match(n.other.indentCodeCompensation);if(r===null)return t;let i=r[1];return t.split(`
|
|
4
4
|
`).map(e=>{let t=e.match(n.other.beginningSpace);if(t===null)return e;let[r]=t;return r.length>=i.length?e.slice(i.length):e}).join(`
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{$ as e,Bt as t,Ft as n,It as r,Nt as i,Ot as ee,Wt as te,_t as ne,at as a,dt as o,ft as s,ht as c,it as l,jt as u,lt as d,mt as f,pt as p,qt as m,r as h,rt as g,ut as _,xt as re,y as v}from"./nodes-DeIen-kp.js";import{i as ie,o as ae,r as oe}from"./index-
|
|
1
|
+
import{$ as e,Bt as t,Ft as n,It as r,Nt as i,Ot as ee,Wt as te,_t as ne,at as a,dt as o,ft as s,ht as c,it as l,jt as u,lt as d,mt as f,pt as p,qt as m,r as h,rt as g,ut as _,xt as re,y as v}from"./nodes-DeIen-kp.js";import{i as ie,o as ae,r as oe}from"./index-BZyTYZ0E.js";import{A as y,t as b}from"./_plugin-vue_export-helper-CHpmshS7.js";import{_ as x,o as S}from"./QDialog-4OVnJT5b.js";import{n as se,t as ce}from"./use-quasar-Dq-Vjx_2.js";import{a as C,i as w,n as T,r as E,t as le}from"./QPage-DKJI735G.js";import{t as D}from"./QExpansionItem-B7zh077K.js";var ue={class:`create-inner`},de={class:`create-card rounded-borders`},fe={class:`card-top-bar row items-center q-px-md q-py-xs`},pe={class:`model-badge cursor-default row items-center q-gutter-xs`},me={key:0,class:`notion-url-wrap`},he={key:0,class:`notion-error text-caption q-px-md q-pb-xs text-red-5`},ge={key:1,class:`notion-valid text-caption q-px-md q-pb-xs text-green-4`},_e={class:`card-name-wrap`},ve={class:`card-textarea-wrap`},ye={class:`q-pa-sm manual-section-body`},be={class:`row items-center q-gutter-sm q-mb-sm`},xe={class:`col text-caption text-grey-4`},Se={class:`q-pa-sm manual-section-body`},Ce={class:`row items-center q-gutter-sm q-mb-sm`},we={class:`col text-caption text-grey-4`},Te={class:`card-bottom-bar row items-center wrap q-px-sm q-py-xs q-gutter-xs`},Ee={class:`bottom-select-label row items-center no-wrap`},De={class:`bottom-select-label row items-center no-wrap`},Oe={class:`bottom-select-label row items-center no-wrap`},ke={class:`create-hint text-center text-body2 q-mt-md text-grey-8`},O=b(ne({__name:`CreatePage`,setup(ne){let b=oe(),O=ce(),k=ae(),A=se(),j=t([]),M=t(``),N=t(``),P=t(``),F=t(!1),I=t(`auto`),L=t(``),R=t(null),z=t([]),B=t(!1),V=t(!1),H=[{label:`Auto`,value:`auto`,description:`Claude picks the optimal model`},{label:`Opus 4.6`,value:`claude-opus-4-6`,description:`Most powerful`},{label:`Sonnet 4.6`,value:`claude-sonnet-4-6`,description:`Balanced`},{label:`Haiku 4.5`,value:`claude-haiku-4-5-20251001`,description:`Fastest`}],U=d(()=>P.value.trim().startsWith(`https://www.notion.so/`)),W=t([]),G=t([]),K=t(``),q=t(``),J=d(()=>!F.value||!U.value);function Y(){let e=K.value.trim();e&&(W.value.push(e),K.value=``)}function Ae(e){W.value.splice(e,1)}function X(){let e=q.value.trim();e&&(G.value.push(e),q.value=``)}function je(e){G.value.splice(e,1)}function Me(){F.value=!F.value,F.value||(P.value=``)}async function Ne(e){if(!e.trim()){z.value=[],R.value=null;return}B.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();z.value=n.local??n.branches??[],z.value.length>0&&!R.value&&(R.value=z.value[0]??null)}catch{z.value=[],R.value=null}finally{B.value=!1}}function Pe(e){let t=A.getProjectByPath(e);t&&(t.defaultSourceBranch&&(R.value=t.defaultSourceBranch),t.defaultModel?I.value=t.defaultModel:A.global.defaultModel&&(I.value=A.global.defaultModel))}let Z=null;n(L,e=>{Z&&clearTimeout(Z),Z=setTimeout(()=>{R.value=null,Ne(e),Pe(e)},500)});function Fe(e,t){t(()=>{j.value=A.projectPaths.filter(t=>t.toLowerCase().includes(e.toLowerCase()))})}ee(()=>{A.fetchSettings()});function Ie(e){return e.toLowerCase().replace(/[^a-z0-9\s-]/g,``).trim().replace(/\s+/g,`-`).replace(/-+/g,`-`).substring(0,50)}function Q(){return M.value.trim()?M.value.trim().substring(0,80):!F.value&&N.value.trim()&&(N.value.trim().split(`
|
|
2
2
|
`)[0]??``).substring(0,80)||`workspace`}function Le(e){let t=(e.split(`/`).pop()??``).split(`-`);return t.length>1&&/^[0-9a-f]{12,}$/i.test(t[t.length-1])&&t.pop(),t.join(`-`).toLowerCase().substring(0,50)||`task-${Date.now()}`}function Re(){return F.value&&!U.value?`Please paste a valid Notion URL (https://www.notion.so/...).`:!F.value&&!N.value.trim()?`Please describe the task.`:!F.value&&(!Q()||Q()===`workspace`)&&!M.value.trim()&&!N.value.trim()?`Please provide a workspace name.`:L.value.trim()?R.value?null:`Please select a branch.`:`Please enter the project path.`}async function $(){let e=Re();if(e){O.notify({type:`negative`,message:e,position:`top`});return}V.value=!0;try{let e=Q(),t;t=e===`workspace`?F.value&&U.value?Le(P.value.trim()):`task-${Date.now()}`:Ie(e);let n=`feature/${t}`,r={name:e,projectPath:L.value.trim(),sourceBranch:R.value,workingBranch:n,model:I.value,...F.value&&U.value?{notionUrl:P.value.trim()}:{},...J.value&&W.value.length>0?{tasks:W.value}:{},...J.value&&G.value.length>0?{acceptanceCriteria:G.value}:{}},i=await k.createWorkspace(r);ie().subscribe(i.id),k.selectWorkspace(i.id),b.push({name:`workspace`,params:{id:i.id}})}catch{O.notify({type:`negative`,message:`Error creating workspace.`,position:`top`})}finally{V.value=!1}}return(t,n)=>(u(),o(le,{class:`create-page flex flex-center column`},{default:r(()=>[_(`div`,ue,[n[12]||=_(`div`,{class:`create-title text-center text-weight-bold q-mb-lg text-grey-3`},` What would you like to work on? `,-1),_(`div`,de,[_(`div`,fe,[_(`span`,pe,[c(v,{name:`auto_awesome`,size:`14px`,color:`indigo-4`}),n[9]||=_(`span`,{class:`text-indigo-3 text-weight-medium text-caption`},`Claude Code`,-1)]),c(y),c(h,{flat:``,dense:``,"no-caps":``,size:`sm`,color:F.value?`green-4`:`grey-5`,class:`notion-toggle-btn text-caption rounded-borders`,onClick:Me},{default:r(()=>[c(v,{name:`description`,size:`14px`,class:`q-mr-xs`}),f(` `+m(F.value?`Notion enabled`:`Import from Notion`),1)]),_:1},8,[`color`])]),c(x,{color:`grey-9`}),c(e,{name:`slide`},{default:r(()=>[F.value?(u(),p(`div`,me,[c(S,{modelValue:P.value,"onUpdate:modelValue":n[0]||=e=>P.value=e,borderless:``,dense:``,placeholder:`https://www.notion.so/workspace/Page-title-abc123...`,class:`notion-url-input`,"input-class":`notion-url-input-inner`},{prepend:r(()=>[c(v,{name:`link`,size:`16px`,color:U.value?`green-4`:`grey-6`},null,8,[`color`])]),_:1},8,[`modelValue`]),P.value.trim()&&!U.value?(u(),p(`div`,he,` URL must start with https://www.notion.so/ `)):s(``,!0),U.value?(u(),p(`div`,ge,` Subtasks and acceptance criteria will be extracted automatically. `)):s(``,!0)])):s(``,!0)]),_:1}),F.value?(u(),o(x,{key:0,color:`grey-9`})):s(``,!0),_(`div`,_e,[c(S,{modelValue:M.value,"onUpdate:modelValue":n[1]||=e=>M.value=e,borderless:``,dense:``,placeholder:F.value&&U.value?`Workspace name (defaults to Notion page title)`:`Workspace name...`,class:`name-input`,"input-class":`name-input-inner`},null,8,[`modelValue`,`placeholder`])]),c(x,{color:`grey-9`}),_(`div`,ve,[c(S,{modelValue:N.value,"onUpdate:modelValue":n[2]||=e=>N.value=e,type:`textarea`,borderless:``,autogrow:``,rows:3,placeholder:F.value?`Additional instructions (optional)...`:`Describe the task...`,class:`create-textarea`,"input-class":`create-textarea-input`,onKeydown:[g(l($,[`ctrl`]),[`enter`]),g(l($,[`meta`]),[`enter`])]},null,8,[`modelValue`,`placeholder`,`onKeydown`])]),c(x,{color:`grey-9`}),J.value?(u(),p(a,{key:1},[n[10]||=_(`div`,{class:`manual-hint q-px-md q-py-sm text-caption text-grey-6`},` No Notion ticket? Add your tasks and acceptance criteria manually — they'll be sent to the Claude agent as context. `,-1),c(D,{dark:``,dense:``,label:`Tasks (${W.value.length})`,"header-class":`text-grey-4 manual-expansion-header`,class:`manual-expansion q-mx-sm`},{default:r(()=>[_(`div`,ye,[_(`div`,be,[c(S,{modelValue:K.value,"onUpdate:modelValue":n[3]||=e=>K.value=e,dark:``,dense:``,borderless:``,placeholder:`Add a task...`,class:`col manual-input`,"input-class":`manual-input-inner`,onKeydown:g(l(Y,[`prevent`]),[`enter`])},null,8,[`modelValue`,`onKeydown`]),c(h,{flat:``,dense:``,round:``,icon:`add`,color:`indigo-4`,disable:!K.value.trim(),onClick:Y},null,8,[`disable`])]),(u(!0),p(a,null,i(W.value,(e,t)=>(u(),p(`div`,{key:`task-${t}`,class:`row items-center q-py-xs manual-item`},[_(`span`,xe,m(e),1),c(h,{flat:``,dense:``,round:``,icon:`close`,size:`xs`,color:`grey-6`,onClick:e=>Ae(t)},null,8,[`onClick`])]))),128))])]),_:1},8,[`label`]),c(D,{dark:``,dense:``,label:`Acceptance Criteria (${G.value.length})`,"header-class":`text-grey-4 manual-expansion-header`,class:`manual-expansion q-mx-sm q-mb-sm`},{default:r(()=>[_(`div`,Se,[_(`div`,Ce,[c(S,{modelValue:q.value,"onUpdate:modelValue":n[4]||=e=>q.value=e,dark:``,dense:``,borderless:``,placeholder:`Add a criterion...`,class:`col manual-input`,"input-class":`manual-input-inner`,onKeydown:g(l(X,[`prevent`]),[`enter`])},null,8,[`modelValue`,`onKeydown`]),c(h,{flat:``,dense:``,round:``,icon:`add`,color:`indigo-4`,disable:!q.value.trim(),onClick:X},null,8,[`disable`])]),(u(!0),p(a,null,i(G.value,(e,t)=>(u(),p(`div`,{key:`crit-${t}`,class:`row items-center q-py-xs manual-item`},[_(`span`,we,m(e),1),c(h,{flat:``,dense:``,round:``,icon:`close`,size:`xs`,color:`grey-6`,onClick:e=>je(t)},null,8,[`onClick`])]))),128))])]),_:1},8,[`label`]),c(x,{color:`grey-9`})],64)):s(``,!0),_(`div`,Te,[c(T,{modelValue:I.value,"onUpdate:modelValue":n[5]||=e=>I.value=e,options:H,dense:``,borderless:``,class:`bottom-select rounded-borders model-select`,"hide-dropdown-icon":``,"emit-value":``,"map-options":``,"option-value":`value`,"option-label":`label`},{selected:r(()=>[_(`span`,Ee,[f(m(H.find(e=>e.value===I.value)?.label??I.value)+` `,1),c(v,{name:`expand_more`,size:`12px`,color:`grey-5`})])]),option:r(({opt:e,itemProps:t})=>[c(C,re(t,{class:`model-option`}),{default:r(()=>[c(w,null,{default:r(()=>[c(E,{class:`text-white`},{default:r(()=>[f(m(e.label),1)]),_:2},1024),c(E,{caption:``,class:`text-grey-5`},{default:r(()=>[f(m(e.description),1)]),_:2},1024)]),_:2},1024)]),_:2},1040)]),_:1},8,[`modelValue`]),c(y),c(T,{modelValue:L.value,"onUpdate:modelValue":n[6]||=e=>L.value=e,options:j.value,dense:``,borderless:``,"use-input":``,"hide-selected":``,"fill-input":``,"input-debounce":`0`,"new-value-mode":`add`,class:`bottom-select rounded-borders repo-select`,"hide-dropdown-icon":``,behavior:te(A).projectPaths.length>0?`menu`:`dialog`,onFilter:Fe,onInputValue:n[7]||=e=>{L.value=e}},{prepend:r(()=>[c(v,{name:`attach_file`,size:`12px`,color:`grey-5`})]),selected:r(()=>[_(`span`,De,m(L.value||`/path/to/project`),1)]),"no-option":r(()=>[c(C,null,{default:r(()=>[c(w,{class:`text-grey-6 text-caption`},{default:r(()=>[...n[11]||=[f(` Enter the project path `,-1)]]),_:1})]),_:1})]),_:1},8,[`modelValue`,`options`,`behavior`]),c(T,{modelValue:R.value,"onUpdate:modelValue":n[8]||=e=>R.value=e,options:z.value,dense:``,borderless:``,class:`bottom-select rounded-borders branch-select`,"hide-dropdown-icon":``,loading:B.value,disable:!L.value.trim()||B.value},{selected:r(()=>[_(`span`,Oe,[c(v,{name:`call_split`,size:`12px`,color:`grey-5`,class:`q-mr-xs`}),f(` `+m(R.value??`Branch`)+` `,1),c(v,{name:`expand_more`,size:`12px`,color:`grey-5`})])]),"no-option":r(()=>[c(C,null,{default:r(()=>[c(w,{class:`text-grey-6 text-caption`},{default:r(()=>[f(m(L.value.trim()?`No branches found`:`Enter a project path`),1)]),_:1})]),_:1})]),_:1},8,[`modelValue`,`options`,`loading`,`disable`]),c(h,{label:`Create`,"no-caps":``,unelevated:``,class:`create-btn text-weight-bold rounded-borders`,loading:V.value,onClick:$},null,8,[`loading`])])]),_(`div`,ke,m(F.value?`Subtasks and acceptance criteria will be extracted from the Notion page.`:`Click "Import from Notion" to automatically extract subtasks from a ticket.`),1)])]),_:1}))}}),[[`__scopeId`,`data-v-7d9d29f5`]]);export{O as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{B as e,Bt as t,C as n,E as r,F as i,Ft as a,G as o,Gt as s,H as c,I as l,It as u,K as d,Kt as f,Lt as p,Mt as m,Nt as h,Ot as g,Pt as _,R as v,St as y,T as b,Tt as x,U as S,Ut as C,V as w,W as T,Wt as E,X as D,Z as O,_t as k,at as A,b as ee,bt as te,d as ne,dt as j,ft as M,ht as N,it as P,jt as F,kt as I,lt as L,mt as R,nt as z,pt as B,q as re,qt as V,r as H,rt as U,u as ie,ut as W,vt as G,x as ae,y as K,yt as q,z as oe,zt as se}from"./nodes-DeIen-kp.js";import{a as ce,c as le,f as ue,i as de,o as fe,p as pe,r as J,u as me}from"./index-CMvo3OTb.js";import{A as Y,C as he,S as ge,c as _e,d as ve,k as ye,l as be,m as xe,p as X,t as Z,u as Se,w as Ce}from"./_plugin-vue_export-helper-CHpmshS7.js";import{t as Q}from"./QTooltip-637ruGFc.js";import{C as we,S as Te,T as Ee,_ as De,b as Oe,c as ke,o as Ae,t as je,u as Me,w as Ne}from"./QDialog-B5H6ayTp.js";import{a as Pe,i as Fe,n as Ie,o as Le,r as Re,s as ze,t as Be}from"./QTabPanels-DlG5TZhP.js";import{t as $}from"./QBadge-Cb92Ia8-.js";import{n as Ve,t as He}from"./use-quasar-Dq-Vjx_2.js";function Ue(e,t,n){let r=w(e),i,a=r.left-t.event.x,o=r.top-t.event.y,s=Math.abs(a),c=Math.abs(o),l=t.direction;l.horizontal===!0&&l.vertical!==!0?i=a<0?`left`:`right`:l.horizontal!==!0&&l.vertical===!0?i=o<0?`up`:`down`:l.up===!0&&o<0?(i=`up`,s>c&&(l.left===!0&&a<0?i=`left`:l.right===!0&&a>0&&(i=`right`))):l.down===!0&&o>0?(i=`down`,s>c&&(l.left===!0&&a<0?i=`left`:l.right===!0&&a>0&&(i=`right`))):l.left===!0&&a<0?(i=`left`,s<c&&(l.up===!0&&o<0?i=`up`:l.down===!0&&o>0&&(i=`down`))):l.right===!0&&a>0&&(i=`right`,s<c&&(l.up===!0&&o<0?i=`up`:l.down===!0&&o>0&&(i=`down`)));let u=!1;if(i===void 0&&n===!1){if(t.event.isFirst===!0||t.event.lastDir===void 0)return{};i=t.event.lastDir,u=!0,i===`left`||i===`right`?(r.left-=a,s=0,a=0):(r.top-=o,c=0,o=0)}return{synthetic:u,payload:{evt:e,touch:t.event.mouse!==!0,mouse:t.event.mouse===!0,position:r,direction:i,isFirst:t.event.isFirst,isFinal:n===!0,duration:Date.now()-t.event.time,distance:{x:s,y:c},offset:{x:a,y:o},delta:{x:r.left-t.event.lastX,y:r.top-t.event.lastY}}}}var We=0,Ge=re({name:`touch-pan`,beforeMount(t,{value:n,modifiers:r}){if(r.mouse!==!0&&D.has.touch!==!0)return;function a(e,t){r.mouse===!0&&t===!0?o(e):(r.stop===!0&&T(e),r.prevent===!0&&c(e))}let s={uid:`qvtp_`+ We++,handler:n,modifiers:r,direction:Le(r),noop:e,mouseStart(e){ze(e,s)&&v(e)&&(i(s,`temp`,[[document,`mousemove`,`move`,`notPassiveCapture`],[document,`mouseup`,`end`,`passiveCapture`]]),s.start(e,!0))},touchStart(e){if(ze(e,s)){let t=e.target;i(s,`temp`,[[t,`touchmove`,`move`,`notPassiveCapture`],[t,`touchcancel`,`end`,`passiveCapture`],[t,`touchend`,`end`,`passiveCapture`]]),s.start(e)}},start(e,n){if(D.is.firefox===!0&&S(t,!0),s.lastEvt=e,n===!0||r.stop===!0){if(s.direction.all!==!0&&(n!==!0||s.modifiers.mouseAllDir!==!0&&s.modifiers.mousealldir!==!0)){let t=e.type.indexOf(`mouse`)===-1?new TouchEvent(e.type,e):new MouseEvent(e.type,e);e.defaultPrevented===!0&&c(t),e.cancelBubble===!0&&T(t),Object.assign(t,{qKeyEvent:e.qKeyEvent,qClickOutside:e.qClickOutside,qAnchorHandled:e.qAnchorHandled,qClonedBy:e.qClonedBy===void 0?[s.uid]:e.qClonedBy.concat(s.uid)}),s.initialEvent={target:e.target,event:t}}T(e)}let{left:i,top:a}=w(e);s.event={x:i,y:a,time:Date.now(),mouse:n===!0,detected:!1,isFirst:!0,isFinal:!1,lastX:i,lastY:a}},move(e){if(s.event===void 0)return;let t=w(e),n=t.left-s.event.x,i=t.top-s.event.y;if(n===0&&i===0)return;s.lastEvt=e;let o=s.event.mouse===!0,c=()=>{a(e,o);let t;r.preserveCursor!==!0&&r.preservecursor!==!0&&(t=document.documentElement.style.cursor||``,document.documentElement.style.cursor=`grabbing`),o===!0&&document.body.classList.add(`no-pointer-events--children`),document.body.classList.add(`non-selectable`),ye(),s.styleCleanup=e=>{if(s.styleCleanup=void 0,t!==void 0&&(document.documentElement.style.cursor=t),document.body.classList.remove(`non-selectable`),o===!0){let t=()=>{document.body.classList.remove(`no-pointer-events--children`)};e===void 0?t():setTimeout(()=>{t(),e()},50)}else e!==void 0&&e()}};if(s.event.detected===!0){s.event.isFirst!==!0&&a(e,s.event.mouse);let{payload:t,synthetic:n}=Ue(e,s,!1);t!==void 0&&(s.handler(t)===!1?s.end(e):(s.styleCleanup===void 0&&s.event.isFirst===!0&&c(),s.event.lastX=t.position.left,s.event.lastY=t.position.top,s.event.lastDir=n===!0?void 0:t.direction,s.event.isFirst=!1));return}if(s.direction.all===!0||o===!0&&(s.modifiers.mouseAllDir===!0||s.modifiers.mousealldir===!0)){c(),s.event.detected=!0,s.move(e);return}let l=Math.abs(n),u=Math.abs(i);l!==u&&(s.direction.horizontal===!0&&l>u||s.direction.vertical===!0&&l<u||s.direction.up===!0&&l<u&&i<0||s.direction.down===!0&&l<u&&i>0||s.direction.left===!0&&l>u&&n<0||s.direction.right===!0&&l>u&&n>0?(s.event.detected=!0,s.move(e)):s.end(e,!0))},end(e,n){if(s.event!==void 0){if(l(s,`temp`),D.is.firefox===!0&&S(t,!1),n===!0)s.styleCleanup?.(),s.event.detected!==!0&&s.initialEvent!==void 0&&s.initialEvent.target.dispatchEvent(s.initialEvent.event);else if(s.event.detected===!0){s.event.isFirst===!0&&s.handler(Ue(e===void 0?s.lastEvt:e,s).payload);let{payload:t}=Ue(e===void 0?s.lastEvt:e,s,!0),n=()=>{s.handler(t)};s.styleCleanup===void 0?n():s.styleCleanup(n)}s.event=void 0,s.initialEvent=void 0,s.lastEvt=void 0}}};t.__qtouchpan=s,r.mouse===!0&&i(s,`main`,[[t,`mousedown`,`mouseStart`,`passive${r.mouseCapture===!0||r.mousecapture===!0?`Capture`:``}`]]),D.has.touch===!0&&i(s,`main`,[[t,`touchstart`,`touchStart`,`passive${r.capture===!0?`Capture`:``}`],[t,`touchmove`,`noop`,`notPassiveCapture`]])},updated(e,t){let n=e.__qtouchpan;n!==void 0&&(t.oldValue!==t.value&&(typeof value!=`function`&&n.end(),n.handler=t.value),n.direction=Le(t.modifiers))},beforeUnmount(e){let t=e.__qtouchpan;t!==void 0&&(t.event!==void 0&&t.end(),l(t,`main`),l(t,`temp`),D.is.firefox===!0&&S(e,!1),t.styleCleanup?.(),delete e.__qtouchpan)}}),Ke=150,qe=d({name:`QDrawer`,inheritAttrs:!1,props:{...Ce,...we,side:{type:String,default:`left`,validator:e=>[`left`,`right`].includes(e)},width:{type:Number,default:300},mini:Boolean,miniToOverlay:Boolean,miniWidth:{type:Number,default:57},noMiniAnimation:Boolean,breakpoint:{type:Number,default:1023},showIfAbove:Boolean,behavior:{type:String,validator:e=>[`default`,`desktop`,`mobile`].includes(e),default:`default`},bordered:Boolean,elevated:Boolean,overlay:Boolean,persistent:Boolean,noSwipeOpen:Boolean,noSwipeClose:Boolean,noSwipeBackdrop:Boolean},emits:[...he,`onLayout`,`miniState`],setup(e,{slots:r,emit:i,attrs:o}){let s=G(),{proxy:{$q:c}}=s,l=Te(e,c),{preventBodyScroll:u}=Ne(),{registerTimeout:d,removeTimeout:f}=xe(),m=te(ue,me);if(m===me)return console.error(`QDrawer needs to be child of QLayout`),me;let h,_=null,v,b=t(e.behavior===`mobile`||e.behavior!==`desktop`&&m.totalWidth.value<=e.breakpoint),S=L(()=>e.mini===!0&&b.value!==!0),C=L(()=>S.value===!0?e.miniWidth:e.width),w=t(e.showIfAbove===!0&&b.value===!1?!0:e.modelValue===!0),T=L(()=>e.persistent!==!0&&(b.value===!0||H.value===!0));function E(e,t){if(A(),e!==!1&&m.animate(),J(0),b.value===!0){let e=m.instances[z.value];e?.belowBreakpoint===!0&&e.hide(!1),Y(1),m.isContainer.value!==!0&&u(!0)}else Y(0),e!==!1&&he(!1);d(()=>{e!==!1&&he(!0),t!==!0&&i(`show`,e)},Ke)}function D(e,t){ne(),e!==!1&&m.animate(),Y(0),J(N.value*C.value),be(),t===!0?f():d(()=>{i(`hide`,e)},Ke)}let{show:O,hide:k}=ge({showing:w,hideOnRouteChange:T,handleShow:E,handleHide:D}),{addToHistory:A,removeFromHistory:ne}=Ee(w,k,T),j={belowBreakpoint:b,hide:k},M=L(()=>e.side===`right`),N=L(()=>(c.lang.rtl===!0?-1:1)*(M.value===!0?1:-1)),P=t(0),F=t(!1),I=t(!1),R=t(C.value*N.value),z=L(()=>M.value===!0?`left`:`right`),B=L(()=>w.value===!0&&b.value===!1&&e.overlay===!1?e.miniToOverlay===!0?e.miniWidth:C.value:0),re=L(()=>e.overlay===!0||e.miniToOverlay===!0||m.view.value.indexOf(M.value?`R`:`L`)!==-1||c.platform.is.ios===!0&&m.isContainer.value===!0),V=L(()=>e.overlay===!1&&w.value===!0&&b.value===!1),H=L(()=>e.overlay===!0&&w.value===!0&&b.value===!1),U=L(()=>`fullscreen q-drawer__backdrop`+(w.value===!1&&F.value===!1?` hidden`:``)),ie=L(()=>({backgroundColor:`rgba(0,0,0,${P.value*.4})`})),W=L(()=>M.value===!0?m.rows.value.top[2]===`r`:m.rows.value.top[0]===`l`),ae=L(()=>M.value===!0?m.rows.value.bottom[2]===`r`:m.rows.value.bottom[0]===`l`),K=L(()=>{let e={};return m.header.space===!0&&W.value===!1&&(re.value===!0?e.top=`${m.header.offset}px`:m.header.space===!0&&(e.top=`${m.header.size}px`)),m.footer.space===!0&&ae.value===!1&&(re.value===!0?e.bottom=`${m.footer.offset}px`:m.footer.space===!0&&(e.bottom=`${m.footer.size}px`)),e}),oe=L(()=>{let e={width:`${C.value}px`,transform:`translateX(${R.value}px)`};return b.value===!0?e:Object.assign(e,K.value)}),se=L(()=>`q-drawer__content fit `+(m.isContainer.value===!0?`overflow-auto`:`scroll`)),ce=L(()=>`q-drawer q-drawer--${e.side}`+(I.value===!0?` q-drawer--mini-animate`:``)+(e.bordered===!0?` q-drawer--bordered`:``)+(l.value===!0?` q-drawer--dark q-dark`:``)+(F.value===!0?` no-transition`:w.value===!0?``:` q-layout--prevent-focus`)+(b.value===!0?` fixed q-drawer--on-top q-drawer--mobile q-drawer--top-padding`:` q-drawer--${S.value===!0?`mini`:`standard`}`+(re.value===!0||V.value!==!0?` fixed`:``)+(e.overlay===!0||e.miniToOverlay===!0?` q-drawer--on-top`:``)+(W.value===!0?` q-drawer--top-padding`:``))),le=L(()=>[[Ge,ve,void 0,{[c.lang.rtl===!0?e.side:z.value]:!0,mouse:!0}]]),de=L(()=>[[Ge,ye,void 0,{[c.lang.rtl===!0?z.value:e.side]:!0,mouse:!0}]]),fe=L(()=>[[Ge,ye,void 0,{[c.lang.rtl===!0?z.value:e.side]:!0,mouse:!0,mouseAllDir:!0}]]);function pe(){Z(b,e.behavior===`mobile`||e.behavior!==`desktop`&&m.totalWidth.value<=e.breakpoint)}a(b,t=>{t===!0?(h=w.value,w.value===!0&&k(!1)):e.overlay===!1&&e.behavior!==`mobile`&&h!==!1&&(w.value===!0?(J(0),Y(0),be()):O(!1))}),a(()=>e.side,(e,t)=>{m.instances[t]===j&&(m.instances[t]=void 0,m[t].space=!1,m[t].offset=0),m.instances[e]=j,m[e].size=C.value,m[e].space=V.value,m[e].offset=B.value}),a(m.totalWidth,()=>{(m.isContainer.value===!0||document.qScrollPrevented!==!0)&&pe()}),a(()=>e.behavior+e.breakpoint,pe),a(m.isContainer,e=>{w.value===!0&&u(e!==!0),e===!0&&pe()}),a(m.scrollbarWidth,()=>{J(w.value===!0?0:void 0)}),a(B,e=>{X(`offset`,e)}),a(V,e=>{i(`onLayout`,e),X(`space`,e)}),a(M,()=>{J()}),a(C,t=>{J(),Se(e.miniToOverlay,t)}),a(()=>e.miniToOverlay,e=>{Se(e,C.value)}),a(()=>c.lang.rtl,()=>{J()}),a(()=>e.mini,()=>{e.noMiniAnimation||e.modelValue===!0&&(_e(),m.animate())}),a(S,e=>{i(`miniState`,e)});function J(e){e===void 0?y(()=>{e=w.value===!0?0:C.value,J(N.value*e)}):(m.isContainer.value===!0&&M.value===!0&&(b.value===!0||Math.abs(e)===C.value)&&(e+=N.value*m.scrollbarWidth.value),R.value=e)}function Y(e){P.value=e}function he(e){let t=e===!0?`remove`:m.isContainer.value===!0?``:`add`;t!==``&&document.body.classList[t](`q-body--drawer-toggle`)}function _e(){_!==null&&clearTimeout(_),s.proxy&&s.proxy.$el&&s.proxy.$el.classList.add(`q-drawer--mini-animate`),I.value=!0,_=setTimeout(()=>{_=null,I.value=!1,s?.proxy?.$el?.classList.remove(`q-drawer--mini-animate`)},150)}function ve(e){if(w.value!==!1)return;let t=C.value,n=Oe(e.distance.x,0,t);if(e.isFinal===!0){n>=Math.min(75,t)?O():(m.animate(),Y(0),J(N.value*t)),F.value=!1;return}J((c.lang.rtl===!0?M.value!==!0:M.value)?Math.max(t-n,0):Math.min(0,n-t)),Y(Oe(n/t,0,1)),e.isFirst===!0&&(F.value=!0)}function ye(t){if(w.value!==!0)return;let n=C.value,r=t.direction===e.side,i=(c.lang.rtl===!0?r!==!0:r)?Oe(t.distance.x,0,n):0;if(t.isFinal===!0){Math.abs(i)<Math.min(75,n)?(m.animate(),Y(1),J(0)):k(),F.value=!1;return}J(N.value*i),Y(Oe(1-i/n,0,1)),t.isFirst===!0&&(F.value=!0)}function be(){u(!1),he(!0)}function X(t,n){m.update(e.side,t,n)}function Z(e,t){e.value!==t&&(e.value=t)}function Se(t,n){X(`size`,t===!0?e.miniWidth:n)}return m.instances[e.side]=j,Se(e.miniToOverlay,C.value),X(`space`,V.value),X(`offset`,B.value),e.showIfAbove===!0&&e.modelValue!==!0&&w.value===!0&&e[`onUpdate:modelValue`]!==void 0&&i(`update:modelValue`,!0),g(()=>{i(`onLayout`,V.value),i(`miniState`,S.value),h=e.showIfAbove===!0;let t=()=>{(w.value===!0?E:D)(!1,!0)};if(m.totalWidth.value!==0){y(t);return}v=a(m.totalWidth,()=>{v(),v=void 0,w.value===!1&&e.showIfAbove===!0&&b.value===!1?O(!1):t()})}),x(()=>{v?.(),_!==null&&(clearTimeout(_),_=null),w.value===!0&&be(),m.instances[e.side]===j&&(m.instances[e.side]=void 0,X(`size`,0),X(`offset`,0),X(`space`,!1))}),()=>{let t=[];b.value===!0&&(e.noSwipeOpen===!1&&t.push(p(q(`div`,{key:`open`,class:`q-drawer__opener fixed-${e.side}`,"aria-hidden":`true`}),le.value)),t.push(ee(`div`,{ref:`backdrop`,class:U.value,style:ie.value,"aria-hidden":`true`,onClick:k},void 0,`backdrop`,e.noSwipeBackdrop!==!0&&w.value===!0,()=>fe.value)));let i=S.value===!0&&r.mini!==void 0,a=[q(`div`,{...o,key:String(i),class:[se.value,o.class]},i===!0?r.mini():n(r.default))];return e.elevated===!0&&w.value===!0&&a.push(q(`div`,{class:`q-layout__shadow absolute-full overflow-hidden no-pointer-events`})),t.push(ee(`aside`,{ref:`content`,class:ce.value,style:oe.value},a,`contentclose`,e.noSwipeClose!==!0&&b.value===!0,()=>de.value)),q(`div`,{class:`q-drawer-container`},t)}}}),Je=d({name:`QPageContainer`,setup(e,{slots:t}){let{proxy:{$q:r}}=G(),i=te(ue,me);if(i===me)return console.error(`QPageContainer needs to be child of QLayout`),me;m(pe,!0);let a=L(()=>{let e={};return i.header.space===!0&&(e.paddingTop=`${i.header.size}px`),i.right.space===!0&&(e[`padding${r.lang.rtl===!0?`Left`:`Right`}`]=`${i.right.size}px`),i.footer.space===!0&&(e.paddingBottom=`${i.footer.size}px`),i.left.space===!0&&(e[`padding${r.lang.rtl===!0?`Right`:`Left`}`]=`${i.left.size}px`),e});return()=>q(`div`,{class:`q-page-container`,style:a.value},n(t.default))}}),{passive:Ye}=oe,Xe=[`both`,`horizontal`,`vertical`],Ze=d({name:`QScrollObserver`,props:{axis:{type:String,validator:e=>Xe.includes(e),default:`vertical`},debounce:[String,Number],scrollTarget:X},emits:[`scroll`],setup(t,{emit:n}){let r={position:{top:0,left:0},direction:`down`,directionChanged:!1,delta:{top:0,left:0},inflectionPoint:{top:0,left:0}},i=null,o,s;a(()=>t.scrollTarget,()=>{u(),l()});function c(){i?.();let e=Math.max(0,ve(o)),a=_e(o),s={top:e-r.position.top,left:a-r.position.left};if(t.axis===`vertical`&&s.top===0||t.axis===`horizontal`&&s.left===0)return;let c=Math.abs(s.top)>=Math.abs(s.left)?s.top<0?`up`:`down`:s.left<0?`left`:`right`;r.position={top:e,left:a},r.directionChanged=r.direction!==c,r.delta=s,r.directionChanged===!0&&(r.direction=c,r.inflectionPoint=r.position),n(`scroll`,{...r})}function l(){o=be(s,t.scrollTarget),o.addEventListener(`scroll`,d,Ye),d(!0)}function u(){o!==void 0&&(o.removeEventListener(`scroll`,d,Ye),o=void 0)}function d(e){if(e===!0||t.debounce===0||t.debounce===`0`)c();else if(i===null){let[e,n]=t.debounce?[setTimeout(c,t.debounce),clearTimeout]:[requestAnimationFrame(c),cancelAnimationFrame];i=()=>{n(e),i=null}}}let{proxy:f}=G();return a(()=>f.$q.lang.rtl,c),g(()=>{s=f.$el.parentNode,l()}),x(()=>{i?.(),u()}),Object.assign(f,{trigger:d,getPosition:()=>r}),e}}),Qe=d({name:`QLayout`,props:{container:Boolean,view:{type:String,default:`hhh lpr fff`,validator:e=>/^(h|l)h(h|r) lpr (f|l)f(f|r)$/.test(e.toLowerCase())},onScroll:Function,onScrollHeight:Function,onResize:Function},setup(e,{slots:n,emit:r}){let{proxy:{$q:i}}=G(),o=t(null),s=t(i.screen.height),c=t(e.container===!0?0:i.screen.width),l=t({position:0,direction:`down`,inflectionPoint:0}),u=t(0),d=t(O.value===!0?0:Se()),f=L(()=>`q-layout q-layout--`+(e.container===!0?`containerized`:`standard`)),p=L(()=>e.container===!1?{minHeight:i.screen.height+`px`}:null),h=L(()=>d.value===0?null:{[i.lang.rtl===!0?`left`:`right`]:`${d.value}px`}),g=L(()=>d.value===0?null:{[i.lang.rtl===!0?`right`:`left`]:0,[i.lang.rtl===!0?`left`:`right`]:`-${d.value}px`,width:`calc(100% + ${d.value}px)`});function _(t){if(e.container===!0||document.qScrollPrevented!==!0){let n={position:t.position.top,direction:t.direction,directionChanged:t.directionChanged,inflectionPoint:t.inflectionPoint.top,delta:t.delta.top};l.value=n,e.onScroll!==void 0&&r(`scroll`,n)}}function v(t){let{height:n,width:i}=t,a=!1;s.value!==n&&(a=!0,s.value=n,e.onScrollHeight!==void 0&&r(`scrollHeight`,n),b()),c.value!==i&&(a=!0,c.value=i),a===!0&&e.onResize!==void 0&&r(`resize`,t)}function y({height:e}){u.value!==e&&(u.value=e,b())}function b(){if(e.container===!0){let e=s.value>u.value?Se():0;d.value!==e&&(d.value=e)}}let x=null,S={instances:{},view:L(()=>e.view),isContainer:L(()=>e.container),rootRef:o,height:s,containerHeight:u,scrollbarWidth:d,totalWidth:L(()=>c.value+d.value),rows:L(()=>{let t=e.view.toLowerCase().split(` `);return{top:t[0].split(``),middle:t[1].split(``),bottom:t[2].split(``)}}),header:se({size:0,offset:0,space:!1}),right:se({size:300,offset:0,space:!1}),footer:se({size:0,offset:0,space:!1}),left:se({size:300,offset:0,space:!1}),scroll:l,animate(){x===null?document.body.classList.add(`q-body--layout-animate`):clearTimeout(x),x=setTimeout(()=>{x=null,document.body.classList.remove(`q-body--layout-animate`)},155)},update(e,t,n){S[e][t]=n}};if(m(ue,S),Se()>0){let t=null,n=document.body;function r(){t=null,n.classList.remove(`hide-scrollbar`)}function o(){if(t===null){if(n.scrollHeight>i.screen.height)return;n.classList.add(`hide-scrollbar`)}else clearTimeout(t);t=setTimeout(r,300)}function s(e){t!==null&&e===`remove`&&(clearTimeout(t),r()),window[`${e}EventListener`](`resize`,o)}a(()=>e.container===!0?`remove`:`add`,s),e.container!==!0&&s(`add`),I(()=>{s(`remove`)})}return()=>{let t=ae(n.default,[q(Ze,{onScroll:_}),q(Fe,{onResize:v})]),r=q(`div`,{class:f.value,style:p.value,ref:e.container===!0?void 0:o,tabindex:-1},t);return e.container===!0?q(`div`,{class:`q-layout-container overflow-hidden`,ref:o},[q(Fe,{onResize:y}),q(`div`,{class:`absolute-full`,style:h.value},[q(`div`,{class:`scroll`,style:g.value},[r])])]):r}}}),$e={class:`acceptance-panel q-pa-md`},et={class:`row items-center q-mb-sm`},tt={key:0,class:`criterion-add-row row items-center q-mb-xs`},nt={key:1,class:`acceptance-list`},rt=[`onDblclick`],it={key:2,class:`text-caption text-grey-8`,style:{"font-size":`11px`}},at=Z(k({__name:`AcceptancePanel`,props:{tasks:{}},setup(e){let n=fe(),r=t(!1),i=t(``),a=t(null),o=t(``),c=t({});function l(e,t){if(t){let n=t.$el??t;c.value[e]=n}else delete c.value[e]}function u(e){switch(e){case`done`:return`check_circle`;case`in_progress`:return`timelapse`;default:return`radio_button_unchecked`}}function d(e){switch(e){case`done`:return`#4ade80`;case`in_progress`:return`#f59e0b`;default:return`#888`}}async function p(e){let t=e.status===`done`?`pending`:`done`;try{let r=await fetch(`/api/workspaces/${e.workspaceId}/tasks/${e.id}`,{method:`PATCH`,headers:{"Content-Type":`application/json`},body:JSON.stringify({status:t})});if(!r.ok)throw Error(`HTTP ${r.status}`);n.selectedWorkspaceId&&n.fetchWorkspaceDetails(n.selectedWorkspaceId)}catch(e){console.error(`Failed to update task:`,e)}}function m(){r.value=!0,i.value=``}async function g(){let e=i.value.trim(),t=n.selectedWorkspace?.id;if(!(!e||!t))try{await n.createTask(t,e,!0),i.value=``,r.value=!1}catch{}}function _(){i.value=``,r.value=!1}function v(e){a.value=e.id,o.value=e.title,y(()=>{let t=c.value[e.id]?.querySelector(`input, textarea`);t?.focus(),t?.select()})}async function b(e){if(a.value!==e.id)return;let t=o.value.trim(),r=e.id;if(a.value=null,!t||t===e.title)return;let i=n.selectedWorkspace?.id;if(i)try{await n.updateTaskTitle(i,r,t)}catch{}}function x(){a.value=null,o.value=``}async function S(e){let t=n.selectedWorkspace?.id;if(t)try{await n.deleteTask(t,e.id)}catch{}}return(t,c)=>(F(),B(`div`,$e,[W(`div`,et,[c[2]||=W(`div`,{class:`text-caption text-uppercase text-weight-bold text-grey-6`,style:{"letter-spacing":`0.05em`}},` Acceptance Criteria `,-1),N(Y),E(n).selectedWorkspace?(F(),j(H,{key:0,flat:``,dense:``,round:``,size:`xs`,icon:`add`,color:`indigo-4`,title:`Add criterion`,onClick:m})):M(``,!0)]),r.value?(F(),B(`div`,tt,[N(Ae,{modelValue:i.value,"onUpdate:modelValue":c[0]||=e=>i.value=e,dark:``,dense:``,borderless:``,autofocus:``,placeholder:`New criterion... (Enter to add, Esc to cancel)`,class:`col criterion-input`,"input-class":`criterion-input-inner`,onKeydown:[U(P(g,[`prevent`]),[`enter`]),U(P(_,[`prevent`]),[`esc`])]},null,8,[`modelValue`,`onKeydown`])])):M(``,!0),e.tasks.length>0?(F(),B(`div`,nt,[(F(!0),B(A,null,h(e.tasks,e=>(F(),B(`div`,{key:e.id,class:`acceptance-item row items-center q-mb-xxs`},[N(K,{name:u(e.status),size:`16px`,style:f({color:d(e.status)}),class:`q-mr-xs cursor-pointer`,onClick:t=>p(e)},null,8,[`name`,`style`,`onClick`]),a.value===e.id?(F(),j(Ae,{key:0,ref_for:!0,ref:t=>l(e.id,t),modelValue:o.value,"onUpdate:modelValue":c[1]||=e=>o.value=e,dark:``,dense:``,borderless:``,class:`col criterion-input`,"input-class":`criterion-input-inner`,onKeydown:[U(P(t=>b(e),[`prevent`]),[`enter`]),U(P(x,[`prevent`]),[`esc`])],onBlur:t=>b(e)},null,8,[`modelValue`,`onKeydown`,`onBlur`])):(F(),B(A,{key:1},[W(`span`,{class:s([`col acceptance-title text-caption`,{"text-strike":e.status===`done`}]),style:f({color:e.status===`done`?`#4ade80`:`#ccc`}),onDblclick:t=>v(e)},V(e.title),47,rt),N(H,{flat:``,dense:``,round:``,size:`xs`,icon:`close`,color:`grey-6`,class:`criterion-delete-btn`,onClick:t=>S(e)},null,8,[`onClick`])],64))]))),128))])):r.value?M(``,!0):(F(),B(`div`,it,` No acceptance criteria `))]))}}),[[`__scopeId`,`data-v-b9e5e638`]]),ot=d({name:`QCardSection`,props:{tag:{type:String,default:`div`},horizontal:Boolean},setup(e,{slots:t}){let r=L(()=>`q-card__section q-card__section--${e.horizontal===!0?`horiz row no-wrap`:`vert`}`);return()=>q(e.tag,{class:r.value},n(t.default))}}),st=d({name:`QCard`,props:{...we,tag:{type:String,default:`div`},square:Boolean,flat:Boolean,bordered:Boolean},setup(e,{slots:t}){let{proxy:{$q:r}}=G(),i=Te(e,r),a=L(()=>`q-card`+(i.value===!0?` q-card--dark q-dark`:``)+(e.bordered===!0?` q-card--bordered`:``)+(e.square===!0?` q-card--square no-border-radius`:``)+(e.flat===!0?` q-card--flat no-shadow`:``));return()=>q(e.tag,{class:a.value},n(t.default))}}),ct={class:`log-text rounded-borders q-pa-md`},lt=Z(k({__name:`DevServerLogDialog`,props:{modelValue:{type:Boolean},workspaceId:{}},emits:[`update:modelValue`],setup(e){let n=e,r=le(),i=t(``),o=t(!1),s=t(null),c=null;async function l(){if(n.workspaceId){o.value=!0;try{i.value=await r.fetchLogs(n.workspaceId),await y(),d()}finally{o.value=!1}}}function d(){s.value&&(s.value.scrollTop=s.value.scrollHeight)}function f(){p(),c=setInterval(()=>{l()},5e3)}function p(){c&&=(clearInterval(c),null)}return a(()=>n.modelValue,e=>{e?(l(),f()):p()}),I(()=>{p()}),(t,n)=>(F(),j(je,{"model-value":e.modelValue,"onUpdate:modelValue":n[1]||=e=>t.$emit(`update:modelValue`,e)},{default:u(()=>[N(st,{class:`text-grey-3`,style:{"min-width":`700px`,"max-width":`900px`,"max-height":`80vh`,background:`#1e1e3a`}},{default:u(()=>[N(ot,{class:`row items-center`},{default:u(()=>[n[2]||=W(`div`,{class:`text-h6`},`Logs Dev Server`,-1),N(Y),N(H,{flat:``,round:``,dense:``,icon:`refresh`,color:`grey-5`,onClick:l,loading:o.value},null,8,[`loading`]),N(H,{flat:``,round:``,dense:``,icon:`close`,color:`grey-5`,onClick:n[0]||=e=>t.$emit(`update:modelValue`,!1)})]),_:1}),N(De,{dark:``}),N(ot,{class:`log-content`,ref_key:`logContainer`,ref:s},{default:u(()=>[W(`pre`,ct,V(i.value||`No logs available`),1)]),_:1},512)]),_:1})]),_:1},8,[`model-value`]))}}),[[`__scopeId`,`data-v-c1509b16`]]),ut={class:`dd-panel q-px-md q-py-sm`},dt={key:0,class:`text-caption text-grey-8`},ft={key:1,class:`text-caption text-grey-8`},pt={class:`row items-center q-mb-xs`},mt={key:0,class:`text-caption q-mb-xs`},ht=[`href`],gt={key:1,class:`text-caption text-grey-7`,style:{"font-size":`10px`}},_t={key:2,class:`text-caption text-red-5`},vt=Z(k({__name:`DevServerPanel`,props:{workspace:{}},setup(e){let n=e,r=le(),i=Ve(),o=t(!1),s=t(!1),c=t(!1),l=null,d=L(()=>n.workspace?.id??``),f=L(()=>n.workspace?!!i.getProjectByPath(n.workspace.projectPath)?.devServer?.startCommand:!1),p=L(()=>d.value?r.getStatus(d.value):null),m=L(()=>{switch(p.value?.status){case`running`:return`green-9`;case`starting`:case`stopping`:return`orange-9`;case`error`:return`red-9`;default:return`grey-8`}}),h=L(()=>{switch(p.value?.status){case`running`:return`Running`;case`starting`:return`Starting`;case`stopping`:return`Stopping`;case`error`:return`Error`;case`stopped`:return`Stopped`;default:return`Unknown`}}),v=L(()=>{let e=p.value?.status;return!e||e===`stopped`||e===`unknown`||e===`error`}),y=L(()=>{let e=p.value?.status;return e===`running`||e===`starting`});async function b(){if(d.value){s.value=!0;try{await r.startDevServer(d.value)}finally{s.value=!1}}}async function x(){if(d.value){c.value=!0;try{await r.stopDevServer(d.value)}finally{c.value=!1}}}function S(){d.value&&f.value&&r.fetchStatus(d.value)}function C(){w(),l=setInterval(()=>{S()},3e4)}function w(){l&&=(clearInterval(l),null)}return a(d,()=>{S(),C()}),g(()=>{S(),C()}),I(()=>{w()}),(t,n)=>{let r=_(`router-link`);return F(),B(`div`,ut,[n[5]||=W(`div`,{class:`text-caption text-uppercase text-weight-bold text-grey-5 q-mb-xs`},` Dev Server `,-1),e.workspace?f.value?p.value?(F(),B(A,{key:2},[W(`div`,pt,[N($,{color:m.value,label:h.value,style:{"font-size":`10px`}},null,8,[`color`,`label`]),N(Y),v.value?(F(),j(H,{key:0,flat:``,round:``,dense:``,icon:`play_arrow`,size:`xs`,color:`green-5`,onClick:b,loading:s.value},null,8,[`loading`])):M(``,!0),y.value?(F(),j(H,{key:1,flat:``,round:``,dense:``,icon:`stop`,size:`xs`,color:`red-5`,onClick:x,loading:c.value},null,8,[`loading`])):M(``,!0),N(H,{flat:``,round:``,dense:``,icon:`article`,size:`xs`,color:`grey-5`,onClick:n[0]||=e=>o.value=!0},{default:u(()=>[N(Q,null,{default:u(()=>[...n[4]||=[R(`Logs`,-1)]]),_:1})]),_:1})]),p.value.status===`running`&&p.value.url?(F(),B(`div`,mt,[W(`a`,{href:p.value.url,target:`_blank`,style:{color:`#6c63ff`}},V(p.value.url),9,ht)])):M(``,!0),p.value.containers.length>0?(F(),B(`div`,gt,V(p.value.containers.length)+` container`+V(p.value.containers.length>1?`s`:``),1)):M(``,!0),p.value.error?(F(),B(`div`,_t,V(p.value.error),1)):M(``,!0)],64)):M(``,!0):(F(),B(`div`,ft,[n[3]||=R(` Not configured — `,-1),N(r,{to:`/settings`,style:{color:`#6c63ff`}},{default:u(()=>[...n[2]||=[R(`Settings`,-1)]]),_:1})])):(F(),B(`div`,dt,` No workspace selected `)),d.value?(F(),j(lt,{key:3,modelValue:o.value,"onUpdate:modelValue":n[1]||=e=>o.value=e,"workspace-id":d.value},null,8,[`modelValue`,`workspace-id`])):M(``,!0)])}}}),[[`__scopeId`,`data-v-8c173889`]]),yt={class:`git-panel q-pa-md`},bt={class:`row items-center q-mb-sm`},xt={class:`text-caption text-grey-3`},St={class:`row items-center q-mb-sm`},Ct={class:`text-caption text-grey-4`,style:{"font-family":`'Roboto Mono', monospace`,"font-size":`11px`}},wt={class:`text-caption q-mb-md text-grey-8`,style:{"font-size":`11px`}},Tt={class:`row q-gutter-xs`},Et={key:1,class:`text-caption text-grey-8`},Dt=Z(k({__name:`GitPanel`,props:{workspace:{}},setup(e){let n=e,r=He(),i=fe(),a=t(!1),o=t(!1),s=L(()=>{if(!n.workspace?.projectPath)return`-`;let e=n.workspace.projectPath.replace(/\\/g,`/`).split(`/`);return e[e.length-1]||e[e.length-2]||`-`});async function c(){if(n.workspace){a.value=!0;try{await i.pushBranch(n.workspace.id),r.notify({type:`positive`,message:`Branch pushed`,position:`top`})}catch(e){let t=e instanceof Error?e.message:`Push failed`;r.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{a.value=!1}}}async function l(){if(n.workspace){o.value=!0;try{let e=await i.openPullRequest(n.workspace.id);e.messageSent===!1&&e.warning?r.notify({type:`warning`,message:`PR #${e.prNumber} opened — agent not active, message not sent`,caption:e.prUrl,position:`top`,timeout:6e3}):r.notify({type:`positive`,message:`PR #${e.prNumber} opened`,caption:e.prUrl,position:`top`,timeout:5e3})}catch(e){if(e instanceof ce&&e.code===`branch_not_pushed`){r.notify({type:`warning`,message:`Branch is not on remote. Click Push first.`,position:`top`,timeout:6e3});return}if(e instanceof ce&&e.code===`unpushed_commits`){r.notify({type:`warning`,message:`Local commits are not pushed. Click Push first.`,position:`top`,timeout:6e3});return}let t=e instanceof Error?e.message:`Open PR failed`;r.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{o.value=!1}}}return(t,n)=>(F(),B(`div`,yt,[n[1]||=W(`div`,{class:`text-caption text-uppercase text-weight-bold q-mb-sm text-grey-6`,style:{"letter-spacing":`0.05em`}},` Git `,-1),e.workspace?(F(),B(A,{key:0},[W(`div`,bt,[N(K,{name:`folder`,size:`14px`,color:`grey-6`,class:`q-mr-xs`}),W(`span`,xt,V(s.value),1)]),W(`div`,St,[n[0]||=W(`span`,{style:{width:`8px`,height:`8px`,"border-radius":`50%`,"background-color":`#4ade80`,display:`inline-block`},class:`q-mr-xs`},null,-1),W(`span`,Ct,V(e.workspace.workingBranch),1)]),W(`div`,wt,` from `+V(e.workspace.sourceBranch)+` · local only `,1),W(`div`,Tt,[N(H,{dense:``,"no-caps":``,size:`sm`,color:`primary`,label:`Open PR`,class:`git-btn`,loading:o.value,disable:!e.workspace||a.value,onClick:l},null,8,[`loading`,`disable`]),N(H,{dense:``,"no-caps":``,size:`sm`,outline:``,color:`grey-5`,label:`Push`,class:`git-btn`,loading:a.value,disable:!e.workspace||o.value,onClick:c},null,8,[`loading`,`disable`])])],64)):(F(),B(`div`,Et,` Select a workspace `))]))}}),[[`__scopeId`,`data-v-f2c47ce1`]]),Ot={xs:2,sm:4,md:6,lg:10,xl:14};function kt(e,t,n){return{transform:t===!0?`translateX(${n.lang.rtl===!0?`-`:``}100%) scale3d(${-e},1,1)`:`scale3d(${e},1,1)`}}var At=d({name:`QLinearProgress`,props:{...we,...r,value:{type:Number,default:0},buffer:Number,color:String,trackColor:String,reverse:Boolean,stripe:Boolean,indeterminate:Boolean,query:Boolean,rounded:Boolean,animationSpeed:{type:[String,Number],default:2100},instantFeedback:Boolean},setup(e,{slots:t}){let{proxy:n}=G(),r=Te(e,n.$q),i=b(e,Ot),a=L(()=>e.indeterminate===!0||e.query===!0),o=L(()=>e.reverse!==e.query),s=L(()=>({...i.value===null?{}:i.value,"--q-linear-progress-speed":`${e.animationSpeed}ms`})),c=L(()=>`q-linear-progress`+(e.color===void 0?``:` text-${e.color}`)+(e.reverse===!0||e.query===!0?` q-linear-progress--reverse`:``)+(e.rounded===!0?` rounded-borders`:``)),l=L(()=>kt(e.buffer===void 0?1:e.buffer,o.value,n.$q)),u=L(()=>`with${e.instantFeedback===!0?`out`:``}-transition`),d=L(()=>`q-linear-progress__track absolute-full q-linear-progress__track--${u.value} q-linear-progress__track--${r.value===!0?`dark`:`light`}`+(e.trackColor===void 0?``:` bg-${e.trackColor}`)),f=L(()=>kt(a.value===!0?1:e.value,o.value,n.$q)),p=L(()=>`q-linear-progress__model absolute-full q-linear-progress__model--${u.value} q-linear-progress__model--${a.value===!0?`in`:``}determinate`),m=L(()=>({width:`${e.value*100}%`})),h=L(()=>`q-linear-progress__stripe absolute-${e.reverse===!0?`right`:`left`} q-linear-progress__stripe--${u.value}`);return()=>{let n=[q(`div`,{class:d.value,style:l.value}),q(`div`,{class:p.value,style:f.value})];return e.stripe===!0&&a.value===!1&&n.push(q(`div`,{class:h.value,style:m.value})),q(`div`,{class:c.value,style:s.value,role:`progressbar`,"aria-valuemin":0,"aria-valuemax":1,"aria-valuenow":e.indeterminate===!0?void 0:e.value},ae(t.default,n))}}}),jt={class:`notion-panel q-pa-md`},Mt={class:`row items-center q-mb-sm`},Nt={key:0,class:`q-mb-sm`},Pt=[`href`],Ft={key:1,class:`text-caption q-mb-sm text-grey-8`},It={key:3,class:`q-mb-sm`},Lt={class:`text-caption text-grey-7`,style:{"font-size":`11px`}},Rt={key:4,class:`text-caption text-grey-8 q-mb-sm`,style:{"font-size":`11px`}},zt={key:5,class:`task-add-row row items-center q-mb-xs`},Bt={key:6,class:`tasks-list`},Vt=[`onDblclick`],Ht={key:1,class:`text-caption text-grey-8`},Ut=Z(k({__name:`NotionPanel`,props:{workspace:{},tasks:{}},setup(e){let n=e,r=fe(),i=t(!1),a=L(()=>n.tasks.filter(e=>!e.isAcceptanceCriterion)),o=L(()=>a.value.filter(e=>e.status===`done`).length),c=L(()=>a.value.length),l=L(()=>c.value>0?o.value/c.value:0),u=t(!1),d=t(``),p=t(null),m=t(``),g=t({});function _(e,t){if(t){let n=t.$el??t;g.value[e]=n}else delete g.value[e]}async function v(){if(!(!n.workspace?.id||!n.workspace.notionUrl)){i.value=!0;try{let e=await fetch(`/api/workspaces/${n.workspace.id}/refresh-notion`,{method:`POST`});if(!e.ok)throw Error(`HTTP ${e.status}`);r.fetchWorkspaceDetails(n.workspace.id)}catch(e){console.error(`Failed to refresh from Notion:`,e)}finally{i.value=!1}}}function b(){u.value=!0,d.value=``}async function x(){let e=d.value.trim();if(!(!e||!n.workspace?.id))try{await r.createTask(n.workspace.id,e,!1),d.value=``,u.value=!1}catch{}}function S(){d.value=``,u.value=!1}function C(e){p.value=e.id,m.value=e.title,y(()=>{let t=g.value[e.id]?.querySelector(`input, textarea`);t?.focus(),t?.select()})}async function w(e){if(p.value!==e.id)return;let t=m.value.trim(),i=e.id;if(p.value=null,!(!t||t===e.title)&&n.workspace?.id)try{await r.updateTaskTitle(n.workspace.id,i,t)}catch{}}function T(){p.value=null,m.value=``}async function E(e){if(n.workspace?.id)try{await r.deleteTask(n.workspace.id,e.id)}catch{}}async function D(e){if(!n.workspace?.id)return;let t=e.status===`done`?`pending`:`done`;try{let i=await fetch(`/api/workspaces/${e.workspaceId}/tasks/${e.id}`,{method:`PATCH`,headers:{"Content-Type":`application/json`},body:JSON.stringify({status:t})});if(!i.ok)throw Error(`HTTP ${i.status}`);r.fetchWorkspaceDetails(n.workspace.id)}catch(e){console.error(`Failed to toggle task:`,e)}}function O(e){switch(e){case`done`:return`check_circle`;case`in_progress`:return`timelapse`;default:return`radio_button_unchecked`}}function k(e){switch(e){case`done`:return`#4ade80`;case`in_progress`:return`#f59e0b`;default:return`#888`}}return(t,n)=>(F(),B(`div`,jt,[W(`div`,Mt,[n[2]||=W(`div`,{class:`text-caption text-uppercase text-weight-bold text-grey-6`,style:{"letter-spacing":`0.05em`}},` Notion `,-1),N(Y),e.workspace?(F(),j(H,{key:0,flat:``,dense:``,round:``,size:`xs`,icon:`add`,color:`indigo-4`,title:`Add task`,onClick:b})):M(``,!0)]),e.workspace?(F(),B(A,{key:0},[e.workspace.notionUrl?(F(),B(`div`,Nt,[W(`a`,{href:e.workspace.notionUrl,target:`_blank`,rel:`noopener noreferrer`,class:`notion-link text-caption items-center text-blue-4`},[N(K,{name:`open_in_new`,size:`12px`,class:`q-mr-xs`}),n[3]||=R(` Open in Notion `,-1)],8,Pt)])):(F(),B(`div`,Ft,` No Notion URL `)),e.workspace.notionUrl?(F(),j(H,{key:2,flat:``,dense:``,"no-caps":``,size:`xs`,icon:`refresh`,label:`Refresh`,color:`grey-6`,class:`q-mb-sm`,loading:i.value,onClick:v},null,8,[`loading`])):M(``,!0),c.value>0?(F(),B(`div`,It,[N(At,{value:l.value,color:`primary`,"track-color":`grey-9`,class:`q-mb-xs`,style:{height:`4px`,"border-radius":`2px`}},null,8,[`value`]),W(`div`,Lt,V(o.value)+`/`+V(c.value)+` subtasks `,1)])):u.value?M(``,!0):(F(),B(`div`,Rt,` No tasks `)),u.value?(F(),B(`div`,zt,[N(Ae,{modelValue:d.value,"onUpdate:modelValue":n[0]||=e=>d.value=e,dark:``,dense:``,borderless:``,autofocus:``,placeholder:`New task... (Enter to add, Esc to cancel)`,class:`col task-input`,"input-class":`task-input-inner`,onKeydown:[U(P(x,[`prevent`]),[`enter`]),U(P(S,[`prevent`]),[`esc`])]},null,8,[`modelValue`,`onKeydown`])])):M(``,!0),a.value.length>0?(F(),B(`div`,Bt,[(F(!0),B(A,null,h(a.value,e=>(F(),B(`div`,{key:e.id,class:`task-item row items-center q-py-xxs`},[N(K,{name:O(e.status),size:`14px`,style:f({color:k(e.status)}),class:`q-mr-xs cursor-pointer`,onClick:t=>D(e)},null,8,[`name`,`style`,`onClick`]),p.value===e.id?(F(),j(Ae,{key:0,ref_for:!0,ref:t=>_(e.id,t),modelValue:m.value,"onUpdate:modelValue":n[1]||=e=>m.value=e,dark:``,dense:``,borderless:``,class:`col task-input`,"input-class":`task-input-inner`,onKeydown:[U(P(t=>w(e),[`prevent`]),[`enter`]),U(P(T,[`prevent`]),[`esc`])],onBlur:t=>w(e)},null,8,[`modelValue`,`onKeydown`,`onBlur`])):(F(),B(A,{key:1},[W(`span`,{class:s([`col task-title text-caption`,{"text-strike":e.status===`done`}]),style:f({color:e.status===`done`?`#4ade80`:`#ccc`}),onDblclick:t=>C(e)},V(e.title),47,Vt),N(H,{flat:``,dense:``,round:``,size:`xs`,icon:`close`,color:`grey-6`,class:`task-delete-btn`,onClick:t=>E(e)},null,8,[`onClick`])],64))]))),128))])):M(``,!0)],64)):(F(),B(`div`,Ht,` Select a workspace `))]))}}),[[`__scopeId`,`data-v-5f29da43`]]);function Wt(e,n){let r=t(null),i=L(()=>e.disable===!0?null:q(`span`,{ref:r,class:`no-outline`,tabindex:-1}));function a(e){let t=n.value;e?.qAvoidFocus!==!0&&(e?.type.indexOf(`key`)===0?document.activeElement!==t&&t?.contains(document.activeElement)===!0&&t.focus():r.value!==null&&(e===void 0||t?.contains(e.target)===!0)&&r.value.focus())}return{refocusTargetEl:i,refocusTarget:a}}var Gt={xs:30,sm:35,md:40,lg:50,xl:60},Kt={...we,...r,...Me,modelValue:{required:!0,default:null},val:{},trueValue:{default:!0},falseValue:{default:!1},indeterminateValue:{default:null},checkedIcon:String,uncheckedIcon:String,indeterminateIcon:String,toggleOrder:{type:String,validator:e=>e===`tf`||e===`ft`},toggleIndeterminate:Boolean,label:String,leftLabel:Boolean,color:String,keepColor:Boolean,dense:Boolean,disable:Boolean,tabindex:[String,Number]},qt=[`update:modelValue`];function Jt(e,r){let{props:i,slots:a,emit:s,proxy:c}=G(),{$q:l}=c,u=Te(i,l),d=t(null),{refocusTargetEl:f,refocusTarget:p}=Wt(i,d),m=b(i,Gt),h=L(()=>i.val!==void 0&&Array.isArray(i.modelValue)),g=L(()=>{let e=C(i.val);return h.value===!0?i.modelValue.findIndex(t=>C(t)===e):-1}),_=L(()=>h.value===!0?g.value!==-1:C(i.modelValue)===C(i.trueValue)),v=L(()=>h.value===!0?g.value===-1:C(i.modelValue)===C(i.falseValue)),y=L(()=>_.value===!1&&v.value===!1),x=L(()=>i.disable===!0?-1:i.tabindex||0),S=L(()=>`q-${e} cursor-pointer no-outline row inline no-wrap items-center`+(i.disable===!0?` disabled`:``)+(u.value===!0?` q-${e}--dark`:``)+(i.dense===!0?` q-${e}--dense`:``)+(i.leftLabel===!0?` reverse`:``)),w=L(()=>`q-${e}__inner relative-position non-selectable q-${e}__inner--${_.value===!0?`truthy`:v.value===!0?`falsy`:`indet`}${i.color!==void 0&&(i.keepColor===!0||(e===`toggle`?_.value===!0:v.value!==!0))?` text-${i.color}`:``}`),T=ke(L(()=>{let e={type:`checkbox`};return i.name!==void 0&&Object.assign(e,{".checked":_.value,"^checked":_.value===!0?`checked`:void 0,name:i.name,value:h.value===!0?i.val:i.trueValue}),e})),E=L(()=>{let t={tabindex:x.value,role:e===`toggle`?`switch`:`checkbox`,"aria-label":i.label,"aria-checked":y.value===!0?`mixed`:_.value===!0?`true`:`false`};return i.disable===!0&&(t[`aria-disabled`]=`true`),t});function D(e){e!==void 0&&(o(e),p(e)),i.disable!==!0&&s(`update:modelValue`,O(),e)}function O(){if(h.value===!0){if(_.value===!0){let e=i.modelValue.slice();return e.splice(g.value,1),e}return i.modelValue.concat([i.val])}if(_.value===!0){if(i.toggleOrder!==`ft`||i.toggleIndeterminate===!1)return i.falseValue}else if(v.value===!0){if(i.toggleOrder===`ft`||i.toggleIndeterminate===!1)return i.trueValue}else return i.toggleOrder===`ft`?i.falseValue:i.trueValue;return i.indeterminateValue}function k(e){(e.keyCode===13||e.keyCode===32)&&o(e)}function A(e){(e.keyCode===13||e.keyCode===32)&&D(e)}let ee=r(_,y);return Object.assign(c,{toggle:D}),()=>{let t=ee();i.disable!==!0&&T(t,`unshift`,` q-${e}__native absolute q-ma-none q-pa-none`);let r=[q(`div`,{class:w.value,style:m.value,"aria-hidden":`true`},t)];f.value!==null&&r.push(f.value);let o=i.label===void 0?n(a.default):ae(a.default,[i.label]);return o!==void 0&&r.push(q(`div`,{class:`q-${e}__label q-anchor--skip`},o)),q(`div`,{ref:d,class:S.value,...E.value,onClick:D,onKeydown:k,onKeyup:A},r)}}var Yt=()=>q(`div`,{key:`svg`,class:`q-checkbox__bg absolute`},[q(`svg`,{class:`q-checkbox__svg fit absolute-full`,viewBox:`0 0 24 24`},[q(`path`,{class:`q-checkbox__truthy`,fill:`none`,d:`M1.73,12.91 8.1,19.28 22.79,4.59`}),q(`path`,{class:`q-checkbox__indet`,d:`M4,14H20V10H4`})])]),Xt=d({name:`QCheckbox`,props:Kt,emits:qt,setup(e){let t=Yt();function n(n,r){let i=L(()=>(n.value===!0?e.checkedIcon:r.value===!0?e.indeterminateIcon:e.uncheckedIcon)||null);return()=>i.value===null?[t]:[q(`div`,{key:`icon`,class:`q-checkbox__icon-container absolute-full flex flex-center no-wrap`},[q(K,{class:`q-checkbox__icon`,name:i.value})])]}return Jt(`checkbox`,n)}}),Zt=d({name:`QCardActions`,props:{...ne,vertical:Boolean},setup(e,{slots:t}){let r=ie(e),i=L(()=>`q-card__actions ${r.value} q-card__actions--${e.vertical===!0?`vert column`:`horiz row`}`);return()=>q(`div`,{class:i.value},n(t.default))}}),Qt={class:`workspace-list column full-height`},$t={class:`wl-header row items-center justify-between q-px-md q-py-sm`},en={class:`row items-center q-gutter-xs`},tn={class:`q-px-md q-pb-sm`},nn={class:`col overflow-auto`},rn={key:0,class:`wl-group q-mt-xs`},an=[`onClick`],on={class:`col`,style:{"min-width":`0`}},sn={class:`row items-center no-wrap q-gutter-xs`},cn={key:0,class:`dd-dot dd-dot--running`},ln={class:`wl-item-name text-body2 text-weight-medium text-grey-3 ellipsis`},un={class:`text-caption q-mt-xs`},dn={class:`text-red-5`},fn={class:`q-ml-xs text-grey-8`},pn={key:1,class:`wl-group q-mt-xs`},mn=[`onClick`],hn={class:`col`,style:{"min-width":`0`}},gn={class:`row items-center no-wrap q-gutter-xs`},_n={key:0,class:`dd-dot dd-dot--running`},vn={class:`wl-item-name text-body2 text-weight-medium text-grey-3 ellipsis`},yn={class:`text-caption q-mt-xs`},bn={class:`text-green-4`},xn={class:`q-ml-xs text-grey-8`},Sn={key:2,class:`wl-group q-mt-xs`},Cn=[`onClick`],wn={class:`col`,style:{"min-width":`0`}},Tn={class:`row items-center no-wrap q-gutter-xs`},En={key:0,class:`dd-dot dd-dot--running`},Dn={class:`wl-item-name text-body2 text-weight-medium text-grey-3 ellipsis`},On={class:`wl-item-meta text-caption text-grey-8`},kn={key:3,class:`wl-group q-mt-xs`},An={class:`col`,style:{"min-width":`0`}},jn={class:`wl-item-name text-body2 text-grey-5 ellipsis`},Mn={class:`wl-item-meta text-caption text-grey-8`},Nn={key:4,class:`q-pa-lg text-center text-grey-6 text-caption`},Pn={class:`q-px-md q-py-xs text-caption text-grey-8`},Fn={class:`text-body2 q-mb-sm text-grey-6`},In={class:`text-caption q-mb-md text-grey-7`,style:{"font-family":`monospace`}},Ln={class:`column q-gutter-xs`},Rn={key:0,class:`text-caption q-mt-sm text-red-5`},zn=Z(k({__name:`WorkspaceList`,setup(e){let n=fe(),r=de(),i=le(),a=Ve(),o=J(),c=t(``),l=L(()=>n.needsAttention.filter(e=>e.name.toLowerCase().includes(c.value.toLowerCase()))),d=L(()=>n.running.filter(e=>e.name.toLowerCase().includes(c.value.toLowerCase()))),f=L(()=>n.idle.filter(e=>e.name.toLowerCase().includes(c.value.toLowerCase()))),m=L(()=>n.workspaces.length),_=L(()=>n.running.length),v=t(!0),y=t(!0),b=t(!0),x=t(!1);async function S(){x.value=!x.value,x.value&&!n.archivedLoaded&&await n.fetchArchivedWorkspaces()}let C=t(!1),w=t(null),T=t(!1),D=t(!1),O=t(!1);function k(e,t){t.stopPropagation(),w.value=e,T.value=!0,D.value=!1,C.value=!0}async function ee(){if(!w.value)return;let e=w.value.id;O.value=!0;try{await n.deleteWorkspace(e,{deleteLocalBranch:T.value,deleteRemoteBranch:D.value}),r.unsubscribe(e),C.value=!1,n.selectedWorkspaceId===null&&o.push({name:`workspace`})}catch(e){console.error(`Delete failed:`,e)}finally{O.value=!1}}async function te(e,t){t.stopPropagation();try{await n.archiveWorkspace(e.id),n.selectedWorkspaceId===null&&o.push({name:`workspace`})}catch(e){console.error(`Archive failed:`,e)}}async function ne(e,t){t.stopPropagation();try{await n.unarchiveWorkspace(e.id),a.getProjectByPath(e.projectPath)?.devServer?.startCommand&&i.fetchStatus(e.id)}catch(e){console.error(`Unarchive failed:`,e)}}function P(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`}function I(e){n.selectWorkspace(e),o.push({name:`workspace`,params:{id:e}})}function re(){o.push({name:`create`})}function U(){o.push({name:`settings`})}return g(async()=>{await n.fetchWorkspaces(),await n.fetchArchivedWorkspaces(),await a.fetchSettings();for(let e of n.workspaces)r.subscribe(e.id),a.getProjectByPath(e.projectPath)?.devServer?.startCommand&&i.fetchStatus(e.id)}),(e,t)=>(F(),B(A,null,[W(`div`,Qt,[W(`div`,$t,[t[8]||=W(`span`,{class:`text-caption text-uppercase text-weight-bold text-grey-6`,style:{"letter-spacing":`0.05em`}},` Workspaces `,-1),W(`div`,en,[E(r).connected?(F(),j($,{key:0,rounded:``,color:`positive`,style:{width:`8px`,height:`8px`,"min-width":`8px`,padding:`0`}})):(F(),j($,{key:1,rounded:``,color:`negative`,style:{width:`8px`,height:`8px`,"min-width":`8px`,padding:`0`}})),N(H,{flat:``,round:``,dense:``,icon:`settings`,size:`sm`,color:`grey-5`,onClick:U}),N(H,{flat:``,round:``,dense:``,icon:`add`,size:`sm`,color:`grey-5`,onClick:re})])]),W(`div`,tn,[N(Ae,{modelValue:c.value,"onUpdate:modelValue":t[0]||=e=>c.value=e,dense:``,dark:``,placeholder:`Search...`,class:`wl-search rounded-borders`,borderless:``},{prepend:u(()=>[N(K,{name:`search`,size:`xs`,color:`grey-6`})]),_:1},8,[`modelValue`])]),N(De,{dark:``}),W(`div`,nn,[l.value.length>0?(F(),B(`div`,rn,[W(`div`,{class:`wl-group-header row items-center q-px-md q-py-xs cursor-pointer non-selectable`,onClick:t[1]||=e=>v.value=!v.value},[N(K,{name:v.value?`expand_more`:`chevron_right`,size:`xs`,color:`red-5`},null,8,[`name`]),t[9]||=W(`span`,{class:`text-caption text-weight-bold q-ml-xs text-red-5`},` Needs Attention `,-1),N($,{label:l.value.length,color:`red-9`,"text-color":`white`,class:`q-ml-auto`,style:{"font-size":`10px`}},null,8,[`label`])]),p(W(`div`,null,[(F(!0),B(A,null,h(l.value,e=>(F(),B(`div`,{key:e.id,class:s([`wl-item cursor-pointer q-pa-sm q-mx-xs rounded-borders`,{"wl-item--selected":e.id===E(n).selectedWorkspaceId}]),style:{"border-left":`3px solid #ef4444`},onClick:t=>I(e.id)},[W(`div`,on,[W(`div`,sn,[E(i).getStatus(e.id)?.status===`running`?(F(),B(`div`,cn)):M(``,!0),W(`div`,ln,V(e.name),1)]),W(`div`,un,[N(K,{name:`warning`,size:`xs`,color:`red-5`,class:`q-mr-xs`}),W(`span`,dn,V(e.status),1),W(`span`,fn,`· `+V(P(e.updatedAt)),1)])]),N(H,{flat:``,round:``,dense:``,icon:`archive`,size:`xs`,color:`grey-6`,class:`wl-item-action wl-item-archive`,onClick:t=>te(e,t)},{default:u(()=>[N(Q,null,{default:u(()=>[...t[10]||=[R(`Archive`,-1)]]),_:1})]),_:1},8,[`onClick`]),N(H,{flat:``,round:``,dense:``,icon:`delete_outline`,size:`xs`,color:`grey-6`,class:`wl-item-action wl-item-delete`,onClick:t=>k(e,t)},{default:u(()=>[N(Q,null,{default:u(()=>[...t[11]||=[R(`Delete`,-1)]]),_:1})]),_:1},8,[`onClick`])],10,an))),128))],512),[[z,v.value]])])):M(``,!0),d.value.length>0?(F(),B(`div`,pn,[W(`div`,{class:`wl-group-header row items-center q-px-md q-py-xs cursor-pointer non-selectable`,onClick:t[2]||=e=>y.value=!y.value},[N(K,{name:y.value?`expand_more`:`chevron_right`,size:`xs`,color:`green-5`},null,8,[`name`]),t[12]||=W(`span`,{class:`text-caption text-weight-bold q-ml-xs text-green-4`},` Running `,-1),N($,{label:d.value.length,color:`green-9`,"text-color":`white`,class:`q-ml-auto`,style:{"font-size":`10px`}},null,8,[`label`])]),p(W(`div`,null,[(F(!0),B(A,null,h(d.value,e=>(F(),B(`div`,{key:e.id,class:s([`wl-item cursor-pointer q-pa-sm q-mx-xs rounded-borders`,{"wl-item--selected":e.id===E(n).selectedWorkspaceId}]),style:{"border-left":`3px solid #4ade80`},onClick:t=>I(e.id)},[W(`div`,hn,[W(`div`,gn,[E(i).getStatus(e.id)?.status===`running`?(F(),B(`div`,_n)):M(``,!0),W(`div`,vn,V(e.name),1)]),W(`div`,yn,[W(`span`,bn,V(e.status),1),W(`span`,xn,`· `+V(P(e.updatedAt)),1)])]),N(H,{flat:``,round:``,dense:``,icon:`archive`,size:`xs`,color:`grey-6`,class:`wl-item-action wl-item-archive`,onClick:t=>te(e,t)},{default:u(()=>[N(Q,null,{default:u(()=>[...t[13]||=[R(`Archive`,-1)]]),_:1})]),_:1},8,[`onClick`]),N(H,{flat:``,round:``,dense:``,icon:`delete_outline`,size:`xs`,color:`grey-6`,class:`wl-item-action wl-item-delete`,onClick:t=>k(e,t)},{default:u(()=>[N(Q,null,{default:u(()=>[...t[14]||=[R(`Delete`,-1)]]),_:1})]),_:1},8,[`onClick`])],10,mn))),128))],512),[[z,y.value]])])):M(``,!0),f.value.length>0?(F(),B(`div`,Sn,[W(`div`,{class:`wl-group-header row items-center q-px-md q-py-xs cursor-pointer non-selectable`,onClick:t[3]||=e=>b.value=!b.value},[N(K,{name:b.value?`expand_more`:`chevron_right`,size:`xs`,color:`grey-6`},null,8,[`name`]),t[15]||=W(`span`,{class:`text-caption text-weight-bold q-ml-xs text-grey-6`},` Idle `,-1),N($,{label:f.value.length,color:`grey-8`,"text-color":`grey-4`,class:`q-ml-auto`,style:{"font-size":`10px`}},null,8,[`label`])]),p(W(`div`,null,[(F(!0),B(A,null,h(f.value,e=>(F(),B(`div`,{key:e.id,class:s([`wl-item cursor-pointer q-pa-sm q-mx-xs rounded-borders`,{"wl-item--selected":e.id===E(n).selectedWorkspaceId}]),style:{"border-left":`3px solid #666`},onClick:t=>I(e.id)},[W(`div`,wn,[W(`div`,Tn,[E(i).getStatus(e.id)?.status===`running`?(F(),B(`div`,En)):M(``,!0),W(`div`,Dn,V(e.name),1)]),W(`div`,On,V(P(e.updatedAt)),1)]),N(H,{flat:``,round:``,dense:``,icon:`archive`,size:`xs`,color:`grey-6`,class:`wl-item-action wl-item-archive`,onClick:t=>te(e,t)},{default:u(()=>[N(Q,null,{default:u(()=>[...t[16]||=[R(`Archive`,-1)]]),_:1})]),_:1},8,[`onClick`]),N(H,{flat:``,round:``,dense:``,icon:`delete_outline`,size:`xs`,color:`grey-6`,class:`wl-item-action wl-item-delete`,onClick:t=>k(e,t)},{default:u(()=>[N(Q,null,{default:u(()=>[...t[17]||=[R(`Delete`,-1)]]),_:1})]),_:1},8,[`onClick`])],10,Cn))),128))],512),[[z,b.value]])])):M(``,!0),E(n).archived.length>0||x.value?(F(),B(`div`,kn,[W(`div`,{class:`wl-group-header row items-center q-px-md q-py-xs cursor-pointer non-selectable`,onClick:S},[N(K,{name:x.value?`expand_more`:`chevron_right`,size:`xs`,color:`grey-7`},null,8,[`name`]),N(K,{name:`inventory_2`,size:`xs`,color:`grey-7`,class:`q-ml-xs`}),t[18]||=W(`span`,{class:`text-caption text-weight-bold q-ml-xs text-grey-7`},` Archived `,-1),E(n).archived.length>0?(F(),j($,{key:0,label:E(n).archived.length,color:`grey-9`,"text-color":`grey-5`,class:`q-ml-auto`,style:{"font-size":`10px`}},null,8,[`label`])):M(``,!0)]),p(W(`div`,null,[(F(!0),B(A,null,h(E(n).archived,e=>(F(),B(`div`,{key:e.id,class:`wl-item wl-item--archived q-pa-sm q-mx-xs rounded-borders`,style:{"border-left":`3px solid #555`}},[W(`div`,An,[W(`div`,jn,V(e.name),1),W(`div`,Mn,` Archived `+V(P(e.archivedAt)),1)]),N(H,{flat:``,round:``,dense:``,icon:`unarchive`,size:`xs`,color:`grey-6`,class:`wl-item-action wl-item-unarchive`,onClick:t=>ne(e,t)},{default:u(()=>[N(Q,null,{default:u(()=>[...t[19]||=[R(`Unarchive`,-1)]]),_:1})]),_:1},8,[`onClick`]),N(H,{flat:``,round:``,dense:``,icon:`delete_outline`,size:`xs`,color:`grey-6`,class:`wl-item-action wl-item-delete`,onClick:t=>k(e,t)},{default:u(()=>[N(Q,null,{default:u(()=>[...t[20]||=[R(`Delete`,-1)]]),_:1})]),_:1},8,[`onClick`])]))),128))],512),[[z,x.value]])])):M(``,!0),l.value.length===0&&d.value.length===0&&f.value.length===0&&E(n).archived.length===0?(F(),B(`div`,Nn,[E(n).loading?(F(),B(A,{key:0},[R(`Loading...`)],64)):c.value?(F(),B(A,{key:1},[R(`No results for "`+V(c.value)+`"`,1)],64)):(F(),B(A,{key:2},[R(`No workspaces yet`)],64))])):M(``,!0)]),N(De,{dark:``}),W(`div`,Pn,V(m.value)+` workspace`+V(m.value===1?``:`s`)+` · `+V(_.value)+` running `,1)]),N(je,{modelValue:C.value,"onUpdate:modelValue":t[7]||=e=>C.value=e,persistent:``},{default:u(()=>[N(st,{class:`text-grey-3`,style:{"min-width":`360px`,background:`#1e1e3a`}},{default:u(()=>[N(ot,null,{default:u(()=>[...t[21]||=[W(`div`,{class:`text-h6`},`Delete workspace?`,-1)]]),_:1}),N(ot,{class:`q-pt-none`},{default:u(()=>[W(`div`,Fn,V(w.value?.name),1),W(`div`,In,V(w.value?.workingBranch),1),W(`div`,Ln,[N(Xt,{modelValue:T.value,"onUpdate:modelValue":t[4]||=e=>T.value=e,label:`Delete local branch`,dark:``,dense:``,color:`red-5`},null,8,[`modelValue`]),N(Xt,{modelValue:D.value,"onUpdate:modelValue":t[5]||=e=>D.value=e,disable:!T.value,label:`Delete remote branch`,dark:``,dense:``,color:`red-5`},null,8,[`modelValue`,`disable`])]),D.value?(F(),B(`div`,Rn,` Warning: this action is irreversible on the remote. `)):M(``,!0)]),_:1}),N(Zt,{align:`right`},{default:u(()=>[N(H,{flat:``,label:`Cancel`,color:`grey-5`,onClick:t[6]||=e=>C.value=!1,disable:O.value},null,8,[`disable`]),N(H,{flat:``,label:`Delete`,color:`red-5`,loading:O.value,onClick:ee},null,8,[`loading`])]),_:1})]),_:1})]),_:1},8,[`modelValue`])],64))}}),[[`__scopeId`,`data-v-9d4c8886`]]),Bn={class:`drawer-content column full-height`},Vn=`at-left-drawer-width`,Hn=Z(k({__name:`MainLayout`,setup(e){let n=t(`git`),r=t(!0),i=t(!0),a=parseInt(localStorage.getItem(Vn)??`260`,10),o=t(Math.min(500,Math.max(200,a))),s=t(!1);function c(e){e.preventDefault(),s.value=!0;let t=e=>{o.value=Math.min(500,Math.max(200,e.clientX))},n=()=>{s.value=!1,localStorage.setItem(Vn,String(o.value)),document.removeEventListener(`mousemove`,t),document.removeEventListener(`mouseup`,n),document.body.style.cursor=``,document.body.style.userSelect=``};document.body.style.cursor=`col-resize`,document.body.style.userSelect=`none`,document.addEventListener(`mousemove`,t),document.addEventListener(`mouseup`,n)}let l=fe();return(e,t)=>{let a=_(`router-view`);return F(),j(Qe,{view:`lHh LpR lFf`},{default:u(()=>[N(qe,{modelValue:r.value,"onUpdate:modelValue":t[0]||=e=>r.value=e,width:o.value,breakpoint:0,persistent:``,bordered:``,class:`left-sidebar`},{default:u(()=>[N(zn),W(`div`,{class:`resize-handle`,onMousedown:c},null,32)]),_:1},8,[`modelValue`,`width`]),N(qe,{modelValue:i.value,"onUpdate:modelValue":t[3]||=e=>i.value=e,side:`right`,width:300,breakpoint:0,persistent:``,bordered:``,class:`right-sidebar`},{default:u(()=>[W(`div`,Bn,[N(Re,{modelValue:n.value,"onUpdate:modelValue":t[1]||=e=>n.value=e,dense:``,dark:``,"active-color":`indigo-4`,"indicator-color":`indigo-4`,"narrow-indicator":``,align:`justify`,class:`right-tabs`},{default:u(()=>[N(Pe,{name:`git`,icon:`commit`}),N(Pe,{name:`server`,icon:`dns`}),N(Pe,{name:`tasks`,icon:`checklist`})]),_:1},8,[`modelValue`]),N(De,{dark:``}),N(Be,{modelValue:n.value,"onUpdate:modelValue":t[2]||=e=>n.value=e,animated:``,class:`col right-tab-panels`},{default:u(()=>[N(Ie,{name:`git`,class:`q-pa-none`},{default:u(()=>[N(Dt,{workspace:E(l).selectedWorkspace},null,8,[`workspace`])]),_:1}),N(Ie,{name:`server`,class:`q-pa-none`},{default:u(()=>[N(vt,{workspace:E(l).selectedWorkspace},null,8,[`workspace`])]),_:1}),N(Ie,{name:`tasks`,class:`q-pa-none`},{default:u(()=>[N(Ut,{workspace:E(l).selectedWorkspace,tasks:E(l).tasks},null,8,[`workspace`,`tasks`]),N(De,{dark:``}),N(at,{tasks:E(l).acceptanceCriteria},null,8,[`tasks`])]),_:1})]),_:1},8,[`modelValue`])])]),_:1},8,[`modelValue`]),N(Je,{class:`main-content`},{default:u(()=>[N(a)]),_:1})]),_:1})}}}),[[`__scopeId`,`data-v-57ce5ee5`]]);export{Hn as default};
|
|
1
|
+
import{B as e,Bt as t,C as n,E as r,F as i,Ft as a,G as o,Gt as s,H as c,I as l,It as u,K as d,Kt as f,Lt as p,Mt as m,Nt as h,Ot as g,Pt as _,R as v,St as y,T as b,Tt as x,U as S,Ut as C,V as w,W as T,Wt as E,X as D,Z as O,_t as k,at as A,b as ee,bt as te,d as ne,dt as j,ft as M,ht as N,it as P,jt as F,kt as I,lt as L,mt as R,nt as z,pt as B,q as re,qt as V,r as H,rt as U,u as ie,ut as W,vt as G,x as ae,y as K,yt as q,z as oe,zt as se}from"./nodes-DeIen-kp.js";import{a as ce,c as le,f as ue,i as de,o as fe,p as pe,r as J,u as me}from"./index-BZyTYZ0E.js";import{A as Y,C as he,S as ge,c as _e,d as ve,k as ye,l as be,m as xe,p as X,t as Z,u as Se,w as Ce}from"./_plugin-vue_export-helper-CHpmshS7.js";import{t as Q}from"./QTooltip-637ruGFc.js";import{C as we,S as Te,T as Ee,_ as De,b as Oe,c as ke,o as Ae,t as je,u as Me,w as Ne}from"./QDialog-4OVnJT5b.js";import{a as Pe,i as Fe,n as Ie,o as Le,r as Re,s as ze,t as Be}from"./QTabPanels-BAa7ivXp.js";import{t as $}from"./QBadge-Cb92Ia8-.js";import{n as Ve,t as He}from"./use-quasar-Dq-Vjx_2.js";function Ue(e,t,n){let r=w(e),i,a=r.left-t.event.x,o=r.top-t.event.y,s=Math.abs(a),c=Math.abs(o),l=t.direction;l.horizontal===!0&&l.vertical!==!0?i=a<0?`left`:`right`:l.horizontal!==!0&&l.vertical===!0?i=o<0?`up`:`down`:l.up===!0&&o<0?(i=`up`,s>c&&(l.left===!0&&a<0?i=`left`:l.right===!0&&a>0&&(i=`right`))):l.down===!0&&o>0?(i=`down`,s>c&&(l.left===!0&&a<0?i=`left`:l.right===!0&&a>0&&(i=`right`))):l.left===!0&&a<0?(i=`left`,s<c&&(l.up===!0&&o<0?i=`up`:l.down===!0&&o>0&&(i=`down`))):l.right===!0&&a>0&&(i=`right`,s<c&&(l.up===!0&&o<0?i=`up`:l.down===!0&&o>0&&(i=`down`)));let u=!1;if(i===void 0&&n===!1){if(t.event.isFirst===!0||t.event.lastDir===void 0)return{};i=t.event.lastDir,u=!0,i===`left`||i===`right`?(r.left-=a,s=0,a=0):(r.top-=o,c=0,o=0)}return{synthetic:u,payload:{evt:e,touch:t.event.mouse!==!0,mouse:t.event.mouse===!0,position:r,direction:i,isFirst:t.event.isFirst,isFinal:n===!0,duration:Date.now()-t.event.time,distance:{x:s,y:c},offset:{x:a,y:o},delta:{x:r.left-t.event.lastX,y:r.top-t.event.lastY}}}}var We=0,Ge=re({name:`touch-pan`,beforeMount(t,{value:n,modifiers:r}){if(r.mouse!==!0&&D.has.touch!==!0)return;function a(e,t){r.mouse===!0&&t===!0?o(e):(r.stop===!0&&T(e),r.prevent===!0&&c(e))}let s={uid:`qvtp_`+ We++,handler:n,modifiers:r,direction:Le(r),noop:e,mouseStart(e){ze(e,s)&&v(e)&&(i(s,`temp`,[[document,`mousemove`,`move`,`notPassiveCapture`],[document,`mouseup`,`end`,`passiveCapture`]]),s.start(e,!0))},touchStart(e){if(ze(e,s)){let t=e.target;i(s,`temp`,[[t,`touchmove`,`move`,`notPassiveCapture`],[t,`touchcancel`,`end`,`passiveCapture`],[t,`touchend`,`end`,`passiveCapture`]]),s.start(e)}},start(e,n){if(D.is.firefox===!0&&S(t,!0),s.lastEvt=e,n===!0||r.stop===!0){if(s.direction.all!==!0&&(n!==!0||s.modifiers.mouseAllDir!==!0&&s.modifiers.mousealldir!==!0)){let t=e.type.indexOf(`mouse`)===-1?new TouchEvent(e.type,e):new MouseEvent(e.type,e);e.defaultPrevented===!0&&c(t),e.cancelBubble===!0&&T(t),Object.assign(t,{qKeyEvent:e.qKeyEvent,qClickOutside:e.qClickOutside,qAnchorHandled:e.qAnchorHandled,qClonedBy:e.qClonedBy===void 0?[s.uid]:e.qClonedBy.concat(s.uid)}),s.initialEvent={target:e.target,event:t}}T(e)}let{left:i,top:a}=w(e);s.event={x:i,y:a,time:Date.now(),mouse:n===!0,detected:!1,isFirst:!0,isFinal:!1,lastX:i,lastY:a}},move(e){if(s.event===void 0)return;let t=w(e),n=t.left-s.event.x,i=t.top-s.event.y;if(n===0&&i===0)return;s.lastEvt=e;let o=s.event.mouse===!0,c=()=>{a(e,o);let t;r.preserveCursor!==!0&&r.preservecursor!==!0&&(t=document.documentElement.style.cursor||``,document.documentElement.style.cursor=`grabbing`),o===!0&&document.body.classList.add(`no-pointer-events--children`),document.body.classList.add(`non-selectable`),ye(),s.styleCleanup=e=>{if(s.styleCleanup=void 0,t!==void 0&&(document.documentElement.style.cursor=t),document.body.classList.remove(`non-selectable`),o===!0){let t=()=>{document.body.classList.remove(`no-pointer-events--children`)};e===void 0?t():setTimeout(()=>{t(),e()},50)}else e!==void 0&&e()}};if(s.event.detected===!0){s.event.isFirst!==!0&&a(e,s.event.mouse);let{payload:t,synthetic:n}=Ue(e,s,!1);t!==void 0&&(s.handler(t)===!1?s.end(e):(s.styleCleanup===void 0&&s.event.isFirst===!0&&c(),s.event.lastX=t.position.left,s.event.lastY=t.position.top,s.event.lastDir=n===!0?void 0:t.direction,s.event.isFirst=!1));return}if(s.direction.all===!0||o===!0&&(s.modifiers.mouseAllDir===!0||s.modifiers.mousealldir===!0)){c(),s.event.detected=!0,s.move(e);return}let l=Math.abs(n),u=Math.abs(i);l!==u&&(s.direction.horizontal===!0&&l>u||s.direction.vertical===!0&&l<u||s.direction.up===!0&&l<u&&i<0||s.direction.down===!0&&l<u&&i>0||s.direction.left===!0&&l>u&&n<0||s.direction.right===!0&&l>u&&n>0?(s.event.detected=!0,s.move(e)):s.end(e,!0))},end(e,n){if(s.event!==void 0){if(l(s,`temp`),D.is.firefox===!0&&S(t,!1),n===!0)s.styleCleanup?.(),s.event.detected!==!0&&s.initialEvent!==void 0&&s.initialEvent.target.dispatchEvent(s.initialEvent.event);else if(s.event.detected===!0){s.event.isFirst===!0&&s.handler(Ue(e===void 0?s.lastEvt:e,s).payload);let{payload:t}=Ue(e===void 0?s.lastEvt:e,s,!0),n=()=>{s.handler(t)};s.styleCleanup===void 0?n():s.styleCleanup(n)}s.event=void 0,s.initialEvent=void 0,s.lastEvt=void 0}}};t.__qtouchpan=s,r.mouse===!0&&i(s,`main`,[[t,`mousedown`,`mouseStart`,`passive${r.mouseCapture===!0||r.mousecapture===!0?`Capture`:``}`]]),D.has.touch===!0&&i(s,`main`,[[t,`touchstart`,`touchStart`,`passive${r.capture===!0?`Capture`:``}`],[t,`touchmove`,`noop`,`notPassiveCapture`]])},updated(e,t){let n=e.__qtouchpan;n!==void 0&&(t.oldValue!==t.value&&(typeof value!=`function`&&n.end(),n.handler=t.value),n.direction=Le(t.modifiers))},beforeUnmount(e){let t=e.__qtouchpan;t!==void 0&&(t.event!==void 0&&t.end(),l(t,`main`),l(t,`temp`),D.is.firefox===!0&&S(e,!1),t.styleCleanup?.(),delete e.__qtouchpan)}}),Ke=150,qe=d({name:`QDrawer`,inheritAttrs:!1,props:{...Ce,...we,side:{type:String,default:`left`,validator:e=>[`left`,`right`].includes(e)},width:{type:Number,default:300},mini:Boolean,miniToOverlay:Boolean,miniWidth:{type:Number,default:57},noMiniAnimation:Boolean,breakpoint:{type:Number,default:1023},showIfAbove:Boolean,behavior:{type:String,validator:e=>[`default`,`desktop`,`mobile`].includes(e),default:`default`},bordered:Boolean,elevated:Boolean,overlay:Boolean,persistent:Boolean,noSwipeOpen:Boolean,noSwipeClose:Boolean,noSwipeBackdrop:Boolean},emits:[...he,`onLayout`,`miniState`],setup(e,{slots:r,emit:i,attrs:o}){let s=G(),{proxy:{$q:c}}=s,l=Te(e,c),{preventBodyScroll:u}=Ne(),{registerTimeout:d,removeTimeout:f}=xe(),m=te(ue,me);if(m===me)return console.error(`QDrawer needs to be child of QLayout`),me;let h,_=null,v,b=t(e.behavior===`mobile`||e.behavior!==`desktop`&&m.totalWidth.value<=e.breakpoint),S=L(()=>e.mini===!0&&b.value!==!0),C=L(()=>S.value===!0?e.miniWidth:e.width),w=t(e.showIfAbove===!0&&b.value===!1?!0:e.modelValue===!0),T=L(()=>e.persistent!==!0&&(b.value===!0||H.value===!0));function E(e,t){if(A(),e!==!1&&m.animate(),J(0),b.value===!0){let e=m.instances[z.value];e?.belowBreakpoint===!0&&e.hide(!1),Y(1),m.isContainer.value!==!0&&u(!0)}else Y(0),e!==!1&&he(!1);d(()=>{e!==!1&&he(!0),t!==!0&&i(`show`,e)},Ke)}function D(e,t){ne(),e!==!1&&m.animate(),Y(0),J(N.value*C.value),be(),t===!0?f():d(()=>{i(`hide`,e)},Ke)}let{show:O,hide:k}=ge({showing:w,hideOnRouteChange:T,handleShow:E,handleHide:D}),{addToHistory:A,removeFromHistory:ne}=Ee(w,k,T),j={belowBreakpoint:b,hide:k},M=L(()=>e.side===`right`),N=L(()=>(c.lang.rtl===!0?-1:1)*(M.value===!0?1:-1)),P=t(0),F=t(!1),I=t(!1),R=t(C.value*N.value),z=L(()=>M.value===!0?`left`:`right`),B=L(()=>w.value===!0&&b.value===!1&&e.overlay===!1?e.miniToOverlay===!0?e.miniWidth:C.value:0),re=L(()=>e.overlay===!0||e.miniToOverlay===!0||m.view.value.indexOf(M.value?`R`:`L`)!==-1||c.platform.is.ios===!0&&m.isContainer.value===!0),V=L(()=>e.overlay===!1&&w.value===!0&&b.value===!1),H=L(()=>e.overlay===!0&&w.value===!0&&b.value===!1),U=L(()=>`fullscreen q-drawer__backdrop`+(w.value===!1&&F.value===!1?` hidden`:``)),ie=L(()=>({backgroundColor:`rgba(0,0,0,${P.value*.4})`})),W=L(()=>M.value===!0?m.rows.value.top[2]===`r`:m.rows.value.top[0]===`l`),ae=L(()=>M.value===!0?m.rows.value.bottom[2]===`r`:m.rows.value.bottom[0]===`l`),K=L(()=>{let e={};return m.header.space===!0&&W.value===!1&&(re.value===!0?e.top=`${m.header.offset}px`:m.header.space===!0&&(e.top=`${m.header.size}px`)),m.footer.space===!0&&ae.value===!1&&(re.value===!0?e.bottom=`${m.footer.offset}px`:m.footer.space===!0&&(e.bottom=`${m.footer.size}px`)),e}),oe=L(()=>{let e={width:`${C.value}px`,transform:`translateX(${R.value}px)`};return b.value===!0?e:Object.assign(e,K.value)}),se=L(()=>`q-drawer__content fit `+(m.isContainer.value===!0?`overflow-auto`:`scroll`)),ce=L(()=>`q-drawer q-drawer--${e.side}`+(I.value===!0?` q-drawer--mini-animate`:``)+(e.bordered===!0?` q-drawer--bordered`:``)+(l.value===!0?` q-drawer--dark q-dark`:``)+(F.value===!0?` no-transition`:w.value===!0?``:` q-layout--prevent-focus`)+(b.value===!0?` fixed q-drawer--on-top q-drawer--mobile q-drawer--top-padding`:` q-drawer--${S.value===!0?`mini`:`standard`}`+(re.value===!0||V.value!==!0?` fixed`:``)+(e.overlay===!0||e.miniToOverlay===!0?` q-drawer--on-top`:``)+(W.value===!0?` q-drawer--top-padding`:``))),le=L(()=>[[Ge,ve,void 0,{[c.lang.rtl===!0?e.side:z.value]:!0,mouse:!0}]]),de=L(()=>[[Ge,ye,void 0,{[c.lang.rtl===!0?z.value:e.side]:!0,mouse:!0}]]),fe=L(()=>[[Ge,ye,void 0,{[c.lang.rtl===!0?z.value:e.side]:!0,mouse:!0,mouseAllDir:!0}]]);function pe(){Z(b,e.behavior===`mobile`||e.behavior!==`desktop`&&m.totalWidth.value<=e.breakpoint)}a(b,t=>{t===!0?(h=w.value,w.value===!0&&k(!1)):e.overlay===!1&&e.behavior!==`mobile`&&h!==!1&&(w.value===!0?(J(0),Y(0),be()):O(!1))}),a(()=>e.side,(e,t)=>{m.instances[t]===j&&(m.instances[t]=void 0,m[t].space=!1,m[t].offset=0),m.instances[e]=j,m[e].size=C.value,m[e].space=V.value,m[e].offset=B.value}),a(m.totalWidth,()=>{(m.isContainer.value===!0||document.qScrollPrevented!==!0)&&pe()}),a(()=>e.behavior+e.breakpoint,pe),a(m.isContainer,e=>{w.value===!0&&u(e!==!0),e===!0&&pe()}),a(m.scrollbarWidth,()=>{J(w.value===!0?0:void 0)}),a(B,e=>{X(`offset`,e)}),a(V,e=>{i(`onLayout`,e),X(`space`,e)}),a(M,()=>{J()}),a(C,t=>{J(),Se(e.miniToOverlay,t)}),a(()=>e.miniToOverlay,e=>{Se(e,C.value)}),a(()=>c.lang.rtl,()=>{J()}),a(()=>e.mini,()=>{e.noMiniAnimation||e.modelValue===!0&&(_e(),m.animate())}),a(S,e=>{i(`miniState`,e)});function J(e){e===void 0?y(()=>{e=w.value===!0?0:C.value,J(N.value*e)}):(m.isContainer.value===!0&&M.value===!0&&(b.value===!0||Math.abs(e)===C.value)&&(e+=N.value*m.scrollbarWidth.value),R.value=e)}function Y(e){P.value=e}function he(e){let t=e===!0?`remove`:m.isContainer.value===!0?``:`add`;t!==``&&document.body.classList[t](`q-body--drawer-toggle`)}function _e(){_!==null&&clearTimeout(_),s.proxy&&s.proxy.$el&&s.proxy.$el.classList.add(`q-drawer--mini-animate`),I.value=!0,_=setTimeout(()=>{_=null,I.value=!1,s?.proxy?.$el?.classList.remove(`q-drawer--mini-animate`)},150)}function ve(e){if(w.value!==!1)return;let t=C.value,n=Oe(e.distance.x,0,t);if(e.isFinal===!0){n>=Math.min(75,t)?O():(m.animate(),Y(0),J(N.value*t)),F.value=!1;return}J((c.lang.rtl===!0?M.value!==!0:M.value)?Math.max(t-n,0):Math.min(0,n-t)),Y(Oe(n/t,0,1)),e.isFirst===!0&&(F.value=!0)}function ye(t){if(w.value!==!0)return;let n=C.value,r=t.direction===e.side,i=(c.lang.rtl===!0?r!==!0:r)?Oe(t.distance.x,0,n):0;if(t.isFinal===!0){Math.abs(i)<Math.min(75,n)?(m.animate(),Y(1),J(0)):k(),F.value=!1;return}J(N.value*i),Y(Oe(1-i/n,0,1)),t.isFirst===!0&&(F.value=!0)}function be(){u(!1),he(!0)}function X(t,n){m.update(e.side,t,n)}function Z(e,t){e.value!==t&&(e.value=t)}function Se(t,n){X(`size`,t===!0?e.miniWidth:n)}return m.instances[e.side]=j,Se(e.miniToOverlay,C.value),X(`space`,V.value),X(`offset`,B.value),e.showIfAbove===!0&&e.modelValue!==!0&&w.value===!0&&e[`onUpdate:modelValue`]!==void 0&&i(`update:modelValue`,!0),g(()=>{i(`onLayout`,V.value),i(`miniState`,S.value),h=e.showIfAbove===!0;let t=()=>{(w.value===!0?E:D)(!1,!0)};if(m.totalWidth.value!==0){y(t);return}v=a(m.totalWidth,()=>{v(),v=void 0,w.value===!1&&e.showIfAbove===!0&&b.value===!1?O(!1):t()})}),x(()=>{v?.(),_!==null&&(clearTimeout(_),_=null),w.value===!0&&be(),m.instances[e.side]===j&&(m.instances[e.side]=void 0,X(`size`,0),X(`offset`,0),X(`space`,!1))}),()=>{let t=[];b.value===!0&&(e.noSwipeOpen===!1&&t.push(p(q(`div`,{key:`open`,class:`q-drawer__opener fixed-${e.side}`,"aria-hidden":`true`}),le.value)),t.push(ee(`div`,{ref:`backdrop`,class:U.value,style:ie.value,"aria-hidden":`true`,onClick:k},void 0,`backdrop`,e.noSwipeBackdrop!==!0&&w.value===!0,()=>fe.value)));let i=S.value===!0&&r.mini!==void 0,a=[q(`div`,{...o,key:String(i),class:[se.value,o.class]},i===!0?r.mini():n(r.default))];return e.elevated===!0&&w.value===!0&&a.push(q(`div`,{class:`q-layout__shadow absolute-full overflow-hidden no-pointer-events`})),t.push(ee(`aside`,{ref:`content`,class:ce.value,style:oe.value},a,`contentclose`,e.noSwipeClose!==!0&&b.value===!0,()=>de.value)),q(`div`,{class:`q-drawer-container`},t)}}}),Je=d({name:`QPageContainer`,setup(e,{slots:t}){let{proxy:{$q:r}}=G(),i=te(ue,me);if(i===me)return console.error(`QPageContainer needs to be child of QLayout`),me;m(pe,!0);let a=L(()=>{let e={};return i.header.space===!0&&(e.paddingTop=`${i.header.size}px`),i.right.space===!0&&(e[`padding${r.lang.rtl===!0?`Left`:`Right`}`]=`${i.right.size}px`),i.footer.space===!0&&(e.paddingBottom=`${i.footer.size}px`),i.left.space===!0&&(e[`padding${r.lang.rtl===!0?`Right`:`Left`}`]=`${i.left.size}px`),e});return()=>q(`div`,{class:`q-page-container`,style:a.value},n(t.default))}}),{passive:Ye}=oe,Xe=[`both`,`horizontal`,`vertical`],Ze=d({name:`QScrollObserver`,props:{axis:{type:String,validator:e=>Xe.includes(e),default:`vertical`},debounce:[String,Number],scrollTarget:X},emits:[`scroll`],setup(t,{emit:n}){let r={position:{top:0,left:0},direction:`down`,directionChanged:!1,delta:{top:0,left:0},inflectionPoint:{top:0,left:0}},i=null,o,s;a(()=>t.scrollTarget,()=>{u(),l()});function c(){i?.();let e=Math.max(0,ve(o)),a=_e(o),s={top:e-r.position.top,left:a-r.position.left};if(t.axis===`vertical`&&s.top===0||t.axis===`horizontal`&&s.left===0)return;let c=Math.abs(s.top)>=Math.abs(s.left)?s.top<0?`up`:`down`:s.left<0?`left`:`right`;r.position={top:e,left:a},r.directionChanged=r.direction!==c,r.delta=s,r.directionChanged===!0&&(r.direction=c,r.inflectionPoint=r.position),n(`scroll`,{...r})}function l(){o=be(s,t.scrollTarget),o.addEventListener(`scroll`,d,Ye),d(!0)}function u(){o!==void 0&&(o.removeEventListener(`scroll`,d,Ye),o=void 0)}function d(e){if(e===!0||t.debounce===0||t.debounce===`0`)c();else if(i===null){let[e,n]=t.debounce?[setTimeout(c,t.debounce),clearTimeout]:[requestAnimationFrame(c),cancelAnimationFrame];i=()=>{n(e),i=null}}}let{proxy:f}=G();return a(()=>f.$q.lang.rtl,c),g(()=>{s=f.$el.parentNode,l()}),x(()=>{i?.(),u()}),Object.assign(f,{trigger:d,getPosition:()=>r}),e}}),Qe=d({name:`QLayout`,props:{container:Boolean,view:{type:String,default:`hhh lpr fff`,validator:e=>/^(h|l)h(h|r) lpr (f|l)f(f|r)$/.test(e.toLowerCase())},onScroll:Function,onScrollHeight:Function,onResize:Function},setup(e,{slots:n,emit:r}){let{proxy:{$q:i}}=G(),o=t(null),s=t(i.screen.height),c=t(e.container===!0?0:i.screen.width),l=t({position:0,direction:`down`,inflectionPoint:0}),u=t(0),d=t(O.value===!0?0:Se()),f=L(()=>`q-layout q-layout--`+(e.container===!0?`containerized`:`standard`)),p=L(()=>e.container===!1?{minHeight:i.screen.height+`px`}:null),h=L(()=>d.value===0?null:{[i.lang.rtl===!0?`left`:`right`]:`${d.value}px`}),g=L(()=>d.value===0?null:{[i.lang.rtl===!0?`right`:`left`]:0,[i.lang.rtl===!0?`left`:`right`]:`-${d.value}px`,width:`calc(100% + ${d.value}px)`});function _(t){if(e.container===!0||document.qScrollPrevented!==!0){let n={position:t.position.top,direction:t.direction,directionChanged:t.directionChanged,inflectionPoint:t.inflectionPoint.top,delta:t.delta.top};l.value=n,e.onScroll!==void 0&&r(`scroll`,n)}}function v(t){let{height:n,width:i}=t,a=!1;s.value!==n&&(a=!0,s.value=n,e.onScrollHeight!==void 0&&r(`scrollHeight`,n),b()),c.value!==i&&(a=!0,c.value=i),a===!0&&e.onResize!==void 0&&r(`resize`,t)}function y({height:e}){u.value!==e&&(u.value=e,b())}function b(){if(e.container===!0){let e=s.value>u.value?Se():0;d.value!==e&&(d.value=e)}}let x=null,S={instances:{},view:L(()=>e.view),isContainer:L(()=>e.container),rootRef:o,height:s,containerHeight:u,scrollbarWidth:d,totalWidth:L(()=>c.value+d.value),rows:L(()=>{let t=e.view.toLowerCase().split(` `);return{top:t[0].split(``),middle:t[1].split(``),bottom:t[2].split(``)}}),header:se({size:0,offset:0,space:!1}),right:se({size:300,offset:0,space:!1}),footer:se({size:0,offset:0,space:!1}),left:se({size:300,offset:0,space:!1}),scroll:l,animate(){x===null?document.body.classList.add(`q-body--layout-animate`):clearTimeout(x),x=setTimeout(()=>{x=null,document.body.classList.remove(`q-body--layout-animate`)},155)},update(e,t,n){S[e][t]=n}};if(m(ue,S),Se()>0){let t=null,n=document.body;function r(){t=null,n.classList.remove(`hide-scrollbar`)}function o(){if(t===null){if(n.scrollHeight>i.screen.height)return;n.classList.add(`hide-scrollbar`)}else clearTimeout(t);t=setTimeout(r,300)}function s(e){t!==null&&e===`remove`&&(clearTimeout(t),r()),window[`${e}EventListener`](`resize`,o)}a(()=>e.container===!0?`remove`:`add`,s),e.container!==!0&&s(`add`),I(()=>{s(`remove`)})}return()=>{let t=ae(n.default,[q(Ze,{onScroll:_}),q(Fe,{onResize:v})]),r=q(`div`,{class:f.value,style:p.value,ref:e.container===!0?void 0:o,tabindex:-1},t);return e.container===!0?q(`div`,{class:`q-layout-container overflow-hidden`,ref:o},[q(Fe,{onResize:y}),q(`div`,{class:`absolute-full`,style:h.value},[q(`div`,{class:`scroll`,style:g.value},[r])])]):r}}}),$e={class:`acceptance-panel q-pa-md`},et={class:`row items-center q-mb-sm`},tt={key:0,class:`criterion-add-row row items-center q-mb-xs`},nt={key:1,class:`acceptance-list`},rt=[`onDblclick`],it={key:2,class:`text-caption text-grey-8`,style:{"font-size":`11px`}},at=Z(k({__name:`AcceptancePanel`,props:{tasks:{}},setup(e){let n=fe(),r=t(!1),i=t(``),a=t(null),o=t(``),c=t({});function l(e,t){if(t){let n=t.$el??t;c.value[e]=n}else delete c.value[e]}function u(e){switch(e){case`done`:return`check_circle`;case`in_progress`:return`timelapse`;default:return`radio_button_unchecked`}}function d(e){switch(e){case`done`:return`#4ade80`;case`in_progress`:return`#f59e0b`;default:return`#888`}}async function p(e){let t=e.status===`done`?`pending`:`done`;try{let r=await fetch(`/api/workspaces/${e.workspaceId}/tasks/${e.id}`,{method:`PATCH`,headers:{"Content-Type":`application/json`},body:JSON.stringify({status:t})});if(!r.ok)throw Error(`HTTP ${r.status}`);n.selectedWorkspaceId&&n.fetchWorkspaceDetails(n.selectedWorkspaceId)}catch(e){console.error(`Failed to update task:`,e)}}function m(){r.value=!0,i.value=``}async function g(){let e=i.value.trim(),t=n.selectedWorkspace?.id;if(!(!e||!t))try{await n.createTask(t,e,!0),i.value=``,r.value=!1}catch{}}function _(){i.value=``,r.value=!1}function v(e){a.value=e.id,o.value=e.title,y(()=>{let t=c.value[e.id]?.querySelector(`input, textarea`);t?.focus(),t?.select()})}async function b(e){if(a.value!==e.id)return;let t=o.value.trim(),r=e.id;if(a.value=null,!t||t===e.title)return;let i=n.selectedWorkspace?.id;if(i)try{await n.updateTaskTitle(i,r,t)}catch{}}function x(){a.value=null,o.value=``}async function S(e){let t=n.selectedWorkspace?.id;if(t)try{await n.deleteTask(t,e.id)}catch{}}return(t,c)=>(F(),B(`div`,$e,[W(`div`,et,[c[2]||=W(`div`,{class:`text-caption text-uppercase text-weight-bold text-grey-6`,style:{"letter-spacing":`0.05em`}},` Acceptance Criteria `,-1),N(Y),E(n).selectedWorkspace?(F(),j(H,{key:0,flat:``,dense:``,round:``,size:`xs`,icon:`add`,color:`indigo-4`,title:`Add criterion`,onClick:m})):M(``,!0)]),r.value?(F(),B(`div`,tt,[N(Ae,{modelValue:i.value,"onUpdate:modelValue":c[0]||=e=>i.value=e,dark:``,dense:``,borderless:``,autofocus:``,placeholder:`New criterion... (Enter to add, Esc to cancel)`,class:`col criterion-input`,"input-class":`criterion-input-inner`,onKeydown:[U(P(g,[`prevent`]),[`enter`]),U(P(_,[`prevent`]),[`esc`])]},null,8,[`modelValue`,`onKeydown`])])):M(``,!0),e.tasks.length>0?(F(),B(`div`,nt,[(F(!0),B(A,null,h(e.tasks,e=>(F(),B(`div`,{key:e.id,class:`acceptance-item row items-center q-mb-xxs`},[N(K,{name:u(e.status),size:`16px`,style:f({color:d(e.status)}),class:`q-mr-xs cursor-pointer`,onClick:t=>p(e)},null,8,[`name`,`style`,`onClick`]),a.value===e.id?(F(),j(Ae,{key:0,ref_for:!0,ref:t=>l(e.id,t),modelValue:o.value,"onUpdate:modelValue":c[1]||=e=>o.value=e,dark:``,dense:``,borderless:``,class:`col criterion-input`,"input-class":`criterion-input-inner`,onKeydown:[U(P(t=>b(e),[`prevent`]),[`enter`]),U(P(x,[`prevent`]),[`esc`])],onBlur:t=>b(e)},null,8,[`modelValue`,`onKeydown`,`onBlur`])):(F(),B(A,{key:1},[W(`span`,{class:s([`col acceptance-title text-caption`,{"text-strike":e.status===`done`}]),style:f({color:e.status===`done`?`#4ade80`:`#ccc`}),onDblclick:t=>v(e)},V(e.title),47,rt),N(H,{flat:``,dense:``,round:``,size:`xs`,icon:`close`,color:`grey-6`,class:`criterion-delete-btn`,onClick:t=>S(e)},null,8,[`onClick`])],64))]))),128))])):r.value?M(``,!0):(F(),B(`div`,it,` No acceptance criteria `))]))}}),[[`__scopeId`,`data-v-b9e5e638`]]),ot=d({name:`QCardSection`,props:{tag:{type:String,default:`div`},horizontal:Boolean},setup(e,{slots:t}){let r=L(()=>`q-card__section q-card__section--${e.horizontal===!0?`horiz row no-wrap`:`vert`}`);return()=>q(e.tag,{class:r.value},n(t.default))}}),st=d({name:`QCard`,props:{...we,tag:{type:String,default:`div`},square:Boolean,flat:Boolean,bordered:Boolean},setup(e,{slots:t}){let{proxy:{$q:r}}=G(),i=Te(e,r),a=L(()=>`q-card`+(i.value===!0?` q-card--dark q-dark`:``)+(e.bordered===!0?` q-card--bordered`:``)+(e.square===!0?` q-card--square no-border-radius`:``)+(e.flat===!0?` q-card--flat no-shadow`:``));return()=>q(e.tag,{class:a.value},n(t.default))}}),ct={class:`log-text rounded-borders q-pa-md`},lt=Z(k({__name:`DevServerLogDialog`,props:{modelValue:{type:Boolean},workspaceId:{}},emits:[`update:modelValue`],setup(e){let n=e,r=le(),i=t(``),o=t(!1),s=t(null),c=null;async function l(){if(n.workspaceId){o.value=!0;try{i.value=await r.fetchLogs(n.workspaceId),await y(),d()}finally{o.value=!1}}}function d(){s.value&&(s.value.scrollTop=s.value.scrollHeight)}function f(){p(),c=setInterval(()=>{l()},5e3)}function p(){c&&=(clearInterval(c),null)}return a(()=>n.modelValue,e=>{e?(l(),f()):p()}),I(()=>{p()}),(t,n)=>(F(),j(je,{"model-value":e.modelValue,"onUpdate:modelValue":n[1]||=e=>t.$emit(`update:modelValue`,e)},{default:u(()=>[N(st,{class:`text-grey-3`,style:{"min-width":`700px`,"max-width":`900px`,"max-height":`80vh`,background:`#1e1e3a`}},{default:u(()=>[N(ot,{class:`row items-center`},{default:u(()=>[n[2]||=W(`div`,{class:`text-h6`},`Logs Dev Server`,-1),N(Y),N(H,{flat:``,round:``,dense:``,icon:`refresh`,color:`grey-5`,onClick:l,loading:o.value},null,8,[`loading`]),N(H,{flat:``,round:``,dense:``,icon:`close`,color:`grey-5`,onClick:n[0]||=e=>t.$emit(`update:modelValue`,!1)})]),_:1}),N(De,{dark:``}),N(ot,{class:`log-content`,ref_key:`logContainer`,ref:s},{default:u(()=>[W(`pre`,ct,V(i.value||`No logs available`),1)]),_:1},512)]),_:1})]),_:1},8,[`model-value`]))}}),[[`__scopeId`,`data-v-c1509b16`]]),ut={class:`dd-panel q-px-md q-py-sm`},dt={key:0,class:`text-caption text-grey-8`},ft={key:1,class:`text-caption text-grey-8`},pt={class:`row items-center q-mb-xs`},mt={key:0,class:`text-caption q-mb-xs`},ht=[`href`],gt={key:1,class:`text-caption text-grey-7`,style:{"font-size":`10px`}},_t={key:2,class:`text-caption text-red-5`},vt=Z(k({__name:`DevServerPanel`,props:{workspace:{}},setup(e){let n=e,r=le(),i=Ve(),o=t(!1),s=t(!1),c=t(!1),l=null,d=L(()=>n.workspace?.id??``),f=L(()=>n.workspace?!!i.getProjectByPath(n.workspace.projectPath)?.devServer?.startCommand:!1),p=L(()=>d.value?r.getStatus(d.value):null),m=L(()=>{switch(p.value?.status){case`running`:return`green-9`;case`starting`:case`stopping`:return`orange-9`;case`error`:return`red-9`;default:return`grey-8`}}),h=L(()=>{switch(p.value?.status){case`running`:return`Running`;case`starting`:return`Starting`;case`stopping`:return`Stopping`;case`error`:return`Error`;case`stopped`:return`Stopped`;default:return`Unknown`}}),v=L(()=>{let e=p.value?.status;return!e||e===`stopped`||e===`unknown`||e===`error`}),y=L(()=>{let e=p.value?.status;return e===`running`||e===`starting`});async function b(){if(d.value){s.value=!0;try{await r.startDevServer(d.value)}finally{s.value=!1}}}async function x(){if(d.value){c.value=!0;try{await r.stopDevServer(d.value)}finally{c.value=!1}}}function S(){d.value&&f.value&&r.fetchStatus(d.value)}function C(){w(),l=setInterval(()=>{S()},3e4)}function w(){l&&=(clearInterval(l),null)}return a(d,()=>{S(),C()}),g(()=>{S(),C()}),I(()=>{w()}),(t,n)=>{let r=_(`router-link`);return F(),B(`div`,ut,[n[5]||=W(`div`,{class:`text-caption text-uppercase text-weight-bold text-grey-5 q-mb-xs`},` Dev Server `,-1),e.workspace?f.value?p.value?(F(),B(A,{key:2},[W(`div`,pt,[N($,{color:m.value,label:h.value,style:{"font-size":`10px`}},null,8,[`color`,`label`]),N(Y),v.value?(F(),j(H,{key:0,flat:``,round:``,dense:``,icon:`play_arrow`,size:`xs`,color:`green-5`,onClick:b,loading:s.value},null,8,[`loading`])):M(``,!0),y.value?(F(),j(H,{key:1,flat:``,round:``,dense:``,icon:`stop`,size:`xs`,color:`red-5`,onClick:x,loading:c.value},null,8,[`loading`])):M(``,!0),N(H,{flat:``,round:``,dense:``,icon:`article`,size:`xs`,color:`grey-5`,onClick:n[0]||=e=>o.value=!0},{default:u(()=>[N(Q,null,{default:u(()=>[...n[4]||=[R(`Logs`,-1)]]),_:1})]),_:1})]),p.value.status===`running`&&p.value.url?(F(),B(`div`,mt,[W(`a`,{href:p.value.url,target:`_blank`,style:{color:`#6c63ff`}},V(p.value.url),9,ht)])):M(``,!0),p.value.containers.length>0?(F(),B(`div`,gt,V(p.value.containers.length)+` container`+V(p.value.containers.length>1?`s`:``),1)):M(``,!0),p.value.error?(F(),B(`div`,_t,V(p.value.error),1)):M(``,!0)],64)):M(``,!0):(F(),B(`div`,ft,[n[3]||=R(` Not configured — `,-1),N(r,{to:`/settings`,style:{color:`#6c63ff`}},{default:u(()=>[...n[2]||=[R(`Settings`,-1)]]),_:1})])):(F(),B(`div`,dt,` No workspace selected `)),d.value?(F(),j(lt,{key:3,modelValue:o.value,"onUpdate:modelValue":n[1]||=e=>o.value=e,"workspace-id":d.value},null,8,[`modelValue`,`workspace-id`])):M(``,!0)])}}}),[[`__scopeId`,`data-v-8c173889`]]),yt={class:`git-panel q-pa-md`},bt={class:`row items-center q-mb-sm`},xt={class:`text-caption text-grey-3`},St={class:`row items-center q-mb-sm`},Ct={class:`text-caption text-grey-4`,style:{"font-family":`'Roboto Mono', monospace`,"font-size":`11px`}},wt={class:`text-caption q-mb-md text-grey-8`,style:{"font-size":`11px`}},Tt={class:`row q-gutter-xs`},Et={key:1,class:`text-caption text-grey-8`},Dt=Z(k({__name:`GitPanel`,props:{workspace:{}},setup(e){let n=e,r=He(),i=fe(),a=t(!1),o=t(!1),s=L(()=>{if(!n.workspace?.projectPath)return`-`;let e=n.workspace.projectPath.replace(/\\/g,`/`).split(`/`);return e[e.length-1]||e[e.length-2]||`-`});async function c(){if(n.workspace){a.value=!0;try{await i.pushBranch(n.workspace.id),r.notify({type:`positive`,message:`Branch pushed`,position:`top`})}catch(e){let t=e instanceof Error?e.message:`Push failed`;r.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{a.value=!1}}}async function l(){if(n.workspace){o.value=!0;try{let e=await i.openPullRequest(n.workspace.id);e.messageSent===!1&&e.warning?r.notify({type:`warning`,message:`PR #${e.prNumber} opened — agent not active, message not sent`,caption:e.prUrl,position:`top`,timeout:6e3}):r.notify({type:`positive`,message:`PR #${e.prNumber} opened`,caption:e.prUrl,position:`top`,timeout:5e3})}catch(e){if(e instanceof ce&&e.code===`branch_not_pushed`){r.notify({type:`warning`,message:`Branch is not on remote. Click Push first.`,position:`top`,timeout:6e3});return}if(e instanceof ce&&e.code===`unpushed_commits`){r.notify({type:`warning`,message:`Local commits are not pushed. Click Push first.`,position:`top`,timeout:6e3});return}let t=e instanceof Error?e.message:`Open PR failed`;r.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{o.value=!1}}}return(t,n)=>(F(),B(`div`,yt,[n[1]||=W(`div`,{class:`text-caption text-uppercase text-weight-bold q-mb-sm text-grey-6`,style:{"letter-spacing":`0.05em`}},` Git `,-1),e.workspace?(F(),B(A,{key:0},[W(`div`,bt,[N(K,{name:`folder`,size:`14px`,color:`grey-6`,class:`q-mr-xs`}),W(`span`,xt,V(s.value),1)]),W(`div`,St,[n[0]||=W(`span`,{style:{width:`8px`,height:`8px`,"border-radius":`50%`,"background-color":`#4ade80`,display:`inline-block`},class:`q-mr-xs`},null,-1),W(`span`,Ct,V(e.workspace.workingBranch),1)]),W(`div`,wt,` from `+V(e.workspace.sourceBranch)+` · local only `,1),W(`div`,Tt,[N(H,{dense:``,"no-caps":``,size:`sm`,color:`primary`,label:`Open PR`,class:`git-btn`,loading:o.value,disable:!e.workspace||a.value,onClick:l},null,8,[`loading`,`disable`]),N(H,{dense:``,"no-caps":``,size:`sm`,outline:``,color:`grey-5`,label:`Push`,class:`git-btn`,loading:a.value,disable:!e.workspace||o.value,onClick:c},null,8,[`loading`,`disable`])])],64)):(F(),B(`div`,Et,` Select a workspace `))]))}}),[[`__scopeId`,`data-v-f2c47ce1`]]),Ot={xs:2,sm:4,md:6,lg:10,xl:14};function kt(e,t,n){return{transform:t===!0?`translateX(${n.lang.rtl===!0?`-`:``}100%) scale3d(${-e},1,1)`:`scale3d(${e},1,1)`}}var At=d({name:`QLinearProgress`,props:{...we,...r,value:{type:Number,default:0},buffer:Number,color:String,trackColor:String,reverse:Boolean,stripe:Boolean,indeterminate:Boolean,query:Boolean,rounded:Boolean,animationSpeed:{type:[String,Number],default:2100},instantFeedback:Boolean},setup(e,{slots:t}){let{proxy:n}=G(),r=Te(e,n.$q),i=b(e,Ot),a=L(()=>e.indeterminate===!0||e.query===!0),o=L(()=>e.reverse!==e.query),s=L(()=>({...i.value===null?{}:i.value,"--q-linear-progress-speed":`${e.animationSpeed}ms`})),c=L(()=>`q-linear-progress`+(e.color===void 0?``:` text-${e.color}`)+(e.reverse===!0||e.query===!0?` q-linear-progress--reverse`:``)+(e.rounded===!0?` rounded-borders`:``)),l=L(()=>kt(e.buffer===void 0?1:e.buffer,o.value,n.$q)),u=L(()=>`with${e.instantFeedback===!0?`out`:``}-transition`),d=L(()=>`q-linear-progress__track absolute-full q-linear-progress__track--${u.value} q-linear-progress__track--${r.value===!0?`dark`:`light`}`+(e.trackColor===void 0?``:` bg-${e.trackColor}`)),f=L(()=>kt(a.value===!0?1:e.value,o.value,n.$q)),p=L(()=>`q-linear-progress__model absolute-full q-linear-progress__model--${u.value} q-linear-progress__model--${a.value===!0?`in`:``}determinate`),m=L(()=>({width:`${e.value*100}%`})),h=L(()=>`q-linear-progress__stripe absolute-${e.reverse===!0?`right`:`left`} q-linear-progress__stripe--${u.value}`);return()=>{let n=[q(`div`,{class:d.value,style:l.value}),q(`div`,{class:p.value,style:f.value})];return e.stripe===!0&&a.value===!1&&n.push(q(`div`,{class:h.value,style:m.value})),q(`div`,{class:c.value,style:s.value,role:`progressbar`,"aria-valuemin":0,"aria-valuemax":1,"aria-valuenow":e.indeterminate===!0?void 0:e.value},ae(t.default,n))}}}),jt={class:`notion-panel q-pa-md`},Mt={class:`row items-center q-mb-sm`},Nt={key:0,class:`q-mb-sm`},Pt=[`href`],Ft={key:1,class:`text-caption q-mb-sm text-grey-8`},It={key:3,class:`q-mb-sm`},Lt={class:`text-caption text-grey-7`,style:{"font-size":`11px`}},Rt={key:4,class:`text-caption text-grey-8 q-mb-sm`,style:{"font-size":`11px`}},zt={key:5,class:`task-add-row row items-center q-mb-xs`},Bt={key:6,class:`tasks-list`},Vt=[`onDblclick`],Ht={key:1,class:`text-caption text-grey-8`},Ut=Z(k({__name:`NotionPanel`,props:{workspace:{},tasks:{}},setup(e){let n=e,r=fe(),i=t(!1),a=L(()=>n.tasks.filter(e=>!e.isAcceptanceCriterion)),o=L(()=>a.value.filter(e=>e.status===`done`).length),c=L(()=>a.value.length),l=L(()=>c.value>0?o.value/c.value:0),u=t(!1),d=t(``),p=t(null),m=t(``),g=t({});function _(e,t){if(t){let n=t.$el??t;g.value[e]=n}else delete g.value[e]}async function v(){if(!(!n.workspace?.id||!n.workspace.notionUrl)){i.value=!0;try{let e=await fetch(`/api/workspaces/${n.workspace.id}/refresh-notion`,{method:`POST`});if(!e.ok)throw Error(`HTTP ${e.status}`);r.fetchWorkspaceDetails(n.workspace.id)}catch(e){console.error(`Failed to refresh from Notion:`,e)}finally{i.value=!1}}}function b(){u.value=!0,d.value=``}async function x(){let e=d.value.trim();if(!(!e||!n.workspace?.id))try{await r.createTask(n.workspace.id,e,!1),d.value=``,u.value=!1}catch{}}function S(){d.value=``,u.value=!1}function C(e){p.value=e.id,m.value=e.title,y(()=>{let t=g.value[e.id]?.querySelector(`input, textarea`);t?.focus(),t?.select()})}async function w(e){if(p.value!==e.id)return;let t=m.value.trim(),i=e.id;if(p.value=null,!(!t||t===e.title)&&n.workspace?.id)try{await r.updateTaskTitle(n.workspace.id,i,t)}catch{}}function T(){p.value=null,m.value=``}async function E(e){if(n.workspace?.id)try{await r.deleteTask(n.workspace.id,e.id)}catch{}}async function D(e){if(!n.workspace?.id)return;let t=e.status===`done`?`pending`:`done`;try{let i=await fetch(`/api/workspaces/${e.workspaceId}/tasks/${e.id}`,{method:`PATCH`,headers:{"Content-Type":`application/json`},body:JSON.stringify({status:t})});if(!i.ok)throw Error(`HTTP ${i.status}`);r.fetchWorkspaceDetails(n.workspace.id)}catch(e){console.error(`Failed to toggle task:`,e)}}function O(e){switch(e){case`done`:return`check_circle`;case`in_progress`:return`timelapse`;default:return`radio_button_unchecked`}}function k(e){switch(e){case`done`:return`#4ade80`;case`in_progress`:return`#f59e0b`;default:return`#888`}}return(t,n)=>(F(),B(`div`,jt,[W(`div`,Mt,[n[2]||=W(`div`,{class:`text-caption text-uppercase text-weight-bold text-grey-6`,style:{"letter-spacing":`0.05em`}},` Notion `,-1),N(Y),e.workspace?(F(),j(H,{key:0,flat:``,dense:``,round:``,size:`xs`,icon:`add`,color:`indigo-4`,title:`Add task`,onClick:b})):M(``,!0)]),e.workspace?(F(),B(A,{key:0},[e.workspace.notionUrl?(F(),B(`div`,Nt,[W(`a`,{href:e.workspace.notionUrl,target:`_blank`,rel:`noopener noreferrer`,class:`notion-link text-caption items-center text-blue-4`},[N(K,{name:`open_in_new`,size:`12px`,class:`q-mr-xs`}),n[3]||=R(` Open in Notion `,-1)],8,Pt)])):(F(),B(`div`,Ft,` No Notion URL `)),e.workspace.notionUrl?(F(),j(H,{key:2,flat:``,dense:``,"no-caps":``,size:`xs`,icon:`refresh`,label:`Refresh`,color:`grey-6`,class:`q-mb-sm`,loading:i.value,onClick:v},null,8,[`loading`])):M(``,!0),c.value>0?(F(),B(`div`,It,[N(At,{value:l.value,color:`primary`,"track-color":`grey-9`,class:`q-mb-xs`,style:{height:`4px`,"border-radius":`2px`}},null,8,[`value`]),W(`div`,Lt,V(o.value)+`/`+V(c.value)+` subtasks `,1)])):u.value?M(``,!0):(F(),B(`div`,Rt,` No tasks `)),u.value?(F(),B(`div`,zt,[N(Ae,{modelValue:d.value,"onUpdate:modelValue":n[0]||=e=>d.value=e,dark:``,dense:``,borderless:``,autofocus:``,placeholder:`New task... (Enter to add, Esc to cancel)`,class:`col task-input`,"input-class":`task-input-inner`,onKeydown:[U(P(x,[`prevent`]),[`enter`]),U(P(S,[`prevent`]),[`esc`])]},null,8,[`modelValue`,`onKeydown`])])):M(``,!0),a.value.length>0?(F(),B(`div`,Bt,[(F(!0),B(A,null,h(a.value,e=>(F(),B(`div`,{key:e.id,class:`task-item row items-center q-py-xxs`},[N(K,{name:O(e.status),size:`14px`,style:f({color:k(e.status)}),class:`q-mr-xs cursor-pointer`,onClick:t=>D(e)},null,8,[`name`,`style`,`onClick`]),p.value===e.id?(F(),j(Ae,{key:0,ref_for:!0,ref:t=>_(e.id,t),modelValue:m.value,"onUpdate:modelValue":n[1]||=e=>m.value=e,dark:``,dense:``,borderless:``,class:`col task-input`,"input-class":`task-input-inner`,onKeydown:[U(P(t=>w(e),[`prevent`]),[`enter`]),U(P(T,[`prevent`]),[`esc`])],onBlur:t=>w(e)},null,8,[`modelValue`,`onKeydown`,`onBlur`])):(F(),B(A,{key:1},[W(`span`,{class:s([`col task-title text-caption`,{"text-strike":e.status===`done`}]),style:f({color:e.status===`done`?`#4ade80`:`#ccc`}),onDblclick:t=>C(e)},V(e.title),47,Vt),N(H,{flat:``,dense:``,round:``,size:`xs`,icon:`close`,color:`grey-6`,class:`task-delete-btn`,onClick:t=>E(e)},null,8,[`onClick`])],64))]))),128))])):M(``,!0)],64)):(F(),B(`div`,Ht,` Select a workspace `))]))}}),[[`__scopeId`,`data-v-5f29da43`]]);function Wt(e,n){let r=t(null),i=L(()=>e.disable===!0?null:q(`span`,{ref:r,class:`no-outline`,tabindex:-1}));function a(e){let t=n.value;e?.qAvoidFocus!==!0&&(e?.type.indexOf(`key`)===0?document.activeElement!==t&&t?.contains(document.activeElement)===!0&&t.focus():r.value!==null&&(e===void 0||t?.contains(e.target)===!0)&&r.value.focus())}return{refocusTargetEl:i,refocusTarget:a}}var Gt={xs:30,sm:35,md:40,lg:50,xl:60},Kt={...we,...r,...Me,modelValue:{required:!0,default:null},val:{},trueValue:{default:!0},falseValue:{default:!1},indeterminateValue:{default:null},checkedIcon:String,uncheckedIcon:String,indeterminateIcon:String,toggleOrder:{type:String,validator:e=>e===`tf`||e===`ft`},toggleIndeterminate:Boolean,label:String,leftLabel:Boolean,color:String,keepColor:Boolean,dense:Boolean,disable:Boolean,tabindex:[String,Number]},qt=[`update:modelValue`];function Jt(e,r){let{props:i,slots:a,emit:s,proxy:c}=G(),{$q:l}=c,u=Te(i,l),d=t(null),{refocusTargetEl:f,refocusTarget:p}=Wt(i,d),m=b(i,Gt),h=L(()=>i.val!==void 0&&Array.isArray(i.modelValue)),g=L(()=>{let e=C(i.val);return h.value===!0?i.modelValue.findIndex(t=>C(t)===e):-1}),_=L(()=>h.value===!0?g.value!==-1:C(i.modelValue)===C(i.trueValue)),v=L(()=>h.value===!0?g.value===-1:C(i.modelValue)===C(i.falseValue)),y=L(()=>_.value===!1&&v.value===!1),x=L(()=>i.disable===!0?-1:i.tabindex||0),S=L(()=>`q-${e} cursor-pointer no-outline row inline no-wrap items-center`+(i.disable===!0?` disabled`:``)+(u.value===!0?` q-${e}--dark`:``)+(i.dense===!0?` q-${e}--dense`:``)+(i.leftLabel===!0?` reverse`:``)),w=L(()=>`q-${e}__inner relative-position non-selectable q-${e}__inner--${_.value===!0?`truthy`:v.value===!0?`falsy`:`indet`}${i.color!==void 0&&(i.keepColor===!0||(e===`toggle`?_.value===!0:v.value!==!0))?` text-${i.color}`:``}`),T=ke(L(()=>{let e={type:`checkbox`};return i.name!==void 0&&Object.assign(e,{".checked":_.value,"^checked":_.value===!0?`checked`:void 0,name:i.name,value:h.value===!0?i.val:i.trueValue}),e})),E=L(()=>{let t={tabindex:x.value,role:e===`toggle`?`switch`:`checkbox`,"aria-label":i.label,"aria-checked":y.value===!0?`mixed`:_.value===!0?`true`:`false`};return i.disable===!0&&(t[`aria-disabled`]=`true`),t});function D(e){e!==void 0&&(o(e),p(e)),i.disable!==!0&&s(`update:modelValue`,O(),e)}function O(){if(h.value===!0){if(_.value===!0){let e=i.modelValue.slice();return e.splice(g.value,1),e}return i.modelValue.concat([i.val])}if(_.value===!0){if(i.toggleOrder!==`ft`||i.toggleIndeterminate===!1)return i.falseValue}else if(v.value===!0){if(i.toggleOrder===`ft`||i.toggleIndeterminate===!1)return i.trueValue}else return i.toggleOrder===`ft`?i.falseValue:i.trueValue;return i.indeterminateValue}function k(e){(e.keyCode===13||e.keyCode===32)&&o(e)}function A(e){(e.keyCode===13||e.keyCode===32)&&D(e)}let ee=r(_,y);return Object.assign(c,{toggle:D}),()=>{let t=ee();i.disable!==!0&&T(t,`unshift`,` q-${e}__native absolute q-ma-none q-pa-none`);let r=[q(`div`,{class:w.value,style:m.value,"aria-hidden":`true`},t)];f.value!==null&&r.push(f.value);let o=i.label===void 0?n(a.default):ae(a.default,[i.label]);return o!==void 0&&r.push(q(`div`,{class:`q-${e}__label q-anchor--skip`},o)),q(`div`,{ref:d,class:S.value,...E.value,onClick:D,onKeydown:k,onKeyup:A},r)}}var Yt=()=>q(`div`,{key:`svg`,class:`q-checkbox__bg absolute`},[q(`svg`,{class:`q-checkbox__svg fit absolute-full`,viewBox:`0 0 24 24`},[q(`path`,{class:`q-checkbox__truthy`,fill:`none`,d:`M1.73,12.91 8.1,19.28 22.79,4.59`}),q(`path`,{class:`q-checkbox__indet`,d:`M4,14H20V10H4`})])]),Xt=d({name:`QCheckbox`,props:Kt,emits:qt,setup(e){let t=Yt();function n(n,r){let i=L(()=>(n.value===!0?e.checkedIcon:r.value===!0?e.indeterminateIcon:e.uncheckedIcon)||null);return()=>i.value===null?[t]:[q(`div`,{key:`icon`,class:`q-checkbox__icon-container absolute-full flex flex-center no-wrap`},[q(K,{class:`q-checkbox__icon`,name:i.value})])]}return Jt(`checkbox`,n)}}),Zt=d({name:`QCardActions`,props:{...ne,vertical:Boolean},setup(e,{slots:t}){let r=ie(e),i=L(()=>`q-card__actions ${r.value} q-card__actions--${e.vertical===!0?`vert column`:`horiz row`}`);return()=>q(`div`,{class:i.value},n(t.default))}}),Qt={class:`workspace-list column full-height`},$t={class:`wl-header row items-center justify-between q-px-md q-py-sm`},en={class:`row items-center q-gutter-xs`},tn={class:`q-px-md q-pb-sm`},nn={class:`col overflow-auto`},rn={key:0,class:`wl-group q-mt-xs`},an=[`onClick`],on={class:`col`,style:{"min-width":`0`}},sn={class:`row items-center no-wrap q-gutter-xs`},cn={key:0,class:`dd-dot dd-dot--running`},ln={class:`wl-item-name text-body2 text-weight-medium text-grey-3 ellipsis`},un={class:`text-caption q-mt-xs`},dn={class:`text-red-5`},fn={class:`q-ml-xs text-grey-8`},pn={key:1,class:`wl-group q-mt-xs`},mn=[`onClick`],hn={class:`col`,style:{"min-width":`0`}},gn={class:`row items-center no-wrap q-gutter-xs`},_n={key:0,class:`dd-dot dd-dot--running`},vn={class:`wl-item-name text-body2 text-weight-medium text-grey-3 ellipsis`},yn={class:`text-caption q-mt-xs`},bn={class:`text-green-4`},xn={class:`q-ml-xs text-grey-8`},Sn={key:2,class:`wl-group q-mt-xs`},Cn=[`onClick`],wn={class:`col`,style:{"min-width":`0`}},Tn={class:`row items-center no-wrap q-gutter-xs`},En={key:0,class:`dd-dot dd-dot--running`},Dn={class:`wl-item-name text-body2 text-weight-medium text-grey-3 ellipsis`},On={class:`wl-item-meta text-caption text-grey-8`},kn={key:3,class:`wl-group q-mt-xs`},An={class:`col`,style:{"min-width":`0`}},jn={class:`wl-item-name text-body2 text-grey-5 ellipsis`},Mn={class:`wl-item-meta text-caption text-grey-8`},Nn={key:4,class:`q-pa-lg text-center text-grey-6 text-caption`},Pn={class:`q-px-md q-py-xs text-caption text-grey-8`},Fn={class:`text-body2 q-mb-sm text-grey-6`},In={class:`text-caption q-mb-md text-grey-7`,style:{"font-family":`monospace`}},Ln={class:`column q-gutter-xs`},Rn={key:0,class:`text-caption q-mt-sm text-red-5`},zn=Z(k({__name:`WorkspaceList`,setup(e){let n=fe(),r=de(),i=le(),a=Ve(),o=J(),c=t(``),l=L(()=>n.needsAttention.filter(e=>e.name.toLowerCase().includes(c.value.toLowerCase()))),d=L(()=>n.running.filter(e=>e.name.toLowerCase().includes(c.value.toLowerCase()))),f=L(()=>n.idle.filter(e=>e.name.toLowerCase().includes(c.value.toLowerCase()))),m=L(()=>n.workspaces.length),_=L(()=>n.running.length),v=t(!0),y=t(!0),b=t(!0),x=t(!1);async function S(){x.value=!x.value,x.value&&!n.archivedLoaded&&await n.fetchArchivedWorkspaces()}let C=t(!1),w=t(null),T=t(!1),D=t(!1),O=t(!1);function k(e,t){t.stopPropagation(),w.value=e,T.value=!0,D.value=!1,C.value=!0}async function ee(){if(!w.value)return;let e=w.value.id;O.value=!0;try{await n.deleteWorkspace(e,{deleteLocalBranch:T.value,deleteRemoteBranch:D.value}),r.unsubscribe(e),C.value=!1,n.selectedWorkspaceId===null&&o.push({name:`workspace`})}catch(e){console.error(`Delete failed:`,e)}finally{O.value=!1}}async function te(e,t){t.stopPropagation();try{await n.archiveWorkspace(e.id),n.selectedWorkspaceId===null&&o.push({name:`workspace`})}catch(e){console.error(`Archive failed:`,e)}}async function ne(e,t){t.stopPropagation();try{await n.unarchiveWorkspace(e.id),a.getProjectByPath(e.projectPath)?.devServer?.startCommand&&i.fetchStatus(e.id)}catch(e){console.error(`Unarchive failed:`,e)}}function P(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`}function I(e){n.selectWorkspace(e),o.push({name:`workspace`,params:{id:e}})}function re(){o.push({name:`create`})}function U(){o.push({name:`settings`})}return g(async()=>{await n.fetchWorkspaces(),await n.fetchArchivedWorkspaces(),await a.fetchSettings();for(let e of n.workspaces)r.subscribe(e.id),a.getProjectByPath(e.projectPath)?.devServer?.startCommand&&i.fetchStatus(e.id)}),(e,t)=>(F(),B(A,null,[W(`div`,Qt,[W(`div`,$t,[t[8]||=W(`span`,{class:`text-caption text-uppercase text-weight-bold text-grey-6`,style:{"letter-spacing":`0.05em`}},` Workspaces `,-1),W(`div`,en,[E(r).connected?(F(),j($,{key:0,rounded:``,color:`positive`,style:{width:`8px`,height:`8px`,"min-width":`8px`,padding:`0`}})):(F(),j($,{key:1,rounded:``,color:`negative`,style:{width:`8px`,height:`8px`,"min-width":`8px`,padding:`0`}})),N(H,{flat:``,round:``,dense:``,icon:`settings`,size:`sm`,color:`grey-5`,onClick:U}),N(H,{flat:``,round:``,dense:``,icon:`add`,size:`sm`,color:`grey-5`,onClick:re})])]),W(`div`,tn,[N(Ae,{modelValue:c.value,"onUpdate:modelValue":t[0]||=e=>c.value=e,dense:``,dark:``,placeholder:`Search...`,class:`wl-search rounded-borders`,borderless:``},{prepend:u(()=>[N(K,{name:`search`,size:`xs`,color:`grey-6`})]),_:1},8,[`modelValue`])]),N(De,{dark:``}),W(`div`,nn,[l.value.length>0?(F(),B(`div`,rn,[W(`div`,{class:`wl-group-header row items-center q-px-md q-py-xs cursor-pointer non-selectable`,onClick:t[1]||=e=>v.value=!v.value},[N(K,{name:v.value?`expand_more`:`chevron_right`,size:`xs`,color:`red-5`},null,8,[`name`]),t[9]||=W(`span`,{class:`text-caption text-weight-bold q-ml-xs text-red-5`},` Needs Attention `,-1),N($,{label:l.value.length,color:`red-9`,"text-color":`white`,class:`q-ml-auto`,style:{"font-size":`10px`}},null,8,[`label`])]),p(W(`div`,null,[(F(!0),B(A,null,h(l.value,e=>(F(),B(`div`,{key:e.id,class:s([`wl-item cursor-pointer q-pa-sm q-mx-xs rounded-borders`,{"wl-item--selected":e.id===E(n).selectedWorkspaceId}]),style:{"border-left":`3px solid #ef4444`},onClick:t=>I(e.id)},[W(`div`,on,[W(`div`,sn,[E(i).getStatus(e.id)?.status===`running`?(F(),B(`div`,cn)):M(``,!0),W(`div`,ln,V(e.name),1)]),W(`div`,un,[N(K,{name:`warning`,size:`xs`,color:`red-5`,class:`q-mr-xs`}),W(`span`,dn,V(e.status),1),W(`span`,fn,`· `+V(P(e.updatedAt)),1)])]),N(H,{flat:``,round:``,dense:``,icon:`archive`,size:`xs`,color:`grey-6`,class:`wl-item-action wl-item-archive`,onClick:t=>te(e,t)},{default:u(()=>[N(Q,null,{default:u(()=>[...t[10]||=[R(`Archive`,-1)]]),_:1})]),_:1},8,[`onClick`]),N(H,{flat:``,round:``,dense:``,icon:`delete_outline`,size:`xs`,color:`grey-6`,class:`wl-item-action wl-item-delete`,onClick:t=>k(e,t)},{default:u(()=>[N(Q,null,{default:u(()=>[...t[11]||=[R(`Delete`,-1)]]),_:1})]),_:1},8,[`onClick`])],10,an))),128))],512),[[z,v.value]])])):M(``,!0),d.value.length>0?(F(),B(`div`,pn,[W(`div`,{class:`wl-group-header row items-center q-px-md q-py-xs cursor-pointer non-selectable`,onClick:t[2]||=e=>y.value=!y.value},[N(K,{name:y.value?`expand_more`:`chevron_right`,size:`xs`,color:`green-5`},null,8,[`name`]),t[12]||=W(`span`,{class:`text-caption text-weight-bold q-ml-xs text-green-4`},` Running `,-1),N($,{label:d.value.length,color:`green-9`,"text-color":`white`,class:`q-ml-auto`,style:{"font-size":`10px`}},null,8,[`label`])]),p(W(`div`,null,[(F(!0),B(A,null,h(d.value,e=>(F(),B(`div`,{key:e.id,class:s([`wl-item cursor-pointer q-pa-sm q-mx-xs rounded-borders`,{"wl-item--selected":e.id===E(n).selectedWorkspaceId}]),style:{"border-left":`3px solid #4ade80`},onClick:t=>I(e.id)},[W(`div`,hn,[W(`div`,gn,[E(i).getStatus(e.id)?.status===`running`?(F(),B(`div`,_n)):M(``,!0),W(`div`,vn,V(e.name),1)]),W(`div`,yn,[W(`span`,bn,V(e.status),1),W(`span`,xn,`· `+V(P(e.updatedAt)),1)])]),N(H,{flat:``,round:``,dense:``,icon:`archive`,size:`xs`,color:`grey-6`,class:`wl-item-action wl-item-archive`,onClick:t=>te(e,t)},{default:u(()=>[N(Q,null,{default:u(()=>[...t[13]||=[R(`Archive`,-1)]]),_:1})]),_:1},8,[`onClick`]),N(H,{flat:``,round:``,dense:``,icon:`delete_outline`,size:`xs`,color:`grey-6`,class:`wl-item-action wl-item-delete`,onClick:t=>k(e,t)},{default:u(()=>[N(Q,null,{default:u(()=>[...t[14]||=[R(`Delete`,-1)]]),_:1})]),_:1},8,[`onClick`])],10,mn))),128))],512),[[z,y.value]])])):M(``,!0),f.value.length>0?(F(),B(`div`,Sn,[W(`div`,{class:`wl-group-header row items-center q-px-md q-py-xs cursor-pointer non-selectable`,onClick:t[3]||=e=>b.value=!b.value},[N(K,{name:b.value?`expand_more`:`chevron_right`,size:`xs`,color:`grey-6`},null,8,[`name`]),t[15]||=W(`span`,{class:`text-caption text-weight-bold q-ml-xs text-grey-6`},` Idle `,-1),N($,{label:f.value.length,color:`grey-8`,"text-color":`grey-4`,class:`q-ml-auto`,style:{"font-size":`10px`}},null,8,[`label`])]),p(W(`div`,null,[(F(!0),B(A,null,h(f.value,e=>(F(),B(`div`,{key:e.id,class:s([`wl-item cursor-pointer q-pa-sm q-mx-xs rounded-borders`,{"wl-item--selected":e.id===E(n).selectedWorkspaceId}]),style:{"border-left":`3px solid #666`},onClick:t=>I(e.id)},[W(`div`,wn,[W(`div`,Tn,[E(i).getStatus(e.id)?.status===`running`?(F(),B(`div`,En)):M(``,!0),W(`div`,Dn,V(e.name),1)]),W(`div`,On,V(P(e.updatedAt)),1)]),N(H,{flat:``,round:``,dense:``,icon:`archive`,size:`xs`,color:`grey-6`,class:`wl-item-action wl-item-archive`,onClick:t=>te(e,t)},{default:u(()=>[N(Q,null,{default:u(()=>[...t[16]||=[R(`Archive`,-1)]]),_:1})]),_:1},8,[`onClick`]),N(H,{flat:``,round:``,dense:``,icon:`delete_outline`,size:`xs`,color:`grey-6`,class:`wl-item-action wl-item-delete`,onClick:t=>k(e,t)},{default:u(()=>[N(Q,null,{default:u(()=>[...t[17]||=[R(`Delete`,-1)]]),_:1})]),_:1},8,[`onClick`])],10,Cn))),128))],512),[[z,b.value]])])):M(``,!0),E(n).archived.length>0||x.value?(F(),B(`div`,kn,[W(`div`,{class:`wl-group-header row items-center q-px-md q-py-xs cursor-pointer non-selectable`,onClick:S},[N(K,{name:x.value?`expand_more`:`chevron_right`,size:`xs`,color:`grey-7`},null,8,[`name`]),N(K,{name:`inventory_2`,size:`xs`,color:`grey-7`,class:`q-ml-xs`}),t[18]||=W(`span`,{class:`text-caption text-weight-bold q-ml-xs text-grey-7`},` Archived `,-1),E(n).archived.length>0?(F(),j($,{key:0,label:E(n).archived.length,color:`grey-9`,"text-color":`grey-5`,class:`q-ml-auto`,style:{"font-size":`10px`}},null,8,[`label`])):M(``,!0)]),p(W(`div`,null,[(F(!0),B(A,null,h(E(n).archived,e=>(F(),B(`div`,{key:e.id,class:`wl-item wl-item--archived q-pa-sm q-mx-xs rounded-borders`,style:{"border-left":`3px solid #555`}},[W(`div`,An,[W(`div`,jn,V(e.name),1),W(`div`,Mn,` Archived `+V(P(e.archivedAt)),1)]),N(H,{flat:``,round:``,dense:``,icon:`unarchive`,size:`xs`,color:`grey-6`,class:`wl-item-action wl-item-unarchive`,onClick:t=>ne(e,t)},{default:u(()=>[N(Q,null,{default:u(()=>[...t[19]||=[R(`Unarchive`,-1)]]),_:1})]),_:1},8,[`onClick`]),N(H,{flat:``,round:``,dense:``,icon:`delete_outline`,size:`xs`,color:`grey-6`,class:`wl-item-action wl-item-delete`,onClick:t=>k(e,t)},{default:u(()=>[N(Q,null,{default:u(()=>[...t[20]||=[R(`Delete`,-1)]]),_:1})]),_:1},8,[`onClick`])]))),128))],512),[[z,x.value]])])):M(``,!0),l.value.length===0&&d.value.length===0&&f.value.length===0&&E(n).archived.length===0?(F(),B(`div`,Nn,[E(n).loading?(F(),B(A,{key:0},[R(`Loading...`)],64)):c.value?(F(),B(A,{key:1},[R(`No results for "`+V(c.value)+`"`,1)],64)):(F(),B(A,{key:2},[R(`No workspaces yet`)],64))])):M(``,!0)]),N(De,{dark:``}),W(`div`,Pn,V(m.value)+` workspace`+V(m.value===1?``:`s`)+` · `+V(_.value)+` running `,1)]),N(je,{modelValue:C.value,"onUpdate:modelValue":t[7]||=e=>C.value=e,persistent:``},{default:u(()=>[N(st,{class:`text-grey-3`,style:{"min-width":`360px`,background:`#1e1e3a`}},{default:u(()=>[N(ot,null,{default:u(()=>[...t[21]||=[W(`div`,{class:`text-h6`},`Delete workspace?`,-1)]]),_:1}),N(ot,{class:`q-pt-none`},{default:u(()=>[W(`div`,Fn,V(w.value?.name),1),W(`div`,In,V(w.value?.workingBranch),1),W(`div`,Ln,[N(Xt,{modelValue:T.value,"onUpdate:modelValue":t[4]||=e=>T.value=e,label:`Delete local branch`,dark:``,dense:``,color:`red-5`},null,8,[`modelValue`]),N(Xt,{modelValue:D.value,"onUpdate:modelValue":t[5]||=e=>D.value=e,disable:!T.value,label:`Delete remote branch`,dark:``,dense:``,color:`red-5`},null,8,[`modelValue`,`disable`])]),D.value?(F(),B(`div`,Rn,` Warning: this action is irreversible on the remote. `)):M(``,!0)]),_:1}),N(Zt,{align:`right`},{default:u(()=>[N(H,{flat:``,label:`Cancel`,color:`grey-5`,onClick:t[6]||=e=>C.value=!1,disable:O.value},null,8,[`disable`]),N(H,{flat:``,label:`Delete`,color:`red-5`,loading:O.value,onClick:ee},null,8,[`loading`])]),_:1})]),_:1})]),_:1},8,[`modelValue`])],64))}}),[[`__scopeId`,`data-v-9d4c8886`]]),Bn={class:`drawer-content column full-height`},Vn=`at-left-drawer-width`,Hn=Z(k({__name:`MainLayout`,setup(e){let n=t(`git`),r=t(!0),i=t(!0),a=parseInt(localStorage.getItem(Vn)??`260`,10),o=t(Math.min(500,Math.max(200,a))),s=t(!1);function c(e){e.preventDefault(),s.value=!0;let t=e=>{o.value=Math.min(500,Math.max(200,e.clientX))},n=()=>{s.value=!1,localStorage.setItem(Vn,String(o.value)),document.removeEventListener(`mousemove`,t),document.removeEventListener(`mouseup`,n),document.body.style.cursor=``,document.body.style.userSelect=``};document.body.style.cursor=`col-resize`,document.body.style.userSelect=`none`,document.addEventListener(`mousemove`,t),document.addEventListener(`mouseup`,n)}let l=fe();return(e,t)=>{let a=_(`router-view`);return F(),j(Qe,{view:`lHh LpR lFf`},{default:u(()=>[N(qe,{modelValue:r.value,"onUpdate:modelValue":t[0]||=e=>r.value=e,width:o.value,breakpoint:0,persistent:``,bordered:``,class:`left-sidebar`},{default:u(()=>[N(zn),W(`div`,{class:`resize-handle`,onMousedown:c},null,32)]),_:1},8,[`modelValue`,`width`]),N(qe,{modelValue:i.value,"onUpdate:modelValue":t[3]||=e=>i.value=e,side:`right`,width:300,breakpoint:0,persistent:``,bordered:``,class:`right-sidebar`},{default:u(()=>[W(`div`,Bn,[N(Re,{modelValue:n.value,"onUpdate:modelValue":t[1]||=e=>n.value=e,dense:``,dark:``,"active-color":`indigo-4`,"indicator-color":`indigo-4`,"narrow-indicator":``,align:`justify`,class:`right-tabs`},{default:u(()=>[N(Pe,{name:`git`,icon:`commit`}),N(Pe,{name:`server`,icon:`dns`}),N(Pe,{name:`tasks`,icon:`checklist`})]),_:1},8,[`modelValue`]),N(De,{dark:``}),N(Be,{modelValue:n.value,"onUpdate:modelValue":t[2]||=e=>n.value=e,animated:``,class:`col right-tab-panels`},{default:u(()=>[N(Ie,{name:`git`,class:`q-pa-none`},{default:u(()=>[N(Dt,{workspace:E(l).selectedWorkspace},null,8,[`workspace`])]),_:1}),N(Ie,{name:`server`,class:`q-pa-none`},{default:u(()=>[N(vt,{workspace:E(l).selectedWorkspace},null,8,[`workspace`])]),_:1}),N(Ie,{name:`tasks`,class:`q-pa-none`},{default:u(()=>[N(Ut,{workspace:E(l).selectedWorkspace,tasks:E(l).tasks},null,8,[`workspace`,`tasks`]),N(De,{dark:``}),N(at,{tasks:E(l).acceptanceCriteria},null,8,[`tasks`])]),_:1})]),_:1},8,[`modelValue`])])]),_:1},8,[`modelValue`]),N(Je,{class:`main-content`},{default:u(()=>[N(a)]),_:1})]),_:1})}}}),[[`__scopeId`,`data-v-57ce5ee5`]]);export{Hn as default};
|