@acutis/cli 0.4.0 → 0.5.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/.output/nitro.json +1 -1
- package/.output/public/_nuxt/{DB7GBG_m.js → 2nD-p2HC.js} +1 -1
- package/.output/public/_nuxt/{Bs931Wcm.js → B9s6bjC6.js} +1 -1
- package/.output/public/_nuxt/{DKtXkDi_.js → BNt3M20G.js} +1 -1
- package/.output/public/_nuxt/{YTBYxWmy.js → BVORrxe1.js} +1 -1
- package/.output/public/_nuxt/BWJi3RB7.js +7 -0
- package/.output/public/_nuxt/BZKoKeJ4.js +1 -0
- package/.output/public/_nuxt/{DMFeBIkq.js → BdD531YY.js} +1 -1
- package/.output/public/_nuxt/Bim2Ilco.js +1 -0
- package/.output/public/_nuxt/{B1M4anPy.js → BormXq2m.js} +1 -1
- package/.output/public/_nuxt/{B6XOqJ2u.js → Bv4T7S6_.js} +1 -1
- package/.output/public/_nuxt/{DjT2EspM.js → BwcOmYtM.js} +1 -1
- package/.output/public/_nuxt/{DnipZKP_.js → CJJvNaNU.js} +1 -1
- package/.output/public/_nuxt/{BkcULE08.js → CsAwRnSX.js} +1 -1
- package/.output/public/_nuxt/{BN7fEQYQ.js → Dn-SWUOQ.js} +1 -1
- package/.output/public/_nuxt/{CFDrxEXS.js → Dq_3AVr2.js} +1 -1
- package/.output/public/_nuxt/builds/latest.json +1 -1
- package/.output/public/_nuxt/builds/meta/d5aafba7-a6d1-413e-ba04-fa67fa07c482.json +1 -0
- package/.output/public/_nuxt/{BqZt-GBS.js → jEu0WM6o.js} +2 -2
- package/.output/public/_nuxt/x-Ln6s2E.js +64 -0
- package/.output/server/chunks/_/project.mjs +8 -2
- package/.output/server/chunks/_/project.mjs.map +1 -1
- package/.output/server/chunks/_/project.service.mjs +189 -14
- package/.output/server/chunks/_/project.service.mjs.map +1 -1
- package/.output/server/chunks/_/project2.mjs +17 -1
- package/.output/server/chunks/_/project2.mjs.map +1 -1
- package/.output/server/chunks/_/scenario.mjs +4 -1
- package/.output/server/chunks/_/scenario.mjs.map +1 -1
- package/.output/server/chunks/_/scenario2.mjs +18 -4
- package/.output/server/chunks/_/scenario2.mjs.map +1 -1
- package/.output/server/chunks/build/{Alert-BAR7oZm-.mjs → Alert-CGPbjyet.mjs} +1 -1
- package/.output/server/chunks/build/{Alert-BAR7oZm-.mjs.map → Alert-CGPbjyet.mjs.map} +1 -1
- package/.output/server/chunks/build/{Container-Bi8FG8Bs.mjs → Container-Bw8GVIe-.mjs} +1 -1
- package/.output/server/chunks/build/{Container-Bi8FG8Bs.mjs.map → Container-Bw8GVIe-.mjs.map} +1 -1
- package/.output/server/chunks/build/{Pagination-DL3lUkxE.mjs → Pagination-BF2ykxf_.mjs} +1 -1
- package/.output/server/chunks/build/{Pagination-DL3lUkxE.mjs.map → Pagination-BF2ykxf_.mjs.map} +1 -1
- package/.output/server/chunks/build/{_...scenario_-BNXXHGiQ.mjs → _...scenario_-CPwSmhfV.mjs} +16 -6
- package/.output/server/chunks/build/{_...scenario_-BNXXHGiQ.mjs.map → _...scenario_-CPwSmhfV.mjs.map} +1 -1
- package/.output/server/chunks/build/{_slug_-BeDoAFw5.mjs → _slug_-DjtFCLa7.mjs} +59 -24
- package/.output/server/chunks/build/{_slug_-BeDoAFw5.mjs.map → _slug_-DjtFCLa7.mjs.map} +1 -1
- package/.output/server/chunks/build/error-404-B5fzVPdQ.mjs +1 -1
- package/.output/server/chunks/build/error-500-Be62wrWs.mjs +1 -1
- package/.output/server/chunks/build/{modal-styles.CyKDxGJQ.mjs → modal-styles.BQKfDEph.mjs} +3 -3
- package/.output/server/chunks/build/modal-styles.BQKfDEph.mjs.map +1 -0
- package/.output/server/chunks/build/{origin-BAquq5J9.mjs → origin-D49r5-BY.mjs} +1 -1
- package/.output/server/chunks/build/{origin-BAquq5J9.mjs.map → origin-D49r5-BY.mjs.map} +1 -1
- package/.output/server/chunks/build/{pages-DUMc2PRf.mjs → pages-Dve6n3fN.mjs} +6 -6
- package/.output/server/chunks/build/{pages-DUMc2PRf.mjs.map → pages-Dve6n3fN.mjs.map} +1 -1
- package/.output/server/chunks/build/{tags-DQi75Adh.mjs → tags-CU5wN20i.mjs} +48 -5
- package/.output/server/chunks/build/{tags-DQi75Adh.mjs.map → tags-CU5wN20i.mjs.map} +1 -1
- package/.output/server/chunks/build/{telemetria-D7RgkBCq.mjs → telemetria-CU1QSpLB.mjs} +3 -3
- package/.output/server/chunks/build/{telemetria-D7RgkBCq.mjs.map → telemetria-CU1QSpLB.mjs.map} +1 -1
- package/.output/server/chunks/nitro/nitro.mjs +163 -156
- package/.output/server/chunks/routes/api/index.get.mjs +1 -1
- package/.output/server/chunks/routes/api/index.post.mjs +1 -1
- package/.output/server/chunks/routes/api/projects/_slug/git/sync.post.mjs +51 -0
- package/.output/server/chunks/routes/api/projects/_slug/git/sync.post.mjs.map +1 -0
- package/.output/server/chunks/routes/api/projects/_slug/settings.put.mjs +1 -1
- package/.output/server/chunks/routes/api/projects/clone.post.mjs +1 -1
- package/.output/server/chunks/routes/api/telemetry/report.post.mjs +2 -2
- package/.output/server/chunks/routes/renderer.mjs +3 -3
- package/.output/server/chunks/virtual/entry.mjs +9 -9
- package/.output/server/chunks/virtual/precomputed.mjs +1 -1
- package/.output/server/chunks/virtual/styles.mjs +3 -3
- package/.output/server/index.mjs +1 -1
- package/.output/server/package.json +1 -1
- package/package.json +1 -1
- package/.output/public/_nuxt/2wdMJ9Eu.js +0 -7
- package/.output/public/_nuxt/CNqIpQYv.js +0 -1
- package/.output/public/_nuxt/Ce4iMzD_.js +0 -1
- package/.output/public/_nuxt/DRMDR4V8.js +0 -64
- package/.output/public/_nuxt/builds/meta/e29caed9-6dd6-4d2a-bcba-ad4c843531da.json +0 -1
- package/.output/server/chunks/build/modal-styles.CyKDxGJQ.mjs.map +0 -1
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import{r as e,t}from"./hePW80VL.js";import{At as n,B as r,En as i,F as a,G as o,H as s,I as c,It as l,Lt as u,M as d,N as f,Ot as p,P as m,Pn as h,S as g,U as _,Wn as v,Zt as y,_r as b,_t as x,dn as S,ht as C,in as w,ln as T,nt as E,pr as D,wt as O}from"./DMHcp4U1.js";import{Kt as k,Wt as A,qt as j,rt as M}from"./cRY3ZoRz.js";import{a as N,i as P,n as F}from"./BNt3M20G.js";import{ct as I,i as L,l as R,ot as ee,t as z}from"./Dq_3AVr2.js";import{a as te,i as ne,l as re,n as ie,t as ae}from"./BwcOmYtM.js";import{i as oe,r as se}from"./BormXq2m.js";import{t as B}from"./CJJvNaNU.js";import{t as V}from"./BDNMzG2s.js";var ce={class:`list-disc pl-4`},le=`env-sem-valor`,H=Object.assign(o({__name:`warnings`,props:{warnings:{default:()=>[]},slug:{}},setup(e){let t=d(()=>e.warnings.map(e=>e.replace(/^[a-z-]+: /,``))),r=d(()=>e.warnings.some(e=>e.startsWith(le)));return(i,o)=>{let s=L,u=B;return e.warnings.length?(n(),m(u,{key:0,color:`warning`,variant:`soft`,icon:`i-ic-round-warning`,title:`A geração terminou com ressalvas`,"data-testid":`geracao-ressalvas`},{description:T(()=>[f(`ul`,ce,[(n(!0),c(g,null,l(v(t),e=>(n(),c(`li`,{key:e},b(e),1))),128))]),v(r)?(n(),m(s,{key:0,label:`Preencher ambiente`,"trailing-icon":`i-ic-round-arrow-forward`,color:`warning`,variant:`link`,class:`mt-1 px-0`,to:`/projects/${e.slug}?environment`,"data-testid":`ressalvas-ambiente`},null,8,[`to`])):a(``,!0)]),_:1})):a(``,!0)}}}),{__name:`ScenarioWarnings`});function ue(e){return new URL(globalThis.location.href)}var de={class:`flex flex-col gap-3 rounded-lg bg-elevated p-4`},fe={class:`flex items-center gap-2`},pe={"data-testid":`webdriver-comando`,class:`grow overflow-x-auto whitespace-nowrap rounded-md bg-default p-3 text-xs`},me=Object.assign(o({__name:`setup`,setup(e){let t=h(`macos`);O(()=>{let e=navigator.userAgent;/Windows/i.test(e)?t.value=`windows`:/Mac/i.test(e)||(t.value=`linux`)});let r=[{label:`macOS`,value:`macos`},{label:`Linux`,value:`linux`},{label:`Windows`,value:`windows`}],a=M(),o=ue().origin,l=d(()=>`${o}${a.fullPath}`),u=d(()=>({macos:`open -na "Google Chrome" --args --remote-debugging-port=9222 --user-data-dir="$HOME/.acutis/chrome" "${l.value}"`,linux:`google-chrome --remote-debugging-port=9222 --user-data-dir="$HOME/.acutis/chrome" "${l.value}" &`,windows:`Start-Process "chrome" -ArgumentList "--remote-debugging-port=9222","--user-data-dir=$env:USERPROFILE\\.acutis\\chrome","${l.value}"`})),p=h(!1),m;async function g(){await navigator.clipboard.writeText(u.value[t.value]),p.value=!0,clearTimeout(m),m=setTimeout(()=>{p.value=!1},2e3)}return(e,a)=>{let o=se,l=ae;return n(),c(`div`,de,[a[1]||=f(`p`,{class:`text-sm text-muted`},[s(` Abra o Chrome com a porta de depuração. Ele já abre nesta página, é só clicar em `),f(`span`,{class:`font-medium text-default`},`Novo cenário`),s(` de novo: `)],-1),_(o,{modelValue:v(t),"onUpdate:modelValue":a[0]||=e=>i(t)?t.value=e:null,items:r,content:!1,class:`w-full`},null,8,[`modelValue`]),f(`div`,fe,[f(`code`,pe,b(v(u)[v(t)]),1),_(l,{icon:v(p)?`i-ic-round-check`:`i-ic-round-content-copy`,label:v(p)?`Copiado!`:`Copiar comando`,color:`neutral`,variant:`soft`,"data-testid":`webdriver-copiar`,onClick:g},null,8,[`icon`,`label`])])])}}}),{__name:`WebdriverSetup`}),he=[`data-testid`],ge={class:`flex size-12 items-center justify-center rounded-lg bg-elevated`},_e={class:`font-semibold`},ve={key:0,class:`max-w-sm text-sm text-muted`},ye=Object.assign(o({__name:`empty`,props:{icon:{},title:{},description:{default:``},testid:{default:``}},setup(e){return(t,r)=>{let i=R;return n(),c(`div`,{class:`flex flex-col items-center gap-3 py-10 text-center`,"data-testid":e.testid},[f(`div`,ge,[_(i,{name:e.icon,class:`size-7 text-dimmed`},null,8,[`name`])]),f(`p`,_e,b(e.title),1),e.description?(n(),c(`p`,ve,b(e.description),1)):a(``,!0)],8,he)}}}),{__name:`BaseEmpty`});function be(e){return e.map(e=>({type:e.type,timestamp:e.timestamp,url:e.url??null,selectors:e.selectors??null,label:e.label??null,innerText:e.innerText??null,tagName:e.tagName??null,inputType:e.inputType??null,value:e.value??null,sensitive:e.sensitive??!1,checked:e.checked??null,html:e.html??null,assert:e.assert}))}function xe(e){let t=e.selectors,n=(e.label||e.innerText||t?.placeholder||t?.text||``).replace(/\s+/g,` `).trim();return n===``?null:n}function U(e){return`"${e}"`}function W(e){let t=e.url??``;try{let e=new URL(t,`http://base.test`).pathname;return e===`/`?`a página inicial`:U(e)}catch{return t?U(t):`a página inicial`}}function Se(e){let t=xe(e);switch(e.type){case`navigate`:return`Navega para ${W(e)}`;case`click`:return t?`Clica em ${U(t)}`:`Clica no elemento`;case`hover`:return t?`Passa o mouse em ${U(t)}`:`Passa o mouse no elemento`;case`fill`:{let n=t?U(t):`o campo`;return e.value?`Preenche ${n} com ${e.sensitive?`••••`:U(e.value)}`:`Preenche ${n}`}case`submit`:return`Envia o formulário`;case`assert`:return e.assert?.assertType===`url`?`Confere que a tela é ${W(e)}`:`Confere ${t?U(t):`o elemento`}`;default:return t??e.url??e.type??``}}var Ce=[`src`],we={class:`flex w-max max-w-full flex-col`},Te=[`data-current`,`data-dropped`,`onClick`],Ee=[`data-armed`,`aria-label`,`onClick`],De={class:`relative h-px flex-1 overflow-visible rounded-full bg-accented`},Oe={key:0,class:`arming absolute inset-y-0 left-0 rounded-full bg-error`},ke={class:`flex flex-col items-center`},Ae={class:`pb-6 min-w-0 flex-1`},je={key:0,class:`text-xs text-dimmed`},Me=600,Ne=5e3,G=Object.assign(V(o({__name:`timeline`,props:{events:{},videoSrc:{default:null},recordingStartedAt:{default:null},resumable:{type:Boolean,default:!1}},emits:[`resume`],setup(e,{emit:t}){let r=t,i=h(null),o=h(0),u=h(null),m=h(!1),y,x,S={navigate:`i-ic-round-public`,click:`i-ic-round-ads-click`,fill:`i-ic-round-edit`,submit:`i-ic-round-send`,hover:`i-ic-round-mouse`,assert:`i-ic-round-check-circle`};function C(t){return!e.recordingStartedAt||!t.timestamp?0:Math.max(0,(t.timestamp-e.recordingStartedAt)/1e3)}let w=d(()=>{let t=-1;return e.events.forEach((e,n)=>{C(e)<=o.value&&(t=n)}),t});function T(e){if(!i.value)return;let t=C(e);i.value.currentTime=t,o.value=t}function E(){clearTimeout(y),clearTimeout(x),u.value=null,m.value=!1}function O(e){if(u.value===e){if(!m.value)return;E(),r(`resume`,e);return}E(),u.value=e,y=setTimeout(()=>{m.value=!0},Me),x=setTimeout(E,Ne)}let A=d(()=>u.value===null?0:e.events.length-u.value);return p(E),(t,r)=>{let d=R;return n(),c(`div`,{class:`grid grid-cols-1 gap-6 lg:grid-cols-5`,onKeydown:k(E,[`esc`])},[e.videoSrc?(n(),c(`video`,{key:0,ref_key:`videoEl`,ref:i,"data-testid":`revisao-video`,src:e.videoSrc,controls:``,class:`w-full self-start rounded-lg lg:sticky lg:top-0 lg:col-span-3`,onTimeupdate:r[0]||=e=>o.value=e.target.currentTime},null,40,Ce)):a(``,!0),f(`div`,{class:D(e.videoSrc?`lg:col-span-2`:`lg:col-span-5`)},[r[1]||=f(`p`,{class:`mb-3 font-semibold`},` Timeline dos eventos `,-1),f(`ol`,we,[(n(!0),c(g,null,l(e.events,(t,r)=>(n(),c(`li`,{key:r,"data-testid":`revisao-evento`,"data-current":r===v(w)?`true`:`false`,"data-dropped":v(u)!==null&&r>=v(u)?`true`:`false`,class:D([`group relative flex cursor-pointer items-stretch gap-3 transition-opacity`,v(u)!==null&&r>=v(u)?`opacity-50`:``]),onClick:e=>T(t)},[e.resumable&&r>0?(n(),c(`button`,{key:0,type:`button`,"data-testid":`revisao-retomar`,"data-armed":v(u)===r?`true`:`false`,class:D([`absolute -top-5 -right-1.5 -left-1.5 z-10 flex h-4 items-center gap-2 opacity-0 transition-opacity focus-visible:opacity-100 group-hover:opacity-100`,v(u)===r?`opacity-100!`:``]),"aria-label":v(u)===r?`Confirmar a retomada deste passo, descartando ${v(A)}`:`Retomar a gravação deste passo`,onClick:j(e=>O(r),[`stop`])},[f(`span`,{class:D([`h-px flex-1 rounded-full`,v(u)===r?`bg-error`:`bg-primary`])},null,2),f(`span`,{class:D([`rounded-full px-2 py-0.5 text-[10px] leading-none font-medium tracking-wide uppercase`,v(u)===r?`bg-error text-inverted`:`bg-default text-primary`])},[v(u)===r?v(m)?(n(),c(g,{key:1},[s(`clique de novo · descarta `+b(v(A)),1)],64)):(n(),c(g,{key:2},[s(`aguarde…`)],64)):(n(),c(g,{key:0},[s(`retomar daqui`)],64))],2),f(`span`,De,[v(u)===r?(n(),c(`span`,Oe)):a(``,!0)])],10,Ee)):a(``,!0),f(`div`,ke,[_(d,{name:S[t.type]??`i-ic-round-help-outline`,class:D([`size-5 shrink-0 transition-colors`,r<=v(w)?`text-primary`:`text-muted`])},null,8,[`name`,`class`]),r<e.events.length-1?(n(),c(`span`,{key:0,class:D([`w-px grow transition-colors`,r<v(w)?`bg-primary`:`bg-accented`])},null,2)):a(``,!0)]),f(`div`,Ae,[f(`p`,{class:D([`truncate text-sm transition-colors group-hover:text-highlighted`,[r===v(w)?`font-semibold text-primary`:`text-default`,v(u)!==null&&r>=v(u)?`line-through decoration-dimmed`:``]])},b(v(Se)(t)),3),e.recordingStartedAt?(n(),c(`p`,je,b(C(t).toFixed(1))+`s `,1)):a(``,!0)])],10,Te))),128))])],2)],32)}}}),[[`__scopeId`,`data-v-46efcf33`]]),{__name:`ScenarioReviewTimeline`}),K=e(t(((e,t)=>{var n=function(e){var t=/(?:^|\s)lang(?:uage)?-([\w-]+)(?=\s|$)/i,n=0,r={},i={manual:e.Prism&&e.Prism.manual,disableWorkerMessageHandler:e.Prism&&e.Prism.disableWorkerMessageHandler,util:{encode:function e(t){return t instanceof a?new a(t.type,e(t.content),t.alias):Array.isArray(t)?t.map(e):t.replace(/&/g,`&`).replace(/</g,`<`).replace(/\u00a0/g,` `)},type:function(e){return Object.prototype.toString.call(e).slice(8,-1)},objId:function(e){return e.__id||Object.defineProperty(e,"__id",{value:++n}),e.__id},clone:function e(t,n){n||={};var r,a;switch(i.util.type(t)){case`Object`:if(a=i.util.objId(t),n[a])return n[a];for(var o in r={},n[a]=r,t)t.hasOwnProperty(o)&&(r[o]=e(t[o],n));return r;case`Array`:return a=i.util.objId(t),n[a]?n[a]:(r=[],n[a]=r,t.forEach(function(t,i){r[i]=e(t,n)}),r);default:return t}},getLanguage:function(e){for(;e;){var n=t.exec(e.className);if(n)return n[1].toLowerCase();e=e.parentElement}return`none`},setLanguage:function(e,n){e.className=e.className.replace(RegExp(t,`gi`),``),e.classList.add(`language-`+n)},currentScript:function(){if(typeof document>`u`)return null;if(document.currentScript&&document.currentScript.tagName===`SCRIPT`)return document.currentScript;try{throw Error()}catch(r){var e=(/at [^(\r\n]*\((.*):[^:]+:[^:]+\)$/i.exec(r.stack)||[])[1];if(e){var t=document.getElementsByTagName(`script`);for(var n in t)if(t[n].src==e)return t[n]}return null}},isActive:function(e,t,n){for(var r=`no-`+t;e;){var i=e.classList;if(i.contains(t))return!0;if(i.contains(r))return!1;e=e.parentElement}return!!n}},languages:{plain:r,plaintext:r,text:r,txt:r,extend:function(e,t){var n=i.util.clone(i.languages[e]);for(var r in t)n[r]=t[r];return n},insertBefore:function(e,t,n,r){r||=i.languages;var a=r[e],o={};for(var s in a)if(a.hasOwnProperty(s)){if(s==t)for(var c in n)n.hasOwnProperty(c)&&(o[c]=n[c]);n.hasOwnProperty(s)||(o[s]=a[s])}var l=r[e];return r[e]=o,i.languages.DFS(i.languages,function(t,n){n===l&&t!=e&&(this[t]=o)}),o},DFS:function e(t,n,r,a){a||={};var o=i.util.objId;for(var s in t)if(t.hasOwnProperty(s)){n.call(t,s,t[s],r||s);var c=t[s],l=i.util.type(c);l===`Object`&&!a[o(c)]?(a[o(c)]=!0,e(c,n,null,a)):l===`Array`&&!a[o(c)]&&(a[o(c)]=!0,e(c,n,s,a))}}},plugins:{},highlightAll:function(e,t){i.highlightAllUnder(document,e,t)},highlightAllUnder:function(e,t,n){var r={callback:n,container:e,selector:`code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code`};i.hooks.run(`before-highlightall`,r),r.elements=Array.prototype.slice.apply(r.container.querySelectorAll(r.selector)),i.hooks.run(`before-all-elements-highlight`,r);for(var a=0,o;o=r.elements[a++];)i.highlightElement(o,t===!0,r.callback)},highlightElement:function(t,n,r){var a=i.util.getLanguage(t),o=i.languages[a];i.util.setLanguage(t,a);var s=t.parentElement;s&&s.nodeName.toLowerCase()===`pre`&&i.util.setLanguage(s,a);var c={element:t,language:a,grammar:o,code:t.textContent};function l(e){c.highlightedCode=e,i.hooks.run(`before-insert`,c),c.element.innerHTML=c.highlightedCode,i.hooks.run(`after-highlight`,c),i.hooks.run(`complete`,c),r&&r.call(c.element)}if(i.hooks.run(`before-sanity-check`,c),s=c.element.parentElement,s&&s.nodeName.toLowerCase()===`pre`&&!s.hasAttribute(`tabindex`)&&s.setAttribute(`tabindex`,`0`),!c.code){i.hooks.run(`complete`,c),r&&r.call(c.element);return}if(i.hooks.run(`before-highlight`,c),!c.grammar){l(i.util.encode(c.code));return}if(n&&e.Worker){var u=new Worker(i.filename);u.onmessage=function(e){l(e.data)},u.postMessage(JSON.stringify({language:c.language,code:c.code,immediateClose:!0}))}else l(i.highlight(c.code,c.grammar,c.language))},highlight:function(e,t,n){var r={code:e,grammar:t,language:n};if(i.hooks.run(`before-tokenize`,r),!r.grammar)throw Error(`The language "`+r.language+`" has no grammar.`);return r.tokens=i.tokenize(r.code,r.grammar),i.hooks.run(`after-tokenize`,r),a.stringify(i.util.encode(r.tokens),r.language)},tokenize:function(e,t){var n=t.rest;if(n){for(var r in n)t[r]=n[r];delete t.rest}var i=new c;return l(i,i.head,e),s(e,i,t,i.head,0),d(i)},hooks:{all:{},add:function(e,t){var n=i.hooks.all;n[e]=n[e]||[],n[e].push(t)},run:function(e,t){var n=i.hooks.all[e];if(!(!n||!n.length))for(var r=0,a;a=n[r++];)a(t)}},Token:a};e.Prism=i;function a(e,t,n,r){this.type=e,this.content=t,this.alias=n,this.length=(r||``).length|0}a.stringify=function e(t,n){if(typeof t==`string`)return t;if(Array.isArray(t)){var r=``;return t.forEach(function(t){r+=e(t,n)}),r}var a={type:t.type,content:e(t.content,n),tag:`span`,classes:[`token`,t.type],attributes:{},language:n},o=t.alias;o&&(Array.isArray(o)?Array.prototype.push.apply(a.classes,o):a.classes.push(o)),i.hooks.run(`wrap`,a);var s=``;for(var c in a.attributes)s+=` `+c+`="`+(a.attributes[c]||``).replace(/"/g,`"`)+`"`;return`<`+a.tag+` class="`+a.classes.join(` `)+`"`+s+`>`+a.content+`</`+a.tag+`>`};function o(e,t,n,r){e.lastIndex=t;var i=e.exec(n);if(i&&r&&i[1]){var a=i[1].length;i.index+=a,i[0]=i[0].slice(a)}return i}function s(e,t,n,r,c,d){for(var f in n)if(!(!n.hasOwnProperty(f)||!n[f])){var p=n[f];p=Array.isArray(p)?p:[p];for(var m=0;m<p.length;++m){if(d&&d.cause==f+`,`+m)return;var h=p[m],g=h.inside,_=!!h.lookbehind,v=!!h.greedy,y=h.alias;if(v&&!h.pattern.global){var b=h.pattern.toString().match(/[imsuy]*$/)[0];h.pattern=RegExp(h.pattern.source,b+`g`)}for(var x=h.pattern||h,S=r.next,C=c;S!==t.tail&&!(d&&C>=d.reach);C+=S.value.length,S=S.next){var w=S.value;if(t.length>e.length)return;if(!(w instanceof a)){var T=1,E;if(v){if(E=o(x,C,e,_),!E||E.index>=e.length)break;var D=E.index,O=E.index+E[0].length,k=C;for(k+=S.value.length;D>=k;)S=S.next,k+=S.value.length;if(k-=S.value.length,C=k,S.value instanceof a)continue;for(var A=S;A!==t.tail&&(k<O||typeof A.value==`string`);A=A.next)T++,k+=A.value.length;T--,w=e.slice(C,k),E.index-=C}else if(E=o(x,0,w,_),!E)continue;var D=E.index,j=E[0],M=w.slice(0,D),N=w.slice(D+j.length),P=C+w.length;d&&P>d.reach&&(d.reach=P);var F=S.prev;M&&(F=l(t,F,M),C+=M.length),u(t,F,T);var I=new a(f,g?i.tokenize(j,g):j,y,j);if(S=l(t,F,I),N&&l(t,S,N),T>1){var L={cause:f+`,`+m,reach:P};s(e,t,n,S.prev,C,L),d&&L.reach>d.reach&&(d.reach=L.reach)}}}}}}function c(){var e={value:null,prev:null,next:null},t={value:null,prev:e,next:null};e.next=t,this.head=e,this.tail=t,this.length=0}function l(e,t,n){var r=t.next,i={value:n,prev:t,next:r};return t.next=i,r.prev=i,e.length++,i}function u(e,t,n){for(var r=t.next,i=0;i<n&&r!==e.tail;i++)r=r.next;t.next=r,r.prev=t,e.length-=i}function d(e){for(var t=[],n=e.head.next;n!==e.tail;)t.push(n.value),n=n.next;return t}if(!e.document)return e.addEventListener&&(i.disableWorkerMessageHandler||e.addEventListener(`message`,function(t){var n=JSON.parse(t.data),r=n.language,a=n.code,o=n.immediateClose;e.postMessage(i.highlight(a,i.languages[r],r)),o&&e.close()},!1)),i;var f=i.util.currentScript();f&&(i.filename=f.src,f.hasAttribute(`data-manual`)&&(i.manual=!0));function p(){i.manual||i.highlightAll()}if(!i.manual){var m=document.readyState;m===`loading`||m===`interactive`&&f&&f.defer?document.addEventListener(`DOMContentLoaded`,p):window.requestAnimationFrame?window.requestAnimationFrame(p):window.setTimeout(p,16)}return i}(typeof window<`u`?window:typeof WorkerGlobalScope<`u`&&self instanceof WorkerGlobalScope?self:{});t!==void 0&&t.exports&&(t.exports=n),typeof global<`u`&&(global.Prism=n),n.languages.markup={comment:{pattern:/<!--(?:(?!<!--)[\s\S])*?-->/,greedy:!0},prolog:{pattern:/<\?[\s\S]+?\?>/,greedy:!0},doctype:{pattern:/<!DOCTYPE(?:[^>"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(^[^\[]*\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^<!|>$|[[\]]/,"doctype-tag":/^DOCTYPE/i,name:/[^\s<>'"]+/}},cdata:{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,greedy:!0},tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"special-attr":[],"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:`attr-equals`},{pattern:/^(\s*)["']|["']$/,lookbehind:!0}]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:`named-entity`},/&#x?[\da-f]{1,8};/i]},n.languages.markup.tag.inside[`attr-value`].inside.entity=n.languages.markup.entity,n.languages.markup.doctype.inside[`internal-subset`].inside=n.languages.markup,n.hooks.add(`wrap`,function(e){e.type===`entity`&&(e.attributes.title=e.content.replace(/&/,`&`))}),Object.defineProperty(n.languages.markup.tag,"addInlined",{value:function(e,t){var r={};r[`language-`+t]={pattern:/(^<!\[CDATA\[)[\s\S]+?(?=\]\]>$)/i,lookbehind:!0,inside:n.languages[t]},r.cdata=/^<!\[CDATA\[|\]\]>$/i;var i={"included-cdata":{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,inside:r}};i[`language-`+t]={pattern:/[\s\S]+/,inside:n.languages[t]};var a={};a[e]={pattern:RegExp(`(<__[^>]*>)(?:<!\\[CDATA\\[(?:[^\\]]|\\](?!\\]>))*\\]\\]>|(?!<!\\[CDATA\\[)[\\s\\S])*?(?=<\\/__>)`.replace(/__/g,function(){return e}),`i`),lookbehind:!0,greedy:!0,inside:i},n.languages.insertBefore(`markup`,`cdata`,a)}}),Object.defineProperty(n.languages.markup.tag,"addAttribute",{value:function(e,t){n.languages.markup.tag.inside[`special-attr`].push({pattern:RegExp(`(^|["'\\s])(?:`+e+`)\\s*=\\s*(?:"[^"]*"|'[^']*'|[^\\s'">=]+(?=[\\s>]))`,`i`),lookbehind:!0,inside:{"attr-name":/^[^\s=]+/,"attr-value":{pattern:/=[\s\S]+/,inside:{value:{pattern:/(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/,lookbehind:!0,alias:[t,`language-`+t],inside:n.languages[t]},punctuation:[{pattern:/^=/,alias:`attr-equals`},/"|'/]}}}})}}),n.languages.html=n.languages.markup,n.languages.mathml=n.languages.markup,n.languages.svg=n.languages.markup,n.languages.xml=n.languages.extend(`markup`,{}),n.languages.ssml=n.languages.xml,n.languages.atom=n.languages.xml,n.languages.rss=n.languages.xml,(function(e){var t=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/;e.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:RegExp(`@[\\w-](?:[^;{\\s"']|\\s+(?!\\s)|`+t.source+`)*?(?:;|(?=\\s*\\{))`),inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:`selector`},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp(`\\burl\\((?:`+t.source+`|(?:[^\\\\\\r\\n()"']|\\\\[\\s\\S])*)\\)`,`i`),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp(`^`+t.source+`$`),alias:`url`}}},selector:{pattern:RegExp(`(^|[{}\\s])[^{}\\s](?:[^{};"'\\s]|\\s+(?![\\s{])|`+t.source+`)*(?=\\s*\\{)`),lookbehind:!0},string:{pattern:t,greedy:!0},property:{pattern:/(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,lookbehind:!0},important:/!important\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,lookbehind:!0},punctuation:/[(){};:,]/},e.languages.css.atrule.inside.rest=e.languages.css;var n=e.languages.markup;n&&(n.tag.addInlined(`style`,`css`),n.tag.addAttribute(`style`,`css`))})(n),n.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|trait)\s+|\bcatch\s+\()[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\b/,boolean:/\b(?:false|true)\b/,function:/\b\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/},n.languages.javascript=n.languages.extend(`clike`,{"class-name":[n.languages.clike[`class-name`],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:constructor|prototype))/,lookbehind:!0}],keyword:[{pattern:/((?:^|\})\s*)catch\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:{pattern:RegExp(`(^|[^\\w$])(?:NaN|Infinity|0[bB][01]+(?:_[01]+)*n?|0[oO][0-7]+(?:_[0-7]+)*n?|0[xX][\\dA-Fa-f]+(?:_[\\dA-Fa-f]+)*n?|\\d+(?:_\\d+)*n|(?:\\d+(?:_\\d+)*(?:\\.(?:\\d+(?:_\\d+)*)?)?|\\.\\d+(?:_\\d+)*)(?:[Ee][+-]?\\d+(?:_\\d+)*)?)(?![\\w$])`),lookbehind:!0},operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/}),n.languages.javascript[`class-name`][0].pattern=/(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/,n.languages.insertBefore(`javascript`,`keyword`,{regex:{pattern:RegExp(`((?:^|[^$\\w\\xA0-\\uFFFF."'\\])\\s]|\\b(?:return|yield))\\s*)\\/(?:(?:\\[(?:[^\\]\\\\\\r\\n]|\\\\.)*\\]|\\\\.|[^/\\\\\\[\\r\\n])+\\/[dgimyus]{0,7}|(?:\\[(?:[^[\\]\\\\\\r\\n]|\\\\.|\\[(?:[^[\\]\\\\\\r\\n]|\\\\.|\\[(?:[^[\\]\\\\\\r\\n]|\\\\.)*\\])*\\])*\\]|\\\\.|[^/\\\\\\[\\r\\n])+\\/[dgimyus]{0,7}v[dgimyus]{0,7})(?=(?:\\s|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/)*(?:$|[\\r\\n,.;:})\\]]|\\/\\/))`),lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:`language-regex`,inside:n.languages.regex},"regex-delimiter":/^\/|\/$/,"regex-flags":/^[a-z]+$/}},"function-variable":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,alias:`function`},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:!0,inside:n.languages.javascript},{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,lookbehind:!0,inside:n.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:!0,inside:n.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:!0,inside:n.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),n.languages.insertBefore(`javascript`,`string`,{hashbang:{pattern:/^#!.*/,greedy:!0,alias:`comment`},"template-string":{pattern:/`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:`string`},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:`punctuation`},rest:n.languages.javascript}},string:/[\s\S]+/}},"string-property":{pattern:/((?:^|[,{])[ \t]*)(["'])(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2(?=\s*:)/m,lookbehind:!0,greedy:!0,alias:`property`}}),n.languages.insertBefore(`javascript`,`operator`,{"literal-property":{pattern:/((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m,lookbehind:!0,alias:`property`}}),n.languages.markup&&(n.languages.markup.tag.addInlined(`script`,`javascript`),n.languages.markup.tag.addAttribute(`on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)`,`javascript`)),n.languages.js=n.languages.javascript,(function(){if(n===void 0||typeof document>`u`)return;Element.prototype.matches||(Element.prototype.matches=Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector);var e=`Loading…`,t=function(e,t){return`✖ Error `+e+` while fetching file: `+t},r=`✖ Error: File does not exist or is empty`,i={js:`javascript`,py:`python`,rb:`ruby`,ps1:`powershell`,psm1:`powershell`,sh:`bash`,bat:`batch`,h:`c`,tex:`latex`},a=`data-src-status`,o=`loading`,s=`loaded`,c=`failed`,l=`pre[data-src]:not([`+a+`="`+s+`"]):not([`+a+`="`+o+`"])`;function u(e,n,i){var a=new XMLHttpRequest;a.open(`GET`,e,!0),a.onreadystatechange=function(){a.readyState==4&&(a.status<400&&a.responseText?n(a.responseText):a.status>=400?i(t(a.status,a.statusText)):i(r))},a.send(null)}function d(e){var t=/^\s*(\d+)\s*(?:(,)\s*(?:(\d+)\s*)?)?$/.exec(e||``);if(t){var n=Number(t[1]),r=t[2],i=t[3];return r?i?[n,Number(i)]:[n,void 0]:[n,n]}}n.hooks.add(`before-highlightall`,function(e){e.selector+=`, `+l}),n.hooks.add(`before-sanity-check`,function(t){var r=t.element;if(r.matches(l)){t.code=``,r.setAttribute(a,o);var f=r.appendChild(document.createElement(`CODE`));f.textContent=e;var p=r.getAttribute(`data-src`),m=t.language;if(m===`none`){var h=(/\.(\w+)$/.exec(p)||[,`none`])[1];m=i[h]||h}n.util.setLanguage(f,m),n.util.setLanguage(r,m);var g=n.plugins.autoloader;g&&g.loadLanguages(m),u(p,function(e){r.setAttribute(a,s);var t=d(r.getAttribute(`data-range`));if(t){var i=e.split(/\r\n?|\n/g),o=t[0],c=t[1]==null?i.length:t[1];o<0&&(o+=i.length),o=Math.max(0,Math.min(o-1,i.length)),c<0&&(c+=i.length),c=Math.max(0,Math.min(c,i.length)),e=i.slice(o,c).join(`
|
|
2
|
+
`),r.hasAttribute(`data-start`)||r.setAttribute(`data-start`,String(o+1))}f.textContent=e,n.highlightElement(f)},function(e){r.setAttribute(a,c),f.textContent=e})}}),n.plugins.fileHighlight={highlight:function(e){for(var t=(e||document).querySelectorAll(l),r=0,i;i=t[r++];)n.highlightElement(i)}};var f=!1;n.fileHighlight=function(){f||=(console.warn("Prism.fileHighlight is deprecated. Use `Prism.plugins.fileHighlight.highlight` instead."),!0),n.plugins.fileHighlight.highlight.apply(this,arguments)}})()}))(),1);(function(e){e.languages.typescript=e.languages.extend(`javascript`,{"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|type)\s+)(?!keyof\b)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?:\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>)?/,lookbehind:!0,greedy:!0,inside:null},builtin:/\b(?:Array|Function|Promise|any|boolean|console|never|number|string|symbol|unknown)\b/}),e.languages.typescript.keyword.push(/\b(?:abstract|declare|is|keyof|readonly|require)\b/,/\b(?:asserts|infer|interface|module|namespace|type)\b(?=\s*(?:[{_$a-zA-Z\xA0-\uFFFF]|$))/,/\btype\b(?=\s*(?:[\{*]|$))/),delete e.languages.typescript.parameter,delete e.languages.typescript[`literal-property`];var t=e.languages.extend(`typescript`,{});delete t[`class-name`],e.languages.typescript[`class-name`].inside=t,e.languages.insertBefore(`typescript`,`function`,{decorator:{pattern:/@[$\w\xA0-\uFFFF]+/,inside:{at:{pattern:/^@/,alias:`operator`},function:/^[\s\S]+/}},"generic-function":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>(?=\s*\()/,greedy:!0,inside:{function:/^#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/,generic:{pattern:/<[\s\S]+/,alias:`class-name`,inside:t}}}}),e.languages.ts=e.languages.typescript})(Prism),(function(e){var t=`(?:\\r?\\n|\\r)[ \\t]*\\|.+\\|(?:(?!\\|).)*`;e.languages.gherkin={pystring:{pattern:/("""|''')[\s\S]+?\1/,alias:`string`},comment:{pattern:/(^[ \t]*)#.*/m,lookbehind:!0},tag:{pattern:/(^[ \t]*)@\S*/m,lookbehind:!0},feature:{pattern:/((?:^|\r?\n|\r)[ \t]*)(?:Ability|Ahoy matey!|Arwedd|Aspekt|Besigheid Behoefte|Business Need|Caracteristica|Característica|Egenskab|Egenskap|Eiginleiki|Feature|Fīča|Fitur|Fonctionnalité|Fonksyonalite|Funcionalidade|Funcionalitat|Functionalitate|Funcţionalitate|Funcționalitate|Functionaliteit|Fungsi|Funkcia|Funkcija|Funkcionalitāte|Funkcionalnost|Funkcja|Funksie|Funktionalität|Funktionalitéit|Funzionalità|Hwaet|Hwæt|Jellemző|Karakteristik|Lastnost|Mak|Mogucnost|laH|Mogućnost|Moznosti|Možnosti|OH HAI|Omadus|Ominaisuus|Osobina|Özellik|Potrzeba biznesowa|perbogh|poQbogh malja'|Požadavek|Požiadavka|Pretty much|Qap|Qu'meH 'ut|Savybė|Tính năng|Trajto|Vermoë|Vlastnosť|Właściwość|Značilnost|Δυνατότητα|Λειτουργία|Могућност|Мөмкинлек|Особина|Свойство|Үзенчәлеклелек|Функционал|Функционалност|Функция|Функціонал|תכונה|خاصية|خصوصیت|صلاحیت|کاروبار کی ضرورت|وِیژگی|रूप लेख|ਖਾਸੀਅਤ|ਨਕਸ਼ ਨੁਹਾਰ|ਮੁਹਾਂਦਰਾ|గుణము|ಹೆಚ್ಚಳ|ความต้องการทางธุรกิจ|ความสามารถ|โครงหลัก|기능|フィーチャ|功能|機能):(?:[^:\r\n]+(?:\r?\n|\r|$))*/,lookbehind:!0,inside:{important:{pattern:/(:)[^\r\n]+/,lookbehind:!0},keyword:/[^:\r\n]+:/}},scenario:{pattern:/(^[ \t]*)(?:Abstract Scenario|Abstrakt Scenario|Achtergrond|Aer|Ær|Agtergrond|All y'all|Antecedentes|Antecedents|Atburðarás|Atburðarásir|Awww, look mate|B4|Background|Baggrund|Bakgrund|Bakgrunn|Bakgrunnur|Beispiele|Beispiller|Bối cảnh|Cefndir|Cenario|Cenário|Cenario de Fundo|Cenário de Fundo|Cenarios|Cenários|Contesto|Context|Contexte|Contexto|Conto|Contoh|Contone|Dæmi|Dasar|Dead men tell no tales|Delineacao do Cenario|Delineação do Cenário|Dis is what went down|Dữ liệu|Dyagram Senaryo|Dyagram senaryo|Egzanp|Ejemplos|Eksempler|Ekzemploj|Enghreifftiau|Esbozo do escenario|Escenari|Escenario|Esempi|Esquema de l'escenari|Esquema del escenario|Esquema do Cenario|Esquema do Cenário|EXAMPLZ|Examples|Exempel|Exemple|Exemples|Exemplos|First off|Fono|Forgatókönyv|Forgatókönyv vázlat|Fundo|Geçmiş|Grundlage|Hannergrond|ghantoH|Háttér|Heave to|Istorik|Juhtumid|Keadaan|Khung kịch bản|Khung tình huống|Kịch bản|Koncept|Konsep skenario|Kontèks|Kontekst|Kontekstas|Konteksts|Kontext|Konturo de la scenaro|Latar Belakang|lut chovnatlh|lut|lutmey|Lýsing Atburðarásar|Lýsing Dæma|MISHUN SRSLY|MISHUN|Menggariskan Senario|mo'|Náčrt Scenára|Náčrt Scénáře|Náčrt Scenáru|Oris scenarija|Örnekler|Osnova|Osnova Scenára|Osnova scénáře|Osnutek|Ozadje|Paraugs|Pavyzdžiai|Példák|Piemēri|Plan du scénario|Plan du Scénario|Plan Senaryo|Plan senaryo|Plang vum Szenario|Pozadí|Pozadie|Pozadina|Príklady|Příklady|Primer|Primeri|Primjeri|Przykłady|Raamstsenaarium|Reckon it's like|Rerefons|Scenár|Scénář|Scenarie|Scenarij|Scenarijai|Scenarijaus šablonas|Scenariji|Scenārijs|Scenārijs pēc parauga|Scenarijus|Scenario|Scénario|Scenario Amlinellol|Scenario Outline|Scenario Template|Scenariomal|Scenariomall|Scenarios|Scenariu|Scenariusz|Scenaro|Schema dello scenario|Se ðe|Se the|Se þe|Senario|Senaryo Deskripsyon|Senaryo deskripsyon|Senaryo|Senaryo taslağı|Shiver me timbers|Situācija|Situai|Situasie Uiteensetting|Situasie|Skenario konsep|Skenario|Skica|Structura scenariu|Structură scenariu|Struktura scenarija|Stsenaarium|Swa hwaer swa|Swa|Swa hwær swa|Szablon scenariusza|Szenario|Szenariogrundriss|Tapaukset|Tapaus|Tapausaihio|Taust|Tausta|Template Keadaan|Template Senario|Template Situai|The thing of it is|Tình huống|Variantai|Voorbeelde|Voorbeelden|Wharrimean is|Yo-ho-ho|You'll wanna|Założenia|Παραδείγματα|Περιγραφή Σεναρίου|Σενάρια|Σενάριο|Υπόβαθρο|Кереш|Контекст|Концепт|Мисаллар|Мисоллар|Основа|Передумова|Позадина|Предистория|Предыстория|Приклади|Пример|Примери|Примеры|Рамка на сценарий|Скица|Структура сценарија|Структура сценария|Структура сценарію|Сценарий|Сценарий структураси|Сценарийның төзелеше|Сценарији|Сценарио|Сценарій|Тарих|Үрнәкләр|דוגמאות|רקע|תבנית תרחיש|תרחיש|الخلفية|الگوی سناریو|امثلة|پس منظر|زمینه|سناریو|سيناريو|سيناريو مخطط|مثالیں|منظر نامے کا خاکہ|منظرنامہ|نمونه ها|उदाहरण|परिदृश्य|परिदृश्य रूपरेखा|पृष्ठभूमि|ਉਦਾਹਰਨਾਂ|ਪਟਕਥਾ|ਪਟਕਥਾ ਢਾਂਚਾ|ਪਟਕਥਾ ਰੂਪ ਰੇਖਾ|ਪਿਛੋਕੜ|ఉదాహరణలు|కథనం|నేపథ్యం|సన్నివేశం|ಉದಾಹರಣೆಗಳು|ಕಥಾಸಾರಾಂಶ|ವಿವರಣೆ|ಹಿನ್ನೆಲೆ|โครงสร้างของเหตุการณ์|ชุดของตัวอย่าง|ชุดของเหตุการณ์|แนวคิด|สรุปเหตุการณ์|เหตุการณ์|배경|시나리오|시나리오 개요|예|サンプル|シナリオ|シナリオアウトライン|シナリオテンプレ|シナリオテンプレート|テンプレ|例|例子|剧本|剧本大纲|劇本|劇本大綱|场景|场景大纲|場景|場景大綱|背景):[^:\r\n]*/m,lookbehind:!0,inside:{important:{pattern:/(:)[^\r\n]*/,lookbehind:!0},keyword:/[^:\r\n]+:/}},"table-body":{pattern:RegExp(`(`+t+`)(?:`+t+`)+`),lookbehind:!0,inside:{outline:{pattern:/<[^>]+>/,alias:`variable`},td:{pattern:/\s*[^\s|][^|]*/,alias:`string`},punctuation:/\|/}},"table-head":{pattern:RegExp(t),inside:{th:{pattern:/\s*[^\s|][^|]*/,alias:`variable`},punctuation:/\|/}},atrule:{pattern:/(^[ \t]+)(?:'a|'ach|'ej|7|a|A také|A taktiež|A tiež|A zároveň|Aber|Ac|Adott|Akkor|Ak|Aleshores|Ale|Ali|Allora|Alors|Als|Ama|Amennyiben|Amikor|Ampak|an|AN|Ananging|And y'all|And|Angenommen|Anrhegedig a|An|Apabila|Atès|Atesa|Atunci|Avast!|Aye|A|awer|Bagi|Banjur|Bet|Biết|Blimey!|Buh|But at the end of the day I reckon|But y'all|But|BUT|Cal|Când|Cand|Cando|Ce|Cuando|Če|Ða ðe|Ða|Dadas|Dada|Dados|Dado|DaH ghu' bejlu'|dann|Dann|Dano|Dan|Dar|Dat fiind|Data|Date fiind|Date|Dati fiind|Dati|Daţi fiind|Dați fiind|DEN|Dato|De|Den youse gotta|Dengan|Diberi|Diyelim ki|Donada|Donat|Donitaĵo|Do|Dun|Duota|Ðurh|Eeldades|Ef|Eğer ki|Entao|Então|Entón|E|En|Entonces|Epi|És|Etant donnée|Etant donné|Et|Étant données|Étant donnée|Étant donné|Etant données|Etant donnés|Étant donnés|Fakat|Gangway!|Gdy|Gegeben seien|Gegeben sei|Gegeven|Gegewe|ghu' noblu'|Gitt|Given y'all|Given|Givet|Givun|Ha|Cho|I CAN HAZ|In|Ir|It's just unbelievable|I|Ja|Jeśli|Jeżeli|Kad|Kada|Kadar|Kai|Kaj|Když|Keď|Kemudian|Ketika|Khi|Kiedy|Ko|Kuid|Kui|Kun|Lan|latlh|Le sa a|Let go and haul|Le|Lè sa a|Lè|Logo|Lorsqu'<|Lorsque|mä|Maar|Mais|Mając|Ma|Majd|Maka|Manawa|Mas|Men|Menawa|Mutta|Nalika|Nalikaning|Nanging|Når|När|Nato|Nhưng|Niin|Njuk|O zaman|Och|Og|Oletetaan|Ond|Onda|Oraz|Pak|Pero|Però|Podano|Pokiaľ|Pokud|Potem|Potom|Privzeto|Pryd|Quan|Quand|Quando|qaSDI'|Så|Sed|Se|Siis|Sipoze ke|Sipoze Ke|Sipoze|Si|Şi|Și|Soit|Stel|Tada|Tad|Takrat|Tak|Tapi|Ter|Tetapi|Tha the|Tha|Then y'all|Then|Thì|Thurh|Toda|Too right|Un|Und|ugeholl|Và|vaj|Vendar|Ve|wann|Wanneer|WEN|Wenn|When y'all|When|Wtedy|Wun|Y'know|Yeah nah|Yna|Youse know like when|Youse know when youse got|Y|Za predpokladu|Za předpokladu|Zadan|Zadani|Zadano|Zadate|Zadato|Zakładając|Zaradi|Zatati|Þa þe|Þa|Þá|Þegar|Þurh|Αλλά|Δεδομένου|Και|Όταν|Τότε|А також|Агар|Але|Али|Аммо|А|Әгәр|Әйтик|Әмма|Бирок|Ва|Вә|Дадено|Дано|Допустим|Если|Задате|Задати|Задато|И|І|К тому же|Када|Кад|Когато|Когда|Коли|Ләкин|Лекин|Нәтиҗәдә|Нехай|Но|Онда|Припустимо, що|Припустимо|Пусть|Также|Та|Тогда|Тоді|То|Унда|Һәм|Якщо|אבל|אזי|אז|בהינתן|וגם|כאשר|آنگاه|اذاً|اگر|اما|اور|با فرض|بالفرض|بفرض|پھر|تب|ثم|جب|عندما|فرض کیا|لكن|لیکن|متى|هنگامی|و|अगर|और|कदा|किन्तु|चूंकि|जब|तथा|तदा|तब|परन्तु|पर|यदि|ਅਤੇ|ਜਦੋਂ|ਜਿਵੇਂ ਕਿ|ਜੇਕਰ|ਤਦ|ਪਰ|అప్పుడు|ఈ పరిస్థితిలో|కాని|చెప్పబడినది|మరియు|ಆದರೆ|ನಂತರ|ನೀಡಿದ|ಮತ್ತು|ಸ್ಥಿತಿಯನ್ನು|กำหนดให้|ดังนั้น|แต่|เมื่อ|และ|그러면<|그리고<|단<|만약<|만일<|먼저<|조건<|하지만<|かつ<|しかし<|ただし<|ならば<|もし<|並且<|但し<|但是<|假如<|假定<|假設<|假设<|前提<|同时<|同時<|并且<|当<|當<|而且<|那么<|那麼<)(?=[ \t])/m,lookbehind:!0},string:{pattern:/"(?:\\.|[^"\\\r\n])*"|'(?:\\.|[^'\\\r\n])*'/,inside:{outline:{pattern:/<[^>]+>/,alias:`variable`}}},outline:{pattern:/<[^>]+>/,alias:`variable`}}})(Prism);var Pe={class:`codefield relative overflow-hidden rounded-md bg-elevated font-mono text-sm/6`},Fe={"aria-hidden":`true`,class:`codefield-box pointer-events-none absolute inset-0 m-0 overflow-hidden`},Ie=[`data-testid`,`readonly`],q=Object.assign(V(o({__name:`codefield`,props:C({language:{},testid:{},readonly:{type:Boolean,default:!1}},{modelValue:{default:``},modelModifiers:{}}),emits:[`update:modelValue`],setup(e){let t=y(e,`modelValue`),r=h(null);function i(e){if(typeof e==`string`)return[e];if(Array.isArray(e))return e.flatMap(i);let t=Array.isArray(e.alias)?e.alias:[e.alias].filter(Boolean);return[E(`span`,{class:[`token`,e.type,...t]},i(e.content))]}let a=d(()=>[...K.default.tokenize(t.value,K.default.languages[e.language]),`
|
|
3
|
+
`]),s=o(()=>()=>E(`code`,null,i(a.value)));function l(){let e=r.value;e&&(e.style.height=`auto`,e.style.height=`${e.scrollHeight}px`)}function u(e){let n=r.value;if(!n)return;e.preventDefault();let{selectionStart:i,selectionEnd:a}=n;t.value=`${t.value.slice(0,i)} ${t.value.slice(a)}`,x(()=>n.setSelectionRange(i+2,i+2))}return w(t,()=>x(l)),O(l),(i,a)=>(n(),c(`div`,Pe,[f(`pre`,Fe,[_(v(s))]),S(f(`textarea`,{ref_key:`textarea`,ref:r,"onUpdate:modelValue":a[0]||=e=>t.value=e,"data-testid":e.testid,readonly:e.readonly,spellcheck:`false`,class:`codefield-box relative block w-full resize-none bg-transparent text-transparent caret-[var(--ui-text-highlighted)] outline-none`,onInput:l,onKeydown:k(u,[`tab`])},null,40,Ie),[[A,t.value]])]))}}),[[`__scopeId`,`data-v-3e187072`]]),{__name:`BaseCodefield`}),Le={class:`flex min-h-24 items-center justify-center text-center`},Re={class:`w-full text-lg text-muted break-words`},ze=Object.assign(o({__name:`confirm`,props:C({title:{},description:{default:``},confirmLabel:{default:`Confirmar`},confirmColor:{default:`primary`},confirmTestid:{default:`confirmar`},loading:{type:Boolean,default:!1}},{open:{type:Boolean,default:!1},openModifiers:{}}),emits:C([`confirm`],[`update:open`]),setup(e,{emit:t}){let r=y(e,`open`),i=t;return(t,a)=>{let o=L,c=F;return n(),m(c,{open:r.value,"onUpdate:open":a[2]||=e=>r.value=e,title:e.title},{body:T(()=>[f(`div`,Le,[f(`p`,Re,[u(t.$slots,`description`,{},()=>[s(b(e.description),1)])])])]),footer:T(()=>[_(o,{label:`Cancelar`,color:`neutral`,variant:`ghost`,"data-testid":`confirmar-cancelar`,onClick:a[0]||=e=>r.value=!1}),_(o,{label:e.confirmLabel,color:e.confirmColor,loading:e.loading,"data-testid":e.confirmTestid,onClick:a[1]||=e=>i(`confirm`)},null,8,[`label`,`color`,`loading`,`data-testid`])]),_:3},8,[`open`,`title`])}}}),{__name:`BaseConfirm`});function J(e){return e.normalize(`NFD`).replace(/\p{Diacritic}/gu,``).toLowerCase().replace(/[^a-z0-9]+/g,`-`).slice(0,80).replace(/^-+|-+$/g,``)}function Be(e){let t=e.spec.replace(/^tests\//,``).replace(/\.spec\.ts$/,``).split(`/`);return{title:e.title,path:t.at(-1),domain:t.length>1?t.slice(0,-1).join(`/`):``,tags:e.tags,gherkin:e.gherkin??``,playwright:e.playwright}}var Ve={class:`flex flex-col gap-5`},He={class:`grid grid-cols-1 gap-4 sm:grid-cols-2`},Y=Object.assign(o({__name:`contexts`,props:C({isAuth:{type:Boolean,default:!1},novo:{type:Boolean,default:!1}},{draft:{required:!0},draftModifiers:{}}),emits:[`update:draft`],setup(e){let t=y(e,`draft`);function r(e){return e.match(/@[\w-]+/g)??[]}function o(e){let t=e.split(`
|
|
4
|
+
`)[0]??``;return t.trim().startsWith(`@`)?r(t):[]}function s(e){let t=e.match(/tag:\s*\[([^\]]*)\]/);return t?r(t[1]):[]}function l(e,t){if(!e.trim())return e;let n=e.split(`
|
|
5
|
+
`);n[0]?.trim().startsWith(`@`)&&n.shift();let r=n.join(`
|
|
6
|
+
`);return t.length?`${t.join(` `)}\n${r}`:r}function u(e,t){if(!t.length)return e;let n=`tag: [${t.map(e=>`'${e}'`).join(`, `)}]`;return/tag:\s*\[[^\]]*\]/.test(e)?e.replace(/tag:\s*\[[^\]]*\]/,n):e.replace(/test\.describe\(\s*((["']).+?\2)\s*,\s*(?=\(|async)/,`test.describe($1, { ${n} }, `)}let p=!1;function h(e){p=!0,t.value={...t.value,tags:e,gherkin:l(t.value.gherkin,e),playwright:u(t.value.playwright,e)},x(()=>{p=!1})}let g=d({get:()=>t.value.tags.join(` `),set:e=>h(r(e))});return w(()=>t.value.gherkin,e=>{if(p)return;let n=o(e);n.length&&n.join(` `)!==t.value.tags.join(` `)&&h(n)}),w(()=>t.value.playwright,e=>{if(p)return;let n=s(e);n.length&&n.join(` `)!==t.value.tags.join(` `)&&h(n)}),w(()=>t.value.title,(n,r)=>{!e.novo||t.value.path!==J(r)||(t.value={...t.value,path:J(n)})}),(r,o)=>{let s=P,l=N,u=q;return n(),c(`div`,Ve,[f(`div`,He,[_(l,{label:`Título do cenário`},{default:T(()=>[_(s,{modelValue:t.value.title,"onUpdate:modelValue":o[0]||=e=>t.value.title=e,maxlength:v(120),"data-testid":`contexto-titulo`,class:`w-full`},null,8,[`modelValue`,`maxlength`])]),_:1}),e.isAuth?a(``,!0):(n(),m(l,{key:0,label:`Arquivo`,help:`Nome do .spec.ts / .feature`},{default:T(()=>[_(s,{modelValue:t.value.path,"onUpdate:modelValue":o[1]||=e=>t.value.path=e,maxlength:v(80),"data-testid":`contexto-path`,class:`w-full`},null,8,[`modelValue`,`maxlength`])]),_:1}))]),e.isAuth?a(``,!0):(n(),m(l,{key:0,label:`Domínio`,help:`Pasta onde o cenário será salvo (ex.: login, checkout)`},{default:T(()=>[_(s,{modelValue:t.value.domain,"onUpdate:modelValue":o[2]||=e=>t.value.domain=e,maxlength:v(80),"data-testid":`contexto-dominio`,class:`w-full`},null,8,[`modelValue`,`maxlength`])]),_:1})),e.isAuth?a(``,!0):(n(),m(l,{key:1,label:`Tags`,help:`Separadas por espaço (ex.: @read @criando)`},{default:T(()=>[_(s,{modelValue:v(g),"onUpdate:modelValue":o[3]||=e=>i(g)?g.value=e:null,"data-testid":`contexto-tags`,class:`w-full`},null,8,[`modelValue`])]),_:1})),_(l,{label:`Cenário (Gherkin)`},{default:T(()=>[_(u,{modelValue:t.value.gherkin,"onUpdate:modelValue":o[4]||=e=>t.value.gherkin=e,language:`gherkin`,testid:`contexto-cenario`},null,8,[`modelValue`])]),_:1}),_(l,{label:`Teste (Playwright)`},{default:T(()=>[_(u,{modelValue:t.value.playwright,"onUpdate:modelValue":o[5]||=e=>t.value.playwright=e,language:`typescript`,testid:`contexto-teste`},null,8,[`modelValue`])]),_:1})])}}}),{__name:`ScenarioReviewContexts`}),Ue={class:`flex flex-col items-center gap-6 py-10 text-center`},We={class:`text-lg font-mono font-medium text-highlighted`},Ge={class:`text-xs text-dimmed`},Ke=`!<>-_\\/[]{}—=+*^?#01`,qe=50,Je=1200,X=Object.assign(o({__name:`phrases`,props:{phrases:{},icon:{default:`i-line-md-coffee-half-empty-twotone-loop`},hint:{default:`Isso pode levar alguns segundos.`}},setup(e){let t=h(e.phrases[0]);function r(e){return e===` `?` `:Ke[Math.floor(Math.random()*20)]}function i(e){return new Promise(t=>setTimeout(t,e))}async function a(e){for(let n=e.length;n>=0;n--)t.value=e.slice(0,n)+e.slice(n).split(``).map(r).join(``),await i(qe)}async function o(e){for(let n=0;n<=e.length;n++)t.value=e.slice(0,n)+e.slice(n).split(``).map(r).join(``),await i(qe)}let s=!0;async function l(){let t=0;for(;s;){if(await i(Je),!s)return;let n=e.phrases[(t+1)%e.phrases.length];if(await a(e.phrases[t]),!s)return;await o(n),t=(t+1)%e.phrases.length}}return O(()=>{l()}),p(()=>{s=!1}),(r,i)=>{let a=R;return n(),c(`div`,Ue,[_(a,{name:e.icon,class:`size-20 text-highlighted/75`},null,8,[`name`]),f(`p`,We,b(v(t)),1),f(`p`,Ge,b(e.hint),1)])}}}),{__name:`BaseLoadingPhrases`}),Ye=Object.assign(o({__name:`loading`,props:{auth:{type:Boolean,default:!1}},setup(e){let t=[`Analisando os elementos da tela`,`Identificando os fluxos de navegação`,`Interpretando suas interações`,`Gerando os contextos do cenário`,`Escrevendo os passos em Gherkin`,`Traduzindo para o teste Playwright`,`Dando os retoques finais`],r=[`Analisando os eventos gravados`,`Identificando os campos de usuário e senha`,`Escrevendo o fluxo de autenticação`];return(i,a)=>{let o=X;return n(),m(o,{phrases:e.auth?r:t,"data-testid":e.auth?`auth-carregando`:`contexto-carregando`},null,8,[`phrases`,`data-testid`])}}}),{__name:`ScenarioReviewLoading`}),Xe=Object.assign(o({__name:`modal`,props:C({slug:{},isPublic:{type:Boolean,default:!1},scenario:{default:null}},{open:{type:Boolean,default:!1},openModifiers:{}}),emits:C([`generated`,`rerecord`,`resume`],[`update:open`]),setup(e,{emit:t}){let r=y(e,`open`),o=t,s=d(()=>e.scenario?.is_auth===!0),l=d(()=>e.scenario.spec.replace(/^tests\//,``).replace(/\.(spec|setup)\.ts$/,``)),{state:u,url:f}=re();function p(){return{title:``,tags:[],domain:``,path:``,gherkin:``,playwright:``}}let b=h(`review`),x=h(p()),S=h(null);w(r,e=>{e&&(b.value=`review`,x.value=p(),S.value=null)});let C=d(()=>b.value===`edit`?`Revise os contextos`:s.value?`Revise a gravação do login`:e.scenario?`Revise a gravação retomada`:`Revise seus eventos`),E=d(()=>s.value?`Gerar autenticação`:`Gerar cenário`),D=d(()=>u.value.events.filter(e=>e.type&&e.timestamp).sort((e,t)=>e.timestamp-t.timestamp)),O=h(!1),k=d(()=>{let e=D.value.find(e=>e.url);if(!e?.url)return null;try{return new URL(e.url).origin}catch{return null}}),A=d(()=>be(D.value));async function j(){try{let t=await I(`/api/projects/${e.slug}/auth/record`,{method:`POST`,body:{baseUrl:k.value,events:A.value}});r.value=!1,o(`generated`,t)}catch(e){console.error(`Falha ao gravar a autenticação:`,e),S.value=z(e,`Não foi possível gerar a autenticação a partir da gravação.`),b.value=`review`}}async function M(){if(!k.value){S.value=`Nenhuma navegação registrada na gravação.`;return}if(S.value=null,b.value=`loading`,s.value)return j();try{let t=await I(`/api/projects/${e.slug}/tests/draft`,{method:`POST`,body:{baseUrl:k.value,events:A.value,isPublic:e.isPublic}});x.value=e.scenario?{...t,title:e.scenario.title,path:l.value,domain:e.scenario.domain??``}:t,b.value=`edit`}catch(e){S.value=z(e,`Não foi possível gerar o cenário. Tente novamente.`),b.value=`review`}}async function N(){if(x.value){O.value=!0,S.value=null;try{let t=await I(e.scenario?`/api/projects/${e.slug}/scenarios/${l.value}`:`/api/projects/${e.slug}/tests`,{method:e.scenario?`PATCH`:`POST`,body:{...x.value,revision:e.scenario?.revision,events:A.value}});r.value=!1,o(`generated`,t)}catch(e){S.value=z(e,`Não foi possível salvar o cenário. Tente novamente.`)}finally{O.value=!1}}}function P(){r.value=!1,o(`rerecord`)}function R(e){r.value=!1,o(`resume`,D.value.slice(0,e))}return(t,o)=>{let l=Ye,d=H,p=Y,h=G,y=B,w=L,k=F;return n(),m(k,{open:r.value,"onUpdate:open":o[3]||=e=>r.value=e,title:v(C),dismissable:!1,loading:v(b)===`loading`,wide:``},{body:T(()=>[v(b)===`loading`?(n(),m(l,{key:0,auth:v(s)},null,8,[`auth`])):v(b)===`edit`?(n(),c(g,{key:1},[_(d,{warnings:v(x).warnings,slug:e.slug,class:`mb-4`},null,8,[`warnings`,`slug`]),_(p,{draft:v(x),"onUpdate:draft":o[0]||=e=>i(x)?x.value=e:null,novo:``},null,8,[`draft`])],64)):(n(),m(h,{key:2,events:v(D),"video-src":v(u).videoSessionId?`${v(f)}/recording/${v(u).videoSessionId}`:null,"recording-started-at":v(u).recordingStartedAt,resumable:``,onResume:R},null,8,[`events`,`video-src`,`recording-started-at`])),v(S)?(n(),m(y,{key:3,color:`error`,variant:`soft`,description:v(S),class:`mt-4`,"data-testid":`revisao-erro`},null,8,[`description`])):a(``,!0)]),footer:T(()=>[v(b)===`edit`?(n(),c(g,{key:0},[_(w,{label:`Cancelar`,color:`neutral`,variant:`ghost`,"data-testid":`contexto-cancelar`,onClick:o[1]||=e=>r.value=!1}),_(w,{label:`Enviar`,loading:v(O),"data-testid":`contexto-enviar`,onClick:N},null,8,[`loading`])],64)):(n(),c(g,{key:1},[_(w,{label:`Gravar novamente`,color:`neutral`,variant:`soft`,class:`mr-auto`,"data-testid":`revisao-regravar`,onClick:P}),_(w,{label:`Cancelar`,color:`neutral`,variant:`ghost`,"data-testid":`revisao-cancelar`,onClick:o[2]||=e=>r.value=!1}),_(w,{label:v(E),"data-testid":`revisao-gerar`,onClick:M},null,8,[`label`])],64))]),_:1},8,[`open`,`title`,`loading`])}}}),{__name:`ScenarioReviewModal`}),Ze=`O seletor veio de uma gravação antiga. Regravar o passo costuma resolver, porque a captura hoje prefere data-testid.`,Qe=`Confira a URL do ambiente ativo em Ambientes, e se o sistema está no ar.`,$e=`Peça um data-testid para esse elemento no sistema testado: é o único seletor que não depende de posição nem de estilo.`,et=`O elemento existe, então o seletor está certo. Falta o passo anterior que o revela, como abrir o modal ou a aba.`,tt=/^Locator:\s*(.+)$/m,nt=/^Timeout:\s*(\d+)ms$/m,rt=/element\(s\) not found/,it=/page\.goto: (net::[A-Z_]+) at (\S+)/,at=/strict mode violation: (.+?) resolved to (\d+) elements/,ot=/Test timeout of (\d+)ms exceeded/,st=/locator\.(\w+): Timeout (\d+)ms exceeded/,ct=/waiting for (.+)$/m,lt=/^Expected(?: string)?:\s*(".*")$/m,ut=/^Received(?: string)?:\s*(".*")$/m,dt={"net::ERR_NAME_NOT_RESOLVED":`o domínio não existe`,"net::ERR_CONNECTION_REFUSED":`nada está escutando nesse endereço`,"net::ERR_CONNECTION_TIMED_OUT":`a conexão expirou`,"net::ERR_CERT_AUTHORITY_INVALID":`o certificado não é confiável`,"net::ERR_INTERNET_DISCONNECTED":`a máquina está sem rede`},ft={click:`clicar em`,fill:`preencher`,check:`marcar`,uncheck:`desmarcar`,press:`digitar em`,hover:`passar o mouse por`,selectOption:`escolher a opção de`};function Z(e){return`${Number(e)/1e3}s`}function Q(e){return(e.match(/^(?:getBy\w+|locator)\(\s*(['"`])((?:\\.|(?!\1).)*)\1/)?.[2]??e).trim()}function pt(e){return(e.split(`
|
|
7
|
+
`).find(e=>e.trim())?.trim()??``).replace(/^(?:TimeoutError|Error):\s*/,``)}function mt(e){if(!e?.trim())return null;let t=e.match(it);if(t){let e=dt[t[1]]??`a navegação falhou`;return{summary:`O endereço ${t[2]} não respondeu: ${e}.`,hint:Qe}}let n=e.match(at);if(n)return{summary:`O seletor ${Q(n[1])} casou ${n[2]} elementos, então não identifica um só.`,hint:$e};let r=e.match(lt),i=e.match(ut),a=e.match(tt);if(r&&i)return{summary:`${a?Q(a[1]):`A página`} mostrava ${i[1]}, e o cenário esperava ${r[1]}.`,hint:null};let o=e.match(ot);if(o){let e=a?`, esperando por ${Q(a[1])}`:` e foi interrompido`;return{summary:`O cenário passou de ${Z(o[1])} no total${e}.`,hint:`O passo que estiver em vermelho na timeline é onde ele ficou preso.`}}let s=e.match(nt);if(a&&s){let t=Q(a[1]);return rt.test(e)?{summary:`Não achei ${t} na página depois de ${Z(s[1])}.`,hint:Ze}:{summary:`${t} está na página, mas continuou escondido por ${Z(s[1])}.`,hint:et}}let c=e.match(st);if(c){let t=ft[c[1]]??`usar (${c[1]})`,n=e.match(ct);return{summary:`Não consegui ${t} ${n?Q(n[1]):`o elemento`}: o elemento não ficou pronto em ${Z(c[2])}.`,hint:Ze}}return{summary:pt(e),hint:null}}var ht={key:0,class:`mt-1 text-sm`},gt={"data-testid":`execucao-step-erro`},_t={key:0,class:`mt-0.5 text-dimmed`,"data-testid":`execucao-step-dica`},vt={class:`mt-1`},yt={class:`mt-1 block whitespace-pre-wrap font-mono text-xs text-dimmed`,"data-testid":`execucao-step-erro-cru`},bt=Object.assign(o({__name:`failure`,props:{error:{}},setup(e){let t=d(()=>mt(e.error));return(r,i)=>v(t)?(n(),c(`div`,ht,[f(`p`,gt,[i[0]||=f(`span`,{class:`font-semibold text-error`},`Erro:`,-1),s(` `+b(v(t).summary),1)]),v(t).hint?(n(),c(`p`,_t,b(v(t).hint),1)):a(``,!0),f(`details`,vt,[i[1]||=f(`summary`,{class:`cursor-pointer text-xs text-dimmed`},` Mensagem do Playwright `,-1),f(`code`,yt,b(e.error),1)])])):a(``,!0)}}),{__name:`ScenarioTestRunFailure`}),xt={class:`flex flex-col`},St=[`data-status`],Ct={class:`flex flex-col items-center`},wt={key:0,class:`w-px grow min-h-4 -mb-4 bg-inverted/30`},Tt={class:`min-w-0`},Et={class:`text-base`,"data-testid":`execucao-step-titulo`},Dt=Object.assign(o({__name:`steps`,props:{steps:{default:()=>[]}},setup(e){let t={waiting:`i-ic-round-radio-button-unchecked`,running:`line-md:loading-twotone-loop`,success:`i-ic-round-check-circle`,failed:`i-ic-round-error`},r={waiting:`text-dimmed`,running:`text-neutral`,success:`text-success`,failed:`text-error`};return(i,o)=>{let s=R,u=bt;return n(),c(`ol`,xt,[(n(!0),c(g,null,l(e.steps,(i,o)=>(n(),c(`li`,{key:o,"data-testid":`execucao-step`,"data-status":i.status,class:`flex items-stretch gap-3 pb-4 last:pb-0`},[f(`div`,Ct,[_(s,{name:t[i.status],class:D([`size-6 shrink-0 transition-colors`,r[i.status]])},null,8,[`name`,`class`]),o<e.steps.length-1?(n(),c(`span`,wt)):a(``,!0)]),f(`div`,Tt,[f(`p`,Et,b(i.title),1),i.status===`failed`&&i.error?(n(),m(u,{key:0,error:i.error},null,8,[`error`])):a(``,!0)])],8,St))),128))])}}}),{__name:`ScenarioTestRunSteps`}),Ot={class:`flex w-full items-start justify-between gap-4`},kt={class:`flex flex-col pt-6 gap-2`},At={key:0,class:`text-xl font-bold`},jt={key:0,class:`dots`},Mt={class:`mt-2 text-xl font-bold`},Nt={class:`mt-6 shrink-0`},Pt={key:0,class:`mb-6 space-y-0.5 text-sm`,"data-testid":`execucao-detalhes`},Ft={class:`font-semibold`},It={key:0},Lt={key:1},Rt=[`src`],zt={class:`block whitespace-pre-wrap font-mono text-xs`},Bt={key:3,class:`mb-3 text-lg font-semibold`},Vt=Object.assign(V(o({__name:`modal`,props:C({running:{type:Boolean,default:!1},passed:{type:Boolean,default:!1},steps:{default:()=>[]},videoUrl:{default:null},projectName:{},scenarioName:{},branch:{default:null},testedAt:{default:null},playwright:{default:null},output:{default:null},kind:{default:`cenario`},runningTitle:{default:null}},{open:{type:Boolean,default:!1},openModifiers:{}}),emits:C([`fix`],[`update:open`]),setup(e,{emit:t}){let i=t,o=y(e,`open`),{configured:l}=ne(),u=d(()=>e.kind===`autenticacao`),p=d(()=>u.value?`Autenticação`:`Cenário`),h=d(()=>e.runningTitle??(u.value?`Testando autenticação...`:`Testando cenário...`)),x=d(()=>u.value?`Resultado da autenticação`:`Resultado do teste`),S=d(()=>e.steps.findIndex(e=>e.status===`failed`));function C(e){let t=e.target;t.currentTime=t.duration*.25}return(t,u)=>{let d=oe,y=L,w=te,E=X,O=B,k=Dt,A=q,j=F;return n(),m(j,{open:o.value,"onUpdate:open":u[2]||=e=>o.value=e,dismissable:!e.running,wide:``},r({header:T(()=>[f(`div`,Ot,[f(`div`,kt,[e.running?(n(),c(`p`,At,[s(b(v(h)),1),e.runningTitle?(n(),c(`span`,jt)):a(``,!0)])):(n(),c(g,{key:1},[_(d,{class:`self-start`,color:e.passed?`success`:`error`,icon:e.passed?`i-ic-round-check-circle`:`i-ic-round-error`,label:e.passed?`Sucesso`:`Falha`,"data-testid":`execucao-status`},null,8,[`color`,`icon`,`label`]),f(`p`,Mt,b(v(x)),1)],64))]),!e.running&&!e.passed&&v(S)!==-1?(n(),m(w,{key:0,text:v(ie),disabled:v(l),"delay-duration":0,arrow:``},{default:T(()=>[f(`span`,Nt,[_(y,{label:`Corrigir`,"trailing-icon":`i-ic-round-auto-awesome`,disabled:!v(l),class:D(v(l)?``:`pointer-events-none`),"data-testid":`execucao-corrigir`,onClick:u[0]||=e=>i(`fix`)},null,8,[`disabled`,`class`])])]),_:1},8,[`text`,`disabled`])):a(``,!0)])]),body:T(()=>[e.running&&e.steps.length===0?(n(),m(E,{key:0,phrases:[`Iniciando a execução`],"data-testid":`execucao-iniciando`})):(n(),c(g,{key:1},[e.running?a(``,!0):(n(),c(`div`,Pt,[f(`p`,null,[u[3]||=f(`span`,{class:`font-semibold`},`Projeto:`,-1),s(` `+b(e.projectName),1)]),f(`p`,null,[f(`span`,Ft,b(v(p))+`:`,1),s(` `+b(e.scenarioName),1)]),e.branch?(n(),c(`p`,It,[u[4]||=f(`span`,{class:`font-semibold`},`Branch:`,-1),s(` `+b(e.branch),1)])):a(``,!0),e.testedAt?(n(),c(`p`,Lt,[u[5]||=f(`span`,{class:`font-semibold`},`Testado em:`,-1),s(` `+b(e.testedAt),1)])):a(``,!0)])),e.videoUrl?(n(),c(`video`,{key:1,src:e.videoUrl,preload:`metadata`,controls:``,class:`mx-auto mb-6 w-3/4 rounded-lg bg-elevated`,"data-testid":`execucao-video`,onLoadedmetadata:C},null,40,Rt)):a(``,!0),e.output?(n(),m(O,{key:2,color:`error`,variant:`soft`,icon:`i-ic-round-error`,title:`A execução não chegou a começar`,class:`mb-6`,"data-testid":`execucao-saida`},{description:T(()=>[u[6]||=f(`p`,{class:`mb-2`},` O Playwright encerrou antes de rodar qualquer passo. Saída do runner: `,-1),f(`code`,zt,b(e.output),1)]),_:1})):a(``,!0),e.steps.length?(n(),c(`p`,Bt,` Timeline de eventos `)):a(``,!0),_(k,{steps:e.steps},null,8,[`steps`]),e.playwright?(n(),c(g,{key:4},[u[7]||=f(`p`,{class:`mt-6 mb-3 text-lg font-semibold`},` Código executado `,-1),_(A,{"model-value":e.playwright,language:`typescript`,readonly:``,testid:`execucao-playwright`},null,8,[`model-value`])],64)):a(``,!0)],64))]),_:2},[e.running?void 0:{name:`footer`,fn:T(()=>[_(y,{label:`Fechar`,color:`neutral`,variant:`ghost`,"data-testid":`execucao-fechar`,onClick:u[1]||=e=>o.value=!1})]),key:`0`}]),1032,[`open`,`dismissable`])}}}),[[`__scopeId`,`data-v-a772cb43`]]),{__name:`ScenarioTestRunModal`});function Ht(e){let t=ee(`git-sync-${e}`,()=>({status:`synced`,changed:!1})),n=h(!1),r=null;function i(){return r||(n.value=!0,r=I(`/api/projects/${e}/git/sync`,{method:`POST`}).then(e=>((e.status!==`unavailable`||t.value.status!==`conflict`)&&(t.value=e),e)).catch(()=>(t.value.status!==`conflict`&&(t.value={status:`unavailable`,changed:!1,reason:`network`}),null)).finally(()=>{n.value=!1,r=null}),r)}return{state:t,syncing:n,conflict:d(()=>t.value.status===`conflict`),unavailable:d(()=>t.value.status===`unavailable`),sync:i}}var Ut=`O repositório precisa de você: há conflito ou alteração sem commit. Abra o projeto no VS Code e resolva pelo console do git.`,Wt=`O projeto continua disponível, mas o repositório remoto não respondeu. Confira a rede ou as credenciais do Git; a sincronização tentará novamente na próxima ação.`,Gt={pending:`running`,success:`success`,failed:`failed`,skipped:`waiting`};function Kt(e){return`/runner/video?${new URLSearchParams({path:e})}`}function qt(e){return`/api/projects/${e}/report/`}function $(e){return e.toLocaleString(`pt-BR`,{dateStyle:`short`,timeStyle:`short`})}function Jt(e){let t=h([]),n=h([]),r=h(!1),i=h(!1),a=h(null),o=h(null),s=h(null),c=d(()=>n.value.map(e=>({...e,steps:t.value.map((e,t)=>({step:e,arrival:t})).filter(({step:t})=>t.testId===e.id).sort((e,t)=>(e.step.order??1/0)-(t.step.order??1/0)||e.arrival-t.arrival).map(({step:e})=>e)})));function l(){t.value=[],n.value=[],a.value=null,o.value=null,s.value=null,i.value=!1}function u(e,t){return!t.testId||!e.testId||e.testId===t.testId}function f(e,n){let r=[...t.value];n.forEach((t,n)=>{let i=r.findIndex(e=>e.title===t&&e.status===`waiting`&&!e.testId),a={testId:e,order:n,title:t,status:`waiting`};i===-1?r.push(a):r[i]=a}),t.value=r}function p({spec:c,grep:d},p){l(),r.value=!0;let m=new URLSearchParams({...c?{spec:c}:{},...d?{grep:d}:{}}),h=new EventSource(`/api/projects/${e()}/run-stream?${m}`);h.onmessage=e=>{let c=JSON.parse(e.data);if(c.event===`run:started`&&(t.value=(c.steps??[]).map(e=>({title:e,status:`waiting`}))),c.event===`step`){if(c.status===`pending`){let e=t.value.findIndex(e=>e.title===c.title&&e.status===`waiting`&&e.testId===c.testId),n=e===-1?t.value.findIndex(e=>e.title===c.title&&e.status===`waiting`&&u(e,c)):e,r=n===-1?void 0:t.value[n],i={testId:c.testId,order:r?.order,title:c.title,status:`running`};n===-1?t.value=[...t.value,i]:t.value[n]=i;return}let e=t.value.findLastIndex(e=>e.title===c.title&&e.status===`running`&&u(e,c)),n=e!==-1||c.status!==`failed`?e:t.value.findLastIndex(e=>e.title===c.title&&e.status===`success`&&u(e,c));n!==-1&&(t.value[n]={testId:t.value[n].testId??c.testId,order:t.value[n].order,title:c.title,status:Gt[c.status],error:c.error??null})}if(c.event===`test`){if(c.id){!n.value.some(e=>e.id===c.id)&&c.steps?.length&&f(c.id,c.steps);let e={id:c.id,title:c.title,status:Gt[c.status],error:c.error??null},t=n.value.findIndex(e=>e.id===c.id);t===-1?n.value=[...n.value,e]:n.value[t]=e}c.status!==`pending`&&c.videoPath&&(a.value=Kt(c.videoPath))}c.event===`run:finished`&&(h.close(),r.value=!1,i.value=c.passed,s.value=c.output??null,o.value=$(new Date),p?.())},h.onerror=()=>{h.close(),r.value=!1,o.value=$(new Date),t.value.length===0&&(t.value=[{title:`Não foi possível executar o teste.`,status:`failed`}])}}return{steps:t,tests:c,running:r,passed:i,videoUrl:a,testedAt:o,output:s,failedStep:d(()=>t.value.find(e=>e.status===`failed`)),start:p,reset:l}}function Yt(e){return e===`@read`?`success`:e===`@write`?`warning`:`primary`}export{q as _,Kt as a,me as b,Ht as c,bt as d,Xe as f,ze as g,Be as h,Jt as i,Vt as l,Y as m,$ as n,Ut as o,X as p,qt as r,Wt as s,Yt as t,Dt as u,G as v,H as x,ye as y};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{$t as e,At as t,B as n,Bn as r,Bt as i,En as a,F as o,G as s,H as c,I as l,It as u,Lt as d,M as f,Mt as p,N as m,P as h,Pn as g,S as _,U as v,Vn as y,Wn as b,Xt as x,Zt as S,_r as C,_t as w,cn as T,gt as E,hr as D,ht as O,in as k,ln as A,pr as j,tt as M,wt as N}from"./DMHcp4U1.js";import{Kt as P,Y as ee,at as F,qt as I,rt as te,tt as L}from"./cRY3ZoRz.js";import{$ as ne,B as R,G as z,K as B,U as V,a as H,ct as U,i as re,n as W,rt as ie,s as ae,t as oe}from"./BNt3M20G.js";import{A as se,C as ce,E as G,J as K,M as q,N as le,O as J,S as Y,T as ue,Y as de,a as fe,at as X,c as pe,ct as Z,i as me,l as Q,o as he,r as ge,s as _e,u as ve,x as ye}from"./Dq_3AVr2.js";import{a as be,c as xe,i as Se,o as Ce,s as we,t as $}from"./BVORrxe1.js";import"./DJxuKf9Z.js";import{r as Te,u as Ee}from"./CsAwRnSX.js";import{a as De,l as Oe,o as ke,t as Ae}from"./BwcOmYtM.js";import{i as je,n as Me,t as Ne}from"./BormXq2m.js";import{t as Pe}from"./B9s6bjC6.js";import{t as Fe}from"./CJJvNaNU.js";import{t as Ie}from"./Bv4T7S6_.js";import{b as Le,c as Re,d as ze,f as Be,g as Ve,i as He,l as Ue,o as We,p as Ge,r as Ke,s as qe,t as Je,u as Ye,y as Xe}from"./BWJi3RB7.js";var[Ze,Qe]=X(`CollapsibleRoot`),$e=s({__name:`CollapsibleRoot`,props:{defaultOpen:{type:Boolean,required:!1,default:!1},open:{type:Boolean,required:!1,default:void 0},disabled:{type:Boolean,required:!1},unmountOnHide:{type:Boolean,required:!1,default:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`update:open`],setup(e,{expose:n,emit:r}){let i=e,a=U(i,`open`,r,{defaultValue:i.defaultOpen,passive:i.open===void 0}),{disabled:o,unmountOnHide:s}=y(i);return Qe({contentId:``,disabled:o,open:a,unmountOnHide:s,onOpenToggle:()=>{o.value||(a.value=!a.value)}}),n({open:a}),B(),(e,n)=>(t(),h(b(le),{as:e.as,"as-child":i.asChild,"data-state":b(a)?`open`:`closed`,"data-disabled":b(o)?``:void 0},{default:A(()=>[d(e.$slots,`default`,{open:b(a)})]),_:3},8,[`as`,`as-child`,`data-state`,`data-disabled`]))}}),et=s({inheritAttrs:!1,__name:`CollapsibleContent`,props:{forceMount:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`contentFound`],setup(e,{emit:n}){let r=e,i=n,a=Ze();a.contentId||=V(void 0,`reka-collapsible-content`);let s=g(),{forwardRef:c,currentElement:l}=B(),u=g(0),p=g(0),m=f(()=>a.open.value),_=g(m.value),y=g();k(()=>[m.value,s.value?.present],async()=>{await w();let e=l.value;if(!e)return;y.value=y.value||{transitionDuration:e.style.transitionDuration,animationName:e.style.animationName},e.style.transitionDuration=`0s`,e.style.animationName=`none`;let t=e.getBoundingClientRect();p.value=t.height,u.value=t.width,_.value||(e.style.transitionDuration=y.value.transitionDuration,e.style.animationName=y.value.animationName)},{immediate:!0});let x=f(()=>_.value&&a.open.value);return N(()=>{requestAnimationFrame(()=>{_.value=!1})}),ie(l,`beforematch`,e=>{requestAnimationFrame(()=>{a.onOpenToggle(),i(`contentFound`)})}),(e,n)=>(t(),h(b(R),{ref_key:`presentRef`,ref:s,present:e.forceMount||b(a).open.value,"force-mount":!0},{default:A(({present:t})=>[v(b(le),E(e.$attrs,{id:b(a).contentId,ref:b(c),"as-child":r.asChild,as:e.as,hidden:t?void 0:b(a).unmountOnHide.value?``:`until-found`,"data-state":x.value?void 0:b(a).open.value?`open`:`closed`,"data-disabled":b(a).disabled?.value?``:void 0,style:{"--reka-collapsible-content-height":`${p.value}px`,"--reka-collapsible-content-width":`${u.value}px`}}),{default:A(()=>[!b(a).unmountOnHide.value||t?d(e.$slots,`default`,{key:0}):o(`v-if`,!0)]),_:2},1040,[`id`,`as-child`,`as`,`hidden`,`data-state`,`data-disabled`,`style`])]),_:3},8,[`present`]))}}),tt=s({__name:`CollapsibleTrigger`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(e){let n=e;B();let r=Ze();return(e,i)=>(t(),h(b(le),{type:e.as===`button`?`button`:void 0,as:e.as,"as-child":n.asChild,"aria-controls":b(r).contentId,"aria-expanded":b(r).open.value,"data-state":b(r).open.value?`open`:`closed`,"data-disabled":b(r).disabled?.value?``:void 0,disabled:b(r).disabled?.value,onClick:b(r).onOpenToggle},{default:A(()=>[d(e.$slots,`default`)]),_:3},8,[`type`,`as`,`as-child`,`aria-controls`,`aria-expanded`,`data-state`,`data-disabled`,`disabled`,`onClick`]))}}),nt={key:0,class:`flex items-center gap-2`},rt=Object.assign(s({__name:`inline`,props:{slug:{},name:{}},emits:[`renamed`],setup(e,{emit:n}){let r=n,i=Pe(),o=g(!1),s=g(e.name),c=g(!1);function u(){s.value=e.name,o.value=!0}function d(){o.value=!1}async function f(){let t=s.value.trim();if(t===``||t===e.name)return d();c.value=!0;try{let n=await Z(`/api/projects/${e.slug}`,{method:`PUT`,body:{name:t}});o.value=!1,r(`renamed`,n.slug)}catch(e){i.failure(e,`Não foi possível renomear o projeto.`)}finally{c.value=!1}}return(n,r)=>{let i=re,p=Ae,g=De;return b(o)?(t(),l(`div`,nt,[v(i,{modelValue:b(s),"onUpdate:modelValue":r[0]||=e=>a(s)?s.value=e:null,autofocus:``,class:`grow`,"data-testid":`projeto-nome-campo`,onKeydown:[P(f,[`enter`]),P(d,[`esc`])]},null,8,[`modelValue`]),v(p,{icon:`i-ic-round-check`,label:`Confirmar`,color:`success`,variant:`soft`,loading:b(c),"data-testid":`projeto-nome-confirmar`,onClick:f},null,8,[`loading`]),v(p,{icon:`i-ic-round-close`,label:`Cancelar`,color:`neutral`,variant:`soft`,disabled:b(c),"data-testid":`projeto-nome-cancelar`,onClick:d},null,8,[`disabled`])])):(t(),h(g,{key:1,text:`Clique para renomear`,"delay-duration":0,arrow:``},{default:A(()=>[m(`h1`,{class:`text-3xl font-bold truncate cursor-pointer`,"data-testid":`projeto-nome`,onClick:u},C(e.name),1)]),_:1}))}}}),{__name:`ProjectRenameInline`}),it={base:`relative`,variants:{size:{xs:``,sm:``,md:``,lg:``,xl:``},orientation:{horizontal:`inline-flex -space-x-px`,vertical:`flex flex-col -space-y-px`}}},at={__name:`UFieldGroup`,props:{as:{type:null,required:!1},size:{type:null,required:!1},orientation:{type:null,required:!1,default:`horizontal`},class:{type:null,required:!1},ui:{type:Object,required:!1}},setup(e){let n=G(`fieldGroup`,e),r=Ee(),i=f(()=>ye({extend:it,...r.ui?.fieldGroup||{}}));return p(ce,f(()=>({orientation:n.orientation,size:n.size}))),(e,r)=>(t(),h(b(le),{as:b(n).as,"data-orientation":b(n).orientation,class:j(i.value({orientation:b(n).orientation,class:[b(n).ui?.base,b(n).class]}))},{default:A(()=>[d(e.$slots,`default`)]),_:3},8,[`as`,`data-orientation`,`class`]))}},ot=[`data-testid`],st=Object.assign(s({__name:`select`,props:{slug:{}},emits:[`edit`,`activated`],async setup(e,{emit:n}){let r,i,o=n,{data:s,refresh:c}=([r,i]=T(()=>oe(`/api/projects/${e.slug}/environments`,{key:`environments-${e.slug}`},`$K6QY299bPm`)),r=await r,i(),r),l=g(!1),u=f(()=>(s.value?.environments??[]).map(e=>({label:e.name,value:e.slug}))),d=f({get:()=>s.value?.active??void 0,set:p});async function p(t){if(!(!t||t===s.value?.active)){l.value=!0;try{await Z(`/api/projects/${e.slug}/environments/${t}/activate`,{method:`POST`}),await c(),o(`activated`)}finally{l.value=!1}}}return(e,n)=>{let r=me,i=De,s=Se,c=Ae,f=at;return b(u).length<2?(t(),h(i,{key:0,text:`Editar as variáveis deste ambiente`},{default:A(()=>[v(r,{icon:`i-ic-round-layers`,label:b(u)[0]?.label??`Ambientes`,color:`neutral`,variant:`soft`,"data-testid":`projeto-ambientes`,onClick:n[0]||=e=>o(`edit`)},null,8,[`label`])]),_:1})):(t(),h(f,{key:1},{default:A(()=>[v(s,{modelValue:b(d),"onUpdate:modelValue":n[1]||=e=>a(d)?d.value=e:null,items:b(u),"value-key":`value`,"search-input":!1,loading:b(l),icon:`i-ic-round-layers`,class:`w-44`,"data-testid":`projeto-ambiente-ativo`},{"item-label":A(({item:e})=>[m(`span`,{"data-testid":`projeto-ambiente-${e.value}`},C(e.label),9,ot)]),_:1},8,[`modelValue`,`items`,`loading`]),v(c,{icon:`i-ic-round-tune`,label:`Editar ambientes`,color:`neutral`,variant:`soft`,"data-testid":`projeto-ambientes`,onClick:n[2]||=e=>o(`edit`)})]),_:1}))}}}),{__name:`ProjectEnvironmentsSelect`}),ct={__name:`UDropdownMenuContent`,props:{items:{type:null,required:!1},portal:{type:[Boolean,String],required:!1,skipCheck:!0},sub:{type:Boolean,required:!1},labelKey:{type:null,required:!0},descriptionKey:{type:null,required:!0},checkedIcon:{type:null,required:!1},loadingIcon:{type:null,required:!1},externalIcon:{type:[Boolean,String],required:!1,skipCheck:!0},size:{type:null,required:!1},filter:{type:[Boolean,Object],required:!1},filterFields:{type:Array,required:!1},ignoreFilter:{type:Boolean,required:!1},searchTerm:{type:String,required:!1},class:{type:null,required:!1},ui:{type:null,required:!0},uiOverride:{type:null,required:!1},loop:{type:Boolean,required:!1},memoDependencies:{type:Array,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1}},emits:[`update:searchTerm`,`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`closeAutoFocus`],setup(a,{emit:s}){let p=a,y=s,x=e(),{t:S,dir:w}=ge(),T=Ee(),{filterGroups:O}=be(),k=g(``),N=f({get:()=>p.searchTerm??k.value,set:e=>{k.value=e,y(`update:searchTerm`,e)}}),P=r(()=>F(p.filter,{placeholder:S(`dropdownMenu.search`),variant:`none`})),ee=ae(r(()=>p.portal)),te=z(K(p,`sub`,`items`,`portal`,`labelKey`,`descriptionKey`,`checkedIcon`,`loadingIcon`,`externalIcon`,`size`,`filter`,`filterFields`,`ignoreFilter`,`searchTerm`,`class`,`ui`,`uiOverride`),y),L=()=>q(x,[`default`]),[R,B]=ne(),V=f(()=>w.value===`rtl`?T.ui.icons.chevronLeft:T.ui.icons.chevronRight),H=f(()=>p.items?.length?se(p.items)?p.items:[p.items]:[]),U=e=>!!e.type&&[`label`,`separator`].includes(e.type),W=f(()=>{if(!p.filter||p.ignoreFilter||!N.value)return H.value;let e=Array.isArray(p.filterFields)&&p.filterFields.length?p.filterFields:[p.labelKey];return O(H.value,N.value,{fields:e,isStructural:U})}),ie=f(()=>W.value.some(e=>e.some(e=>!U(e))));return(e,r)=>(t(),l(_,null,[v(b(R),null,{default:A(({item:n,active:r,index:i})=>[d(e.$slots,n.slot||`item`,{item:n,index:i,ui:a.ui},()=>[d(e.$slots,n.slot?`${n.slot}-leading`:`item-leading`,{item:n,active:r,index:i,ui:a.ui},()=>[n.loading?(t(),h(Q,{key:0,name:a.loadingIcon||b(T).ui.icons.loading,"data-slot":`itemLeadingIcon`,class:j(a.ui.itemLeadingIcon({class:[a.uiOverride?.itemLeadingIcon,n.ui?.itemLeadingIcon],color:n?.color,loading:!0}))},null,8,[`name`,`class`])):n.icon?(t(),h(Q,{key:1,name:n.icon,"data-slot":`itemLeadingIcon`,class:j(a.ui.itemLeadingIcon({class:[a.uiOverride?.itemLeadingIcon,n.ui?.itemLeadingIcon],color:n?.color,active:r}))},null,8,[`name`,`class`])):n.avatar?(t(),h(_e,E({key:2,size:n.ui?.itemLeadingAvatarSize||a.uiOverride?.itemLeadingAvatarSize||a.ui.itemLeadingAvatarSize()},n.avatar,{"data-slot":`itemLeadingAvatar`,class:a.ui.itemLeadingAvatar({class:[a.uiOverride?.itemLeadingAvatar,n.ui?.itemLeadingAvatar],active:r})}),null,16,[`size`,`class`])):o(``,!0)]),b(J)(n,p.labelKey)||x[n.slot?`${n.slot}-label`:`item-label`]||b(J)(n,p.descriptionKey)||x[n.slot?`${n.slot}-description`:`item-description`]?(t(),l(`span`,{key:0,"data-slot":`itemWrapper`,class:j(a.ui.itemWrapper({class:[a.uiOverride?.itemWrapper,n.ui?.itemWrapper]}))},[m(`span`,{"data-slot":`itemLabel`,class:j(a.ui.itemLabel({class:[a.uiOverride?.itemLabel,n.ui?.itemLabel],active:r}))},[d(e.$slots,n.slot?`${n.slot}-label`:`item-label`,{item:n,active:r,index:i},()=>[c(C(b(J)(n,p.labelKey)),1)]),n.target===`_blank`&&a.externalIcon!==!1?(t(),h(Q,{key:0,name:typeof a.externalIcon==`string`?a.externalIcon:b(T).ui.icons.external,"data-slot":`itemLabelExternalIcon`,class:j(a.ui.itemLabelExternalIcon({class:[a.uiOverride?.itemLabelExternalIcon,n.ui?.itemLabelExternalIcon],color:n?.color,active:r}))},null,8,[`name`,`class`])):o(``,!0)],2),b(J)(n,p.descriptionKey)||x[n.slot?`${n.slot}-description`:`item-description`]?(t(),l(`span`,{key:0,"data-slot":`itemDescription`,class:j(a.ui.itemDescription({class:[a.uiOverride?.itemDescription,n.ui?.itemDescription]}))},[d(e.$slots,n.slot?`${n.slot}-description`:`item-description`,{item:n,active:r,index:i},()=>[c(C(b(J)(n,p.descriptionKey)),1)])],2)):o(``,!0)],2)):o(``,!0),m(`span`,{"data-slot":`itemTrailing`,class:j(a.ui.itemTrailing({class:[a.uiOverride?.itemTrailing,n.ui?.itemTrailing]}))},[d(e.$slots,n.slot?`${n.slot}-trailing`:`item-trailing`,{item:n,active:r,index:i,ui:a.ui},()=>[n.children?.length?(t(),h(Q,{key:0,name:V.value,"data-slot":`itemTrailingIcon`,class:j(a.ui.itemTrailingIcon({class:[a.uiOverride?.itemTrailingIcon,n.ui?.itemTrailingIcon],color:n?.color,active:r}))},null,8,[`name`,`class`])):n.kbds?.length?(t(),l(`span`,{key:1,"data-slot":`itemTrailingKbds`,class:j(a.ui.itemTrailingKbds({class:[a.uiOverride?.itemTrailingKbds,n.ui?.itemTrailingKbds]}))},[(t(!0),l(_,null,u(n.kbds,(e,r)=>(t(),h(ke,E({key:r,size:n.ui?.itemTrailingKbdsSize||a.uiOverride?.itemTrailingKbdsSize||a.ui.itemTrailingKbdsSize()},{ref_for:!0},typeof e==`string`?{value:e}:e),null,16,[`size`]))),128))],2)):o(``,!0)]),v(b($).ItemIndicator,{"as-child":``},{default:A(()=>[v(Q,{name:a.checkedIcon||b(T).ui.icons.check,"data-slot":`itemTrailingIcon`,class:j(a.ui.itemTrailingIcon({class:[a.uiOverride?.itemTrailingIcon,n.ui?.itemTrailingIcon],color:n?.color}))},null,8,[`name`,`class`])]),_:2},1024)],2)])]),_:3}),v(b($).Portal,D(M(b(ee))),{default:A(()=>[v(b(Y),null,{default:A(()=>[(t(),h(i(a.sub?b($).SubContent:b($).Content),E({"data-slot":`content`,class:a.ui.content({class:[a.uiOverride?.content,p.class]})},b(te)),{default:A(()=>[a.filter?(t(),h(b($).Filter,{key:0,modelValue:N.value,"onUpdate:modelValue":r[1]||=e=>N.value=e,"as-child":``},{default:A(()=>[v(re,E({autofocus:``,autocomplete:`off`,size:a.size},P.value,{"data-slot":`input`,class:a.ui.input({class:a.uiOverride?.input}),onChange:r[0]||=I(()=>{},[`stop`])}),null,16,[`size`,`class`])]),_:1},8,[`modelValue`])):o(``,!0),d(e.$slots,`content-top`,{sub:a.sub??!1}),!N.value||ie.value?(t(),l(`div`,{key:1,role:`presentation`,"data-slot":`viewport`,class:j(a.ui.viewport({class:a.uiOverride?.viewport}))},[(t(!0),l(_,null,u(W.value,(r,i)=>(t(),h(b($).Group,{key:`group-${i}`,"data-slot":`group`,class:j(a.ui.group({class:a.uiOverride?.group}))},{default:A(()=>[(t(!0),l(_,null,u(r,(r,o)=>(t(),l(_,{key:`group-${i}-${o}`},[r.type===`label`?(t(),h(b($).Label,{key:0,"data-slot":`label`,class:j(a.ui.label({class:[a.uiOverride?.label,r.ui?.label,r.class]}))},{default:A(()=>[v(b(B),{item:r,index:o},null,8,[`item`,`index`])]),_:2},1032,[`class`])):r.type===`separator`?(t(),h(b($).Separator,{key:1,"data-slot":`separator`,class:j(a.ui.separator({class:[a.uiOverride?.separator,r.ui?.separator,r.class]}))},null,8,[`class`])):r?.children?.length?(t(),h(b($).Sub,{key:2,open:r.open,"default-open":r.defaultOpen},{default:A(()=>[v(b($).SubTrigger,{as:`button`,type:`button`,disabled:r.disabled,"text-value":b(J)(r,p.labelKey),"data-slot":`item`,class:j(a.ui.item({class:[a.uiOverride?.item,r.ui?.item,r.class],color:r?.color}))},{default:A(()=>[v(b(B),{item:r,index:o},null,8,[`item`,`index`])]),_:2},1032,[`disabled`,`text-value`,`class`]),v(ct,E({sub:``,class:r.ui?.content,ui:a.ui,"ui-override":a.uiOverride,portal:a.portal,items:r.children,align:`start`,"align-offset":-4,"side-offset":3,"label-key":a.labelKey,"description-key":a.descriptionKey,"checked-icon":a.checkedIcon,"loading-icon":a.loadingIcon,"external-icon":a.externalIcon,size:a.size,filter:r.filter,"filter-fields":r.filterFields||a.filterFields,"ignore-filter":r.ignoreFilter??a.ignoreFilter},{ref_for:!0},r.content),n({_:2},[u(L(),(t,n)=>({name:n,fn:A(t=>[d(e.$slots,n,E({ref_for:!0},t))])}))]),1040,[`class`,`ui`,`ui-override`,`portal`,`items`,`label-key`,`description-key`,`checked-icon`,`loading-icon`,`external-icon`,`size`,`filter`,`filter-fields`,`ignore-filter`])]),_:2},1032,[`open`,`default-open`])):r.type===`checkbox`?(t(),h(b($).CheckboxItem,{key:3,"model-value":r.checked,disabled:r.disabled,"text-value":b(J)(r,p.labelKey),"data-slot":`item`,class:j(a.ui.item({class:[a.uiOverride?.item,r.ui?.item,r.class],color:r?.color})),"onUpdate:modelValue":r.onUpdateChecked,onSelect:r.onSelect},{default:A(()=>[v(b(B),{item:r,index:o},null,8,[`item`,`index`])]),_:2},1032,[`model-value`,`disabled`,`text-value`,`class`,`onUpdate:modelValue`,`onSelect`])):(t(),h(fe,E({key:4,ref_for:!0},b(ve)(r),{custom:``}),{default:A(({active:e,...t})=>[v(b($).Item,{"as-child":``,disabled:r.disabled,"text-value":b(J)(r,p.labelKey),onSelect:r.onSelect},{default:A(()=>[v(he,E({ref_for:!0},t,{"data-slot":`item`,class:a.ui.item({class:[a.uiOverride?.item,r.ui?.item,r.class],color:r?.color,active:e})}),{default:A(()=>[v(b(B),{item:r,active:e,index:o},null,8,[`item`,`active`,`index`])]),_:2},1040,[`class`])]),_:2},1032,[`disabled`,`text-value`,`onSelect`])]),_:2},1040))],64))),128))]),_:2},1032,[`class`]))),128))],2)):o(``,!0),N.value&&!ie.value?(t(),l(`div`,{key:2,"data-slot":`empty`,class:j(a.ui.empty({class:a.uiOverride?.empty}))},[d(e.$slots,`empty`,{searchTerm:N.value},()=>[c(C(b(S)(`dropdownMenu.noMatch`,{searchTerm:N.value})),1)])],2)):o(``,!0),d(e.$slots,`default`),d(e.$slots,`content-bottom`,{sub:a.sub??!1})]),_:3},16,[`class`]))]),_:3})]),_:3},16)],64))}},lt={slots:{content:`min-w-32 max-h-(--reka-dropdown-menu-content-available-height) bg-default shadow-lg rounded-md ring ring-default overflow-hidden data-[state=open]:animate-[scale-in_100ms_ease-out] data-[state=closed]:animate-[scale-out_100ms_ease-in] origin-(--reka-dropdown-menu-content-transform-origin) flex flex-col`,input:`border-b border-default`,empty:`text-center text-muted`,viewport:`relative divide-y divide-default scroll-py-1 overflow-y-auto flex-1`,arrow:`fill-bg stroke-default`,group:`p-1 isolate`,label:`w-full flex items-center font-semibold text-highlighted`,separator:`-mx-1 my-1 h-px bg-border`,item:`group relative w-full flex items-start select-none outline-none before:absolute before:z-[-1] before:inset-px before:rounded-md data-disabled:cursor-not-allowed data-disabled:opacity-75`,itemLeadingIcon:`shrink-0`,itemLeadingAvatar:`shrink-0`,itemLeadingAvatarSize:``,itemTrailing:`ms-auto inline-flex gap-1.5 items-center`,itemTrailingIcon:`shrink-0`,itemTrailingKbds:`hidden lg:inline-flex items-center shrink-0`,itemTrailingKbdsSize:``,itemWrapper:`flex-1 flex flex-col text-start min-w-0`,itemLabel:`truncate`,itemDescription:`truncate text-muted`,itemLabelExternalIcon:`inline-block size-3 align-top text-dimmed`},variants:{color:{primary:``,secondary:``,success:``,info:``,warning:``,error:``,neutral:``},active:{true:{item:`text-highlighted before:bg-elevated`,itemLeadingIcon:`text-default`},false:{item:[`text-default data-highlighted:text-highlighted data-[state=open]:text-highlighted data-highlighted:before:bg-elevated/50 data-[state=open]:before:bg-elevated/50`,`transition-colors before:transition-colors`],itemLeadingIcon:[`text-dimmed group-data-highlighted:text-default group-data-[state=open]:text-default`,`transition-colors`]}},loading:{true:{itemLeadingIcon:`animate-spin`}},size:{xs:{label:`p-1 text-xs gap-1`,item:`p-1 text-xs gap-1`,empty:`p-2 text-xs`,itemLeadingIcon:`size-4`,itemLeadingAvatarSize:`3xs`,itemTrailingIcon:`size-4`,itemTrailingKbds:`gap-0.5`,itemTrailingKbdsSize:`sm`},sm:{label:`p-1.5 text-xs gap-1.5`,item:`p-1.5 text-xs gap-1.5`,empty:`p-2.5 text-xs`,itemLeadingIcon:`size-4`,itemLeadingAvatarSize:`3xs`,itemTrailingIcon:`size-4`,itemTrailingKbds:`gap-0.5`,itemTrailingKbdsSize:`sm`},md:{label:`p-1.5 text-sm gap-1.5`,item:`p-1.5 text-sm gap-1.5`,empty:`p-2.5 text-sm`,itemLeadingIcon:`size-5`,itemLeadingAvatarSize:`2xs`,itemTrailingIcon:`size-5`,itemTrailingKbds:`gap-0.5`,itemTrailingKbdsSize:`md`},lg:{label:`p-2 text-sm gap-2`,item:`p-2 text-sm gap-2`,empty:`p-3 text-sm`,itemLeadingIcon:`size-5`,itemLeadingAvatarSize:`2xs`,itemTrailingIcon:`size-5`,itemTrailingKbds:`gap-1`,itemTrailingKbdsSize:`md`},xl:{label:`p-2 text-base gap-2`,item:`p-2 text-base gap-2`,empty:`p-3 text-base`,itemLeadingIcon:`size-6`,itemLeadingAvatarSize:`xs`,itemTrailingIcon:`size-6`,itemTrailingKbds:`gap-1`,itemTrailingKbdsSize:`lg`}}},compoundVariants:[{color:`primary`,active:!1,class:{item:`text-primary data-highlighted:text-primary data-highlighted:before:bg-primary/10 data-[state=open]:before:bg-primary/10`,itemLeadingIcon:`text-primary/75 group-data-highlighted:text-primary group-data-[state=open]:text-primary`}},{color:`secondary`,active:!1,class:{item:`text-secondary data-highlighted:text-secondary data-highlighted:before:bg-secondary/10 data-[state=open]:before:bg-secondary/10`,itemLeadingIcon:`text-secondary/75 group-data-highlighted:text-secondary group-data-[state=open]:text-secondary`}},{color:`success`,active:!1,class:{item:`text-success data-highlighted:text-success data-highlighted:before:bg-success/10 data-[state=open]:before:bg-success/10`,itemLeadingIcon:`text-success/75 group-data-highlighted:text-success group-data-[state=open]:text-success`}},{color:`info`,active:!1,class:{item:`text-info data-highlighted:text-info data-highlighted:before:bg-info/10 data-[state=open]:before:bg-info/10`,itemLeadingIcon:`text-info/75 group-data-highlighted:text-info group-data-[state=open]:text-info`}},{color:`warning`,active:!1,class:{item:`text-warning data-highlighted:text-warning data-highlighted:before:bg-warning/10 data-[state=open]:before:bg-warning/10`,itemLeadingIcon:`text-warning/75 group-data-highlighted:text-warning group-data-[state=open]:text-warning`}},{color:`error`,active:!1,class:{item:`text-error data-highlighted:text-error data-highlighted:before:bg-error/10 data-[state=open]:before:bg-error/10`,itemLeadingIcon:`text-error/75 group-data-highlighted:text-error group-data-[state=open]:text-error`}},{color:`primary`,active:!0,class:{item:`text-primary before:bg-primary/10`,itemLeadingIcon:`text-primary`}},{color:`secondary`,active:!0,class:{item:`text-secondary before:bg-secondary/10`,itemLeadingIcon:`text-secondary`}},{color:`success`,active:!0,class:{item:`text-success before:bg-success/10`,itemLeadingIcon:`text-success`}},{color:`info`,active:!0,class:{item:`text-info before:bg-info/10`,itemLeadingIcon:`text-info`}},{color:`warning`,active:!0,class:{item:`text-warning before:bg-warning/10`,itemLeadingIcon:`text-warning`}},{color:`error`,active:!0,class:{item:`text-error before:bg-error/10`,itemLeadingIcon:`text-error`}}],defaultVariants:{size:`md`}},ut={__name:`UDropdownMenu`,props:O({size:{type:null,required:!1},items:{type:null,required:!1},checkedIcon:{type:null,required:!1},loadingIcon:{type:null,required:!1},externalIcon:{type:[Boolean,String],required:!1,skipCheck:!0,default:!0},content:{type:Object,required:!1},arrow:{type:[Boolean,Object],required:!1},portal:{type:[Boolean,String],required:!1,skipCheck:!0,default:!0},labelKey:{type:null,required:!1,default:`label`},descriptionKey:{type:null,required:!1,default:`description`},filter:{type:[Boolean,Object],required:!1,default:!1},filterFields:{type:Array,required:!1},ignoreFilter:{type:Boolean,required:!1,default:!1},disabled:{type:Boolean,required:!1},class:{type:null,required:!1},ui:{type:Object,required:!1},defaultOpen:{type:Boolean,required:!1},open:{type:Boolean,required:!1},modal:{type:Boolean,required:!1,default:!0}},{searchTerm:{type:String,default:``},searchTermModifiers:{}}),emits:O([`update:open`],[`update:searchTerm`]),setup(i,{emit:a}){let s=i,c=a,l=e(),p=S(i,`searchTerm`,{type:String,default:``}),m=G(`dropdownMenu`,s),g=Ee(),_=ue(de(m,`defaultOpen`,`open`,`modal`),c),y=r(()=>F(m.content,{side:`bottom`,sideOffset:8,collisionPadding:8})),x=r(()=>F(m.arrow,{rounded:!0})),C=()=>q(l,[`default`]),w=f(()=>ye({extend:lt,...g.ui?.dropdownMenu||{}})({size:m.size}));return(e,r)=>(t(),h(b(we),D(M(b(_))),{default:A(({open:i})=>[l.default?(t(),h(b(Ce),{key:0,"as-child":``,class:j(b(m).class),disabled:b(m).disabled},{default:A(()=>[d(e.$slots,`default`,{open:i})]),_:2},1032,[`class`,`disabled`])):o(``,!0),v(ct,E({"search-term":p.value,"onUpdate:searchTerm":r[0]||=e=>p.value=e,class:w.value.content({class:[!l.default&&b(m).class,b(m).ui?.content]}),ui:w.value,"ui-override":b(m).ui},y.value,{items:b(m).items,portal:b(m).portal,"label-key":b(m).labelKey,"description-key":b(m).descriptionKey,"checked-icon":b(m).checkedIcon,"loading-icon":b(m).loadingIcon,"external-icon":b(m).externalIcon,size:b(m).size,filter:b(m).filter,"filter-fields":b(m).filterFields,"ignore-filter":b(m).ignoreFilter}),n({default:A(()=>[b(m).arrow?(t(),h(b(xe),E({key:0},x.value,{"data-slot":`arrow`,class:w.value.arrow({class:b(m).ui?.arrow})}),null,16,[`class`])):o(``,!0)]),_:2},[u(C(),(t,n)=>({name:n,fn:A(t=>[d(e.$slots,n,D(M(t)))])}))]),1040,[`search-term`,`class`,`ui`,`ui-override`,`items`,`portal`,`label-key`,`description-key`,`checked-icon`,`loading-icon`,`external-icon`,`size`,`filter`,`filter-fields`,`ignore-filter`])]),_:3},16))}},dt={"data-testid":`cenario-vazio`,class:`py-10 text-center`},ft={class:`flex flex-col items-center gap-2`},pt={class:`flex size-15 items-center justify-center rounded-lg bg-primary/10`},mt=Object.assign(s({__name:`empty`,props:{disabled:{type:Boolean,default:!1}},emits:[`record`],setup(e,{emit:n}){let r=n;return(n,i)=>{let a=Q,o=Me;return t(),l(`div`,dt,[i[3]||=m(`p`,{class:`text-xl font-semibold`},` Nenhum cenário ainda `,-1),i[4]||=m(`p`,{class:`text-muted mb-6`},` Grave uma interação para gerar o primeiro teste. `,-1),v(o,{"data-testid":`cenario-vazio-gravar`,class:j([`max-w-sm mx-auto transition-colors`,e.disabled?`opacity-50`:`cursor-pointer hover:bg-accented/75`]),onClick:i[0]||=t=>!e.disabled&&r(`record`)},{default:A(()=>[m(`div`,ft,[m(`div`,pt,[v(a,{name:`i-ic-round-fiber-manual-record`,class:`size-10 text-primary`})]),i[1]||=m(`p`,{class:`text-lg font-semibold`},` Gravar cenário `,-1),i[2]||=m(`p`,{class:`text-sm text-muted`},` Abre o navegador e grava sua interação pra virar um teste automático. `,-1)])]),_:1},8,[`class`])])}}}),{__name:`ScenarioEmpty`}),ht={class:`flex flex-col gap-2`},gt=[`id`],_t=[`value`],vt={key:0,class:`text-sm text-muted italic`},yt=Object.assign(s({__name:`vars`,props:O({knownKeys:{default:()=>[]},testid:{default:`variaveis`}},{modelValue:{default:()=>[]},modelModifiers:{}}),emits:[`update:modelValue`],setup(e){let r=S(e,`modelValue`),i=x();function a(){r.value=[...r.value,{key:``,value:``,secret:!1,pending:!1}]}function s(e){r.value=r.value.filter((t,n)=>n!==e)}let c=g([]);function d(e){c.value=c.value.includes(e)?c.value.filter(t=>t!==e):[...c.value,e]}function f(e,t){return e.secret&&!c.value.includes(t)?`password`:`text`}return(p,h)=>{let g=re,y=me,x=De;return t(),l(`div`,ht,[m(`datalist`,{id:b(i)},[(t(!0),l(_,null,u(e.knownKeys,e=>(t(),l(`option`,{key:e,value:e},null,8,_t))),128))],8,gt),(t(!0),l(_,null,u(r.value,(r,a)=>(t(),l(`div`,{key:a,class:`flex items-center gap-2`},[v(g,{modelValue:r.key,"onUpdate:modelValue":e=>r.key=e,class:`w-1/3`,placeholder:`CHAVE`,list:b(i),"data-testid":`${e.testid}-chave-${a}`},null,8,[`modelValue`,`onUpdate:modelValue`,`list`,`data-testid`]),v(g,{modelValue:r.value,"onUpdate:modelValue":e=>r.value=e,class:`flex-1`,type:f(r,a),placeholder:`valor`,color:r.pending?`warning`:void 0,"data-testid":`${e.testid}-valor-${a}`},n({_:2},[r.secret?{name:`trailing`,fn:A(()=>[v(y,{icon:b(c).includes(a)?`i-ic-round-visibility-off`:`i-ic-round-visibility`,color:`neutral`,variant:`link`,"aria-label":b(c).includes(a)?`Esconder o valor`:`Revelar o valor`,"data-testid":`${e.testid}-revelar-${a}`,onClick:e=>d(a)},null,8,[`icon`,`aria-label`,`data-testid`,`onClick`])]),key:`0`}:void 0]),1032,[`modelValue`,`onUpdate:modelValue`,`type`,`color`,`data-testid`]),v(x,{text:`Segredo: o valor fica mascarado na tela`},{default:A(()=>[v(y,{icon:`i-ic-round-lock`,color:r.secret?`primary`:`neutral`,variant:r.secret?`solid`:`ghost`,"aria-label":r.secret?`Deixar de ser segredo`:`Marcar como segredo`,"data-testid":`${e.testid}-segredo-${a}`,onClick:e=>r.secret=!r.secret},null,8,[`color`,`variant`,`aria-label`,`data-testid`,`onClick`])]),_:2},1024),v(y,{icon:`i-ic-round-close`,color:`error`,variant:`ghost`,"aria-label":`Remover variável`,"data-testid":`${e.testid}-remover-${a}`,onClick:e=>s(a)},null,8,[`data-testid`,`onClick`])]))),128)),r.value.length?o(``,!0):(t(),l(`p`,vt,` Nenhuma variável ainda. `)),v(y,{icon:`i-ic-round-add`,label:`Adicionar variável`,color:`neutral`,variant:`soft`,class:`self-start`,"data-testid":`${e.testid}-adicionar`,onClick:a},null,8,[`data-testid`])])}}}),{__name:`ProjectEnvironmentsVars`}),bt={class:`flex flex-col gap-4 sm:flex-row`},xt={class:`flex flex-col gap-3 sm:w-56 shrink-0`},St={key:0,class:`flex-1 flex flex-col gap-4 min-w-0`},Ct={class:`flex flex-wrap gap-2`},wt={key:0,class:`mr-auto self-center text-sm text-warning`,"data-testid":`ambientes-fechar-aviso`},Tt=Object.assign(s({__name:`modal`,props:O({slug:{}},{open:{type:Boolean,default:!1},openModifiers:{}}),emits:O([`saved`],[`update:open`]),setup(e,{emit:n}){let r=S(e,`open`),i=n,s=g(null),c=g(null),d=g(``),p=g([]),y=g(!1),x=g(``),C=g(!1),w=g(!1),T=g(!1),E=g(!1),D=Pe(),O=f(()=>s.value?.environments??[]),j=f(()=>O.value.find(e=>e.slug===c.value)??null),M=g(``),N=f(()=>!!j.value&&ee()!==M.value);function ee(){return JSON.stringify({name:d.value,vars:p.value})}function F(e){return{key:e.key,value:e.value??``,secret:e.secret,pending:e.pending}}function I(e){c.value=e.slug,d.value=e.name,p.value=e.vars.map(F),C.value=!1,w.value=!1,M.value=ee()}function te(){j.value&&I(j.value)}function L(e){let t=e.target;t.closest(`[data-testid="ambientes-remover"]`)||(C.value=!1),t.closest(`[data-testid="ambientes-fechar"]`)||(w.value=!1),t.closest(`[data-testid="ambientes-criar"], [data-testid="ambientes-novo-nome"]`)||(y.value=!1,x.value=``)}function ne(){if(N.value&&!w.value){w.value=!0;return}r.value=!1}async function R(){T.value=!0;try{let t=await Z(`/api/projects/${e.slug}/environments`);s.value=t;let n=t.environments.find(e=>e.slug===t.active)??t.environments[0];n?I(n):c.value=null}catch(e){D.failure(e,`Não foi possível carregar os ambientes.`)}finally{T.value=!1}}k(r,e=>{e&&R()});async function z(e,t,n){E.value=!0;try{await e(),await R(),i(`saved`),D.success(t)}catch(e){D.failure(e,n)}finally{E.value=!1}}async function B(){let t=x.value.trim();t&&(await z(async()=>{let n=await Z(`/api/projects/${e.slug}/environments`,{method:`POST`,body:{name:t}});c.value=n.slug},`Ambiente criado`,`Não foi possível criar o ambiente.`),x.value=``,y.value=!1)}function V(){if(c.value)return z(()=>Z(`/api/projects/${e.slug}/environments/${c.value}`,{method:`PUT`,body:{name:d.value.trim(),vars:p.value.map(e=>({key:e.key.trim(),value:e.value===``?null:e.value,secret:e.secret}))}}),`Ambiente salvo`,`Não foi possível salvar o ambiente.`)}async function U(){if(!j.value)return;if(!C.value){C.value=!0;return}let t=j.value.slug;await z(async()=>{await Z(`/api/projects/${e.slug}/environments/${t}`,{method:`DELETE`}),c.value=null},`Ambiente removido`,`Não foi possível remover o ambiente.`),C.value=!1}return(e,n)=>{let i=me,f=re,g=H,S=yt,D=Xe,k=W;return t(),h(k,{open:r.value,"onUpdate:open":n[5]||=e=>r.value=e,wide:``,dismissable:!b(N),title:`Ambientes`,description:`Cada ambiente diz contra o que os cenários rodam. Os arquivos ficam fora do git, então cada máquina tem os seus.`},{body:A(()=>[m(`div`,{onClickCapture:L},[m(`div`,bt,[m(`div`,xt,[(t(!0),l(_,null,u(b(O),e=>(t(),h(i,{key:e.slug,label:e.name,color:e.slug===b(c)?`primary`:`neutral`,variant:e.slug===b(c)?`soft`:`ghost`,"trailing-icon":e.slug===b(s)?.active?`i-ic-round-check-circle`:void 0,class:`justify-between`,"data-testid":`ambientes-selecionar-${e.slug}`,onClick:t=>I(e)},null,8,[`label`,`color`,`variant`,`trailing-icon`,`data-testid`,`onClick`]))),128)),b(y)?(t(),h(f,{key:0,modelValue:b(x),"onUpdate:modelValue":n[0]||=e=>a(x)?x.value=e:null,autofocus:``,placeholder:`Nome do ambiente`,"data-testid":`ambientes-novo-nome`,onKeyup:[P(B,[`enter`]),n[1]||=P(e=>y.value=!1,[`esc`])]},null,8,[`modelValue`])):o(``,!0),v(i,{icon:b(y)?`i-ic-round-check`:`i-ic-round-add`,label:b(y)?`Criar`:`Novo ambiente`,color:`neutral`,variant:`soft`,loading:b(E),disabled:b(y)&&!b(x).trim(),"data-testid":`ambientes-criar`,onClick:n[2]||=e=>b(y)?B():y.value=!0},null,8,[`icon`,`label`,`loading`,`disabled`])]),b(j)?(t(),l(`div`,St,[v(g,{label:`Nome`},{default:A(()=>[v(f,{modelValue:b(d),"onUpdate:modelValue":n[3]||=e=>a(d)?d.value=e:null,class:`w-full`,"data-testid":`ambientes-nome`},null,8,[`modelValue`])]),_:1}),v(S,{modelValue:b(p),"onUpdate:modelValue":n[4]||=e=>a(p)?p.value=e:null,"known-keys":b(s)?.known_keys,testid:`ambientes-variaveis`},null,8,[`modelValue`,`known-keys`]),m(`div`,Ct,[v(i,{label:`Salvar`,loading:b(E),disabled:!b(N),"data-testid":`ambientes-salvar`,onClick:V},null,8,[`loading`,`disabled`]),b(N)?(t(),h(i,{key:0,label:`Reverter`,color:`neutral`,variant:`soft`,"data-testid":`ambientes-reverter`,onClick:te})):o(``,!0),v(i,{label:b(C)?`Confirmar remoção`:`Remover`,color:`error`,variant:b(C)?`solid`:`ghost`,loading:b(E),"data-testid":`ambientes-remover`,onClick:U},null,8,[`label`,`variant`,`loading`])])])):b(T)?o(``,!0):(t(),h(D,{key:1,icon:`i-ic-round-layers`,testid:`ambientes-vazio`,title:`Nenhum ambiente ainda`,description:`Crie o primeiro ambiente para separar desenvolvimento, homologação e produção. Ele já nasce com o que o projeto tem configurado hoje.`}))])],32)]),footer:A(()=>[b(w)?(t(),l(`p`,wt,` Há alterações não salvas neste ambiente. `)):o(``,!0),v(i,{label:b(w)?`Descartar alterações`:`Fechar`,color:b(w)?`warning`:`neutral`,variant:b(w)?`soft`:`ghost`,"data-testid":`ambientes-fechar`,onClick:ne},null,8,[`label`,`color`,`variant`])]),_:1},8,[`open`,`dismissable`])}}}),{__name:`ProjectEnvironmentsModal`}),Et=Object.assign(s({__name:`modal`,props:O({slug:{},baseUrl:{}},{open:{type:Boolean,default:!1},openModifiers:{}}),emits:O([`saved`],[`update:open`]),setup(e,{emit:n}){let r=S(e,`open`),i=n,o=g(``),s=g(!1),c=g(!1),l=Pe();k(r,t=>{t&&(o.value=e.baseUrl??``)});async function u(){c.value=!0;try{await Z(`/api/projects/${e.slug}/settings/skip`,{method:`POST`}),r.value=!1,i(`saved`)}catch(e){l.failure(e,`Não foi possível deixar a URL em branco.`)}finally{c.value=!1}}async function d(){s.value=!0;try{await Z(`/api/projects/${e.slug}/settings`,{method:`PUT`,body:{baseUrl:o.value.trim()}}),r.value=!1,i(`saved`),l.success(`Configurações salvas`)}catch(e){l.failure(e,`Não foi possível salvar as configurações.`)}finally{s.value=!1}}return(e,n)=>{let i=Fe,l=re,f=H,p=me,m=W;return t(),h(m,{open:r.value,"onUpdate:open":n[1]||=e=>r.value=e,dismissable:!1,title:`Configurações do projeto`},{body:A(()=>[v(i,{color:`neutral`,variant:`soft`,icon:`i-ic-round-info`,description:`A URL é um facilitador: com ela o navegador já abre no sistema ao gravar. Sem ela, a gravação sempre começa numa página em branco e você digita o endereço na mão.`,class:`mb-4`,"data-testid":`projeto-configuracoes-obrigatorio`}),v(f,{label:`URL base`,description:`Endereço do sistema que este projeto testa. É onde o navegador abre ao gravar, e a base que os testes usam ao rodar.`},{default:A(()=>[v(l,{modelValue:b(o),"onUpdate:modelValue":n[0]||=e=>a(o)?o.value=e:null,class:`w-full`,placeholder:`https://sistema.exemplo.com/app`,"data-testid":`projeto-configuracoes-base-url`,onKeyup:P(d,[`enter`])},null,8,[`modelValue`])]),_:1})]),footer:A(()=>[v(p,{label:`Deixar em branco`,color:`neutral`,variant:`ghost`,loading:b(c),"data-testid":`projeto-configuracoes-pular`,onClick:u},null,8,[`loading`]),v(p,{label:`Salvar`,loading:b(s),disabled:!b(o).trim(),"data-testid":`projeto-configuracoes-salvar`,onClick:d},null,8,[`loading`,`disabled`])]),_:1},8,[`open`])}}}),{__name:`ProjectSettingsModal`}),Dt={slots:{root:``,content:`data-[state=open]:animate-[collapsible-down_200ms_ease-out] data-[state=closed]:animate-[collapsible-up_200ms_ease-out] data-[state=closed]:overflow-hidden`}},Ot={__name:`UCollapsible`,props:{as:{type:null,required:!1},class:{type:null,required:!1},ui:{type:Object,required:!1},defaultOpen:{type:Boolean,required:!1},open:{type:Boolean,required:!1},disabled:{type:Boolean,required:!1},unmountOnHide:{type:Boolean,required:!1,default:!0}},emits:[`update:open`],setup(n,{emit:r}){let i=n,a=r,s=e(),c=G(`collapsible`,i),l=Ee(),u=ue(de(c,`as`,`defaultOpen`,`open`,`disabled`,`unmountOnHide`),a),p=f(()=>ye({extend:Dt,...l.ui?.collapsible||{}})());return(e,n)=>(t(),h(b($e),E(b(u),{"data-slot":`root`,class:p.value.root({class:[b(c).ui?.root,b(c).class]})}),{default:A(({open:n})=>[s.default?(t(),h(b(tt),{key:0,"as-child":``},{default:A(()=>[d(e.$slots,`default`,{open:n})]),_:2},1024)):o(``,!0),v(b(et),{"data-slot":`content`,class:j(p.value.content({class:b(c).ui?.content}))},{default:A(()=>[d(e.$slots,`content`)]),_:3},8,[`class`])]),_:3},16,[`class`]))}},kt={class:`flex flex-col pt-6 gap-2`},At={key:0,class:`text-xl font-bold`},jt={key:0,class:`mb-6 space-y-0.5 text-sm`,"data-testid":`execucao-detalhes`},Mt={key:0},Nt={key:1},Pt={class:`block whitespace-pre-wrap font-mono text-xs`},Ft={class:`flex flex-col gap-3`},It={class:`grow truncate text-left`,"data-testid":`execucao-teste-titulo`},Lt={class:`mt-1 rounded-md bg-elevated py-3 pl-3.5 pr-3`},Rt={key:1,class:`text-sm text-dimmed`},zt=Object.assign(s({__name:`modal`,props:O({running:{type:Boolean,default:!1},passed:{type:Boolean,default:!1},tests:{default:()=>[]},projectName:{},slug:{},filter:{default:``},testedAt:{default:null},output:{default:null}},{open:{type:Boolean,default:!1},openModifiers:{}}),emits:[`update:open`],setup(e){let r=S(e,`open`),i={waiting:`i-ic-round-radio-button-unchecked`,running:`line-md:loading-twotone-loop`,success:`i-ic-round-check-circle`,failed:`i-ic-round-error`},a={waiting:`text-dimmed`,running:`text-neutral`,success:`text-success`,failed:`text-error`},s=g([]);k(()=>e.tests,e=>{if(!e.length){s.value=[];return}let t=e.filter(e=>e.status===`failed`).map(e=>e.id);s.value=[...new Set([...s.value,...t])]},{deep:!0,immediate:!0});function d(e,t){s.value=t?[...s.value,e]:s.value.filter(t=>t!==e)}function f(e){return e.error&&e.steps.every(e=>e.status!==`failed`)?e.error:null}return(p,g)=>{let y=je,x=Ge,S=Fe,w=me,T=ze,E=Ye,D=Ot,O=W;return t(),h(O,{open:r.value,"onUpdate:open":g[1]||=e=>r.value=e,dismissable:!e.running,wide:``},n({header:A(()=>[m(`div`,kt,[e.running?(t(),l(`p`,At,` Testando cenários filtrados... `)):(t(),l(_,{key:1},[v(y,{class:`self-start`,color:e.passed?`success`:`error`,icon:e.passed?`i-ic-round-check-circle`:`i-ic-round-error`,label:e.passed?`Sucesso`:`Falha`,"data-testid":`execucao-status`},null,8,[`color`,`icon`,`label`]),g[2]||=m(`p`,{class:`mt-2 text-xl font-bold`},` Resultado dos testes `,-1)],64))])]),body:A(()=>[e.running&&e.tests.length===0?(t(),h(x,{key:0,phrases:[`Iniciando a execução`],"data-testid":`execucao-iniciando`})):(t(),l(_,{key:1},[e.running?o(``,!0):(t(),l(`div`,jt,[m(`p`,null,[g[3]||=m(`span`,{class:`font-semibold`},`Projeto:`,-1),c(` `+C(e.projectName),1)]),e.filter?(t(),l(`p`,Mt,[g[4]||=m(`span`,{class:`font-semibold`},`Filtro:`,-1),c(` `+C(e.filter),1)])):o(``,!0),m(`p`,null,[g[5]||=m(`span`,{class:`font-semibold`},`Cenários:`,-1),c(` `+C(e.tests.length),1)]),e.testedAt?(t(),l(`p`,Nt,[g[6]||=m(`span`,{class:`font-semibold`},`Testado em:`,-1),c(` `+C(e.testedAt),1)])):o(``,!0)])),e.output?(t(),h(S,{key:1,color:`error`,variant:`soft`,icon:`i-ic-round-error`,title:`A execução não chegou a começar`,class:`mb-6`,"data-testid":`execucao-saida`},{description:A(()=>[g[7]||=m(`p`,{class:`mb-2`},` O Playwright encerrou antes de rodar qualquer passo. Saída do runner: `,-1),m(`code`,Pt,C(e.output),1)]),_:1})):o(``,!0),m(`div`,Ft,[(t(!0),l(_,null,u(e.tests,e=>(t(),h(D,{key:e.id,open:b(s).includes(e.id),"data-testid":`execucao-teste`,"data-status":e.status,"onUpdate:open":t=>d(e.id,t)},{content:A(()=>[m(`div`,Lt,[f(e)?(t(),h(T,{key:0,error:f(e),"data-testid":`execucao-teste-erro`},null,8,[`error`])):e.steps.length===0?(t(),l(`p`,Rt,` Nenhum passo reportado. `)):o(``,!0),v(E,{steps:e.steps},null,8,[`steps`])])]),default:A(()=>[v(w,{block:``,color:`neutral`,variant:`soft`,icon:i[e.status],"trailing-icon":`i-ic-round-expand-more`,ui:{base:`justify-start gap-3`,leadingIcon:a[e.status],trailingIcon:`text-dimmed`},"data-testid":`execucao-teste-abrir`},{default:A(()=>[m(`span`,It,C(e.title),1)]),_:2},1032,[`icon`,`ui`])]),_:2},1032,[`open`,`data-status`,`onUpdate:open`]))),128))])],64))]),_:2},[e.running?void 0:{name:`footer`,fn:A(()=>[v(w,{label:`Fechar`,color:`neutral`,variant:`ghost`,"data-testid":`execucao-fechar`,onClick:g[0]||=e=>r.value=!1}),v(w,{label:`Relatório do Playwright`,"trailing-icon":`i-ic-round-assessment`,to:b(Ke)(e.slug),target:`_blank`,external:``,"data-testid":`execucao-relatorio`},null,8,[`to`])]),key:`0`}]),1032,[`open`,`dismissable`])}}}),{__name:`ProjectRunFilteredModal`}),Bt={class:`flex items-start justify-between gap-4`},Vt={class:`flex flex-col gap-1 min-w-0`},Ht={class:`flex items-center gap-2`},Ut=[`title`],Wt={key:0,class:`text-sm`,"data-testid":`projeto-branch`},Gt={class:`font-medium`},Kt={class:`text-xs text-dimmed`},qt={class:`flex gap-2 shrink-0`},Jt={class:`flex flex-wrap items-center gap-4 mt-8 mb-8`},Yt=[`data-testid`],Xt={key:3,class:`mb-8 flex flex-col gap-3`},Zt={key:4,class:`grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-4`},Qt={class:`flex flex-col gap-2`},$t={class:`font-semibold truncate`},en={class:`text-sm text-muted italic truncate`},tn={class:`flex flex-wrap gap-1`},nn=`tests/auth.setup.ts`,rn=s({__name:`[slug]`,async setup(e){let n,r,i=te(),s=f(()=>i.params.slug),d=g(!1);N(()=>{d.value=!0});let{data:p,error:y,refresh:x}=([n,r]=T(()=>oe(`/api/projects/${s.value}`,`$pWmjyfGnvu`)),n=await n,r(),n);if(y.value||!p.value)throw ee({statusCode:404,message:`Projeto não encontrado.`});let S=f(()=>Ne(p.value)),w=f(()=>new Date(p.value.updated_at).toLocaleString(`pt-BR`,{dateStyle:`short`,timeStyle:`short`})),E=g(``),D=f(()=>{let e=E.value.trim().toLowerCase(),t=p.value?.scenarios??[];return e?t.filter(t=>t.title.toLowerCase().includes(e)||t.tags.some(t=>t.toLowerCase().includes(e))):t}),O=f(()=>D.value.filter(e=>!e.skipped)),j=He(()=>s.value),M=g(!1);function P(){M.value=!0,j.start({grep:O.value.map(e=>e.title.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)).join(`|`)})}let{conflict:F,unavailable:I,sync:ne}=Re(s.value);async function R(){(await ne())?.changed&&await x()}N(()=>{R()}),k(p,()=>{R()});let z=f(()=>F.value||I.value),B=f(()=>F.value?We:qe),V=g(!1);N(()=>{p.value?.requires_url&&(V.value=!0)});let H=g(!1),{data:U}=([n,r]=T(()=>oe(()=>`/api/projects/${s.value}/environments`,{key:`environments-${s.value}`},`$lUEBM9VzP8`)),n=await n,r(),n),W=f(()=>{let e=U.value;return(e?.environments.find(t=>t.slug===e.active)?.vars??[]).filter(e=>e.pending).map(e=>e.key)});N(()=>{te().query.environment!==void 0&&(H.value=!0)});async function ie(){await Te(`environments-${s.value}`),await x()}let ae=g(!1),se=g(!1),ce=g(!1),G=f(()=>`/projects/${s.value}/scenarios/auth`),K=He(()=>s.value),q=g(!1),le=f(()=>({configured:`success`,failing:`error`,unset:`neutral`,skipped:`neutral`})[p.value.auth_status]);async function J(){ce.value=!0;try{await Z(`/api/projects/${s.value}/auth/skip`,{method:`POST`}),await x()}finally{ce.value=!1}}let{state:Y,startRecording:ue,stopRecording:de}=Oe(),fe=g(!1),X=g(`plain`),Q=f(()=>X.value===`public`),he=f(()=>p.value.auth_status===`configured`||p.value.auth_status===`failing`),ge=f(()=>[[{label:`Cenário autenticado`,description:`Entra no sistema antes de gravar`,icon:`i-ic-round-lock`,testid:`cenario-novo-autenticado`,onSelect:()=>be()},{label:`Cenário público`,description:`Grava sem sessão (login, cadastro, landing)`,icon:`i-ic-round-public`,testid:`cenario-novo-publico`,onSelect:()=>ye()}]]),_e=f(()=>p.value.base_url??void 0);function ve(e){X.value=`plain`,ue(`scenario`,{url:_e.value,replay:e})}function ye(e){X.value=`public`,ue(`scenario`,{url:_e.value,replay:e})}function be(e){X.value=`authenticated`,q.value=!0,K.start({spec:nn},()=>{x(),K.passed.value&&(q.value=!1,ue(`scenario`,{storageState:p.value.storage_state,url:_e.value,replay:e}))})}function xe(){return he.value?be():ve()}function Se(e){if(X.value===`authenticated`)return be(e);if(X.value===`public`)return ye(e);ve(e)}k(()=>Y.value.videoSessionId,e=>{e&&(fe.value=!0)});let Ce=f(()=>Y.value.replayFailedStep?`Aguardando você na janela`:Y.value.replaying?`Refazendo os passos`:`Parar gravação`);function we(){de()}function $(e){L(`/projects/${e}`)}async function Ee(){se.value=!0;try{await Z(`/api/projects/${s.value}`,{method:`DELETE`}),await L(`/`)}finally{se.value=!1}}return(e,n)=>{let r=Ae,i=je,f=rt,g=st,y=pe,T=me,k=Fe,N=re,ee=ut,I=Le,te=Be,ne=Me,R=mt,U=Tt,oe=Et,ue=zt,de=Ue,X=Ve,Z=Ie;return t(),h(Z,{"data-hydrated":b(d),class:`py-6 lg:py-10`},{default:A(()=>[m(`div`,Bt,[m(`div`,Vt,[m(`div`,Ht,[v(r,{icon:`i-ic-round-arrow-back`,label:`Voltar`,variant:`ghost`,color:`neutral`,to:`/`,"data-testid":`projeto-voltar`}),v(i,{icon:b(S).icon,label:b(S).label,"data-testid":`projeto-origem`},null,8,[`icon`,`label`])]),v(f,{slug:b(s),name:b(p).name,onRenamed:$},null,8,[`slug`,`name`]),m(`p`,{class:`text-sm text-muted italic truncate`,title:b(p).repository??void 0,"data-testid":`projeto-caminho`},C(b(p).path),9,Ut),b(p).branch?(t(),l(`p`,Wt,[n[15]||=c(` Branch: `,-1),m(`span`,Gt,C(b(p).branch),1)])):o(``,!0),m(`p`,Kt,` Última modificação: `+C(b(w)),1)]),m(`div`,qt,[v(g,{slug:b(s),onEdit:n[0]||=e=>H.value=!0,onActivated:n[1]||=e=>b(x)()},null,8,[`slug`]),v(r,{icon:`i-ic-round-key`,label:`Autenticação`,color:b(le),variant:`soft`,to:b(G),"data-testid":`projeto-auth`},null,8,[`color`,`to`]),b(p).has_report?(t(),h(r,{key:0,icon:`i-ic-round-assessment`,label:`Relatório da última execução`,color:`neutral`,variant:`soft`,to:b(Ke)(b(s)),target:`_blank`,external:``,"data-testid":`projeto-relatorio`},null,8,[`to`])):o(``,!0),v(y,{show:b(z),color:b(F)?`error`:`warning`,size:`lg`},{default:A(()=>[v(r,{icon:`i-simple-icons-visualstudiocode`,label:b(z)?b(B):`Abrir no VS Code`,color:`neutral`,variant:`soft`,to:b(p).vscode_url,target:`_blank`,"data-testid":`projeto-vscode`},null,8,[`label`,`to`])]),_:1},8,[`show`,`color`]),v(r,{icon:`i-ic-round-delete`,label:`Remover projeto`,color:`error`,variant:`soft`,"data-testid":`projeto-remover`,onClick:n[2]||=e=>ae.value=!0})])]),b(W).length?(t(),h(k,{key:0,color:`warning`,variant:`soft`,icon:`i-ic-round-warning`,class:`mt-6`,title:`Variáveis do ambiente sem valor`,description:`A execução vai falhar até ${b(W).join(`, `)} receber valor no ambiente ativo.`,"data-testid":`projeto-variaveis-aviso`,ui:{actions:`justify-end`}},{actions:A(()=>[v(T,{label:`Preencher`,size:`md`,color:`neutral`,variant:`link`,"data-testid":`projeto-variaveis-preencher`,onClick:n[3]||=e=>H.value=!0})]),_:1},8,[`description`])):o(``,!0),b(p).auth_status===`unset`?(t(),h(k,{key:1,color:`warning`,variant:`soft`,icon:`i-ic-round-warning`,class:`mt-6`,title:`Sem autenticação configurada`,description:`Cenários gravados após um login vão falhar na verificação até a autenticação ser configurada.`,"data-testid":`projeto-auth-aviso`,ui:{actions:`justify-end`}},{actions:A(()=>[v(T,{label:`Não precisa de login`,size:`md`,color:`neutral`,variant:`link`,loading:b(ce),"data-testid":`projeto-auth-dispensar`,onClick:J},null,8,[`loading`]),v(T,{label:`Configurar`,size:`md`,color:`warning`,to:b(G),"data-testid":`projeto-auth-configurar`},null,8,[`to`])]),_:1})):b(p).auth_status===`failing`?(t(),h(k,{key:2,color:`error`,variant:`soft`,icon:`i-ic-round-error`,class:`mt-6`,title:`A autenticação não está funcionando`,description:`A última execução do login falhou. Todo cenário deste projeto roda o login antes, então eles vão falhar junto até isso ser resolvido.`,"data-testid":`projeto-auth-falhando`,ui:{actions:`justify-end`}},{actions:A(()=>[v(T,{label:`Ver autenticação`,size:`md`,color:`error`,to:b(G),"data-testid":`projeto-auth-revisar`},null,8,[`to`])]),_:1})):o(``,!0),m(`div`,Jt,[v(N,{modelValue:b(E),"onUpdate:modelValue":n[4]||=e=>a(E)?E.value=e:null,"data-testid":`cenario-busca`,icon:`i-ic-round-search`,placeholder:`Buscar cenário...`,class:`flex-1 min-w-48`},null,8,[`modelValue`]),v(T,{label:`Rodar ${b(O).length} filtrados`,"trailing-icon":`i-ic-round-play-arrow`,color:`neutral`,variant:`soft`,disabled:!b(O).length,loading:b(j).running.value,"data-testid":`projeto-rodar-filtrados`,onClick:P},null,8,[`label`,`disabled`,`loading`]),!b(Y).recording&&b(he)?(t(),h(ee,{key:0,items:b(ge)},{"item-label":A(({item:e})=>[m(`span`,{"data-testid":e.testid},C(e.label),9,Yt)]),default:A(()=>[v(T,{"data-testid":`cenario-novo`,label:`Novo cenário`,"trailing-icon":`i-ic-round-expand-more`,disabled:!b(Y).connected},null,8,[`disabled`])]),_:1},8,[`items`])):b(Y).recording?(t(),h(T,{key:2,"data-testid":`cenario-parar`,label:b(Ce),"trailing-icon":`i-ic-round-stop`,color:`error`,class:`animate-pulse`,disabled:b(Y).replaying,onClick:we},null,8,[`label`,`disabled`])):(t(),h(T,{key:1,"data-testid":`cenario-novo`,label:`Novo cenário`,"trailing-icon":`i-ic-round-add`,disabled:!b(Y).connected,onClick:n[5]||=e=>ve()},null,8,[`disabled`]))]),b(Y).error?(t(),l(`div`,Xt,[v(k,{color:`error`,variant:`soft`,"data-testid":`webdriver-erro`,description:b(Y).error},null,8,[`description`]),b(Y).error.includes(`Chrome`)?(t(),h(I,{key:0})):o(``,!0)])):o(``,!0),v(te,{open:b(fe),"onUpdate:open":n[6]||=e=>a(fe)?fe.value=e:null,slug:b(s),"is-public":b(Q),onGenerated:n[7]||=e=>b(x)(),onRerecord:Se,onResume:Se},null,8,[`open`,`slug`,`is-public`]),b(D).length?(t(),l(`div`,Zt,[(t(!0),l(_,null,u(b(D),e=>(t(),h(ne,{key:e.spec,"data-testid":`cenario-card`,class:`cursor-pointer`,onClick:t=>b(L)(`/projects/${b(s)}/scenarios/${e.spec.replace(/^tests\//,``).replace(/\.spec\.ts$/,``)}`)},{default:A(()=>[m(`div`,Qt,[m(`p`,$t,C(e.title),1),m(`p`,en,C(e.spec),1),m(`div`,tn,[e.skipped?(t(),h(i,{key:0,color:`warning`,variant:`soft`,size:`md`,icon:`i-ic-round-pause-circle`,label:`Pulado`,"data-testid":`cenario-card-pulado`})):o(``,!0),(t(!0),l(_,null,u(e.tags,e=>(t(),h(i,{key:e,color:b(Je)(e),size:`md`,label:e},null,8,[`color`,`label`]))),128))])])]),_:2},1032,[`onClick`]))),128))])):(t(),h(R,{key:5,disabled:!b(Y).connected,onRecord:xe},null,8,[`disabled`])),v(U,{open:b(H),"onUpdate:open":n[8]||=e=>a(H)?H.value=e:null,slug:b(s),onSaved:ie},null,8,[`open`,`slug`]),v(oe,{open:b(V),"onUpdate:open":n[9]||=e=>a(V)?V.value=e:null,slug:b(s),"base-url":b(p).base_url,onSaved:n[10]||=e=>b(x)()},null,8,[`open`,`slug`,`base-url`]),v(ue,{open:b(M),"onUpdate:open":n[11]||=e=>a(M)?M.value=e:null,running:b(j).running.value,passed:b(j).passed.value,tests:b(j).tests.value,"project-name":b(p).name,slug:b(s),filter:b(E),"tested-at":b(j).testedAt.value,output:b(j).output.value},null,8,[`open`,`running`,`passed`,`tests`,`project-name`,`slug`,`filter`,`tested-at`,`output`]),v(de,{open:b(q),"onUpdate:open":n[12]||=e=>a(q)?q.value=e:null,running:b(K).running.value,passed:b(K).passed.value,steps:b(K).steps.value,"video-url":b(K).videoUrl.value,"project-name":b(p).name,kind:`autenticacao`,"running-title":`Autenticando`,"scenario-name":nn,branch:b(p).branch,"tested-at":b(K).testedAt.value,output:b(K).output.value,onFix:n[13]||=e=>b(L)(b(G))},null,8,[`open`,`running`,`passed`,`steps`,`video-url`,`project-name`,`branch`,`tested-at`,`output`]),v(X,{open:b(ae),"onUpdate:open":n[14]||=e=>a(ae)?ae.value=e:null,title:`Remover projeto`,description:`Isso apaga a pasta ${b(p).path} e todos os testes dentro dela.`,"confirm-label":`Remover`,"confirm-color":`error`,"confirm-testid":`projeto-remover-confirmar`,loading:b(se),onConfirm:Ee},null,8,[`open`,`description`,`loading`])]),_:1},8,[`data-hydrated`])}}});export{rn as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{$t as e,At as t,Bn as n,Bt as r,E as i,F as a,G as o,H as s,I as c,It as l,Lt as u,M as d,N as f,Ot as p,P as m,Pn as h,S as g,U as _,Vn as v,Wn as y,_r as b,_t as x,an as S,en as C,gr as w,gt as T,hr as E,in as D,ln as O,pr as k,tt as A,wt as j}from"./DMHcp4U1.js";import{at as M,qt as N}from"./cRY3ZoRz.js";import{B as P,G as ee,H as te,J as ne,K as F,L as re,O as ie,P as ae,Q as oe,U as I,W as se,X as ce,Y as le,b as L,ct as R,dt as ue,f as z,lt as B,m as de,p as V,q as fe,s as pe,st as me,tt as H,u as U,ut as he,x as ge,y as W}from"./DKtXkDi_.js";import{A as _e,E as ve,F as ye,N as G,O as K,S as be,T as xe,Y as Se,at as q,b as Ce,c as we,j as Te,k as Ee,l as J,s as De,w as Oe,x as ke,y as Ae}from"./CFDrxEXS.js";import{f as Y,u as je}from"./BkcULE08.js";function X(e,t=-1/0,n=1/0){return Math.min(n,Math.max(t,e))}function Me(e){let t=oe({nonce:h()});return d(()=>e?.value||t.nonce?.value)}var Ne=[` `,`Enter`,`ArrowUp`,`ArrowDown`],Pe=[` `,`Enter`];function Z(e,t,n){return e===void 0?!1:Array.isArray(e)?e.some(e=>Fe(e,t,n)):Fe(e,t,n)}function Fe(e,t,n){return e===void 0||t===void 0?!1:typeof e==`string`?e===t:typeof n==`function`?n(e,t):typeof n==`string`?e?.[n]===t?.[n]:Y(e,t)}function Ie(e){return e==null||e===``||Array.isArray(e)&&e.length===0}var Le=[`value`],[Q,Re]=q(`SelectRoot`),ze=o({inheritAttrs:!1,__name:`SelectRoot`,props:{open:{type:Boolean,required:!1,default:void 0},defaultOpen:{type:Boolean,required:!1},defaultValue:{type:null,required:!1},modelValue:{type:null,required:!1,default:void 0},nullableValue:{type:String,required:!1,default:``},by:{type:[String,Function],required:!1},dir:{type:String,required:!1},multiple:{type:Boolean,required:!1},autocomplete:{type:String,required:!1},disabled:{type:Boolean,required:!1},name:{type:String,required:!1},required:{type:Boolean,required:!1}},emits:[`update:modelValue`,`update:open`],setup(e,{emit:n}){let r=e,i=n,{required:o,disabled:s,multiple:f,dir:p}=v(r),_=R(r,`modelValue`,i,{defaultValue:r.defaultValue??(f.value?[]:void 0),passive:r.modelValue===void 0,deep:!0}),b=R(r,`open`,i,{defaultValue:r.defaultOpen,passive:r.open===void 0}),x=h(),S=h(),C=h({x:0,y:0}),w=d(()=>f.value&&Array.isArray(_.value)?_.value?.length===0:B(_.value));L({isProvider:!0});let E=le(p),D=fe(x),k=h(new Set),A=d(()=>Array.from(k.value).map(e=>e.value).join(`;`));function j(e){if(f.value){let t=Array.isArray(_.value)?[..._.value]:[],n=t.findIndex(t=>Fe(t,e,r.by));n===-1?t.push(e):t.splice(n,1),_.value=[...t]}else _.value=e}function M(e){return Array.from(k.value).find(t=>Z(e,t.value,r.by))}return Re({triggerElement:x,onTriggerChange:e=>{x.value=e},valueElement:S,onValueElementChange:e=>{S.value=e},contentId:``,modelValue:_,onValueChange:j,by:r.by,open:b,multiple:f,required:o,onOpenChange:e=>{b.value=e},dir:E,triggerPointerDownPosRef:C,disabled:s,isEmptyModelValue:w,optionsSet:k,onOptionAdd:e=>{let t=M(e.value);t&&k.value.delete(t),k.value.add(e)},onOptionRemove:e=>{let t=M(e.value);t&&k.value.delete(t)}}),(e,n)=>(t(),m(y(de),null,{default:O(()=>[u(e.$slots,`default`,{modelValue:y(_),open:y(b)}),y(D)&&e.name?(t(),m(Be,{key:A.value,"aria-hidden":`true`,tabindex:`-1`,multiple:y(f),required:y(o),name:e.name,autocomplete:e.autocomplete,disabled:y(s),value:y(_)},{default:O(()=>[y(B)(y(_))?(t(),c(`option`,{key:0,value:e.nullableValue},null,8,Le)):a(`v-if`,!0),(t(!0),c(g,null,l(Array.from(k.value),e=>(t(),c(`option`,T({key:e.value??``},{ref_for:!0},e),null,16))),128))]),_:1},8,[`multiple`,`required`,`name`,`autocomplete`,`disabled`,`value`])):a(`v-if`,!0)]),_:3}))}}),Be=o({__name:`BubbleSelect`,props:{autocomplete:{type:String,required:!1},autofocus:{type:Boolean,required:!1},disabled:{type:Boolean,required:!1},form:{type:String,required:!1},multiple:{type:Boolean,required:!1},name:{type:String,required:!1},required:{type:Boolean,required:!1},size:{type:Number,required:!1},value:{type:null,required:!1}},setup(e){let n=e,r=h(),i=Q();D(()=>n.value,(e,t)=>{let n=window.HTMLSelectElement.prototype,i=Object.getOwnPropertyDescriptor(n,`value`).set;if(e!==t&&i&&r.value){let t=new Event(`change`,{bubbles:!0});i.call(r.value,e),r.value.dispatchEvent(t)}});function a(e){i.onValueChange(e.target.value)}return(e,i)=>(t(),m(y(W),{"as-child":``},{default:O(()=>[f(`select`,T({ref_key:`selectElement`,ref:r},n,{onInput:a}),[u(e.$slots,`default`)],16)]),_:3}))}}),Ve=o({__name:`SelectPopperPosition`,props:{memoDependencies:{type:Array,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1,default:`start`},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1,default:10},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},dir:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let n=ye(e);return(e,r)=>(t(),m(y(z),T(y(n),{style:{boxSizing:`border-box`,"--reka-select-content-transform-origin":`var(--reka-popper-transform-origin)`,"--reka-select-content-available-width":`var(--reka-popper-available-width)`,"--reka-select-content-available-height":`var(--reka-popper-available-height)`,"--reka-select-trigger-width":`var(--reka-popper-anchor-width)`,"--reka-select-trigger-height":`var(--reka-popper-anchor-height)`}}),{default:O(()=>[u(e.$slots,`default`)]),_:3},16))}}),He={onViewportChange:()=>{},itemTextRefCallback:()=>{},itemRefCallback:()=>{}},[$,Ue]=q(`SelectContent`),We=o({__name:`SelectContentImpl`,props:{position:{type:String,required:!1,default:`item-aligned`},bodyLock:{type:Boolean,required:!1,default:!0},memoDependencies:{type:Array,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1,default:`start`},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},dir:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1,default:!0}},emits:[`closeAutoFocus`,`escapeKeyDown`,`pointerDownOutside`],setup(e,{emit:n}){let i=e,a=n,o=Q();ne(),ce(i.bodyLock);let{CollectionSlot:s,getItems:c}=L(),l=h();se(l);let{search:f,handleTypeaheadSearch:p}=te(),g=h(),v=h(),b=h(),x=h(!1),C=h(!1),w=h(!1);function E(){v.value&&l.value&&ie([v.value,l.value])}D(x,()=>{E()});let{onOpenChange:k,triggerPointerDownPosRef:A}=o;S(e=>{if(!l.value)return;let t={x:0,y:0},n=e=>{t={x:Math.abs(Math.round(e.pageX)-(A.value?.x??0)),y:Math.abs(Math.round(e.pageY)-(A.value?.y??0))}},r=e=>{e.pointerType!==`touch`&&(t.x<=10&&t.y<=10?e.preventDefault():l.value?.contains(e.target)||k(!1),document.removeEventListener(`pointermove`,n),A.value=null)};A.value!==null&&(document.addEventListener(`pointermove`,n),document.addEventListener(`pointerup`,r,{capture:!0,once:!0})),e(()=>{document.removeEventListener(`pointermove`,n),document.removeEventListener(`pointerup`,r,{capture:!0})})});function j(e){let t=e.ctrlKey||e.altKey||e.metaKey;if(e.key===`Tab`&&e.preventDefault(),!t&&e.key.length===1&&p(e.key,c()),[`ArrowUp`,`ArrowDown`,`Home`,`End`].includes(e.key)){let t=[...c().map(e=>e.ref)];if([`ArrowUp`,`End`].includes(e.key)&&(t=t.slice().reverse()),[`ArrowUp`,`ArrowDown`].includes(e.key)){let n=e.target,r=t.indexOf(n);t=t.slice(r+1)}setTimeout(()=>ie(t)),e.preventDefault()}}let M=d(()=>i.position===`popper`?i:{}),P=ye(M.value);return Ue({content:l,viewport:g,onViewportChange:e=>{g.value=e},itemRefCallback:(e,t,n)=>{let r=!C.value&&!n,i=Z(o.modelValue.value,t,o.by);if(o.multiple.value){if(w.value)return;(i||r)&&(v.value=e,i&&(w.value=!0))}else(i||r)&&(v.value=e);r&&(C.value=!0)},selectedItem:v,selectedItemText:b,onItemLeave:()=>{l.value?.focus()},itemTextRefCallback:(e,t,n)=>{let r=!C.value&&!n;(Z(o.modelValue.value,t,o.by)||r)&&(b.value=e)},focusSelectedItem:E,position:i.position,isPositioned:x,searchRef:f}),(e,n)=>(t(),m(y(s),null,{default:O(()=>[_(y(ae),{"as-child":``,onMountAutoFocus:n[6]||=N(()=>{},[`prevent`]),onUnmountAutoFocus:n[7]||=e=>{a(`closeAutoFocus`,e),!e.defaultPrevented&&(y(o).triggerElement.value?.focus({preventScroll:!0}),e.preventDefault())}},{default:O(()=>[_(y(re),{"as-child":``,"disable-outside-pointer-events":e.disableOutsidePointerEvents,onFocusOutside:n[2]||=N(()=>{},[`prevent`]),onDismiss:n[3]||=e=>y(o).onOpenChange(!1),onEscapeKeyDown:n[4]||=e=>a(`escapeKeyDown`,e),onPointerDownOutside:n[5]||=e=>a(`pointerDownOutside`,e)},{default:O(()=>[(t(),m(r(e.position===`popper`?Ve:qe),T({...e.$attrs,...y(P)},{id:y(o).contentId,ref:e=>{if(!e)return;let t=y(H)(e);t?.hasAttribute(`data-reka-popper-content-wrapper`)?l.value=t.firstElementChild:l.value=t},role:`listbox`,"data-state":y(o).open.value?`open`:`closed`,dir:y(o).dir.value,style:{display:`flex`,flexDirection:`column`,outline:`none`},onContextmenu:n[0]||=N(()=>{},[`prevent`]),onPlaced:n[1]||=e=>x.value=!0,onKeydown:j}),{default:O(()=>[u(e.$slots,`default`)]),_:3},16,[`id`,`data-state`,`dir`,`onKeydown`]))]),_:3},8,[`disable-outside-pointer-events`])]),_:3})]),_:3}))}}),[Ge,Ke]=q(`SelectItemAlignedPosition`),qe=o({inheritAttrs:!1,__name:`SelectItemAlignedPosition`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`placed`],setup(e,{emit:n}){let r=e,i=n,{getItems:a}=L(),o=Q(),s=$(),l=h(!1),d=h(!0),f=h(),{forwardRef:p,currentElement:m}=F(),{viewport:g,selectedItem:v,selectedItemText:b,focusSelectedItem:S}=s;function C(){if(o.triggerElement.value&&o.valueElement.value&&f.value&&m.value&&g?.value&&v?.value&&b?.value){let e=o.triggerElement.value.getBoundingClientRect(),t=m.value.getBoundingClientRect(),n=o.valueElement.value.getBoundingClientRect(),r=b.value.getBoundingClientRect();if(o.dir.value!==`rtl`){let i=r.left-t.left,a=n.left-i,o=e.left-a,s=e.width+o,c=Math.max(s,t.width),l=window.innerWidth-10,u=X(a,10,Math.max(10,l-c));f.value.style.minWidth=`${s}px`,f.value.style.left=`${u}px`}else{let i=t.right-r.right,a=window.innerWidth-n.right-i,o=window.innerWidth-e.right-a,s=e.width+o,c=Math.max(s,t.width),l=window.innerWidth-10,u=X(a,10,Math.max(10,l-c));f.value.style.minWidth=`${s}px`,f.value.style.right=`${u}px`}let s=a().map(e=>e.ref),c=window.innerHeight-20,u=g.value.scrollHeight,d=window.getComputedStyle(m.value),p=Number.parseInt(d.borderTopWidth,10),h=Number.parseInt(d.paddingTop,10),_=Number.parseInt(d.borderBottomWidth,10),y=Number.parseInt(d.paddingBottom,10),x=p+h+u+y+_,S=Math.min(v.value.offsetHeight*5,x),C=window.getComputedStyle(g.value),w=Number.parseInt(C.paddingTop,10),T=Number.parseInt(C.paddingBottom,10),E=e.top+e.height/2-10,D=c-E,O=v.value.offsetHeight/2,k=v.value.offsetTop+O,A=p+h+k,j=x-A;if(A<=E){let e=v.value===s.at(-1);f.value.style.bottom=`0px`;let t=m.value.clientHeight-g.value.offsetTop-g.value.offsetHeight,n=A+Math.max(D,O+(e?T:0)+t+_);f.value.style.height=`${n}px`}else{let e=v.value===s[0];f.value.style.top=`0px`;let t=Math.max(E,p+g.value.offsetTop+(e?w:0)+O)+j;f.value.style.height=`${t}px`,g.value.scrollTop=A-E+g.value.offsetTop}f.value.style.margin=`10px 0`,f.value.style.minHeight=`${S}px`,f.value.style.maxHeight=`${c}px`,i(`placed`),requestAnimationFrame(()=>l.value=!0)}}let E=h(``);j(async()=>{await x(),C(),m.value&&(E.value=window.getComputedStyle(m.value).zIndex)});function D(e){e&&d.value===!0&&(C(),S?.(),d.value=!1)}return me(o.triggerElement,()=>{C()}),Ke({contentWrapper:f,shouldExpandOnScrollRef:l,onScrollButtonChange:D}),(e,n)=>(t(),c(`div`,{ref_key:`contentWrapperElement`,ref:f,style:w({display:`flex`,flexDirection:`column`,position:`fixed`,zIndex:E.value})},[_(y(G),T({ref:y(p),style:{boxSizing:`border-box`,maxHeight:`100%`}},{...e.$attrs,...r}),{default:O(()=>[u(e.$slots,`default`)]),_:3},16)],4))}}),Je=o({__name:`SelectArrow`,props:{width:{type:Number,required:!1,default:10},height:{type:Number,required:!1,default:5},rounded:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`svg`}},setup(e){let n=e,r=$(He);return(e,i)=>y(r).position===`popper`?(t(),m(y(U),E(T({key:0},n)),{default:O(()=>[u(e.$slots,`default`)]),_:3},16)):a(`v-if`,!0)}}),Ye=o({inheritAttrs:!1,__name:`SelectProvider`,props:{context:{type:Object,required:!0}},setup(e){return Re(e.context),Ue(He),(e,t)=>u(e.$slots,`default`)}}),Xe={key:1},Ze=o({inheritAttrs:!1,__name:`SelectContent`,props:{forceMount:{type:Boolean,required:!1},position:{type:String,required:!1},bodyLock:{type:Boolean,required:!1},memoDependencies:{type:Array,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},dir:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1}},emits:[`closeAutoFocus`,`escapeKeyDown`,`pointerDownOutside`],setup(e,{emit:n}){let r=e,o=ee(r,n),s=Q(),l=h();j(()=>{l.value=new DocumentFragment});let f=h(),g=d(()=>r.forceMount||s.open.value),v=h(g.value),b;function x(){b&&=(clearTimeout(b),void 0)}return D(g,(e,t,n)=>{x(),b=setTimeout(()=>{v.value=g.value,b=void 0}),n(x)}),p(x),(e,n)=>g.value||v.value||f.value?.present?(t(),m(y(P),{key:0,ref_key:`presenceRef`,ref:f,present:g.value},{default:O(()=>[_(We,E(A({...y(o),...e.$attrs})),{default:O(()=>[u(e.$slots,`default`)]),_:3},16)]),_:3},8,[`present`])):l.value?(t(),c(`div`,Xe,[(t(),m(i,{to:l.value},[_(Ye,{context:y(s)},{default:O(()=>[u(e.$slots,`default`)]),_:3},8,[`context`])],8,[`to`]))])):a(`v-if`,!0)}}),[Qe,$e]=q(`SelectGroup`),et=o({__name:`SelectGroup`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let n=e,r=I(void 0,`reka-select-group`);return $e({id:r}),(e,i)=>(t(),m(y(G),T({role:`group`},n,{"aria-labelledby":y(r)}),{default:O(()=>[u(e.$slots,`default`)]),_:3},16,[`aria-labelledby`]))}}),[tt,nt]=q(`SelectItem`),rt=o({__name:`SelectItem`,props:{value:{type:null,required:!0},disabled:{type:Boolean,required:!1},textValue:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`select`],setup(e,{emit:n}){let r=e,i=n,{disabled:a}=v(r),o=Q(),s=$(),{forwardRef:c,currentElement:l}=F(),{CollectionItem:f}=L(),p=d(()=>Z(o.modelValue?.value,r.value,o.by)),g=h(!1),b=h(r.textValue??``),S=I(void 0,`reka-select-item-text`);async function C(e){if(e.defaultPrevented)return;let t={originalEvent:e,value:r.value};he(`select.select`,w,t)}async function w(e){await x(),i(`select`,e),!e.defaultPrevented&&(a.value||(o.onValueChange(r.value),o.multiple.value||o.onOpenChange(!1)))}async function T(e){await x(),!e.defaultPrevented&&(a.value?s.onItemLeave?.():e.currentTarget?.focus({preventScroll:!0}))}async function E(e){await x(),!e.defaultPrevented&&e.currentTarget===ue()&&s.onItemLeave?.()}async function D(e){await x(),!e.defaultPrevented&&(s.searchRef?.value===``||e.key!==` `)&&(Pe.includes(e.key)&&C(e),e.key===` `&&e.preventDefault())}if(r.value===``)throw Error(`A <SelectItem /> must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.`);return j(()=>{l.value&&s.itemRefCallback(l.value,r.value,r.disabled)}),nt({value:r.value,disabled:a,textId:S,isSelected:p,onItemTextChange:e=>{b.value=((b.value||e?.textContent)??``).trim()}}),(e,n)=>(t(),m(y(f),{value:{textValue:b.value}},{default:O(()=>[_(y(G),{ref:y(c),role:`option`,"aria-labelledby":y(S),"data-highlighted":g.value?``:void 0,"aria-selected":p.value,"data-state":p.value?`checked`:`unchecked`,"aria-disabled":y(a)||void 0,"data-disabled":y(a)?``:void 0,tabindex:y(a)?void 0:-1,as:e.as,"as-child":e.asChild,onFocus:n[0]||=e=>g.value=!0,onBlur:n[1]||=e=>g.value=!1,onPointerup:C,onPointerdown:n[2]||=e=>{e.currentTarget.focus({preventScroll:!0})},onTouchend:n[3]||=N(()=>{},[`prevent`,`stop`]),onPointermove:T,onPointerleave:E,onKeydown:D},{default:O(()=>[u(e.$slots,`default`)]),_:3},8,[`aria-labelledby`,`data-highlighted`,`aria-selected`,`data-state`,`aria-disabled`,`data-disabled`,`tabindex`,`as`,`as-child`])]),_:3},8,[`value`]))}}),it=o({__name:`SelectItemIndicator`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(e){let n=e,r=tt();return(e,i)=>y(r).isSelected.value?(t(),m(y(G),T({key:0,"aria-hidden":`true`},n),{default:O(()=>[u(e.$slots,`default`)]),_:3},16)):a(`v-if`,!0)}}),at=o({inheritAttrs:!1,__name:`SelectItemText`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(e){let n=e,r=Q(),i=$(),a=tt(),{forwardRef:o,currentElement:s}=F(),c=d(()=>({value:a.value,disabled:a.disabled.value,textContent:s.value?.textContent??a.value?.toString()??``}));return j(()=>{s.value&&(a.onItemTextChange(s.value),i.itemTextRefCallback(s.value,a.value,a.disabled.value),r.onOptionAdd(c.value))}),p(()=>{r.onOptionRemove(c.value)}),(e,r)=>(t(),m(y(G),T({id:y(a).textId,ref:y(o)},{...n,...e.$attrs}),{default:O(()=>[u(e.$slots,`default`)]),_:3},16,[`id`]))}}),ot=o({__name:`SelectLabel`,props:{for:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`div`}},setup(e){let n=e,r=Qe({id:``});return(e,i)=>(t(),m(y(G),T(n,{id:y(r).id}),{default:O(()=>[u(e.$slots,`default`)]),_:3},16,[`id`]))}}),st=o({__name:`SelectPortal`,props:{to:{type:null,required:!1},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(e){let n=e;return(e,r)=>(t(),m(y(ge),E(A(n)),{default:O(()=>[u(e.$slots,`default`)]),_:3},16))}}),ct=o({__name:`SelectSeparator`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let n=e;return(e,r)=>(t(),m(y(G),T({"aria-hidden":`true`},n),{default:O(()=>[u(e.$slots,`default`)]),_:3},16))}}),lt=o({__name:`SelectTrigger`,props:{disabled:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(e){let n=e,r=Q(),{forwardRef:i,currentElement:a}=F(),o=d(()=>r.disabled?.value||n.disabled);r.contentId||=I(void 0,`reka-select-content`),j(()=>{r.onTriggerChange(a.value)});let{getItems:s}=L(),{search:c,handleTypeaheadSearch:l,resetTypeahead:f}=te();function p(){o.value||(r.onOpenChange(!0),f())}function h(e){p(),r.triggerPointerDownPosRef.value={x:Math.round(e.pageX),y:Math.round(e.pageY)}}function g(e){return e.button===0&&e.ctrlKey===!1}let v=!1;function b(e){if(e.pointerType===`touch`)return e.preventDefault();let t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),g(e)&&(h(e),v=!0)}function x(e){g(e)&&e.preventDefault()}function S(e){v||e.currentTarget?.focus(),v=!1}return(e,n)=>(t(),m(y(V),{"as-child":``,reference:e.reference},{default:O(()=>[_(y(G),{ref:y(i),role:`combobox`,type:e.as===`button`?`button`:void 0,"aria-controls":y(r).contentId,"aria-expanded":y(r).open.value||!1,"aria-required":y(r).required?.value,"aria-autocomplete":`none`,disabled:o.value,dir:y(r)?.dir.value,"data-state":y(r)?.open.value?`open`:`closed`,"data-disabled":o.value?``:void 0,"data-placeholder":y(Ie)(y(r).modelValue?.value)?``:void 0,"as-child":e.asChild,as:e.as,onClick:S,onPointerdown:b,onMousedown:x,onPointerup:n[0]||=N(e=>{e.pointerType===`touch`&&h(e)},[`prevent`]),onKeydown:n[1]||=e=>{let t=y(c)!==``;!(e.ctrlKey||e.altKey||e.metaKey)&&e.key.length===1&&t&&e.key===` `||(y(l)(e.key,y(s)()),y(Ne).includes(e.key)&&(p(),e.preventDefault()))}},{default:O(()=>[u(e.$slots,`default`)]),_:3},8,[`type`,`aria-controls`,`aria-expanded`,`aria-required`,`disabled`,`dir`,`data-state`,`data-disabled`,`data-placeholder`,`as-child`,`as`])]),_:3},8,[`reference`]))}}),ut=o({__name:`SelectValue`,props:{placeholder:{type:String,required:!1,default:``},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(e){let n=e,{forwardRef:r,currentElement:i}=F(),a=Q();j(()=>{a.valueElement=i});let o=d(()=>{let e=[],t=Array.from(a.optionsSet.value),n=e=>t.find(t=>Z(e,t.value,a.by));return e=Array.isArray(a.modelValue.value)?a.modelValue.value.map(e=>n(e)?.textContent??``):[n(a.modelValue.value)?.textContent??``],e.filter(Boolean)}),c=d(()=>o.value.length?o.value.join(`, `):n.placeholder);return(e,i)=>(t(),m(y(G),{ref:y(r),as:e.as,"as-child":e.asChild,style:{pointerEvents:`none`},"data-placeholder":o.value.length?void 0:n.placeholder},{default:O(()=>[u(e.$slots,`default`,{selectedLabel:o.value,modelValue:y(a).modelValue.value},()=>[s(b(c.value),1)])]),_:3},8,[`as`,`as-child`,`data-placeholder`]))}}),dt=o({__name:`SelectViewport`,props:{nonce:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let n=e,{nonce:r}=v(n),i=Me(r),a=$(),o=a.position===`item-aligned`?Ge():void 0,{forwardRef:l,currentElement:d}=F();j(()=>{a?.onViewportChange(d.value)});let f=h(0);function p(e){let t=e.currentTarget,{shouldExpandOnScrollRef:n,contentWrapper:r}=o??{};if(n?.value&&r?.value){let e=Math.abs(f.value-t.scrollTop);if(e>0){let n=window.innerHeight-20,i=Number.parseFloat(r.value.style.minHeight),a=Number.parseFloat(r.value.style.height),o=Math.max(i,a);if(o<n){let i=o+e,a=Math.min(n,i),s=i-a;r.value.style.height=`${a}px`,r.value.style.bottom===`0px`&&(t.scrollTop=s>0?s:0,r.value.style.justifyContent=`flex-end`)}}}f.value=t.scrollTop}return(e,r)=>(t(),c(g,null,[_(y(G),T({ref:y(l),"data-reka-select-viewport":``,role:`presentation`},{...e.$attrs,...n},{style:{position:`relative`,flex:1,overflow:`hidden auto`},onScroll:p}),{default:O(()=>[u(e.$slots,`default`)]),_:3},16),_(y(G),{as:`style`,nonce:y(i)},{default:O(()=>r[0]||=[s(` /* Hide scrollbars cross-browser and enable momentum scroll for touch devices */ [data-reka-select-viewport] { scrollbar-width:none; -ms-overflow-style: none; -webkit-overflow-scrolling: touch; } [data-reka-select-viewport]::-webkit-scrollbar { display: none; } `)]),_:1,__:[0]},8,[`nonce`])],64))}}),ft={slots:{base:[`relative group rounded-md inline-flex items-center disabled:cursor-not-allowed disabled:opacity-75`,`transition-colors`],leading:`absolute inset-y-0 start-0 flex items-center`,leadingIcon:`shrink-0 text-dimmed`,leadingAvatar:`shrink-0`,leadingAvatarSize:``,trailing:`absolute inset-y-0 end-0 flex items-center`,trailingIcon:`shrink-0 text-dimmed`,value:`truncate pointer-events-none`,placeholder:`truncate text-dimmed`,arrow:`fill-bg stroke-default`,content:`max-h-[min(15rem,var(--reka-select-content-available-height,15rem))] w-(--reka-select-trigger-width) bg-default shadow-lg rounded-md ring ring-default overflow-hidden origin-(--reka-select-content-transform-origin) pointer-events-auto flex flex-col`,viewport:`relative divide-y divide-default scroll-py-1 overflow-y-auto flex-1`,group:`p-1 isolate`,empty:`text-center text-muted`,label:`font-semibold text-highlighted`,separator:`-mx-1 my-1 h-px bg-border`,item:[`group relative w-full flex items-start select-none outline-none before:absolute before:z-[-1] before:inset-px before:rounded-md data-disabled:cursor-not-allowed data-disabled:opacity-75 text-default data-highlighted:not-data-disabled:text-highlighted data-highlighted:not-data-disabled:before:bg-elevated/50`,`transition-colors before:transition-colors`],itemLeadingIcon:[`shrink-0 text-dimmed group-data-highlighted:not-group-data-disabled:text-default`,`transition-colors`],itemLeadingAvatar:`shrink-0`,itemLeadingAvatarSize:``,itemLeadingChip:`shrink-0`,itemLeadingChipSize:``,itemTrailing:`ms-auto inline-flex gap-1.5 items-center`,itemTrailingIcon:`shrink-0`,itemWrapper:`flex-1 flex flex-col min-w-0`,itemLabel:`truncate`,itemDescription:`truncate text-muted`},variants:{fieldGroup:{horizontal:`not-only:first:rounded-e-none not-only:last:rounded-s-none not-last:not-first:rounded-none focus-visible:z-[1]`,vertical:`not-only:first:rounded-b-none not-only:last:rounded-t-none not-last:not-first:rounded-none focus-visible:z-[1]`},size:{xs:{base:`px-2 py-1 text-xs gap-1`,leading:`ps-2`,trailing:`pe-2`,leadingIcon:`size-4`,leadingAvatarSize:`3xs`,trailingIcon:`size-4`,label:`p-1 text-[10px]/3 gap-1`,item:`p-1 text-xs gap-1`,itemLeadingIcon:`size-4`,itemLeadingAvatarSize:`3xs`,itemLeadingChip:`size-4`,itemLeadingChipSize:`sm`,itemTrailingIcon:`size-4`,empty:`p-2 text-xs`},sm:{base:`px-2.5 py-1.5 text-xs gap-1.5`,leading:`ps-2.5`,trailing:`pe-2.5`,leadingIcon:`size-4`,leadingAvatarSize:`3xs`,trailingIcon:`size-4`,label:`p-1.5 text-[10px]/3 gap-1.5`,item:`p-1.5 text-xs gap-1.5`,itemLeadingIcon:`size-4`,itemLeadingAvatarSize:`3xs`,itemLeadingChip:`size-4`,itemLeadingChipSize:`sm`,itemTrailingIcon:`size-4`,empty:`p-2.5 text-xs`},md:{base:`px-2.5 py-1.5 text-sm gap-1.5`,leading:`ps-2.5`,trailing:`pe-2.5`,leadingIcon:`size-5`,leadingAvatarSize:`2xs`,trailingIcon:`size-5`,label:`p-1.5 text-xs gap-1.5`,item:`p-1.5 text-sm gap-1.5`,itemLeadingIcon:`size-5`,itemLeadingAvatarSize:`2xs`,itemLeadingChip:`size-5`,itemLeadingChipSize:`md`,itemTrailingIcon:`size-5`,empty:`p-2.5 text-sm`},lg:{base:`px-3 py-2 text-sm gap-2`,leading:`ps-3`,trailing:`pe-3`,leadingIcon:`size-5`,leadingAvatarSize:`2xs`,trailingIcon:`size-5`,label:`p-2 text-xs gap-2`,item:`p-2 text-sm gap-2`,itemLeadingIcon:`size-5`,itemLeadingAvatarSize:`2xs`,itemLeadingChip:`size-5`,itemLeadingChipSize:`md`,itemTrailingIcon:`size-5`,empty:`p-3 text-sm`},xl:{base:`px-3 py-2 text-base gap-2`,leading:`ps-3`,trailing:`pe-3`,leadingIcon:`size-6`,leadingAvatarSize:`xs`,trailingIcon:`size-6`,label:`p-2 text-sm gap-2`,item:`p-2 text-base gap-2`,itemLeadingIcon:`size-6`,itemLeadingAvatarSize:`xs`,itemLeadingChip:`size-6`,itemLeadingChipSize:`lg`,itemTrailingIcon:`size-6`,empty:`p-3 text-base`}},variant:{outline:`text-highlighted bg-default ring ring-inset ring-accented hover:bg-elevated disabled:bg-default`,soft:`text-highlighted bg-elevated/50 hover:bg-elevated focus:bg-elevated disabled:bg-elevated/50`,subtle:`text-highlighted bg-elevated ring ring-inset ring-accented hover:bg-accented/75 disabled:bg-elevated`,ghost:`text-highlighted bg-transparent hover:bg-elevated focus:bg-elevated disabled:bg-transparent dark:disabled:bg-transparent`,none:`text-highlighted bg-transparent focus:outline-none`},color:{primary:``,secondary:``,success:``,info:``,warning:``,error:``,neutral:``},leading:{true:``},trailing:{true:``},loading:{true:``},highlight:{true:``},fixed:{false:``},type:{file:`file:me-1.5 file:font-medium file:text-muted file:outline-none`},position:{popper:{content:`data-[state=open]:animate-[scale-in_100ms_ease-out] data-[state=closed]:animate-[scale-out_100ms_ease-in]`},"item-aligned":{content:``}},multiple:{true:``}},compoundVariants:[{color:`primary`,variant:[`outline`,`subtle`],class:`outline-primary/25 focus-visible:outline-3 focus-visible:ring-primary`},{color:`secondary`,variant:[`outline`,`subtle`],class:`outline-secondary/25 focus-visible:outline-3 focus-visible:ring-secondary`},{color:`success`,variant:[`outline`,`subtle`],class:`outline-success/25 focus-visible:outline-3 focus-visible:ring-success`},{color:`info`,variant:[`outline`,`subtle`],class:`outline-info/25 focus-visible:outline-3 focus-visible:ring-info`},{color:`warning`,variant:[`outline`,`subtle`],class:`outline-warning/25 focus-visible:outline-3 focus-visible:ring-warning`},{color:`error`,variant:[`outline`,`subtle`],class:`outline-error/25 focus-visible:outline-3 focus-visible:ring-error`},{color:`primary`,variant:[`soft`,`ghost`],class:`outline-primary/25 focus-visible:outline-3`},{color:`secondary`,variant:[`soft`,`ghost`],class:`outline-secondary/25 focus-visible:outline-3`},{color:`success`,variant:[`soft`,`ghost`],class:`outline-success/25 focus-visible:outline-3`},{color:`info`,variant:[`soft`,`ghost`],class:`outline-info/25 focus-visible:outline-3`},{color:`warning`,variant:[`soft`,`ghost`],class:`outline-warning/25 focus-visible:outline-3`},{color:`error`,variant:[`soft`,`ghost`],class:`outline-error/25 focus-visible:outline-3`},{color:`primary`,highlight:!0,class:`ring ring-inset ring-primary`},{color:`secondary`,highlight:!0,class:`ring ring-inset ring-secondary`},{color:`success`,highlight:!0,class:`ring ring-inset ring-success`},{color:`info`,highlight:!0,class:`ring ring-inset ring-info`},{color:`warning`,highlight:!0,class:`ring ring-inset ring-warning`},{color:`error`,highlight:!0,class:`ring ring-inset ring-error`},{color:`neutral`,variant:[`outline`,`subtle`],class:`outline-inverted/25 focus-visible:outline-3 focus-visible:ring-inverted`},{color:`neutral`,variant:[`soft`,`ghost`],class:`outline-inverted/25 focus-visible:outline-3`},{color:`neutral`,highlight:!0,class:`ring ring-inset ring-inverted`},{leading:!0,size:`xs`,class:`ps-7`},{leading:!0,size:`sm`,class:`ps-8`},{leading:!0,size:`md`,class:`ps-9`},{leading:!0,size:`lg`,class:`ps-10`},{leading:!0,size:`xl`,class:`ps-11`},{trailing:!0,size:`xs`,class:`pe-7`},{trailing:!0,size:`sm`,class:`pe-8`},{trailing:!0,size:`md`,class:`pe-9`},{trailing:!0,size:`lg`,class:`pe-10`},{trailing:!0,size:`xl`,class:`pe-11`},{loading:!0,leading:!0,class:{leadingIcon:`animate-spin`}},{loading:!0,leading:!1,trailing:!0,class:{trailingIcon:`animate-spin`}},{fixed:!1,size:`xs`,class:`md:text-xs`},{fixed:!1,size:`sm`,class:`md:text-xs`},{fixed:!1,size:`md`,class:`md:text-sm`},{fixed:!1,size:`lg`,class:`md:text-sm`}],defaultVariants:{size:`md`,color:`primary`,variant:`outline`,position:`popper`}},pt=Object.assign({inheritAttrs:!1},{__name:`USelect`,props:{id:{type:String,required:!1},placeholder:{type:String,required:!1},color:{type:null,required:!1},variant:{type:null,required:!1},size:{type:null,required:!1},trailingIcon:{type:null,required:!1},selectedIcon:{type:null,required:!1},content:{type:Object,required:!1},arrow:{type:[Boolean,Object],required:!1},portal:{type:[Boolean,String],required:!1,skipCheck:!0,default:!0},valueKey:{type:null,required:!1,default:`value`},labelKey:{type:null,required:!1,default:`label`},descriptionKey:{type:null,required:!1,default:`description`},items:{type:null,required:!1},defaultValue:{type:null,required:!1},modelValue:{type:null,required:!1},modelModifiers:{type:null,required:!1},multiple:{type:Boolean,required:!1},highlight:{type:Boolean,required:!1},autofocus:{type:Boolean,required:!1},autofocusDelay:{type:Number,required:!1,default:0},class:{type:null,required:!1},ui:{type:Object,required:!1},open:{type:Boolean,required:!1},defaultOpen:{type:Boolean,required:!1},nullableValue:{type:String,required:!1},autocomplete:{type:String,required:!1},disabled:{type:Boolean,required:!1},name:{type:String,required:!1},required:{type:Boolean,required:!1},icon:{type:null,required:!1},avatar:{type:Object,required:!1},leading:{type:Boolean,required:!1},leadingIcon:{type:null,required:!1},trailing:{type:Boolean,required:!1},loading:{type:Boolean,required:!1},loadingIcon:{type:null,required:!1}},emits:[`change`,`blur`,`focus`,`update:modelValue`,`update:open`],setup(i,{expose:o,emit:p}){let h=i,v=p,x=e(),S=ve(`select`,h),w=je(),D=xe(Se(S,`open`,`defaultOpen`,`disabled`,`autocomplete`,`required`,`multiple`,`nullableValue`),v),N=pe(n(()=>S.portal)),P=d(()=>S.content?.position??w.ui?.select?.defaultVariants?.position??ft.defaultVariants?.position),ee=n(()=>M(S.content,{side:`bottom`,sideOffset:8,collisionPadding:8,position:P.value})),te=n(()=>M(S.arrow,{rounded:!0})),{emitFormChange:ne,emitFormInput:F,emitFormBlur:re,emitFormFocus:ie,size:ae,color:oe,id:I,name:se,highlight:ce,disabled:le,ariaAttrs:L}=Ae(h),{orientation:R,size:ue}=Oe(h),{isLeading:z,isTrailing:B,leadingIconName:de,trailingIconName:V}=Ce(n(()=>M(S,{trailingIcon:w.ui.icons.chevronDown}))),fe=d(()=>ue.value||ae.value),me=d(()=>P.value===`item-aligned`),H=d(()=>ke({extend:ft,...w.ui?.select||{}})({color:oe.value??S.color,variant:S.variant,size:fe.value??S.size,loading:S.loading,highlight:ce.value??S.highlight,leading:z.value||!!S.avatar||!!x.leading,trailing:B.value||!!x.trailing,fieldGroup:R.value,position:P.value,multiple:S.multiple})),U=d(()=>S.items?.length?_e(S.items)?S.items:[S.items]:[]),he=d(()=>U.value.flatMap(e=>e));function ge(e){if(S.multiple&&Array.isArray(e)){let t=e.map(e=>Ee(he.value,e,{labelKey:S.labelKey,valueKey:S.valueKey})).filter(e=>e!=null&&e!==``);return t.length>0?t.join(`, `):void 0}return Ee(he.value,e,{labelKey:S.labelKey,valueKey:S.valueKey})}let W=C(`triggerRef`);function ye(){S.autofocus&&W.value?.$el?.focus({focusVisible:!0})}j(()=>{setTimeout(()=>{ye()},S.autofocusDelay)});function G(e){S.modelModifiers?.trim&&(typeof e==`string`||e==null)&&(e=e?.trim()??null),S.modelModifiers?.number&&(e=Te(e)),S.modelModifiers?.nullable&&(e??=null),S.modelModifiers?.optional&&!S.modelModifiers?.nullable&&e!==null&&(e??=void 0);let t=new Event(`change`,{target:{value:e}});v(`change`,t),ne(),F()}function q(e){if(e){let e=new FocusEvent(`focus`);v(`focus`,e),ie()}else{let e=new FocusEvent(`blur`);v(`blur`,e),re()}}function Y(e){return typeof e==`object`&&!!e}function X(e){e||W.value?.$el?.dispatchEvent(new PointerEvent(`pointerdown`,{bubbles:!0,button:0}))}let Me=C(`viewportRef`);return o({triggerRef:n(()=>W.value?.$el),viewportRef:n(()=>{let e=Me.value;return e&&typeof e==`object`&&`$el`in e?e.$el:e})}),(e,n)=>(t(),m(y(ze),T({name:y(se)},y(D),{autocomplete:y(S).autocomplete,disabled:y(le),"default-value":y(S).defaultValue,"model-value":i.modelValue,"onUpdate:modelValue":G,"onUpdate:open":q}),{default:O(({modelValue:n,open:i})=>[_(y(lt),T({id:y(I),ref_key:`triggerRef`,ref:W,"data-slot":`base`,class:H.value.base({class:[y(S).ui?.base,y(S).class]})},{...e.$attrs,...y(L)},{onClick:e=>X(i)}),{default:O(()=>[y(z)||y(S).avatar||x.leading?(t(),c(`span`,{key:0,"data-slot":`leading`,class:k(H.value.leading({class:y(S).ui?.leading}))},[u(e.$slots,`leading`,{modelValue:n,open:i,ui:H.value},()=>[y(z)&&y(de)?(t(),m(J,{key:0,name:y(de),"data-slot":`leadingIcon`,class:k(H.value.leadingIcon({class:y(S).ui?.leadingIcon}))},null,8,[`name`,`class`])):y(S).avatar?(t(),m(De,T({key:1,size:y(S).ui?.itemLeadingAvatarSize||H.value.itemLeadingAvatarSize()},y(S).avatar,{"data-slot":`itemLeadingAvatar`,class:H.value.itemLeadingAvatar({class:y(S).ui?.itemLeadingAvatar})}),null,16,[`size`,`class`])):a(``,!0)])],2)):a(``,!0),(t(!0),c(g,null,l([ge(n)],r=>(t(),m(y(ut),{key:r,"data-slot":r==null?`placeholder`:`value`,class:k(r==null?H.value.placeholder({class:y(S).ui?.placeholder}):H.value.value({class:y(S).ui?.value}))},{default:O(()=>[u(e.$slots,`default`,{modelValue:n,open:i,ui:H.value},()=>[s(b(r??y(S).placeholder??`\xA0`),1)])]),_:2},1032,[`data-slot`,`class`]))),128)),y(B)||x.trailing?(t(),c(`span`,{key:1,"data-slot":`trailing`,class:k(H.value.trailing({class:y(S).ui?.trailing}))},[u(e.$slots,`trailing`,{modelValue:n,open:i,ui:H.value},()=>[y(V)?(t(),m(J,{key:0,name:y(V),"data-slot":`trailingIcon`,class:k(H.value.trailingIcon({class:y(S).ui?.trailingIcon}))},null,8,[`name`,`class`])):a(``,!0)])],2)):a(``,!0)]),_:2},1040,[`id`,`class`,`onClick`]),_(y(st),E(A(y(N))),{default:O(()=>[_(y(be),null,{default:O(()=>[_(y(Ze),T({"data-slot":`content`,class:H.value.content({class:y(S).ui?.content})},ee.value),{default:O(()=>[u(e.$slots,`content-top`),(t(),m(r(me.value?y(dt):`div`),{ref_key:`viewportRef`,ref:Me,role:`presentation`,"data-slot":`viewport`,class:k(H.value.viewport({class:y(S).ui?.viewport}))},{default:O(()=>[(t(!0),c(g,null,l(U.value,(n,r)=>(t(),m(y(et),{key:`group-${r}`,"data-slot":`group`,class:k(H.value.group({class:y(S).ui?.group}))},{default:O(()=>[(t(!0),c(g,null,l(n,(n,i)=>(t(),c(g,{key:`group-${r}-${i}`},[Y(n)&&n.type===`label`?(t(),m(y(ot),{key:0,"data-slot":`label`,class:k(H.value.label({class:[y(S).ui?.label,n.ui?.label,n.class]}))},{default:O(()=>[s(b(y(K)(n,y(S).labelKey)),1)]),_:2},1032,[`class`])):Y(n)&&n.type===`separator`?(t(),m(y(ct),{key:1,"data-slot":`separator`,class:k(H.value.separator({class:[y(S).ui?.separator,n.ui?.separator,n.class]}))},null,8,[`class`])):(t(),m(y(rt),{key:2,"data-slot":`item`,class:k(H.value.item({class:[y(S).ui?.item,Y(n)&&n.ui?.item,Y(n)&&n.class]})),disabled:Y(n)&&n.disabled,value:Y(n)?y(K)(n,y(S).valueKey):n,onSelect:e=>Y(n)&&n.onSelect?.(e)},{default:O(()=>[u(e.$slots,`item`,{item:n,index:i,ui:H.value},()=>[u(e.$slots,`item-leading`,{item:n,index:i,ui:H.value},()=>[Y(n)&&n.icon?(t(),m(J,{key:0,name:n.icon,"data-slot":`itemLeadingIcon`,class:k(H.value.itemLeadingIcon({class:[y(S).ui?.itemLeadingIcon,n.ui?.itemLeadingIcon]}))},null,8,[`name`,`class`])):Y(n)&&n.avatar?(t(),m(De,T({key:1,size:n.ui?.itemLeadingAvatarSize||y(S).ui?.itemLeadingAvatarSize||H.value.itemLeadingAvatarSize()},{ref_for:!0},n.avatar,{"data-slot":`itemLeadingAvatar`,class:H.value.itemLeadingAvatar({class:[y(S).ui?.itemLeadingAvatar,n.ui?.itemLeadingAvatar]})}),null,16,[`size`,`class`])):Y(n)&&n.chip?(t(),m(we,T({key:2,size:n.ui?.itemLeadingChipSize||y(S).ui?.itemLeadingChipSize||H.value.itemLeadingChipSize(),inset:``,standalone:``},{ref_for:!0},n.chip,{"data-slot":`itemLeadingChip`,class:H.value.itemLeadingChip({class:[y(S).ui?.itemLeadingChip,n.ui?.itemLeadingChip]})}),null,16,[`size`,`class`])):a(``,!0)]),f(`span`,{"data-slot":`itemWrapper`,class:k(H.value.itemWrapper({class:[y(S).ui?.itemWrapper,Y(n)&&n.ui?.itemWrapper]}))},[_(y(at),{"data-slot":`itemLabel`,class:k(H.value.itemLabel({class:[y(S).ui?.itemLabel,Y(n)&&n.ui?.itemLabel]}))},{default:O(()=>[u(e.$slots,`item-label`,{item:n,index:i},()=>[s(b(Y(n)?y(K)(n,y(S).labelKey):n),1)])]),_:2},1032,[`class`]),Y(n)&&(y(K)(n,y(S).descriptionKey)||x[`item-description`])?(t(),c(`span`,{key:0,"data-slot":`itemDescription`,class:k(H.value.itemDescription({class:[y(S).ui?.itemDescription,Y(n)&&n.ui?.itemDescription]}))},[u(e.$slots,`item-description`,{item:n,index:i},()=>[s(b(y(K)(n,y(S).descriptionKey)),1)])],2)):a(``,!0)],2),f(`span`,{"data-slot":`itemTrailing`,class:k(H.value.itemTrailing({class:[y(S).ui?.itemTrailing,Y(n)&&n.ui?.itemTrailing]}))},[u(e.$slots,`item-trailing`,{item:n,index:i,ui:H.value}),_(y(it),{"as-child":``},{default:O(()=>[_(J,{name:y(S).selectedIcon||y(w).ui.icons.check,"data-slot":`itemTrailingIcon`,class:k(H.value.itemTrailingIcon({class:[y(S).ui?.itemTrailingIcon,Y(n)&&n.ui?.itemTrailingIcon]}))},null,8,[`name`,`class`])]),_:2},1024)],2)])]),_:2},1032,[`class`,`disabled`,`value`,`onSelect`]))],64))),128))]),_:2},1032,[`class`]))),128))]),_:3},8,[`class`])),u(e.$slots,`content-bottom`),y(S).arrow?(t(),m(y(Je),T({key:0},te.value,{"data-slot":`arrow`,class:H.value.arrow({class:y(S).ui?.arrow})}),null,16,[`class`])):a(``,!0)]),_:3},16,[`class`])]),_:3})]),_:3},16)]),_:3},16,[`name`,`autocomplete`,`disabled`,`default-value`,`model-value`]))}});export{pt as t};
|
|
1
|
+
import{$t as e,At as t,Bn as n,Bt as r,E as i,F as a,G as o,H as s,I as c,It as l,Lt as u,M as d,N as f,Ot as p,P as m,Pn as h,S as g,U as _,Vn as v,Wn as y,_r as b,_t as x,an as S,en as C,gr as w,gt as T,hr as E,in as D,ln as O,pr as k,tt as A,wt as j}from"./DMHcp4U1.js";import{at as M,qt as N}from"./cRY3ZoRz.js";import{B as P,G as ee,H as te,J as ne,K as F,L as re,O as ie,P as ae,Q as oe,U as I,W as se,X as ce,Y as le,b as L,ct as R,dt as ue,f as z,lt as B,m as de,p as V,q as fe,s as pe,st as me,tt as H,u as U,ut as he,x as ge,y as W}from"./BNt3M20G.js";import{A as _e,E as ve,F as ye,N as G,O as K,S as be,T as xe,Y as Se,at as q,b as Ce,c as we,j as Te,k as Ee,l as J,s as De,w as Oe,x as ke,y as Ae}from"./Dq_3AVr2.js";import{f as Y,u as je}from"./CsAwRnSX.js";function X(e,t=-1/0,n=1/0){return Math.min(n,Math.max(t,e))}function Me(e){let t=oe({nonce:h()});return d(()=>e?.value||t.nonce?.value)}var Ne=[` `,`Enter`,`ArrowUp`,`ArrowDown`],Pe=[` `,`Enter`];function Z(e,t,n){return e===void 0?!1:Array.isArray(e)?e.some(e=>Fe(e,t,n)):Fe(e,t,n)}function Fe(e,t,n){return e===void 0||t===void 0?!1:typeof e==`string`?e===t:typeof n==`function`?n(e,t):typeof n==`string`?e?.[n]===t?.[n]:Y(e,t)}function Ie(e){return e==null||e===``||Array.isArray(e)&&e.length===0}var Le=[`value`],[Q,Re]=q(`SelectRoot`),ze=o({inheritAttrs:!1,__name:`SelectRoot`,props:{open:{type:Boolean,required:!1,default:void 0},defaultOpen:{type:Boolean,required:!1},defaultValue:{type:null,required:!1},modelValue:{type:null,required:!1,default:void 0},nullableValue:{type:String,required:!1,default:``},by:{type:[String,Function],required:!1},dir:{type:String,required:!1},multiple:{type:Boolean,required:!1},autocomplete:{type:String,required:!1},disabled:{type:Boolean,required:!1},name:{type:String,required:!1},required:{type:Boolean,required:!1}},emits:[`update:modelValue`,`update:open`],setup(e,{emit:n}){let r=e,i=n,{required:o,disabled:s,multiple:f,dir:p}=v(r),_=R(r,`modelValue`,i,{defaultValue:r.defaultValue??(f.value?[]:void 0),passive:r.modelValue===void 0,deep:!0}),b=R(r,`open`,i,{defaultValue:r.defaultOpen,passive:r.open===void 0}),x=h(),S=h(),C=h({x:0,y:0}),w=d(()=>f.value&&Array.isArray(_.value)?_.value?.length===0:B(_.value));L({isProvider:!0});let E=le(p),D=fe(x),k=h(new Set),A=d(()=>Array.from(k.value).map(e=>e.value).join(`;`));function j(e){if(f.value){let t=Array.isArray(_.value)?[..._.value]:[],n=t.findIndex(t=>Fe(t,e,r.by));n===-1?t.push(e):t.splice(n,1),_.value=[...t]}else _.value=e}function M(e){return Array.from(k.value).find(t=>Z(e,t.value,r.by))}return Re({triggerElement:x,onTriggerChange:e=>{x.value=e},valueElement:S,onValueElementChange:e=>{S.value=e},contentId:``,modelValue:_,onValueChange:j,by:r.by,open:b,multiple:f,required:o,onOpenChange:e=>{b.value=e},dir:E,triggerPointerDownPosRef:C,disabled:s,isEmptyModelValue:w,optionsSet:k,onOptionAdd:e=>{let t=M(e.value);t&&k.value.delete(t),k.value.add(e)},onOptionRemove:e=>{let t=M(e.value);t&&k.value.delete(t)}}),(e,n)=>(t(),m(y(de),null,{default:O(()=>[u(e.$slots,`default`,{modelValue:y(_),open:y(b)}),y(D)&&e.name?(t(),m(Be,{key:A.value,"aria-hidden":`true`,tabindex:`-1`,multiple:y(f),required:y(o),name:e.name,autocomplete:e.autocomplete,disabled:y(s),value:y(_)},{default:O(()=>[y(B)(y(_))?(t(),c(`option`,{key:0,value:e.nullableValue},null,8,Le)):a(`v-if`,!0),(t(!0),c(g,null,l(Array.from(k.value),e=>(t(),c(`option`,T({key:e.value??``},{ref_for:!0},e),null,16))),128))]),_:1},8,[`multiple`,`required`,`name`,`autocomplete`,`disabled`,`value`])):a(`v-if`,!0)]),_:3}))}}),Be=o({__name:`BubbleSelect`,props:{autocomplete:{type:String,required:!1},autofocus:{type:Boolean,required:!1},disabled:{type:Boolean,required:!1},form:{type:String,required:!1},multiple:{type:Boolean,required:!1},name:{type:String,required:!1},required:{type:Boolean,required:!1},size:{type:Number,required:!1},value:{type:null,required:!1}},setup(e){let n=e,r=h(),i=Q();D(()=>n.value,(e,t)=>{let n=window.HTMLSelectElement.prototype,i=Object.getOwnPropertyDescriptor(n,`value`).set;if(e!==t&&i&&r.value){let t=new Event(`change`,{bubbles:!0});i.call(r.value,e),r.value.dispatchEvent(t)}});function a(e){i.onValueChange(e.target.value)}return(e,i)=>(t(),m(y(W),{"as-child":``},{default:O(()=>[f(`select`,T({ref_key:`selectElement`,ref:r},n,{onInput:a}),[u(e.$slots,`default`)],16)]),_:3}))}}),Ve=o({__name:`SelectPopperPosition`,props:{memoDependencies:{type:Array,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1,default:`start`},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1,default:10},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},dir:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let n=ye(e);return(e,r)=>(t(),m(y(z),T(y(n),{style:{boxSizing:`border-box`,"--reka-select-content-transform-origin":`var(--reka-popper-transform-origin)`,"--reka-select-content-available-width":`var(--reka-popper-available-width)`,"--reka-select-content-available-height":`var(--reka-popper-available-height)`,"--reka-select-trigger-width":`var(--reka-popper-anchor-width)`,"--reka-select-trigger-height":`var(--reka-popper-anchor-height)`}}),{default:O(()=>[u(e.$slots,`default`)]),_:3},16))}}),He={onViewportChange:()=>{},itemTextRefCallback:()=>{},itemRefCallback:()=>{}},[$,Ue]=q(`SelectContent`),We=o({__name:`SelectContentImpl`,props:{position:{type:String,required:!1,default:`item-aligned`},bodyLock:{type:Boolean,required:!1,default:!0},memoDependencies:{type:Array,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1,default:`start`},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},dir:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1,default:!0}},emits:[`closeAutoFocus`,`escapeKeyDown`,`pointerDownOutside`],setup(e,{emit:n}){let i=e,a=n,o=Q();ne(),ce(i.bodyLock);let{CollectionSlot:s,getItems:c}=L(),l=h();se(l);let{search:f,handleTypeaheadSearch:p}=te(),g=h(),v=h(),b=h(),x=h(!1),C=h(!1),w=h(!1);function E(){v.value&&l.value&&ie([v.value,l.value])}D(x,()=>{E()});let{onOpenChange:k,triggerPointerDownPosRef:A}=o;S(e=>{if(!l.value)return;let t={x:0,y:0},n=e=>{t={x:Math.abs(Math.round(e.pageX)-(A.value?.x??0)),y:Math.abs(Math.round(e.pageY)-(A.value?.y??0))}},r=e=>{e.pointerType!==`touch`&&(t.x<=10&&t.y<=10?e.preventDefault():l.value?.contains(e.target)||k(!1),document.removeEventListener(`pointermove`,n),A.value=null)};A.value!==null&&(document.addEventListener(`pointermove`,n),document.addEventListener(`pointerup`,r,{capture:!0,once:!0})),e(()=>{document.removeEventListener(`pointermove`,n),document.removeEventListener(`pointerup`,r,{capture:!0})})});function j(e){let t=e.ctrlKey||e.altKey||e.metaKey;if(e.key===`Tab`&&e.preventDefault(),!t&&e.key.length===1&&p(e.key,c()),[`ArrowUp`,`ArrowDown`,`Home`,`End`].includes(e.key)){let t=[...c().map(e=>e.ref)];if([`ArrowUp`,`End`].includes(e.key)&&(t=t.slice().reverse()),[`ArrowUp`,`ArrowDown`].includes(e.key)){let n=e.target,r=t.indexOf(n);t=t.slice(r+1)}setTimeout(()=>ie(t)),e.preventDefault()}}let M=d(()=>i.position===`popper`?i:{}),P=ye(M.value);return Ue({content:l,viewport:g,onViewportChange:e=>{g.value=e},itemRefCallback:(e,t,n)=>{let r=!C.value&&!n,i=Z(o.modelValue.value,t,o.by);if(o.multiple.value){if(w.value)return;(i||r)&&(v.value=e,i&&(w.value=!0))}else(i||r)&&(v.value=e);r&&(C.value=!0)},selectedItem:v,selectedItemText:b,onItemLeave:()=>{l.value?.focus()},itemTextRefCallback:(e,t,n)=>{let r=!C.value&&!n;(Z(o.modelValue.value,t,o.by)||r)&&(b.value=e)},focusSelectedItem:E,position:i.position,isPositioned:x,searchRef:f}),(e,n)=>(t(),m(y(s),null,{default:O(()=>[_(y(ae),{"as-child":``,onMountAutoFocus:n[6]||=N(()=>{},[`prevent`]),onUnmountAutoFocus:n[7]||=e=>{a(`closeAutoFocus`,e),!e.defaultPrevented&&(y(o).triggerElement.value?.focus({preventScroll:!0}),e.preventDefault())}},{default:O(()=>[_(y(re),{"as-child":``,"disable-outside-pointer-events":e.disableOutsidePointerEvents,onFocusOutside:n[2]||=N(()=>{},[`prevent`]),onDismiss:n[3]||=e=>y(o).onOpenChange(!1),onEscapeKeyDown:n[4]||=e=>a(`escapeKeyDown`,e),onPointerDownOutside:n[5]||=e=>a(`pointerDownOutside`,e)},{default:O(()=>[(t(),m(r(e.position===`popper`?Ve:qe),T({...e.$attrs,...y(P)},{id:y(o).contentId,ref:e=>{if(!e)return;let t=y(H)(e);t?.hasAttribute(`data-reka-popper-content-wrapper`)?l.value=t.firstElementChild:l.value=t},role:`listbox`,"data-state":y(o).open.value?`open`:`closed`,dir:y(o).dir.value,style:{display:`flex`,flexDirection:`column`,outline:`none`},onContextmenu:n[0]||=N(()=>{},[`prevent`]),onPlaced:n[1]||=e=>x.value=!0,onKeydown:j}),{default:O(()=>[u(e.$slots,`default`)]),_:3},16,[`id`,`data-state`,`dir`,`onKeydown`]))]),_:3},8,[`disable-outside-pointer-events`])]),_:3})]),_:3}))}}),[Ge,Ke]=q(`SelectItemAlignedPosition`),qe=o({inheritAttrs:!1,__name:`SelectItemAlignedPosition`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`placed`],setup(e,{emit:n}){let r=e,i=n,{getItems:a}=L(),o=Q(),s=$(),l=h(!1),d=h(!0),f=h(),{forwardRef:p,currentElement:m}=F(),{viewport:g,selectedItem:v,selectedItemText:b,focusSelectedItem:S}=s;function C(){if(o.triggerElement.value&&o.valueElement.value&&f.value&&m.value&&g?.value&&v?.value&&b?.value){let e=o.triggerElement.value.getBoundingClientRect(),t=m.value.getBoundingClientRect(),n=o.valueElement.value.getBoundingClientRect(),r=b.value.getBoundingClientRect();if(o.dir.value!==`rtl`){let i=r.left-t.left,a=n.left-i,o=e.left-a,s=e.width+o,c=Math.max(s,t.width),l=window.innerWidth-10,u=X(a,10,Math.max(10,l-c));f.value.style.minWidth=`${s}px`,f.value.style.left=`${u}px`}else{let i=t.right-r.right,a=window.innerWidth-n.right-i,o=window.innerWidth-e.right-a,s=e.width+o,c=Math.max(s,t.width),l=window.innerWidth-10,u=X(a,10,Math.max(10,l-c));f.value.style.minWidth=`${s}px`,f.value.style.right=`${u}px`}let s=a().map(e=>e.ref),c=window.innerHeight-20,u=g.value.scrollHeight,d=window.getComputedStyle(m.value),p=Number.parseInt(d.borderTopWidth,10),h=Number.parseInt(d.paddingTop,10),_=Number.parseInt(d.borderBottomWidth,10),y=Number.parseInt(d.paddingBottom,10),x=p+h+u+y+_,S=Math.min(v.value.offsetHeight*5,x),C=window.getComputedStyle(g.value),w=Number.parseInt(C.paddingTop,10),T=Number.parseInt(C.paddingBottom,10),E=e.top+e.height/2-10,D=c-E,O=v.value.offsetHeight/2,k=v.value.offsetTop+O,A=p+h+k,j=x-A;if(A<=E){let e=v.value===s.at(-1);f.value.style.bottom=`0px`;let t=m.value.clientHeight-g.value.offsetTop-g.value.offsetHeight,n=A+Math.max(D,O+(e?T:0)+t+_);f.value.style.height=`${n}px`}else{let e=v.value===s[0];f.value.style.top=`0px`;let t=Math.max(E,p+g.value.offsetTop+(e?w:0)+O)+j;f.value.style.height=`${t}px`,g.value.scrollTop=A-E+g.value.offsetTop}f.value.style.margin=`10px 0`,f.value.style.minHeight=`${S}px`,f.value.style.maxHeight=`${c}px`,i(`placed`),requestAnimationFrame(()=>l.value=!0)}}let E=h(``);j(async()=>{await x(),C(),m.value&&(E.value=window.getComputedStyle(m.value).zIndex)});function D(e){e&&d.value===!0&&(C(),S?.(),d.value=!1)}return me(o.triggerElement,()=>{C()}),Ke({contentWrapper:f,shouldExpandOnScrollRef:l,onScrollButtonChange:D}),(e,n)=>(t(),c(`div`,{ref_key:`contentWrapperElement`,ref:f,style:w({display:`flex`,flexDirection:`column`,position:`fixed`,zIndex:E.value})},[_(y(G),T({ref:y(p),style:{boxSizing:`border-box`,maxHeight:`100%`}},{...e.$attrs,...r}),{default:O(()=>[u(e.$slots,`default`)]),_:3},16)],4))}}),Je=o({__name:`SelectArrow`,props:{width:{type:Number,required:!1,default:10},height:{type:Number,required:!1,default:5},rounded:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`svg`}},setup(e){let n=e,r=$(He);return(e,i)=>y(r).position===`popper`?(t(),m(y(U),E(T({key:0},n)),{default:O(()=>[u(e.$slots,`default`)]),_:3},16)):a(`v-if`,!0)}}),Ye=o({inheritAttrs:!1,__name:`SelectProvider`,props:{context:{type:Object,required:!0}},setup(e){return Re(e.context),Ue(He),(e,t)=>u(e.$slots,`default`)}}),Xe={key:1},Ze=o({inheritAttrs:!1,__name:`SelectContent`,props:{forceMount:{type:Boolean,required:!1},position:{type:String,required:!1},bodyLock:{type:Boolean,required:!1},memoDependencies:{type:Array,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},dir:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1}},emits:[`closeAutoFocus`,`escapeKeyDown`,`pointerDownOutside`],setup(e,{emit:n}){let r=e,o=ee(r,n),s=Q(),l=h();j(()=>{l.value=new DocumentFragment});let f=h(),g=d(()=>r.forceMount||s.open.value),v=h(g.value),b;function x(){b&&=(clearTimeout(b),void 0)}return D(g,(e,t,n)=>{x(),b=setTimeout(()=>{v.value=g.value,b=void 0}),n(x)}),p(x),(e,n)=>g.value||v.value||f.value?.present?(t(),m(y(P),{key:0,ref_key:`presenceRef`,ref:f,present:g.value},{default:O(()=>[_(We,E(A({...y(o),...e.$attrs})),{default:O(()=>[u(e.$slots,`default`)]),_:3},16)]),_:3},8,[`present`])):l.value?(t(),c(`div`,Xe,[(t(),m(i,{to:l.value},[_(Ye,{context:y(s)},{default:O(()=>[u(e.$slots,`default`)]),_:3},8,[`context`])],8,[`to`]))])):a(`v-if`,!0)}}),[Qe,$e]=q(`SelectGroup`),et=o({__name:`SelectGroup`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let n=e,r=I(void 0,`reka-select-group`);return $e({id:r}),(e,i)=>(t(),m(y(G),T({role:`group`},n,{"aria-labelledby":y(r)}),{default:O(()=>[u(e.$slots,`default`)]),_:3},16,[`aria-labelledby`]))}}),[tt,nt]=q(`SelectItem`),rt=o({__name:`SelectItem`,props:{value:{type:null,required:!0},disabled:{type:Boolean,required:!1},textValue:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`select`],setup(e,{emit:n}){let r=e,i=n,{disabled:a}=v(r),o=Q(),s=$(),{forwardRef:c,currentElement:l}=F(),{CollectionItem:f}=L(),p=d(()=>Z(o.modelValue?.value,r.value,o.by)),g=h(!1),b=h(r.textValue??``),S=I(void 0,`reka-select-item-text`);async function C(e){if(e.defaultPrevented)return;let t={originalEvent:e,value:r.value};he(`select.select`,w,t)}async function w(e){await x(),i(`select`,e),!e.defaultPrevented&&(a.value||(o.onValueChange(r.value),o.multiple.value||o.onOpenChange(!1)))}async function T(e){await x(),!e.defaultPrevented&&(a.value?s.onItemLeave?.():e.currentTarget?.focus({preventScroll:!0}))}async function E(e){await x(),!e.defaultPrevented&&e.currentTarget===ue()&&s.onItemLeave?.()}async function D(e){await x(),!e.defaultPrevented&&(s.searchRef?.value===``||e.key!==` `)&&(Pe.includes(e.key)&&C(e),e.key===` `&&e.preventDefault())}if(r.value===``)throw Error(`A <SelectItem /> must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.`);return j(()=>{l.value&&s.itemRefCallback(l.value,r.value,r.disabled)}),nt({value:r.value,disabled:a,textId:S,isSelected:p,onItemTextChange:e=>{b.value=((b.value||e?.textContent)??``).trim()}}),(e,n)=>(t(),m(y(f),{value:{textValue:b.value}},{default:O(()=>[_(y(G),{ref:y(c),role:`option`,"aria-labelledby":y(S),"data-highlighted":g.value?``:void 0,"aria-selected":p.value,"data-state":p.value?`checked`:`unchecked`,"aria-disabled":y(a)||void 0,"data-disabled":y(a)?``:void 0,tabindex:y(a)?void 0:-1,as:e.as,"as-child":e.asChild,onFocus:n[0]||=e=>g.value=!0,onBlur:n[1]||=e=>g.value=!1,onPointerup:C,onPointerdown:n[2]||=e=>{e.currentTarget.focus({preventScroll:!0})},onTouchend:n[3]||=N(()=>{},[`prevent`,`stop`]),onPointermove:T,onPointerleave:E,onKeydown:D},{default:O(()=>[u(e.$slots,`default`)]),_:3},8,[`aria-labelledby`,`data-highlighted`,`aria-selected`,`data-state`,`aria-disabled`,`data-disabled`,`tabindex`,`as`,`as-child`])]),_:3},8,[`value`]))}}),it=o({__name:`SelectItemIndicator`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(e){let n=e,r=tt();return(e,i)=>y(r).isSelected.value?(t(),m(y(G),T({key:0,"aria-hidden":`true`},n),{default:O(()=>[u(e.$slots,`default`)]),_:3},16)):a(`v-if`,!0)}}),at=o({inheritAttrs:!1,__name:`SelectItemText`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(e){let n=e,r=Q(),i=$(),a=tt(),{forwardRef:o,currentElement:s}=F(),c=d(()=>({value:a.value,disabled:a.disabled.value,textContent:s.value?.textContent??a.value?.toString()??``}));return j(()=>{s.value&&(a.onItemTextChange(s.value),i.itemTextRefCallback(s.value,a.value,a.disabled.value),r.onOptionAdd(c.value))}),p(()=>{r.onOptionRemove(c.value)}),(e,r)=>(t(),m(y(G),T({id:y(a).textId,ref:y(o)},{...n,...e.$attrs}),{default:O(()=>[u(e.$slots,`default`)]),_:3},16,[`id`]))}}),ot=o({__name:`SelectLabel`,props:{for:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`div`}},setup(e){let n=e,r=Qe({id:``});return(e,i)=>(t(),m(y(G),T(n,{id:y(r).id}),{default:O(()=>[u(e.$slots,`default`)]),_:3},16,[`id`]))}}),st=o({__name:`SelectPortal`,props:{to:{type:null,required:!1},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(e){let n=e;return(e,r)=>(t(),m(y(ge),E(A(n)),{default:O(()=>[u(e.$slots,`default`)]),_:3},16))}}),ct=o({__name:`SelectSeparator`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let n=e;return(e,r)=>(t(),m(y(G),T({"aria-hidden":`true`},n),{default:O(()=>[u(e.$slots,`default`)]),_:3},16))}}),lt=o({__name:`SelectTrigger`,props:{disabled:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(e){let n=e,r=Q(),{forwardRef:i,currentElement:a}=F(),o=d(()=>r.disabled?.value||n.disabled);r.contentId||=I(void 0,`reka-select-content`),j(()=>{r.onTriggerChange(a.value)});let{getItems:s}=L(),{search:c,handleTypeaheadSearch:l,resetTypeahead:f}=te();function p(){o.value||(r.onOpenChange(!0),f())}function h(e){p(),r.triggerPointerDownPosRef.value={x:Math.round(e.pageX),y:Math.round(e.pageY)}}function g(e){return e.button===0&&e.ctrlKey===!1}let v=!1;function b(e){if(e.pointerType===`touch`)return e.preventDefault();let t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),g(e)&&(h(e),v=!0)}function x(e){g(e)&&e.preventDefault()}function S(e){v||e.currentTarget?.focus(),v=!1}return(e,n)=>(t(),m(y(V),{"as-child":``,reference:e.reference},{default:O(()=>[_(y(G),{ref:y(i),role:`combobox`,type:e.as===`button`?`button`:void 0,"aria-controls":y(r).contentId,"aria-expanded":y(r).open.value||!1,"aria-required":y(r).required?.value,"aria-autocomplete":`none`,disabled:o.value,dir:y(r)?.dir.value,"data-state":y(r)?.open.value?`open`:`closed`,"data-disabled":o.value?``:void 0,"data-placeholder":y(Ie)(y(r).modelValue?.value)?``:void 0,"as-child":e.asChild,as:e.as,onClick:S,onPointerdown:b,onMousedown:x,onPointerup:n[0]||=N(e=>{e.pointerType===`touch`&&h(e)},[`prevent`]),onKeydown:n[1]||=e=>{let t=y(c)!==``;!(e.ctrlKey||e.altKey||e.metaKey)&&e.key.length===1&&t&&e.key===` `||(y(l)(e.key,y(s)()),y(Ne).includes(e.key)&&(p(),e.preventDefault()))}},{default:O(()=>[u(e.$slots,`default`)]),_:3},8,[`type`,`aria-controls`,`aria-expanded`,`aria-required`,`disabled`,`dir`,`data-state`,`data-disabled`,`data-placeholder`,`as-child`,`as`])]),_:3},8,[`reference`]))}}),ut=o({__name:`SelectValue`,props:{placeholder:{type:String,required:!1,default:``},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(e){let n=e,{forwardRef:r,currentElement:i}=F(),a=Q();j(()=>{a.valueElement=i});let o=d(()=>{let e=[],t=Array.from(a.optionsSet.value),n=e=>t.find(t=>Z(e,t.value,a.by));return e=Array.isArray(a.modelValue.value)?a.modelValue.value.map(e=>n(e)?.textContent??``):[n(a.modelValue.value)?.textContent??``],e.filter(Boolean)}),c=d(()=>o.value.length?o.value.join(`, `):n.placeholder);return(e,i)=>(t(),m(y(G),{ref:y(r),as:e.as,"as-child":e.asChild,style:{pointerEvents:`none`},"data-placeholder":o.value.length?void 0:n.placeholder},{default:O(()=>[u(e.$slots,`default`,{selectedLabel:o.value,modelValue:y(a).modelValue.value},()=>[s(b(c.value),1)])]),_:3},8,[`as`,`as-child`,`data-placeholder`]))}}),dt=o({__name:`SelectViewport`,props:{nonce:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let n=e,{nonce:r}=v(n),i=Me(r),a=$(),o=a.position===`item-aligned`?Ge():void 0,{forwardRef:l,currentElement:d}=F();j(()=>{a?.onViewportChange(d.value)});let f=h(0);function p(e){let t=e.currentTarget,{shouldExpandOnScrollRef:n,contentWrapper:r}=o??{};if(n?.value&&r?.value){let e=Math.abs(f.value-t.scrollTop);if(e>0){let n=window.innerHeight-20,i=Number.parseFloat(r.value.style.minHeight),a=Number.parseFloat(r.value.style.height),o=Math.max(i,a);if(o<n){let i=o+e,a=Math.min(n,i),s=i-a;r.value.style.height=`${a}px`,r.value.style.bottom===`0px`&&(t.scrollTop=s>0?s:0,r.value.style.justifyContent=`flex-end`)}}}f.value=t.scrollTop}return(e,r)=>(t(),c(g,null,[_(y(G),T({ref:y(l),"data-reka-select-viewport":``,role:`presentation`},{...e.$attrs,...n},{style:{position:`relative`,flex:1,overflow:`hidden auto`},onScroll:p}),{default:O(()=>[u(e.$slots,`default`)]),_:3},16),_(y(G),{as:`style`,nonce:y(i)},{default:O(()=>r[0]||=[s(` /* Hide scrollbars cross-browser and enable momentum scroll for touch devices */ [data-reka-select-viewport] { scrollbar-width:none; -ms-overflow-style: none; -webkit-overflow-scrolling: touch; } [data-reka-select-viewport]::-webkit-scrollbar { display: none; } `)]),_:1,__:[0]},8,[`nonce`])],64))}}),ft={slots:{base:[`relative group rounded-md inline-flex items-center disabled:cursor-not-allowed disabled:opacity-75`,`transition-colors`],leading:`absolute inset-y-0 start-0 flex items-center`,leadingIcon:`shrink-0 text-dimmed`,leadingAvatar:`shrink-0`,leadingAvatarSize:``,trailing:`absolute inset-y-0 end-0 flex items-center`,trailingIcon:`shrink-0 text-dimmed`,value:`truncate pointer-events-none`,placeholder:`truncate text-dimmed`,arrow:`fill-bg stroke-default`,content:`max-h-[min(15rem,var(--reka-select-content-available-height,15rem))] w-(--reka-select-trigger-width) bg-default shadow-lg rounded-md ring ring-default overflow-hidden origin-(--reka-select-content-transform-origin) pointer-events-auto flex flex-col`,viewport:`relative divide-y divide-default scroll-py-1 overflow-y-auto flex-1`,group:`p-1 isolate`,empty:`text-center text-muted`,label:`font-semibold text-highlighted`,separator:`-mx-1 my-1 h-px bg-border`,item:[`group relative w-full flex items-start select-none outline-none before:absolute before:z-[-1] before:inset-px before:rounded-md data-disabled:cursor-not-allowed data-disabled:opacity-75 text-default data-highlighted:not-data-disabled:text-highlighted data-highlighted:not-data-disabled:before:bg-elevated/50`,`transition-colors before:transition-colors`],itemLeadingIcon:[`shrink-0 text-dimmed group-data-highlighted:not-group-data-disabled:text-default`,`transition-colors`],itemLeadingAvatar:`shrink-0`,itemLeadingAvatarSize:``,itemLeadingChip:`shrink-0`,itemLeadingChipSize:``,itemTrailing:`ms-auto inline-flex gap-1.5 items-center`,itemTrailingIcon:`shrink-0`,itemWrapper:`flex-1 flex flex-col min-w-0`,itemLabel:`truncate`,itemDescription:`truncate text-muted`},variants:{fieldGroup:{horizontal:`not-only:first:rounded-e-none not-only:last:rounded-s-none not-last:not-first:rounded-none focus-visible:z-[1]`,vertical:`not-only:first:rounded-b-none not-only:last:rounded-t-none not-last:not-first:rounded-none focus-visible:z-[1]`},size:{xs:{base:`px-2 py-1 text-xs gap-1`,leading:`ps-2`,trailing:`pe-2`,leadingIcon:`size-4`,leadingAvatarSize:`3xs`,trailingIcon:`size-4`,label:`p-1 text-[10px]/3 gap-1`,item:`p-1 text-xs gap-1`,itemLeadingIcon:`size-4`,itemLeadingAvatarSize:`3xs`,itemLeadingChip:`size-4`,itemLeadingChipSize:`sm`,itemTrailingIcon:`size-4`,empty:`p-2 text-xs`},sm:{base:`px-2.5 py-1.5 text-xs gap-1.5`,leading:`ps-2.5`,trailing:`pe-2.5`,leadingIcon:`size-4`,leadingAvatarSize:`3xs`,trailingIcon:`size-4`,label:`p-1.5 text-[10px]/3 gap-1.5`,item:`p-1.5 text-xs gap-1.5`,itemLeadingIcon:`size-4`,itemLeadingAvatarSize:`3xs`,itemLeadingChip:`size-4`,itemLeadingChipSize:`sm`,itemTrailingIcon:`size-4`,empty:`p-2.5 text-xs`},md:{base:`px-2.5 py-1.5 text-sm gap-1.5`,leading:`ps-2.5`,trailing:`pe-2.5`,leadingIcon:`size-5`,leadingAvatarSize:`2xs`,trailingIcon:`size-5`,label:`p-1.5 text-xs gap-1.5`,item:`p-1.5 text-sm gap-1.5`,itemLeadingIcon:`size-5`,itemLeadingAvatarSize:`2xs`,itemLeadingChip:`size-5`,itemLeadingChipSize:`md`,itemTrailingIcon:`size-5`,empty:`p-2.5 text-sm`},lg:{base:`px-3 py-2 text-sm gap-2`,leading:`ps-3`,trailing:`pe-3`,leadingIcon:`size-5`,leadingAvatarSize:`2xs`,trailingIcon:`size-5`,label:`p-2 text-xs gap-2`,item:`p-2 text-sm gap-2`,itemLeadingIcon:`size-5`,itemLeadingAvatarSize:`2xs`,itemLeadingChip:`size-5`,itemLeadingChipSize:`md`,itemTrailingIcon:`size-5`,empty:`p-3 text-sm`},xl:{base:`px-3 py-2 text-base gap-2`,leading:`ps-3`,trailing:`pe-3`,leadingIcon:`size-6`,leadingAvatarSize:`xs`,trailingIcon:`size-6`,label:`p-2 text-sm gap-2`,item:`p-2 text-base gap-2`,itemLeadingIcon:`size-6`,itemLeadingAvatarSize:`xs`,itemLeadingChip:`size-6`,itemLeadingChipSize:`lg`,itemTrailingIcon:`size-6`,empty:`p-3 text-base`}},variant:{outline:`text-highlighted bg-default ring ring-inset ring-accented hover:bg-elevated disabled:bg-default`,soft:`text-highlighted bg-elevated/50 hover:bg-elevated focus:bg-elevated disabled:bg-elevated/50`,subtle:`text-highlighted bg-elevated ring ring-inset ring-accented hover:bg-accented/75 disabled:bg-elevated`,ghost:`text-highlighted bg-transparent hover:bg-elevated focus:bg-elevated disabled:bg-transparent dark:disabled:bg-transparent`,none:`text-highlighted bg-transparent focus:outline-none`},color:{primary:``,secondary:``,success:``,info:``,warning:``,error:``,neutral:``},leading:{true:``},trailing:{true:``},loading:{true:``},highlight:{true:``},fixed:{false:``},type:{file:`file:me-1.5 file:font-medium file:text-muted file:outline-none`},position:{popper:{content:`data-[state=open]:animate-[scale-in_100ms_ease-out] data-[state=closed]:animate-[scale-out_100ms_ease-in]`},"item-aligned":{content:``}},multiple:{true:``}},compoundVariants:[{color:`primary`,variant:[`outline`,`subtle`],class:`outline-primary/25 focus-visible:outline-3 focus-visible:ring-primary`},{color:`secondary`,variant:[`outline`,`subtle`],class:`outline-secondary/25 focus-visible:outline-3 focus-visible:ring-secondary`},{color:`success`,variant:[`outline`,`subtle`],class:`outline-success/25 focus-visible:outline-3 focus-visible:ring-success`},{color:`info`,variant:[`outline`,`subtle`],class:`outline-info/25 focus-visible:outline-3 focus-visible:ring-info`},{color:`warning`,variant:[`outline`,`subtle`],class:`outline-warning/25 focus-visible:outline-3 focus-visible:ring-warning`},{color:`error`,variant:[`outline`,`subtle`],class:`outline-error/25 focus-visible:outline-3 focus-visible:ring-error`},{color:`primary`,variant:[`soft`,`ghost`],class:`outline-primary/25 focus-visible:outline-3`},{color:`secondary`,variant:[`soft`,`ghost`],class:`outline-secondary/25 focus-visible:outline-3`},{color:`success`,variant:[`soft`,`ghost`],class:`outline-success/25 focus-visible:outline-3`},{color:`info`,variant:[`soft`,`ghost`],class:`outline-info/25 focus-visible:outline-3`},{color:`warning`,variant:[`soft`,`ghost`],class:`outline-warning/25 focus-visible:outline-3`},{color:`error`,variant:[`soft`,`ghost`],class:`outline-error/25 focus-visible:outline-3`},{color:`primary`,highlight:!0,class:`ring ring-inset ring-primary`},{color:`secondary`,highlight:!0,class:`ring ring-inset ring-secondary`},{color:`success`,highlight:!0,class:`ring ring-inset ring-success`},{color:`info`,highlight:!0,class:`ring ring-inset ring-info`},{color:`warning`,highlight:!0,class:`ring ring-inset ring-warning`},{color:`error`,highlight:!0,class:`ring ring-inset ring-error`},{color:`neutral`,variant:[`outline`,`subtle`],class:`outline-inverted/25 focus-visible:outline-3 focus-visible:ring-inverted`},{color:`neutral`,variant:[`soft`,`ghost`],class:`outline-inverted/25 focus-visible:outline-3`},{color:`neutral`,highlight:!0,class:`ring ring-inset ring-inverted`},{leading:!0,size:`xs`,class:`ps-7`},{leading:!0,size:`sm`,class:`ps-8`},{leading:!0,size:`md`,class:`ps-9`},{leading:!0,size:`lg`,class:`ps-10`},{leading:!0,size:`xl`,class:`ps-11`},{trailing:!0,size:`xs`,class:`pe-7`},{trailing:!0,size:`sm`,class:`pe-8`},{trailing:!0,size:`md`,class:`pe-9`},{trailing:!0,size:`lg`,class:`pe-10`},{trailing:!0,size:`xl`,class:`pe-11`},{loading:!0,leading:!0,class:{leadingIcon:`animate-spin`}},{loading:!0,leading:!1,trailing:!0,class:{trailingIcon:`animate-spin`}},{fixed:!1,size:`xs`,class:`md:text-xs`},{fixed:!1,size:`sm`,class:`md:text-xs`},{fixed:!1,size:`md`,class:`md:text-sm`},{fixed:!1,size:`lg`,class:`md:text-sm`}],defaultVariants:{size:`md`,color:`primary`,variant:`outline`,position:`popper`}},pt=Object.assign({inheritAttrs:!1},{__name:`USelect`,props:{id:{type:String,required:!1},placeholder:{type:String,required:!1},color:{type:null,required:!1},variant:{type:null,required:!1},size:{type:null,required:!1},trailingIcon:{type:null,required:!1},selectedIcon:{type:null,required:!1},content:{type:Object,required:!1},arrow:{type:[Boolean,Object],required:!1},portal:{type:[Boolean,String],required:!1,skipCheck:!0,default:!0},valueKey:{type:null,required:!1,default:`value`},labelKey:{type:null,required:!1,default:`label`},descriptionKey:{type:null,required:!1,default:`description`},items:{type:null,required:!1},defaultValue:{type:null,required:!1},modelValue:{type:null,required:!1},modelModifiers:{type:null,required:!1},multiple:{type:Boolean,required:!1},highlight:{type:Boolean,required:!1},autofocus:{type:Boolean,required:!1},autofocusDelay:{type:Number,required:!1,default:0},class:{type:null,required:!1},ui:{type:Object,required:!1},open:{type:Boolean,required:!1},defaultOpen:{type:Boolean,required:!1},nullableValue:{type:String,required:!1},autocomplete:{type:String,required:!1},disabled:{type:Boolean,required:!1},name:{type:String,required:!1},required:{type:Boolean,required:!1},icon:{type:null,required:!1},avatar:{type:Object,required:!1},leading:{type:Boolean,required:!1},leadingIcon:{type:null,required:!1},trailing:{type:Boolean,required:!1},loading:{type:Boolean,required:!1},loadingIcon:{type:null,required:!1}},emits:[`change`,`blur`,`focus`,`update:modelValue`,`update:open`],setup(i,{expose:o,emit:p}){let h=i,v=p,x=e(),S=ve(`select`,h),w=je(),D=xe(Se(S,`open`,`defaultOpen`,`disabled`,`autocomplete`,`required`,`multiple`,`nullableValue`),v),N=pe(n(()=>S.portal)),P=d(()=>S.content?.position??w.ui?.select?.defaultVariants?.position??ft.defaultVariants?.position),ee=n(()=>M(S.content,{side:`bottom`,sideOffset:8,collisionPadding:8,position:P.value})),te=n(()=>M(S.arrow,{rounded:!0})),{emitFormChange:ne,emitFormInput:F,emitFormBlur:re,emitFormFocus:ie,size:ae,color:oe,id:I,name:se,highlight:ce,disabled:le,ariaAttrs:L}=Ae(h),{orientation:R,size:ue}=Oe(h),{isLeading:z,isTrailing:B,leadingIconName:de,trailingIconName:V}=Ce(n(()=>M(S,{trailingIcon:w.ui.icons.chevronDown}))),fe=d(()=>ue.value||ae.value),me=d(()=>P.value===`item-aligned`),H=d(()=>ke({extend:ft,...w.ui?.select||{}})({color:oe.value??S.color,variant:S.variant,size:fe.value??S.size,loading:S.loading,highlight:ce.value??S.highlight,leading:z.value||!!S.avatar||!!x.leading,trailing:B.value||!!x.trailing,fieldGroup:R.value,position:P.value,multiple:S.multiple})),U=d(()=>S.items?.length?_e(S.items)?S.items:[S.items]:[]),he=d(()=>U.value.flatMap(e=>e));function ge(e){if(S.multiple&&Array.isArray(e)){let t=e.map(e=>Ee(he.value,e,{labelKey:S.labelKey,valueKey:S.valueKey})).filter(e=>e!=null&&e!==``);return t.length>0?t.join(`, `):void 0}return Ee(he.value,e,{labelKey:S.labelKey,valueKey:S.valueKey})}let W=C(`triggerRef`);function ye(){S.autofocus&&W.value?.$el?.focus({focusVisible:!0})}j(()=>{setTimeout(()=>{ye()},S.autofocusDelay)});function G(e){S.modelModifiers?.trim&&(typeof e==`string`||e==null)&&(e=e?.trim()??null),S.modelModifiers?.number&&(e=Te(e)),S.modelModifiers?.nullable&&(e??=null),S.modelModifiers?.optional&&!S.modelModifiers?.nullable&&e!==null&&(e??=void 0);let t=new Event(`change`,{target:{value:e}});v(`change`,t),ne(),F()}function q(e){if(e){let e=new FocusEvent(`focus`);v(`focus`,e),ie()}else{let e=new FocusEvent(`blur`);v(`blur`,e),re()}}function Y(e){return typeof e==`object`&&!!e}function X(e){e||W.value?.$el?.dispatchEvent(new PointerEvent(`pointerdown`,{bubbles:!0,button:0}))}let Me=C(`viewportRef`);return o({triggerRef:n(()=>W.value?.$el),viewportRef:n(()=>{let e=Me.value;return e&&typeof e==`object`&&`$el`in e?e.$el:e})}),(e,n)=>(t(),m(y(ze),T({name:y(se)},y(D),{autocomplete:y(S).autocomplete,disabled:y(le),"default-value":y(S).defaultValue,"model-value":i.modelValue,"onUpdate:modelValue":G,"onUpdate:open":q}),{default:O(({modelValue:n,open:i})=>[_(y(lt),T({id:y(I),ref_key:`triggerRef`,ref:W,"data-slot":`base`,class:H.value.base({class:[y(S).ui?.base,y(S).class]})},{...e.$attrs,...y(L)},{onClick:e=>X(i)}),{default:O(()=>[y(z)||y(S).avatar||x.leading?(t(),c(`span`,{key:0,"data-slot":`leading`,class:k(H.value.leading({class:y(S).ui?.leading}))},[u(e.$slots,`leading`,{modelValue:n,open:i,ui:H.value},()=>[y(z)&&y(de)?(t(),m(J,{key:0,name:y(de),"data-slot":`leadingIcon`,class:k(H.value.leadingIcon({class:y(S).ui?.leadingIcon}))},null,8,[`name`,`class`])):y(S).avatar?(t(),m(De,T({key:1,size:y(S).ui?.itemLeadingAvatarSize||H.value.itemLeadingAvatarSize()},y(S).avatar,{"data-slot":`itemLeadingAvatar`,class:H.value.itemLeadingAvatar({class:y(S).ui?.itemLeadingAvatar})}),null,16,[`size`,`class`])):a(``,!0)])],2)):a(``,!0),(t(!0),c(g,null,l([ge(n)],r=>(t(),m(y(ut),{key:r,"data-slot":r==null?`placeholder`:`value`,class:k(r==null?H.value.placeholder({class:y(S).ui?.placeholder}):H.value.value({class:y(S).ui?.value}))},{default:O(()=>[u(e.$slots,`default`,{modelValue:n,open:i,ui:H.value},()=>[s(b(r??y(S).placeholder??`\xA0`),1)])]),_:2},1032,[`data-slot`,`class`]))),128)),y(B)||x.trailing?(t(),c(`span`,{key:1,"data-slot":`trailing`,class:k(H.value.trailing({class:y(S).ui?.trailing}))},[u(e.$slots,`trailing`,{modelValue:n,open:i,ui:H.value},()=>[y(V)?(t(),m(J,{key:0,name:y(V),"data-slot":`trailingIcon`,class:k(H.value.trailingIcon({class:y(S).ui?.trailingIcon}))},null,8,[`name`,`class`])):a(``,!0)])],2)):a(``,!0)]),_:2},1040,[`id`,`class`,`onClick`]),_(y(st),E(A(y(N))),{default:O(()=>[_(y(be),null,{default:O(()=>[_(y(Ze),T({"data-slot":`content`,class:H.value.content({class:y(S).ui?.content})},ee.value),{default:O(()=>[u(e.$slots,`content-top`),(t(),m(r(me.value?y(dt):`div`),{ref_key:`viewportRef`,ref:Me,role:`presentation`,"data-slot":`viewport`,class:k(H.value.viewport({class:y(S).ui?.viewport}))},{default:O(()=>[(t(!0),c(g,null,l(U.value,(n,r)=>(t(),m(y(et),{key:`group-${r}`,"data-slot":`group`,class:k(H.value.group({class:y(S).ui?.group}))},{default:O(()=>[(t(!0),c(g,null,l(n,(n,i)=>(t(),c(g,{key:`group-${r}-${i}`},[Y(n)&&n.type===`label`?(t(),m(y(ot),{key:0,"data-slot":`label`,class:k(H.value.label({class:[y(S).ui?.label,n.ui?.label,n.class]}))},{default:O(()=>[s(b(y(K)(n,y(S).labelKey)),1)]),_:2},1032,[`class`])):Y(n)&&n.type===`separator`?(t(),m(y(ct),{key:1,"data-slot":`separator`,class:k(H.value.separator({class:[y(S).ui?.separator,n.ui?.separator,n.class]}))},null,8,[`class`])):(t(),m(y(rt),{key:2,"data-slot":`item`,class:k(H.value.item({class:[y(S).ui?.item,Y(n)&&n.ui?.item,Y(n)&&n.class]})),disabled:Y(n)&&n.disabled,value:Y(n)?y(K)(n,y(S).valueKey):n,onSelect:e=>Y(n)&&n.onSelect?.(e)},{default:O(()=>[u(e.$slots,`item`,{item:n,index:i,ui:H.value},()=>[u(e.$slots,`item-leading`,{item:n,index:i,ui:H.value},()=>[Y(n)&&n.icon?(t(),m(J,{key:0,name:n.icon,"data-slot":`itemLeadingIcon`,class:k(H.value.itemLeadingIcon({class:[y(S).ui?.itemLeadingIcon,n.ui?.itemLeadingIcon]}))},null,8,[`name`,`class`])):Y(n)&&n.avatar?(t(),m(De,T({key:1,size:n.ui?.itemLeadingAvatarSize||y(S).ui?.itemLeadingAvatarSize||H.value.itemLeadingAvatarSize()},{ref_for:!0},n.avatar,{"data-slot":`itemLeadingAvatar`,class:H.value.itemLeadingAvatar({class:[y(S).ui?.itemLeadingAvatar,n.ui?.itemLeadingAvatar]})}),null,16,[`size`,`class`])):Y(n)&&n.chip?(t(),m(we,T({key:2,size:n.ui?.itemLeadingChipSize||y(S).ui?.itemLeadingChipSize||H.value.itemLeadingChipSize(),inset:``,standalone:``},{ref_for:!0},n.chip,{"data-slot":`itemLeadingChip`,class:H.value.itemLeadingChip({class:[y(S).ui?.itemLeadingChip,n.ui?.itemLeadingChip]})}),null,16,[`size`,`class`])):a(``,!0)]),f(`span`,{"data-slot":`itemWrapper`,class:k(H.value.itemWrapper({class:[y(S).ui?.itemWrapper,Y(n)&&n.ui?.itemWrapper]}))},[_(y(at),{"data-slot":`itemLabel`,class:k(H.value.itemLabel({class:[y(S).ui?.itemLabel,Y(n)&&n.ui?.itemLabel]}))},{default:O(()=>[u(e.$slots,`item-label`,{item:n,index:i},()=>[s(b(Y(n)?y(K)(n,y(S).labelKey):n),1)])]),_:2},1032,[`class`]),Y(n)&&(y(K)(n,y(S).descriptionKey)||x[`item-description`])?(t(),c(`span`,{key:0,"data-slot":`itemDescription`,class:k(H.value.itemDescription({class:[y(S).ui?.itemDescription,Y(n)&&n.ui?.itemDescription]}))},[u(e.$slots,`item-description`,{item:n,index:i},()=>[s(b(y(K)(n,y(S).descriptionKey)),1)])],2)):a(``,!0)],2),f(`span`,{"data-slot":`itemTrailing`,class:k(H.value.itemTrailing({class:[y(S).ui?.itemTrailing,Y(n)&&n.ui?.itemTrailing]}))},[u(e.$slots,`item-trailing`,{item:n,index:i,ui:H.value}),_(y(it),{"as-child":``},{default:O(()=>[_(J,{name:y(S).selectedIcon||y(w).ui.icons.check,"data-slot":`itemTrailingIcon`,class:k(H.value.itemTrailingIcon({class:[y(S).ui?.itemTrailingIcon,Y(n)&&n.ui?.itemTrailingIcon]}))},null,8,[`name`,`class`])]),_:2},1024)],2)])]),_:2},1032,[`class`,`disabled`,`value`,`onSelect`]))],64))),128))]),_:2},1032,[`class`]))),128))]),_:3},8,[`class`])),u(e.$slots,`content-bottom`),y(S).arrow?(t(),m(y(Je),T({key:0},te.value,{"data-slot":`arrow`,class:H.value.arrow({class:y(S).ui?.arrow})}),null,16,[`class`])):a(``,!0)]),_:3},16,[`class`])]),_:3})]),_:3},16)]),_:3},16,[`name`,`autocomplete`,`disabled`,`default-value`,`model-value`]))}});export{pt as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{At as e,En as t,F as n,G as r,H as i,I as a,It as o,M as s,N as c,P as l,Pn as u,S as d,U as f,Wn as p,Zt as m,_r as h,cn as g,ht as _,in as v,ln as y,pr as b,wt as x}from"./DMHcp4U1.js";import{Y as S,rt as C,tt as w}from"./cRY3ZoRz.js";import{a as T,i as E,n as D,t as ee}from"./BNt3M20G.js";import{ct as O,i as k,l as te,t as A}from"./Dq_3AVr2.js";import{a as ne,i as re,l as ie,n as ae,t as oe}from"./BwcOmYtM.js";import{t as se}from"./BdD531YY.js";import{i as j,n as M,r as ce,t as le}from"./BormXq2m.js";import{t as N}from"./2nD-p2HC.js";import{t as P}from"./CJJvNaNU.js";import{t as ue}from"./Bv4T7S6_.js";import{_ as de,a as fe,b as pe,c as me,f as he,g as ge,h as F,i as _e,l as ve,m as I,n as ye,p as L,t as be,v as xe,x as Se,y as Ce}from"./BWJi3RB7.js";var we=Object.assign(r({__name:`auth-status`,props:{status:{}},setup(t){let r=s(()=>({configured:{label:`Configurada`,icon:`i-ic-round-lock`,color:`success`},failing:{label:`Falhando`,icon:`i-ic-round-error`,color:`error`},skipped:{label:`Dispensada`,icon:`i-ic-round-lock-open`,color:`neutral`}})[t.status]??null);return(t,i)=>{let a=j;return p(r)?(e(),l(a,{key:0,variant:`soft`,icon:p(r).icon,color:p(r).color,label:p(r).label,"data-testid":`cenario-auth-status`},null,8,[`icon`,`color`,`label`])):n(``,!0)}}}),{__name:`ScenarioAuthStatus`}),Te={class:`mb-3 flex flex-col gap-2 sm:flex-row`},Ee={key:1,class:`grid gap-3 sm:grid-cols-2`},De={class:`flex items-center justify-between gap-4`},R={class:`min-w-0`},z={class:`truncate`},Oe={class:`text-muted`},B={key:2,class:`mt-4 flex justify-center`},V=6,ke=Object.assign(r({__name:`history`,props:{runs:{default:()=>[]}},emits:[`open`],setup(r,{emit:m}){let g=m,_=[{label:`Todos`,value:`todos`},{label:`Sucesso`,value:`sucesso`},{label:`Falha`,value:`falha`}],b=u(``),x=u(`todos`),S=u(1);function C(e){return new Date(e.started_at).toLocaleString(`pt-BR`,{dateStyle:`short`,timeStyle:`short`})}function w(e){return`${(e.duration_ms/1e3).toLocaleString(`pt-BR`,{maximumFractionDigits:1})}s`}function T(e){return[C(e),e.branch,e.author,...e.steps.filter(e=>e.status===`failed`).map(e=>e.title)].join(` `).toLowerCase()}let D=s(()=>r.runs.filter(e=>(x.value===`todos`||x.value===`sucesso`===e.passed)&&T(e).includes(b.value.trim().toLowerCase()))),ee=s(()=>D.value.slice((S.value-1)*V,S.value*V));return v([b,x],()=>{S.value=1}),(s,u)=>{let m=Ce,v=E,T=se,O=j,k=M,te=N;return e(),a(`section`,null,[r.runs.length===0?(e(),l(m,{key:0,icon:`i-ic-round-play-circle-outline`,title:`Nenhum teste executado ainda`,description:`Rode o cenário em Testar. Cada execução fica registrada aqui com o resultado e o código que rodou.`,testid:`cenario-execucoes-vazio`})):(e(),a(d,{key:1},[c(`div`,Te,[f(v,{modelValue:p(b),"onUpdate:modelValue":u[0]||=e=>t(b)?b.value=e:null,icon:`i-ic-round-search`,placeholder:`Buscar por data, branch, autor ou step que falhou`,class:`flex-1`,"data-testid":`execucoes-busca`},null,8,[`modelValue`]),f(T,{modelValue:p(x),"onUpdate:modelValue":u[1]||=e=>t(x)?x.value=e:null,items:_,class:`sm:w-40`,"data-testid":`execucoes-status`},null,8,[`modelValue`])]),p(D).length===0?(e(),l(m,{key:0,icon:`i-ic-round-search-off`,title:`Nenhuma execução encontrada`,description:`Nada no histórico casa com a busca e o status escolhidos. Limpe os filtros para ver as execuções de novo.`,testid:`cenario-execucoes-sem-resultado`})):(e(),a(`div`,Ee,[(e(!0),a(d,null,o(p(ee),t=>(e(),l(k,{key:t.started_at,class:`cursor-pointer transition-colors hover:bg-accented/75`,"data-testid":`cenario-execucao`,"data-status":t.passed?`success`:`failed`,onClick:e=>g(`open`,t)},{default:y(()=>[c(`div`,De,[c(`div`,R,[u[3]||=c(`p`,{class:`text-sm text-muted`},` Testado em `,-1),c(`p`,z,[i(h(C(t))+` `,1),c(`span`,Oe,`em `+h(w(t)),1)])]),f(O,{variant:`soft`,color:t.passed?`success`:`error`,icon:t.passed?`i-ic-round-check-circle`:`i-ic-round-error`,label:t.passed?`Sucesso`:`Falha`},null,8,[`color`,`icon`,`label`])])]),_:2},1032,[`data-status`,`onClick`]))),128))])),p(D).length>V?(e(),a(`div`,B,[f(te,{page:p(S),"onUpdate:page":u[2]||=e=>t(S)?S.value=e:null,variant:`soft`,total:p(D).length,"items-per-page":V,"data-testid":`execucoes-paginacao`},null,8,[`page`,`total`])])):n(``,!0)],64))])}}}),{__name:`ScenarioTestRunHistory`}),Ae=Object.assign(r({__name:`modal`,props:_({slug:{},scenario:{},resumed:{default:null}},{open:{type:Boolean,default:!1},openModifiers:{}}),emits:_([`updated`],[`update:open`]),setup(r,{emit:i}){let a=m(r,`open`),o=i,c=u(r.resumed?.draft??F(r.scenario)),d=u(!1),h=u(null);v(a,e=>{e&&(c.value=r.resumed?.draft??F(r.scenario),h.value=null)});let g=s(()=>r.scenario.spec.replace(/^tests\//,``).replace(/\.(spec|setup)\.ts$/,``));async function _(){d.value=!0,h.value=null;try{let e=await O(`/api/projects/${r.slug}/scenarios/${g.value}`,{method:`PATCH`,body:{...c.value,revision:r.scenario.revision,events:r.resumed?.events}});a.value=!1,o(`updated`,e)}catch(e){h.value=A(e,`Não foi possível salvar o cenário.`)}finally{d.value=!1}}return(i,o)=>{let s=I,u=P,m=k,g=D;return e(),l(g,{open:a.value,"onUpdate:open":o[2]||=e=>a.value=e,title:r.scenario.is_auth?`Editar autenticação`:`Editar cenário`,wide:``},{body:y(()=>[f(s,{draft:p(c),"onUpdate:draft":o[0]||=e=>t(c)?c.value=e:null,"is-auth":r.scenario.is_auth},null,8,[`draft`,`is-auth`]),p(h)?(e(),l(u,{key:0,color:`error`,variant:`soft`,description:p(h),class:`mt-4`},null,8,[`description`])):n(``,!0)]),footer:y(()=>[f(m,{label:`Cancelar`,color:`neutral`,variant:`ghost`,"data-testid":`cenario-editar-cancelar`,onClick:o[1]||=e=>a.value=!1}),f(m,{label:`Salvar`,loading:p(d),"data-testid":`cenario-editar-salvar`,onClick:_},null,8,[`loading`])]),_:1},8,[`open`,`title`])}}}),{__name:`ScenarioEditModal`}),je=Object.assign(r({__name:`loading`,setup(t){let n=[`Analisando os eventos gravados`,`Procurando seletores frágeis`,`Pensando em nomes de data-testid`,`Preparando as sugestões`];return(t,r)=>{let i=L;return e(),l(i,{phrases:n,"data-testid":`sugestoes-carregando`})}}}),{__name:`ScenarioSuggestionsLoading`}),H={key:3,class:`flex flex-col gap-3`},U={class:`flex gap-3`},W={class:`flex size-9 shrink-0 items-center justify-center rounded-md bg-primary/10`},Me={class:`min-w-0 flex-1`},Ne={class:`text-sm font-semibold`},Pe={class:`text-xs text-dimmed mt-0.5`},Fe={class:`flex flex-wrap items-center gap-2 mt-3`},Ie={class:`font-mono`},Le=Object.assign(r({__name:`modal`,props:_({loading:{type:Boolean,default:!1},suggestions:{default:()=>[]},error:{default:null}},{open:{type:Boolean,default:!1},openModifiers:{}}),emits:[`update:open`],setup(t){let n=m(t,`open`),r=u(null);function s(e,t){navigator.clipboard?.writeText(e),r.value=t,setTimeout(()=>{r.value===t&&(r.value=null)},1500)}return(u,m)=>{let g=je,_=P,v=te,b=j,x=k,S=ne,C=M,w=D;return e(),l(w,{open:n.value,"onUpdate:open":m[1]||=e=>n.value=e,title:`Sugestões de seletores`,loading:t.loading,wide:``},{body:y(()=>[t.loading?(e(),l(g,{key:0})):t.error?(e(),l(_,{key:1,color:`error`,variant:`soft`,icon:`i-ic-round-error-outline`,title:`Não foi possível gerar sugestões`,description:t.error},null,8,[`description`])):t.suggestions.length===0?(e(),l(_,{key:2,color:`success`,variant:`soft`,icon:`i-ic-round-check-circle`,title:`Nenhuma sugestão necessária`,description:`Todos os eventos já têm um data-testid.`,"data-testid":`sugestoes-vazio`})):(e(),a(`div`,H,[(e(!0),a(d,null,o(t.suggestions,(t,n)=>(e(),l(C,{key:n,"data-testid":`sugestao-card`},{default:y(()=>[c(`div`,U,[c(`div`,W,[f(v,{name:`i-ic-round-select-all`,class:`size-5 text-primary`})]),c(`div`,Me,[c(`p`,Ne,h(t.event),1),c(`p`,Pe,h(t.reason),1),c(`div`,Fe,[f(b,{color:`error`,class:`font-mono line-through decoration-error/50`,size:`xl`},{default:y(()=>[i(h(t.currentSelector),1)]),_:2},1024),f(v,{name:`i-ic-round-keyboard-arrow-right`,class:`size-8 shrink-0 text-dimmed`}),f(S,{text:p(r)===n?`Copiado!`:`Clique para copiar`,"delay-duration":0,arrow:``},{default:y(()=>[f(x,{color:p(r)===n?`success`:`primary`,variant:`soft`,"trailing-icon":p(r)===n?`i-ic-round-check`:`i-ic-round-content-copy`,"data-testid":`sugestao-testid`,size:`lg`,onClick:e=>s(t.suggestedTestId,n)},{default:y(()=>[c(`code`,Ie,`data-testid="`+h(t.suggestedTestId)+`"`,1)]),_:2},1032,[`color`,`trailing-icon`,`onClick`])]),_:2},1032,[`text`])])])])]),_:2},1024))),128))]))]),footer:y(()=>[f(x,{label:`Fechar`,color:`neutral`,variant:`ghost`,"data-testid":`sugestoes-fechar`,onClick:m[0]||=e=>n.value=!1})]),_:1},8,[`open`,`loading`])}}}),{__name:`ScenarioSuggestionsModal`}),Re={class:`flex flex-col gap-4`,"data-testid":`auth-credenciais`},ze=Object.assign(r({__name:`credentials`,props:_({slug:{}},{open:{type:Boolean,default:!1},openModifiers:{}}),emits:_([`saved`],[`update:open`]),setup(r,{emit:i}){let a=m(r,`open`),o=i,s=u(``),d=u(``),h=u(!1),g=u(null);v(a,e=>{e&&(s.value=``,d.value=``,g.value=null)});async function _(){h.value=!0,g.value=null;try{await O(`/api/projects/${r.slug}/auth/credentials`,{method:`POST`,body:{username:s.value,password:d.value}}),a.value=!1,o(`saved`)}catch{g.value=`Não foi possível salvar as credenciais. Tente novamente.`}finally{h.value=!1}}return(r,i)=>{let o=P,u=E,m=T,v=k,b=D;return e(),l(b,{open:a.value,"onUpdate:open":i[3]||=e=>a.value=e,dismissable:!1,title:`Credenciais do login`},{body:y(()=>[c(`div`,Re,[f(o,{color:`warning`,variant:`soft`,icon:`i-ic-round-key`,title:`Não identifiquei usuário e senha nesta gravação`,description:`O login é executado de novo a cada rodada de testes, então ele precisa das credenciais reais. Elas ficam só no .env local do projeto, que não é versionado.`}),f(m,{label:`Usuário`},{default:y(()=>[f(u,{modelValue:p(s),"onUpdate:modelValue":i[0]||=e=>t(s)?s.value=e:null,class:`w-full`,autocomplete:`off`,"data-testid":`auth-credenciais-usuario`},null,8,[`modelValue`])]),_:1}),f(m,{label:`Senha`},{default:y(()=>[f(u,{modelValue:p(d),"onUpdate:modelValue":i[1]||=e=>t(d)?d.value=e:null,class:`w-full`,type:`password`,autocomplete:`off`,"data-testid":`auth-credenciais-senha`},null,8,[`modelValue`])]),_:1}),p(g)?(e(),l(o,{key:0,color:`error`,variant:`soft`,description:p(g),"data-testid":`auth-credenciais-erro`},null,8,[`description`])):n(``,!0)])]),footer:y(()=>[f(v,{label:`Cancelar`,color:`neutral`,variant:`ghost`,"data-testid":`auth-credenciais-cancelar`,onClick:i[2]||=e=>a.value=!1}),f(v,{label:`Salvar e executar`,loading:p(h),disabled:!p(s)||!p(d),"data-testid":`auth-credenciais-salvar`,onClick:_},null,8,[`loading`,`disabled`])]),_:1},8,[`open`])}}}),{__name:`ProjectAuthCredentials`}),Be={key:2,"data-testid":`correcao-proposta`},Ve={class:`mb-3 text-sm text-muted`,"data-testid":`correcao-resumo`},He=Object.assign(r({__name:`modal`,props:_({loading:{type:Boolean,default:!1},fix:{default:null},error:{default:null},applying:{type:Boolean,default:!1}},{open:{type:Boolean,default:!1},openModifiers:{}}),emits:_([`apply`,`discard`],[`update:open`]),setup(t,{emit:r}){let i=r,o=m(t,`open`);return(r,s)=>{let u=L,d=P,p=de,m=k,g=D;return e(),l(g,{open:o.value,"onUpdate:open":s[2]||=e=>o.value=e,title:`Correção proposta`,loading:t.loading,dismissable:!t.loading&&!t.applying,wide:``},{body:y(()=>[t.loading?(e(),l(u,{key:0,phrases:[`Analisando a falha`,`Procurando um seletor melhor`,`Reescrevendo o teste`],"data-testid":`correcao-carregando`})):t.error?(e(),l(d,{key:1,color:`error`,variant:`subtle`,icon:`i-ic-round-error`,title:`Não foi possível gerar a correção`,description:t.error,"data-testid":`correcao-erro`},null,8,[`description`])):t.fix?(e(),a(`div`,Be,[c(`p`,Ve,h(t.fix.summary),1),f(p,{"model-value":t.fix.playwright,language:`typescript`,readonly:``,testid:`correcao-spec`},null,8,[`model-value`])])):n(``,!0)]),footer:y(()=>[f(m,{label:`Descartar`,color:`neutral`,variant:`ghost`,disabled:t.applying,"data-testid":`correcao-descartar`,onClick:s[0]||=e=>i(`discard`)},null,8,[`disabled`]),t.fix?(e(),l(m,{key:0,label:`Aplicar`,icon:`i-ic-round-check`,loading:t.applying,disabled:t.applying,"data-testid":`correcao-aplicar`,onClick:s[1]||=e=>i(`apply`)},null,8,[`loading`,`disabled`])):n(``,!0)]),_:1},8,[`open`,`loading`,`dismissable`])}}}),{__name:`ScenarioFixModal`}),Ue=[`configured`,`failing`];function We(e,t=!1){if(!(t||!Ue.includes(e.auth_status)))return e.storage_state}var Ge={class:`flex items-start justify-between gap-4`},Ke={class:`flex flex-col gap-1 min-w-0`},qe={class:`flex items-center gap-2`},Je={class:`text-2xl font-bold truncate`,"data-testid":`cenario-titulo`},Ye={class:`text-sm text-muted italic truncate`,"data-testid":`cenario-caminho`},Xe={class:`flex gap-2 shrink-0`},Ze={key:0,class:`flex flex-wrap gap-1 mt-4`,"data-testid":`cenario-tags`},Qe={key:1,class:`text-xs text-dimmed mt-2`},$e={key:2,class:`mt-6 flex flex-col gap-3`},et={key:3,class:`mt-8 flex flex-col items-center gap-3 py-10 text-center`,"data-testid":`auth-intro`},tt={class:`flex size-12 items-center justify-center rounded-lg bg-elevated`},nt=[`data-testid`],rt={key:5,class:`mt-4`},it=r({__name:`[...scenario]`,async setup(r){let m,_,T=C(),E=s(()=>T.params.projectSlug),D=s(()=>T.params.scenario.join(`/`)),se=u(!1);x(()=>{se.value=!0});let{data:M,refresh:N}=([m,_]=g(()=>ee(`/api/projects/${E.value}`,`$3yUoA-eM18`)),m=await m,_(),m),{data:I,refresh:L}=([m,_]=g(()=>ee(`/api/projects/${E.value}/scenarios/${D.value}`,`$lM5rtpaVlj`)),m=await m,_(),m);if(!M.value||!I.value)throw S({statusCode:404,message:`Cenário não encontrado.`});let Te=s(()=>le(M.value)),{sync:Ee}=me(E.value);async function De(){(await Ee())?.changed&&await Promise.all([N(),L()])}x(()=>{De()}),v(I,()=>{De()});let R=u(!1),z=u(!1);async function Oe(){z.value=!0;try{await O(`/api/projects/${E.value}/scenarios/${D.value}`,{method:`DELETE`}),await w(`/projects/${E.value}`)}finally{z.value=!1}}let B=u(!1);async function V(){B.value=!0;try{await O(`/api/projects/${E.value}/scenario-skip`,{method:`PATCH`,body:{scenarioId:D.value,skipped:!I.value.skipped}}),await L()}finally{B.value=!1}}let je=s(()=>new Date(I.value.updated_at).toLocaleString(`pt-BR`,{dateStyle:`short`,timeStyle:`short`})),{configured:H}=re(),U=u(!1),W=u(!1),Me=u(!1),Ne=u([]),Pe=u(null);v(W,async e=>{if(e){Me.value=!0,Pe.value=null,Ne.value=[];try{Ne.value=await O(`/api/projects/${E.value}/scenario-suggestions`,{method:`POST`,body:{scenarioId:D.value}})}catch(e){Pe.value=A(e,`Não foi possível gerar sugestões agora. Tente novamente.`)}finally{Me.value=!1}}});function Fe(e){return e.replace(/^tests\//,``).replace(/\.(spec|setup)\.ts$/,``)}async function Ie(e){if(Fe(e.spec)!==D.value){await w(`/projects/${E.value}/scenarios/${Fe(e.spec)}`);return}await L()}let{steps:Re,running:Be,passed:Ve,videoUrl:Ue,testedAt:it,output:at,failedStep:ot,start:st}=_e(()=>E.value),G=u(!1),ct=u(null);function lt(e){Re.value=e.steps.map(e=>({title:e.title,status:e.status,error:e.error})),Ue.value=e.video_path?fe(e.video_path):null,it.value=ye(new Date(e.started_at)),ct.value=e.playwright,Ve.value=e.passed,q.value=null,J.value=null,Be.value=!1,G.value=!0}let K=u(!1),ut=u(!1),q=u(null),J=u(null),dt=u(!1);async function ft(){let e=ot.value;if(e){G.value=!1,K.value=!0,ut.value=!0,q.value=null,J.value=null;try{q.value=await O(`/api/projects/${E.value}/scenario-fix`,{method:`POST`,body:{scenarioId:D.value,step:e.title,error:e.error??``}})}catch(e){J.value=A(e,`Não foi possível gerar uma correção agora. Tente novamente.`)}finally{ut.value=!1}}}async function pt(){if(q.value){dt.value=!0;try{await O(`/api/projects/${E.value}/scenarios/${D.value}`,{method:`PATCH`,body:{...F(I.value),revision:I.value.revision,playwright:q.value.playwright}}),q.value=null,K.value=!1,await L()}catch(e){J.value=A(e,`Não foi possível salvar a correção.`)}finally{dt.value=!1}}}function mt(){K.value=!1,q.value=null,J.value=null}function ht(){G.value=!0,ct.value=null,q.value=null,J.value=null,st({spec:I.value.spec},async()=>{await L(),X.value&&await N()})}let Y=u(`eventos`),gt=s(()=>[{label:`Eventos`,value:`eventos`},...I.value.gherkin?[{label:`Cenário`,value:`gherkin`}]:[],{label:`Script`,value:`playwright`},{label:`Execuções`,value:`execucoes`}]);v(()=>I.value.gherkin,e=>{!e&&Y.value===`gherkin`&&(Y.value=`eventos`)});let X=s(()=>I.value.is_auth),Z=s(()=>!X.value||I.value.playwright.trim().length>0),{state:Q,startRecording:_t,stopRecording:vt}=ie(),yt=u(!1),$=u(!1),bt=u([]),xt=u(!1);async function St(){xt.value=!0;try{await O(`/api/projects/${E.value}/auth/skip`,{method:`POST`}),await N()}finally{xt.value=!1}}let Ct=u(!1);function wt(){bt.value=[],Ct.value=!0,_t(`auth`,{url:M.value.base_url??void 0})}let Tt=s(()=>I.value.tags.includes(`@publico`));function Et(e){Ct.value=!0,_t(X.value?`auth`:`scenario`,{url:M.value.base_url??void 0,storageState:X.value?void 0:We(M.value,Tt.value),replay:e})}function Dt(e){Et(I.value.events.slice(0,e))}function Ot(){return X.value?wt():Et([])}let kt=s(()=>Q.value.replayFailedStep?`Aguardando você na janela`:Q.value.replaying?`Refazendo os passos`:`Parar gravação`);function At(){U.value=!0}v(()=>Q.value.videoSessionId,e=>{!e||!Ct.value||(Ct.value=!1,$.value=!0)});async function jt(e){if(!e)return;if(!X.value)return Ie(e);let t=e;if(bt.value=t.warnings??[],await L(),t.credentialsNeeded){yt.value=!0;return}ht()}return(r,s)=>{let u=oe,m=j,g=we,_=k,v=ne,x=Se,S=P,C=pe,w=te,T=ce,D=Ce,ee=xe,O=de,A=ke,re=ge,ie=Ae,le=he,N=Le,fe=ve,me=ze,F=He,_e=ue;return e(),l(_e,{"data-hydrated":p(se),class:`py-6 lg:py-10`},{default:y(()=>[c(`div`,Ge,[c(`div`,Ke,[c(`div`,qe,[f(u,{icon:`i-ic-round-arrow-back`,label:`Voltar`,variant:`ghost`,color:`neutral`,to:`/projects/${p(E)}`,"data-testid":`cenario-voltar`},null,8,[`to`]),f(m,{icon:p(Te).icon,label:p(Te).label,"data-testid":`cenario-origem`},null,8,[`icon`,`label`]),p(X)?(e(),l(g,{key:0,status:p(M).auth_status},null,8,[`status`])):n(``,!0),p(I).skipped?(e(),l(m,{key:1,color:`warning`,variant:`soft`,icon:`i-ic-round-pause-circle`,label:`Pulado`,"data-testid":`cenario-pulado`})):n(``,!0)]),c(`h1`,Je,h(p(I).title),1),c(`p`,Ye,h(p(I).spec),1)]),c(`div`,Xe,[p(X)?n(``,!0):(e(),l(u,{key:0,icon:`i-ic-round-delete`,label:`Excluir`,color:`error`,variant:`soft`,"data-testid":`cenario-excluir`,onClick:s[0]||=e=>R.value=!0})),p(Z)?(e(),l(u,{key:1,icon:`i-ic-round-edit`,label:`Editar`,color:`neutral`,variant:`soft`,"data-testid":`cenario-editar`,onClick:At})):n(``,!0),!p(X)&&p(Z)?(e(),l(u,{key:2,icon:p(I).skipped?`i-ic-round-play-circle`:`i-ic-round-pause-circle`,label:p(I).skipped?`Voltar a rodar`:`Pular`,color:p(I).skipped?`warning`:`neutral`,variant:`soft`,loading:p(B),"data-testid":`cenario-pular`,onClick:V},null,8,[`icon`,`label`,`color`,`loading`])):n(``,!0),p(X)?n(``,!0):(e(),l(v,{key:3,text:p(ae),disabled:p(H),"delay-duration":0,arrow:``},{default:y(()=>[c(`span`,null,[f(_,{label:`Ver sugestões`,"trailing-icon":`i-ic-round-auto-awesome`,color:`neutral`,variant:`soft`,disabled:!p(H),class:b(p(H)?``:`pointer-events-none`),"data-testid":`cenario-sugestoes`,onClick:s[1]||=e=>W.value=!0},null,8,[`disabled`,`class`])])]),_:1},8,[`text`,`disabled`])),p(Q).recording?(e(),l(_,{key:4,label:p(kt),"trailing-icon":`i-ic-round-stop`,color:`error`,disabled:p(Q).replaying,class:b(p(Q).replayFailedStep?``:`animate-pulse`),"data-testid":`cenario-parar`,onClick:p(vt)},null,8,[`label`,`disabled`,`class`,`onClick`])):p(X)&&p(Z)?(e(),l(_,{key:5,label:`Gravar novamente`,"trailing-icon":`i-ic-round-fiber-manual-record`,color:`neutral`,variant:`soft`,disabled:!p(Q).connected,"data-testid":`auth-gravar`,onClick:wt},null,8,[`disabled`])):n(``,!0),p(Z)?(e(),l(v,{key:6,text:`Cenário pulado: o Playwright não roda ele.`,disabled:!p(I).skipped,"delay-duration":0,arrow:``},{default:y(()=>[f(_,{label:`Testar`,"trailing-icon":`i-ic-round-play-arrow`,loading:p(Be),disabled:p(I).skipped,"data-testid":`cenario-testar`,onClick:ht},null,8,[`loading`,`disabled`])]),_:1},8,[`disabled`])):n(``,!0)])]),p(I).tags.length?(e(),a(`div`,Ze,[(e(!0),a(d,null,o(p(I).tags,t=>(e(),l(m,{key:t,color:p(be)(t),label:t},null,8,[`color`,`label`]))),128))])):n(``,!0),p(Z)?(e(),a(`p`,Qe,` Última modificação: `+h(p(je)),1)):n(``,!0),f(x,{warnings:p(bt),slug:p(E),class:`mt-6`},null,8,[`warnings`,`slug`]),p(Q).error?(e(),a(`div`,$e,[f(S,{color:`error`,variant:`soft`,"data-testid":`webdriver-erro`,description:p(Q).error},null,8,[`description`]),p(Q).error?.includes(`Chrome`)?(e(),l(C,{key:0})):n(``,!0)])):n(``,!0),p(Z)?n(``,!0):(e(),a(`div`,et,[c(`div`,tt,[f(w,{name:`i-ic-round-lock`,class:`size-7 text-dimmed`})]),s[10]||=c(`p`,{class:`font-semibold`},` Autenticação ainda não gravada `,-1),s[11]||=c(`p`,{class:`max-w-md text-sm text-muted`},` Vamos gravar o login de verdade: clique em "Gravar login" e entre normalmente na aba que abrir. A IA transforma essa gravação num teste de autenticação, sem adivinhar seletor e sem você digitar sua senha em formulário nenhum. `,-1),s[12]||=c(`p`,{class:`max-w-md text-xs text-dimmed`},[i(` A senha digitada na gravação fica salva localmente no `),c(`code`,null,`.env`),i(` do projeto, nunca no script gerado nem versionada. Assim que o teste estiver escrito, ele é executado para confirmar que o login funciona. `)],-1),f(_,{label:`Gravar login`,"trailing-icon":`i-ic-round-fiber-manual-record`,class:`mt-2`,disabled:!p(Q).connected,"data-testid":`auth-gravar-vazio`,onClick:wt},null,8,[`disabled`]),p(M).auth_status===`unset`?(e(),l(_,{key:0,label:`Não precisa de login`,color:`neutral`,variant:`link`,loading:p(xt),"data-testid":`auth-dispensar`,onClick:St},null,8,[`loading`])):n(``,!0)])),p(Z)?(e(),l(T,{key:4,modelValue:p(Y),"onUpdate:modelValue":s[2]||=e=>t(Y)?Y.value=e:null,items:p(gt),content:!1,class:`w-full mt-8`},{default:y(({item:e})=>[c(`span`,{"data-testid":`cenario-tab-${e.value}`},h(e.label),9,nt)]),_:1},8,[`modelValue`,`items`])):n(``,!0),p(Z)?(e(),a(`div`,rt,[p(Y)===`eventos`?(e(),a(d,{key:0},[p(I).events.length===0?(e(),l(D,{key:0,icon:`i-ic-round-timeline`,title:`Nenhum evento gravado`,description:`Este cenário foi escrito direto em código, sem passar por uma gravação de navegador.`,testid:`cenario-eventos-vazio`})):(e(),l(ee,{key:1,events:p(I).events,resumable:p(Q).connected&&!p(Q).recording,"data-testid":`cenario-eventos`,onResume:Dt},null,8,[`events`,`resumable`])),p(Q).error?(e(),l(S,{key:2,color:`error`,variant:`soft`,description:p(Q).error,class:`mt-4`,"data-testid":`cenario-retomar-erro`},null,8,[`description`])):n(``,!0)],64)):p(Y)===`gherkin`?(e(),l(O,{key:1,"model-value":p(I).gherkin,language:`gherkin`,readonly:``,testid:`cenario-gherkin`},null,8,[`model-value`])):p(Y)===`playwright`?(e(),a(d,{key:2},[p(I).playwright.trim()?(e(),l(O,{key:1,"model-value":p(I).playwright,language:`typescript`,readonly:``,testid:`cenario-playwright`},null,8,[`model-value`])):(e(),l(D,{key:0,icon:`i-ic-round-code-off`,title:`Sem código Playwright`,description:`O arquivo .spec.ts deste cenário está vazio. Edite o cenário pra escrever o teste.`,testid:`cenario-playwright-vazio`}))],64)):(e(),l(A,{key:3,runs:p(I).runs,onOpen:lt},null,8,[`runs`]))])):n(``,!0),f(re,{open:p(R),"onUpdate:open":s[3]||=e=>t(R)?R.value=e:null,title:`Excluir cenário`,"confirm-label":`Excluir`,"confirm-color":`error`,"confirm-testid":`cenario-excluir-confirmar`,loading:p(z),onConfirm:Oe},{description:y(()=>[s[13]||=i(` Isso `,-1),s[14]||=c(`b`,null,`apaga`,-1),i(` os arquivos de teste, feature e eventos de "`+h(p(I).title)+`". `,1)]),_:1},8,[`open`,`loading`]),f(ie,{open:p(U),"onUpdate:open":s[4]||=e=>t(U)?U.value=e:null,slug:p(E),scenario:p(I),onUpdated:Ie},null,8,[`open`,`slug`,`scenario`]),f(le,{open:p($),"onUpdate:open":s[5]||=e=>t($)?$.value=e:null,slug:p(E),scenario:p(I),"is-public":p(Tt),onGenerated:jt,onRerecord:Ot,onResume:Et},null,8,[`open`,`slug`,`scenario`,`is-public`]),f(N,{open:p(W),"onUpdate:open":s[6]||=e=>t(W)?W.value=e:null,loading:p(Me),suggestions:p(Ne),error:p(Pe)},null,8,[`open`,`loading`,`suggestions`,`error`]),f(fe,{open:p(G),"onUpdate:open":s[7]||=e=>t(G)?G.value=e:null,running:p(Be),passed:p(Ve),steps:p(Re),"video-url":p(Ue),"project-name":p(M).name,kind:p(X)?`autenticacao`:`cenario`,"scenario-name":p(X)?p(I).spec:p(I).title,branch:p(M).branch,"tested-at":p(it),playwright:p(ct),output:p(at),onFix:ft},null,8,[`open`,`running`,`passed`,`steps`,`video-url`,`project-name`,`kind`,`scenario-name`,`branch`,`tested-at`,`playwright`,`output`]),f(me,{open:p(yt),"onUpdate:open":s[8]||=e=>t(yt)?yt.value=e:null,slug:p(E),onSaved:ht},null,8,[`open`,`slug`]),f(F,{open:p(K),"onUpdate:open":s[9]||=e=>t(K)?K.value=e:null,loading:p(ut),fix:p(q),error:p(J),applying:p(dt),onApply:pt,onDiscard:mt},null,8,[`open`,`loading`,`fix`,`error`,`applying`])]),_:1},8,[`data-hydrated`])}}});export{it as default};
|