@acutis/cli 0.1.2 → 0.2.0-dev.23

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (200) hide show
  1. package/.output/nitro.json +1 -1
  2. package/.output/public/_nuxt/AC3CibKK.js +1 -0
  3. package/.output/public/_nuxt/BGc2VNce.js +1 -0
  4. package/.output/public/_nuxt/BN4XOpVt.js +1 -0
  5. package/.output/public/_nuxt/BNJ2GN0A.js +1 -0
  6. package/.output/public/_nuxt/BP52ABGx.js +1 -0
  7. package/.output/public/_nuxt/BWcsrofD.js +1 -0
  8. package/.output/public/_nuxt/{b5tj-z25.js → Bqp63OdK.js} +1 -1
  9. package/.output/public/_nuxt/CF8y5KTS.js +3 -0
  10. package/.output/public/_nuxt/CUTaKHid.js +1 -0
  11. package/.output/public/_nuxt/CZEhodn6.js +1 -0
  12. package/.output/public/_nuxt/Cym5RBDq.js +1 -0
  13. package/.output/public/_nuxt/D1ge6Bwo.js +1 -0
  14. package/.output/public/_nuxt/D2UpbqeN.js +28 -0
  15. package/.output/public/_nuxt/DDKd6Dxq.js +1 -0
  16. package/.output/public/_nuxt/D_FJunXs.js +64 -0
  17. package/.output/public/_nuxt/Dc2A-6xl.js +6 -0
  18. package/.output/public/_nuxt/DoQkJV4U.js +1 -0
  19. package/.output/public/_nuxt/JwPm-b3T.js +1 -0
  20. package/.output/public/_nuxt/builds/latest.json +1 -1
  21. package/.output/public/_nuxt/builds/meta/bcd56d50-e1a9-4021-b9df-ab200a81246a.json +1 -0
  22. package/.output/public/_nuxt/cnFSOQCu.js +1 -0
  23. package/.output/public/_nuxt/entry.BmTN_nlL.css +2 -0
  24. package/.output/public/_nuxt/error-404.CkhL7nxg.css +1 -0
  25. package/.output/public/_nuxt/error-500.DNftkU4A.css +1 -0
  26. package/.output/public/_nuxt/tags.C6gBUbEB.css +1 -0
  27. package/.output/server/chunks/_/auth2.mjs +3 -3
  28. package/.output/server/chunks/_/environment.mjs +3 -3
  29. package/.output/server/chunks/_/error-500.mjs.map +1 -1
  30. package/.output/server/chunks/_/generation.mjs +3 -3
  31. package/.output/server/chunks/_/project.mjs +2 -2
  32. package/.output/server/chunks/_/project.service.mjs +3 -31
  33. package/.output/server/chunks/_/project.service.mjs.map +1 -1
  34. package/.output/server/chunks/_/recording.mjs +5 -2
  35. package/.output/server/chunks/_/recording.mjs.map +1 -1
  36. package/.output/server/chunks/_/scenario.mjs +4 -2
  37. package/.output/server/chunks/_/scenario.mjs.map +1 -1
  38. package/.output/server/chunks/_/scenario2.mjs +22 -5
  39. package/.output/server/chunks/_/scenario2.mjs.map +1 -1
  40. package/.output/server/chunks/_/spec-rules.mjs +29 -232
  41. package/.output/server/chunks/_/spec-rules.mjs.map +1 -1
  42. package/.output/server/chunks/build/{Alert-Q5hBYuxt.mjs → Alert-WVcujYrW.mjs} +14 -14
  43. package/.output/server/chunks/build/Alert-WVcujYrW.mjs.map +1 -0
  44. package/.output/server/chunks/build/{Container-HW0bT_Wn.mjs → Container-C0k092cW.mjs} +4 -4
  45. package/.output/server/chunks/build/Container-C0k092cW.mjs.map +1 -0
  46. package/.output/server/chunks/build/{Pagination-FFamqWKD.mjs → Pagination-BXryRfUN.mjs} +4 -4
  47. package/.output/server/chunks/build/{Pagination-FFamqWKD.mjs.map → Pagination-BXryRfUN.mjs.map} +1 -1
  48. package/.output/server/chunks/build/{_...scenario_-DNqQ06NM.mjs → _...scenario_-qp56INdQ.mjs} +687 -149
  49. package/.output/server/chunks/build/_...scenario_-qp56INdQ.mjs.map +1 -0
  50. package/.output/server/chunks/build/{_slug_-BlLRYU9d.mjs → _slug_-dNDiCabc.mjs} +788 -433
  51. package/.output/server/chunks/build/_slug_-dNDiCabc.mjs.map +1 -0
  52. package/.output/server/chunks/build/{error-404-Dzfp7Wik.mjs → error-404-B5fzVPdQ.mjs} +5 -5
  53. package/.output/server/chunks/build/error-404-B5fzVPdQ.mjs.map +1 -0
  54. package/.output/server/chunks/build/error-404-styles.C6Lq0aSH.mjs +9 -0
  55. package/.output/server/chunks/build/error-404-styles.C6Lq0aSH.mjs.map +1 -0
  56. package/.output/server/chunks/build/{error-500-Df60mzLr.mjs → error-500-Be62wrWs.mjs} +5 -5
  57. package/.output/server/chunks/build/error-500-Be62wrWs.mjs.map +1 -0
  58. package/.output/server/chunks/build/error-500-styles.D3b6pwL1.mjs +9 -0
  59. package/.output/server/chunks/build/error-500-styles.D3b6pwL1.mjs.map +1 -0
  60. package/.output/server/chunks/build/{origin-_Ab6zkKk.mjs → origin-DFFT7pGA.mjs} +546 -21
  61. package/.output/server/chunks/build/{origin-_Ab6zkKk.mjs.map → origin-DFFT7pGA.mjs.map} +1 -1
  62. package/.output/server/chunks/build/{pages-BuW8VoW3.mjs → pages-NkoKH95O.mjs} +35 -37
  63. package/.output/server/chunks/build/pages-NkoKH95O.mjs.map +1 -0
  64. package/.output/server/chunks/build/tags-DXumXgr9.mjs +1653 -0
  65. package/.output/server/chunks/build/tags-DXumXgr9.mjs.map +1 -0
  66. package/.output/server/chunks/build/telemetria-BaMsUnJ8.mjs +131 -0
  67. package/.output/server/chunks/build/telemetria-BaMsUnJ8.mjs.map +1 -0
  68. package/.output/server/chunks/build/timeline-styles.CzOXKr8R.mjs +9 -0
  69. package/.output/server/chunks/build/timeline-styles.CzOXKr8R.mjs.map +1 -0
  70. package/.output/server/chunks/nitro/nitro.mjs +608 -367
  71. package/.output/server/chunks/nitro/nitro.mjs.map +1 -1
  72. package/.output/server/chunks/raw/driver-entry.mjs +1 -1
  73. package/.output/server/chunks/routes/api/projects/_slug/auth/record.post.mjs +1 -1
  74. package/.output/server/chunks/routes/api/projects/_slug/auth/skip.post.mjs +1 -1
  75. package/.output/server/chunks/routes/api/projects/_slug/auth.get.mjs +1 -1
  76. package/.output/server/chunks/routes/api/projects/_slug/auth.put.mjs +1 -1
  77. package/.output/server/chunks/routes/api/telemetry/report.post.mjs +133 -0
  78. package/.output/server/chunks/routes/api/telemetry/report.post.mjs.map +1 -0
  79. package/.output/server/chunks/routes/debug/close-page.post.mjs +40 -0
  80. package/.output/server/chunks/routes/debug/close-page.post.mjs.map +1 -0
  81. package/.output/server/chunks/routes/debug/erro-de-telemetria.get.mjs +49 -0
  82. package/.output/server/chunks/routes/debug/erro-de-telemetria.get.mjs.map +1 -0
  83. package/.output/server/chunks/routes/debug/replay-decision.post.mjs +43 -0
  84. package/.output/server/chunks/routes/debug/replay-decision.post.mjs.map +1 -0
  85. package/.output/server/chunks/routes/renderer.mjs +2 -2
  86. package/.output/server/chunks/routes/renderer.mjs.map +1 -1
  87. package/.output/server/chunks/routes/runner/video.get.mjs +1 -1
  88. package/.output/server/chunks/routes/ws.mjs +19 -2
  89. package/.output/server/chunks/routes/ws.mjs.map +1 -1
  90. package/.output/server/chunks/virtual/entry.mjs +11755 -11725
  91. package/.output/server/chunks/virtual/entry.mjs.map +1 -1
  92. package/.output/server/chunks/virtual/precomputed.mjs +1 -1
  93. package/.output/server/chunks/virtual/styles.mjs +4 -3
  94. package/.output/server/index.mjs +1 -1
  95. package/.output/server/package.json +1 -1
  96. package/bin/splash.mjs +2 -2
  97. package/dist-ui/driver-entry.js +3 -3
  98. package/package.json +5 -1
  99. package/reporters/stream-reporter.cjs +3 -3
  100. package/.output/public/_nuxt/5GgR1mbX.js +0 -1
  101. package/.output/public/_nuxt/ANcp5QFz.js +0 -1
  102. package/.output/public/_nuxt/BEFJRHhA2.js +0 -1
  103. package/.output/public/_nuxt/BEQgcp5R.js +0 -1
  104. package/.output/public/_nuxt/BEk00u4_.js +0 -1
  105. package/.output/public/_nuxt/BGdmRvCK2.js +0 -8
  106. package/.output/public/_nuxt/BMLYuU_e.js +0 -1
  107. package/.output/public/_nuxt/BWJpSLJL.js +0 -1
  108. package/.output/public/_nuxt/BXpPYfMx.js +0 -1
  109. package/.output/public/_nuxt/BbjTtCyI.js +0 -3
  110. package/.output/public/_nuxt/Bp3A7I5W2.js +0 -1
  111. package/.output/public/_nuxt/BuOb9NX0.js +0 -1
  112. package/.output/public/_nuxt/C1tNhfTr.js +0 -1
  113. package/.output/public/_nuxt/C2KIeuhG.js +0 -1
  114. package/.output/public/_nuxt/C5uJN_MU.js +0 -1
  115. package/.output/public/_nuxt/CBVnImq2.js +0 -1
  116. package/.output/public/_nuxt/CC0OsuIz.js +0 -28
  117. package/.output/public/_nuxt/CIFC2HNk.js +0 -1
  118. package/.output/public/_nuxt/CKps1Vc12.js +0 -3
  119. package/.output/public/_nuxt/CRH0iqnQ.js +0 -1
  120. package/.output/public/_nuxt/CTLrtTtn2.js +0 -64
  121. package/.output/public/_nuxt/CTqLwyQP.js +0 -1
  122. package/.output/public/_nuxt/CU7sPrmY.js +0 -3
  123. package/.output/public/_nuxt/CfOqJVtU.js +0 -1
  124. package/.output/public/_nuxt/Ch1EeKHP.js +0 -1
  125. package/.output/public/_nuxt/Clv7nJ_T2.js +0 -1
  126. package/.output/public/_nuxt/D-7v7DZs.js +0 -1
  127. package/.output/public/_nuxt/D4ykC_lY2.js +0 -1
  128. package/.output/public/_nuxt/D5HF1Z0f2.js +0 -1
  129. package/.output/public/_nuxt/DDHUGtv32.js +0 -4
  130. package/.output/public/_nuxt/DEJ3sRrh2.js +0 -1
  131. package/.output/public/_nuxt/DPM_BYFz2.js +0 -1
  132. package/.output/public/_nuxt/DXLPf3t6.js +0 -1
  133. package/.output/public/_nuxt/Dpnaldxf2.js +0 -1
  134. package/.output/public/_nuxt/DtuQPKVG.js +0 -1
  135. package/.output/public/_nuxt/FvWrDx_z.js +0 -1
  136. package/.output/public/_nuxt/Gcazu-lR.js +0 -1
  137. package/.output/public/_nuxt/QcKfgokC.js +0 -1
  138. package/.output/public/_nuxt/XDsaI4JL.js +0 -1
  139. package/.output/public/_nuxt/builds/meta/bf2cb2c6-2ddb-4f64-9777-e314571fd19d.json +0 -1
  140. package/.output/public/_nuxt/entry.m-nAFUcz.css +0 -2
  141. package/.output/public/_nuxt/error-404.DopINOT1.css +0 -1
  142. package/.output/public/_nuxt/error-500.D7goJC9g.css +0 -1
  143. package/.output/public/_nuxt/f0o80Gcm.js +0 -1
  144. package/.output/public/_nuxt/k5q7GKnv.js +0 -1
  145. package/.output/public/_nuxt/modal.3A_G7d4A.css +0 -1
  146. package/.output/public/_nuxt/tLr-SJaf.js +0 -1
  147. package/.output/public/dev/sample-run.webm +0 -0
  148. package/.output/server/chunks/build/Alert-Q5hBYuxt.mjs.map +0 -1
  149. package/.output/server/chunks/build/Badge-BgyIJKeU.mjs +0 -394
  150. package/.output/server/chunks/build/Badge-BgyIJKeU.mjs.map +0 -1
  151. package/.output/server/chunks/build/Card-DLzZ816u.mjs +0 -144
  152. package/.output/server/chunks/build/Card-DLzZ816u.mjs.map +0 -1
  153. package/.output/server/chunks/build/Container-HW0bT_Wn.mjs.map +0 -1
  154. package/.output/server/chunks/build/_...scenario_-DNqQ06NM.mjs.map +0 -1
  155. package/.output/server/chunks/build/_slug_-BlLRYU9d.mjs.map +0 -1
  156. package/.output/server/chunks/build/auth-status-5sNoLTPk.mjs +0 -128
  157. package/.output/server/chunks/build/auth-status-5sNoLTPk.mjs.map +0 -1
  158. package/.output/server/chunks/build/auth-status-Bo2gxZ-H.mjs +0 -53
  159. package/.output/server/chunks/build/auth-status-Bo2gxZ-H.mjs.map +0 -1
  160. package/.output/server/chunks/build/empty-xO5aD2Ip.mjs +0 -44
  161. package/.output/server/chunks/build/empty-xO5aD2Ip.mjs.map +0 -1
  162. package/.output/server/chunks/build/error-404-Dzfp7Wik.mjs.map +0 -1
  163. package/.output/server/chunks/build/error-404-styles.ByPbpRGS.mjs +0 -9
  164. package/.output/server/chunks/build/error-404-styles.ByPbpRGS.mjs.map +0 -1
  165. package/.output/server/chunks/build/error-500-Df60mzLr.mjs.map +0 -1
  166. package/.output/server/chunks/build/error-500-styles.Dz8enkTW.mjs +0 -9
  167. package/.output/server/chunks/build/error-500-styles.Dz8enkTW.mjs.map +0 -1
  168. package/.output/server/chunks/build/generation-warnings-RCB9uLi8.mjs +0 -123
  169. package/.output/server/chunks/build/generation-warnings-RCB9uLi8.mjs.map +0 -1
  170. package/.output/server/chunks/build/history-D-mei_D6.mjs +0 -163
  171. package/.output/server/chunks/build/history-D-mei_D6.mjs.map +0 -1
  172. package/.output/server/chunks/build/modal-81h_kbj9.mjs +0 -321
  173. package/.output/server/chunks/build/modal-81h_kbj9.mjs.map +0 -1
  174. package/.output/server/chunks/build/modal-Cpj-bQgu.mjs +0 -342
  175. package/.output/server/chunks/build/modal-Cpj-bQgu.mjs.map +0 -1
  176. package/.output/server/chunks/build/modal-DV_DQ0hO.mjs +0 -659
  177. package/.output/server/chunks/build/modal-DV_DQ0hO.mjs.map +0 -1
  178. package/.output/server/chunks/build/pages-BuW8VoW3.mjs.map +0 -1
  179. package/.output/server/chunks/build/phrases-CSDEYSbZ.mjs +0 -38
  180. package/.output/server/chunks/build/phrases-CSDEYSbZ.mjs.map +0 -1
  181. package/.output/server/chunks/build/project-run-filtered-CplHFc5x.mjs +0 -455
  182. package/.output/server/chunks/build/project-run-filtered-CplHFc5x.mjs.map +0 -1
  183. package/.output/server/chunks/build/run-stream-CNVDpZ_S.mjs +0 -157
  184. package/.output/server/chunks/build/run-stream-CNVDpZ_S.mjs.map +0 -1
  185. package/.output/server/chunks/build/scenario-runs-C7TDC5iA.mjs +0 -135
  186. package/.output/server/chunks/build/scenario-runs-C7TDC5iA.mjs.map +0 -1
  187. package/.output/server/chunks/build/scenario-suggestions-CsQg875h.mjs +0 -210
  188. package/.output/server/chunks/build/scenario-suggestions-CsQg875h.mjs.map +0 -1
  189. package/.output/server/chunks/build/scenario-test-run-Deg4Qlme.mjs +0 -505
  190. package/.output/server/chunks/build/scenario-test-run-Deg4Qlme.mjs.map +0 -1
  191. package/.output/server/chunks/build/steps-CcAjZqHX.mjs +0 -54
  192. package/.output/server/chunks/build/steps-CcAjZqHX.mjs.map +0 -1
  193. package/.output/server/chunks/build/tags-DrKY6Ah4.mjs +0 -594
  194. package/.output/server/chunks/build/tags-DrKY6Ah4.mjs.map +0 -1
  195. package/.output/server/chunks/build/warnings-D8SWbHw0.mjs +0 -76
  196. package/.output/server/chunks/build/warnings-D8SWbHw0.mjs.map +0 -1
  197. package/.output/server/chunks/raw/sample-run.mjs +0 -7
  198. package/.output/server/chunks/raw/sample-run.mjs.map +0 -1
  199. package/dist-ui/dev/sample-run.webm +0 -0
  200. /package/.output/public/_nuxt/{BDNMzG2s2.js → BDNMzG2s.js} +0 -0
@@ -0,0 +1,6 @@
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"./CF8y5KTS.js";import{ct as I,i as L,l as R,t as z}from"./AC3CibKK.js";import{a as ee,i as te,l as ne,n as re,t as ie}from"./JwPm-b3T.js";import{i as ae,r as oe}from"./BGc2VNce.js";import{t as B}from"./Cym5RBDq.js";import{t as V}from"./BDNMzG2s.js";var se={class:`list-disc pl-4`},ce=`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(ce)));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`,se,[(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 le(e){return new URL(globalThis.location.href)}var ue={class:`flex flex-col gap-3 rounded-lg bg-elevated p-4`},de={class:`flex items-center gap-2`},fe={"data-testid":`webdriver-comando`,class:`grow overflow-x-auto whitespace-nowrap rounded-md bg-default p-3 text-xs`},pe=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=le().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=oe,l=ie;return n(),c(`div`,ue,[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`,de,[f(`code`,fe,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`}),me=[`data-testid`],he={class:`flex size-12 items-center justify-center rounded-lg bg-elevated`},ge={class:`font-semibold`},_e={key:0,class:`max-w-sm text-sm text-muted`},ve=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`,he,[_(i,{name:e.icon,class:`size-7 text-dimmed`},null,8,[`name`])]),f(`p`,ge,b(e.title),1),e.description?(n(),c(`p`,_e,b(e.description),1)):a(``,!0)],8,me)}}}),{__name:`BaseEmpty`});function ye(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 be(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 xe(e){let t=be(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 Se=[`src`],Ce={class:`flex w-max max-w-full flex-col`},we=[`data-current`,`data-dropped`,`onClick`],Te=[`data-armed`,`aria-label`,`onClick`],Ee={class:`relative h-px flex-1 overflow-visible rounded-full bg-accented`},De={key:0,class:`arming absolute inset-y-0 left-0 rounded-full bg-error`},Oe={class:`flex flex-col items-center`},ke={class:`pb-6 min-w-0 flex-1`},Ae={key:0,class:`text-xs text-dimmed`},je=600,Me=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},je),x=setTimeout(E,Me)}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,Se)):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`,Ce,[(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`,Ee,[v(u)===r?(n(),c(`span`,De)):a(``,!0)])],10,Te)):a(``,!0),f(`div`,Oe,[_(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`,ke,[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(xe)(t)),3),e.recordingStartedAt?(n(),c(`p`,Ae,b(C(t).toFixed(1))+`s `,1)):a(``,!0)])],10,we))),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,`&amp;`).replace(/</g,`&lt;`).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,`&quot;`)+`"`;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(/&amp;/,`&`))}),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 Ne={class:`codefield relative overflow-hidden rounded-md bg-elevated font-mono text-sm/6`},Pe={"aria-hidden":`true`,class:`codefield-box pointer-events-none absolute inset-0 m-0 overflow-hidden`},Fe=[`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`,Ne,[f(`pre`,Pe,[_(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,Fe),[[A,t.value]])]))}}),[[`__scopeId`,`data-v-3e187072`]]),{__name:`BaseCodefield`}),Ie={class:`flex min-h-24 items-center justify-center text-center`},Le={class:`w-full text-lg text-muted break-words`},Re=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`,Ie,[f(`p`,Le,[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 ze(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 Be={class:`flex flex-col gap-5`},Ve={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`,Be,[f(`div`,Ve,[_(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`}),He={class:`flex flex-col items-center gap-6 py-10 text-center`},Ue={class:`text-lg font-mono font-medium text-highlighted`},We={class:`text-xs text-dimmed`},Ge=`!<>-_\\/[]{}—=+*^?#01`,X=50,Ke=1200,Z=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===` `?` `:Ge[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(X)}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(X)}let s=!0;async function l(){let t=0;for(;s;){if(await i(Ke),!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`,He,[_(a,{name:e.icon,class:`size-20 text-highlighted/75`},null,8,[`name`]),f(`p`,Ue,b(v(t)),1),f(`p`,We,b(e.hint),1)])}}}),{__name:`BaseLoadingPhrases`}),qe=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=Z;return n(),m(o,{phrases:e.auth?r:t,"data-testid":e.auth?`auth-carregando`:`contexto-carregando`},null,8,[`phrases`,`data-testid`])}}}),{__name:`ScenarioReviewLoading`}),Je=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}=ne();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(()=>ye(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,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=qe,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`}),Ye={class:`flex flex-col`},Xe=[`data-status`],Ze={class:`flex flex-col items-center`},Qe={key:0,class:`w-px grow min-h-4 -mb-4 bg-inverted/30`},$e={class:`min-w-0`},et={class:`text-base`,"data-testid":`execucao-step-titulo`},tt={key:0,class:`text-sm text-dimmed mt-1`,"data-testid":`execucao-step-erro`},nt=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 u=R;return n(),c(`ol`,Ye,[(n(!0),c(g,null,l(e.steps,(i,l)=>(n(),c(`li`,{key:l,"data-testid":`execucao-step`,"data-status":i.status,class:`flex items-stretch gap-3 pb-4 last:pb-0`},[f(`div`,Ze,[_(u,{name:t[i.status],class:D([`size-6 shrink-0 transition-colors`,r[i.status]])},null,8,[`name`,`class`]),l<e.steps.length-1?(n(),c(`span`,Qe)):a(``,!0)]),f(`div`,$e,[f(`p`,et,b(i.title),1),i.status===`failed`&&i.error?(n(),c(`p`,tt,[o[0]||=f(`span`,{class:`font-semibold text-error`},`Erro:`,-1),s(` `+b(i.error),1)])):a(``,!0)])],8,Xe))),128))])}}}),{__name:`ScenarioTestRunSteps`}),rt={class:`flex w-full items-start justify-between gap-4`},it={class:`flex flex-col pt-6 gap-2`},at={key:0,class:`text-xl font-bold`},ot={class:`mt-2 text-xl font-bold`},st={class:`mt-6 shrink-0`},ct={key:0,class:`mb-6 space-y-0.5 text-sm`,"data-testid":`execucao-detalhes`},lt={class:`font-semibold`},ut={key:0},dt={key:1},ft=[`src`],pt={class:`block whitespace-pre-wrap font-mono text-xs`},mt={key:3,class:`mb-3 text-lg font-semibold`},ht=Object.assign(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`}},{open:{type:Boolean,default:!1},openModifiers:{}}),emits:C([`fix`],[`update:open`]),setup(e,{emit:t}){let i=t,o=y(e,`open`),{configured:l}=te(),u=d(()=>e.kind===`autenticacao`),p=d(()=>u.value?`Autenticação`:`Cenário`),h=d(()=>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=ae,y=L,w=ee,E=Z,O=B,k=nt,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`,rt,[f(`div`,it,[e.running?(n(),c(`p`,at,b(v(h)),1)):(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`,ot,b(v(x)),1)],64))]),!e.running&&!e.passed&&v(S)!==-1?(n(),m(w,{key:0,text:v(re),disabled:v(l),"delay-duration":0,arrow:``},{default:T(()=>[f(`span`,st,[_(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`,ct,[f(`p`,null,[u[3]||=f(`span`,{class:`font-semibold`},`Projeto:`,-1),s(` `+b(e.projectName),1)]),f(`p`,null,[f(`span`,lt,b(v(p))+`:`,1),s(` `+b(e.scenarioName),1)]),e.branch?(n(),c(`p`,ut,[u[4]||=f(`span`,{class:`font-semibold`},`Branch:`,-1),s(` `+b(e.branch),1)])):a(``,!0),e.testedAt?(n(),c(`p`,dt,[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,ft)):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`,pt,b(e.output),1)]),_:1})):a(``,!0),e.steps.length?(n(),c(`p`,mt,` 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`])}}}),{__name:`ScenarioTestRunModal`}),gt={pending:`running`,success:`success`,failed:`failed`,skipped:`waiting`};function Q(e){return`/runner/video?${new URLSearchParams({path:e})}`}function _t(e){return`/api/projects/${e}/report/`}function $(e){return e.toLocaleString(`pt-BR`,{dateStyle:`short`,timeStyle:`short`})}function vt(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=Q(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{H as _,Q as a,Je as c,ze as d,Re as f,pe as g,ve as h,vt as i,Z as l,G as m,$ as n,ht as o,q as p,_t as r,nt as s,yt as t,Y as u};
@@ -0,0 +1 @@
1
+ import{$t as e,At as t,F as n,G as r,H as i,I as a,It as o,Lt as s,M as c,P as l,S as u,U as d,Vn as f,Wn as p,_r as m,gt as h,hr as g,ln as _,pr as v,tt as y}from"./DMHcp4U1.js";import{K as b,ct as x}from"./CF8y5KTS.js";import{E as S,N as C,T as w,Y as T,at as E,i as D,r as O,x as k}from"./AC3CibKK.js";import{u as A}from"./Bqp63OdK.js";var j=r({__name:`PaginationEllipsis`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let n=e;return b(),(e,r)=>(t(),l(p(C),h(n,{"data-type":`ellipsis`}),{default:_(()=>[s(e.$slots,`default`,{},()=>[r[0]||=i(`…`)])]),_:3},16))}}),[M,N]=E(`PaginationRoot`),P=r({__name:`PaginationRoot`,props:{page:{type:Number,required:!1},defaultPage:{type:Number,required:!1,default:1},itemsPerPage:{type:Number,required:!0},total:{type:Number,required:!1,default:0},siblingCount:{type:Number,required:!1,default:2},disabled:{type:Boolean,required:!1},showEdges:{type:Boolean,required:!1,default:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`nav`}},emits:[`update:page`],setup(e,{emit:n}){let r=e,i=n,{siblingCount:a,disabled:o,showEdges:u}=f(r);b();let d=x(r,`page`,i,{defaultValue:r.defaultPage,passive:r.page===void 0}),m=c(()=>Math.max(1,Math.ceil(r.total/(r.itemsPerPage||1))));return N({page:d,onPageChange(e){d.value=e},pageCount:m,siblingCount:a,disabled:o,showEdges:u}),(e,n)=>(t(),l(p(C),{as:e.as,"as-child":e.asChild},{default:_(()=>[s(e.$slots,`default`,{page:p(d),pageCount:m.value})]),_:3},8,[`as`,`as-child`]))}}),F=r({__name:`PaginationFirst`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(e){let n=e,r=M();b();let a=c(()=>r.page.value===1||r.disabled.value);return(e,o)=>(t(),l(p(C),h(n,{"aria-label":`First Page`,type:e.as===`button`?`button`:void 0,disabled:a.value,onClick:o[0]||=e=>!a.value&&p(r).onPageChange(1)}),{default:_(()=>[s(e.$slots,`default`,{},()=>[o[1]||=i(`First page`)])]),_:3},16,[`type`,`disabled`]))}}),I=r({__name:`PaginationLast`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(e){let n=e,r=M();b();let a=c(()=>r.page.value===r.pageCount.value||r.disabled.value);return(e,o)=>(t(),l(p(C),h(n,{"aria-label":`Last Page`,type:e.as===`button`?`button`:void 0,disabled:a.value,onClick:o[0]||=e=>!a.value&&p(r).onPageChange(p(r).pageCount.value)}),{default:_(()=>[s(e.$slots,`default`,{},()=>[o[1]||=i(`Last page`)])]),_:3},16,[`type`,`disabled`]))}});function L(e,t){let n=t-e+1;return Array.from({length:n},(t,n)=>n+e)}function R(e){return e.map(e=>typeof e==`number`?{type:`page`,value:e}:{type:`ellipsis`})}var z=`ellipsis`;function B(e,t,n,r){let i=t,a=Math.max(e-n,1),o=Math.min(e+n,i);if(r){let e=Math.min(2*n+5,t)-2,r=a>3&&Math.abs(i-e-1+1)>2&&Math.abs(a-1)>2,s=o<i-2&&Math.abs(i-e)>2&&Math.abs(i-o)>2;return!r&&s?[...L(1,e),z,i]:r&&!s?[1,z,...L(i-e+1,i)]:r&&s?[1,z,...L(a,o),z,i]:L(1,i)}{let r=n*2+1;return t<r?L(1,i):e<=n+1?L(1,r):t-e<=n?L(t-r+1,i):L(a,o)}}var V=r({__name:`PaginationList`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let n=e;b();let r=M(),i=c(()=>R(B(r.page.value,r.pageCount.value,r.siblingCount.value,r.showEdges.value)));return(e,r)=>(t(),l(p(C),g(y(n)),{default:_(()=>[s(e.$slots,`default`,{items:i.value})]),_:3},16))}}),H=r({__name:`PaginationListItem`,props:{value:{type:Number,required:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(e){let n=e;b();let r=M(),a=c(()=>r.page.value===n.value),o=c(()=>r.disabled.value);return(e,c)=>(t(),l(p(C),h(n,{"data-type":`page`,"aria-label":`Page ${e.value}`,"aria-current":a.value?`page`:void 0,"data-selected":a.value?`true`:void 0,disabled:o.value,type:e.as===`button`?`button`:void 0,onClick:c[0]||=t=>!o.value&&p(r).onPageChange(e.value)}),{default:_(()=>[s(e.$slots,`default`,{},()=>[i(m(e.value),1)])]),_:3},16,[`aria-label`,`aria-current`,`data-selected`,`disabled`,`type`]))}}),U=r({__name:`PaginationNext`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(e){let n=e;b();let r=M(),a=c(()=>r.page.value===r.pageCount.value||r.disabled.value);return(e,o)=>(t(),l(p(C),h(n,{"aria-label":`Next Page`,type:e.as===`button`?`button`:void 0,disabled:a.value,onClick:o[0]||=e=>!a.value&&p(r).onPageChange(p(r).page.value+1)}),{default:_(()=>[s(e.$slots,`default`,{},()=>[o[1]||=i(`Next page`)])]),_:3},16,[`type`,`disabled`]))}}),W=r({__name:`PaginationPrev`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(e){let n=e;b();let r=M(),a=c(()=>r.page.value===1||r.disabled.value);return(e,o)=>(t(),l(p(C),h(n,{"aria-label":`Previous Page`,type:e.as===`button`?`button`:void 0,disabled:a.value,onClick:o[0]||=e=>!a.value&&p(r).onPageChange(p(r).page.value-1)}),{default:_(()=>[s(e.$slots,`default`,{},()=>[o[1]||=i(`Prev page`)])]),_:3},16,[`type`,`disabled`]))}}),G={slots:{root:``,list:`flex items-center gap-1`,ellipsis:`pointer-events-none`,label:`min-w-5 text-center`,first:``,prev:``,item:``,next:``,last:``}},K={__name:`UPagination`,props:{as:{type:null,required:!1},firstIcon:{type:null,required:!1},prevIcon:{type:null,required:!1},nextIcon:{type:null,required:!1},lastIcon:{type:null,required:!1},ellipsisIcon:{type:null,required:!1},color:{type:null,required:!1,default:`neutral`},variant:{type:null,required:!1,default:`outline`},activeColor:{type:null,required:!1,default:`primary`},activeVariant:{type:null,required:!1,default:`solid`},showControls:{type:Boolean,required:!1,default:!0},size:{type:null,required:!1},to:{type:Function,required:!1},class:{type:null,required:!1},ui:{type:Object,required:!1},defaultPage:{type:Number,required:!1},disabled:{type:Boolean,required:!1},itemsPerPage:{type:Number,required:!1,default:10},page:{type:Number,required:!1},showEdges:{type:Boolean,required:!1,default:!1},siblingCount:{type:Number,required:!1,default:2},total:{type:Number,required:!1,default:0}},emits:[`update:page`],setup(r,{emit:i}){let f=r,m=i,g=e(),y=S(`pagination`,f),{dir:b}=O(),x=A(),C=w(T(y,`as`,`defaultPage`,`disabled`,`itemsPerPage`,`page`,`showEdges`,`siblingCount`,`total`),m),E=c(()=>y.firstIcon||(b.value===`rtl`?x.ui.icons.chevronDoubleRight:x.ui.icons.chevronDoubleLeft)),M=c(()=>y.prevIcon||(b.value===`rtl`?x.ui.icons.chevronRight:x.ui.icons.chevronLeft)),N=c(()=>y.nextIcon||(b.value===`rtl`?x.ui.icons.chevronLeft:x.ui.icons.chevronRight)),L=c(()=>y.lastIcon||(b.value===`rtl`?x.ui.icons.chevronDoubleLeft:x.ui.icons.chevronDoubleRight)),R=c(()=>k({extend:G,...x.ui?.pagination||{}})());return(e,r)=>(t(),l(p(P),h(p(C),{"data-slot":`root`,class:R.value.root({class:[p(y).ui?.root,p(y).class]})}),{default:_(({page:r,pageCount:i})=>[d(p(V),{"data-slot":`list`,class:v(R.value.list({class:p(y).ui?.list}))},{default:_(({items:c})=>[p(y).showControls||g.first?(t(),l(p(F),{key:0,"as-child":``,"data-slot":`first`,class:v(R.value.first({class:p(y).ui?.first}))},{default:_(()=>[s(e.$slots,`first`,{},()=>[d(D,{color:p(y).color,variant:p(y).variant,size:p(y).size,icon:E.value,to:p(y).to?.(1)},null,8,[`color`,`variant`,`size`,`icon`,`to`])])]),_:3},8,[`class`])):n(``,!0),p(y).showControls||g.prev?(t(),l(p(W),{key:1,"as-child":``,"data-slot":`prev`,class:v(R.value.prev({class:p(y).ui?.prev}))},{default:_(()=>[s(e.$slots,`prev`,{},()=>[d(D,{color:p(y).color,variant:p(y).variant,size:p(y).size,icon:M.value,to:r>1?p(y).to?.(r-1):void 0},null,8,[`color`,`variant`,`size`,`icon`,`to`])])]),_:2},1032,[`class`])):n(``,!0),(t(!0),a(u,null,o(c,(n,o)=>(t(),a(u,{key:o},[n.type===`page`?(t(),l(p(H),{key:0,"as-child":``,value:n.value,"data-slot":`item`,class:v(R.value.item({class:p(y).ui?.item}))},{default:_(()=>[s(e.$slots,`item`,h({ref_for:!0},{item:n,index:o,page:r,pageCount:i}),()=>[d(D,{color:r===n.value?p(y).activeColor:p(y).color,variant:r===n.value?p(y).activeVariant:p(y).variant,size:p(y).size,label:String(n.value),ui:{label:R.value.label()},to:p(y).to?.(n.value),square:``},null,8,[`color`,`variant`,`size`,`label`,`ui`,`to`])])]),_:2},1032,[`value`,`class`])):(t(),l(p(j),{key:1,"as-child":``,"data-slot":`ellipsis`,class:v(R.value.ellipsis({class:p(y).ui?.ellipsis}))},{default:_(()=>[s(e.$slots,`ellipsis`,{ui:R.value},()=>[d(D,{as:`div`,color:p(y).color,variant:p(y).variant,size:p(y).size,icon:p(y).ellipsisIcon||p(x).ui.icons.ellipsis},null,8,[`color`,`variant`,`size`,`icon`])])]),_:3},8,[`class`]))],64))),128)),p(y).showControls||g.next?(t(),l(p(U),{key:2,"as-child":``,"data-slot":`next`,class:v(R.value.next({class:p(y).ui?.next}))},{default:_(()=>[s(e.$slots,`next`,{},()=>[d(D,{color:p(y).color,variant:p(y).variant,size:p(y).size,icon:N.value,to:r<i?p(y).to?.(r+1):void 0},null,8,[`color`,`variant`,`size`,`icon`,`to`])])]),_:2},1032,[`class`])):n(``,!0),p(y).showControls||g.last?(t(),l(p(I),{key:3,"as-child":``,"data-slot":`last`,class:v(R.value.last({class:p(y).ui?.last}))},{default:_(()=>[s(e.$slots,`last`,{},()=>[d(D,{color:p(y).color,variant:p(y).variant,size:p(y).size,icon:L.value,to:p(y).to?.(i)},null,8,[`color`,`variant`,`size`,`icon`,`to`])])]),_:2},1032,[`class`])):n(``,!0)]),_:2},1032,[`class`])]),_:3},16,[`class`]))}};export{K as t};
@@ -0,0 +1 @@
1
+ import{$t as e,At as t,Bn as n,Bt as r,F as i,G as a,H as o,I as s,It as c,Lt as l,M as u,Mn as d,P as f,Pn as p,S as m,U as h,Vn as g,Wn as _,_r as v,an as y,gt as b,hr as x,in as S,ln as C,pr as w,qt as T,tt as E,wt as D}from"./DMHcp4U1.js";import{at as O,qt as k}from"./cRY3ZoRz.js";import{B as A,G as j,K as M,L as ee,U as te,ct as ne,f as N,m as re,p as ie,rt as P,s as ae,t as oe,u as se,x as ce,y as le}from"./CF8y5KTS.js";import{B as ue,E as F,F as de,H as fe,N as I,S as pe,T as me,X as he,Y as ge,at as L,i as _e,ot as ve,rt as R,tt as ye,x as z}from"./AC3CibKK.js";import{u as B}from"./Bqp63OdK.js";var be=2e3,V=null,H,U=!1;function xe(){let e=ve(`webdriver`,()=>({connected:!1,extensionReady:!1,recording:!1,replaying:!1,replayFailedStep:null,error:null,events:[],videoSessionId:null,recordingStartedAt:null,storageState:null}));function t(e,t={}){V?.readyState===WebSocket.OPEN&&V.send(JSON.stringify({type:e,...t}))}function n(t){let n;try{n=JSON.parse(t)}catch{return}if(n.event)switch(n.event){case`recorder:hello`:{e.value.extensionReady=!0;let t=n;typeof t.recording==`boolean`&&(e.value.recording=t.recording);break}case`recorder:started`:e.value.recording=!0,e.value.recordingStartedAt=n.recordingStartedAt??null;break;case`recorder:replayed`:{let t=n.kept;typeof t==`number`&&(e.value.events=e.value.events.slice(0,t)),e.value.replaying=!1,e.value.replayFailedStep=null;break}case`recorder:replay-failed`:e.value.replayFailedStep=n.step??`um dos passos`,e.value.replaying=!1;break;case`recorder:error`:e.value.error=n.error??`Erro na extensão.`,e.value.recording=!1,e.value.replaying=!1,e.value.replayFailedStep=null;break;case`recorder:stop`:e.value.recording=!1,e.value.replaying=!1,e.value.replayFailedStep=null,e.value.videoSessionId=n.sessionId??null,e.value.storageState=n.storageState??null;break;default:n.event.startsWith(`recorder:`)&&e.value.events.push(n)}}function r(){clearTimeout(H);let i=new URL(`/ws`,window.location.href);i.protocol=i.protocol===`https:`?`wss:`:`ws:`,V=new WebSocket(i.toString()),V.onopen=()=>{e.value.connected=!0,t(`WHO`)},V.onclose=()=>{e.value.connected=!1,e.value.extensionReady=!1,H=setTimeout(r,be)},V.onmessage=e=>n(e.data)}function i(){U||(U=!0,r())}function a(n=`scenario`,r={}){e.value.error=null,e.value.events=r.replay??[],e.value.videoSessionId=null,e.value.storageState=null,e.value.recording=!0,e.value.replaying=(r.replay?.length??0)>0,e.value.replayFailedStep=null,t(`START_RECORDING`,{mode:n,...r})}function o(){t(`STOP_RECORDING`),e.value.recording=!1}return{state:e,url:``,ensureConnected:i,startRecording:a,stopRecording:o}}function W(e,t){let n=he(!1,300);ye(()=>{n.value=!1});let r=p(null),i=ue();function a(){r.value=null,n.value=!1}function o(e,t){if(!t)return;let i=e.currentTarget,a={x:e.clientX,y:e.clientY},o=Ce(a,Se(a,i.getBoundingClientRect()),1),s=we(t.getBoundingClientRect()),c=Ee([...o,...s]);r.value=c,n.value=!0}return y(n=>{if(e.value&&t.value){let r=e=>o(e,t.value),i=t=>o(t,e.value);e.value.addEventListener(`pointerleave`,r),t.value.addEventListener(`pointerleave`,i),n(()=>{e.value?.removeEventListener(`pointerleave`,r),t.value?.removeEventListener(`pointerleave`,i)})}}),y(n=>{if(r.value){let o=n=>{if(!r.value||!(n.target instanceof Element))return;let o=n.target,s={x:n.clientX,y:n.clientY},c=e.value?.contains(o)||t.value?.contains(o),l=!Te(s,r.value),u=!!o.closest(`[data-grace-area-trigger]`);c?a():(l||u)&&(a(),i.trigger())};e.value?.ownerDocument.addEventListener(`pointermove`,o),n(()=>e.value?.ownerDocument.removeEventListener(`pointermove`,o))}}),{isPointerInTransit:n,onPointerExit:i.on}}function Se(e,t){let n=Math.abs(t.top-e.y),r=Math.abs(t.bottom-e.y),i=Math.abs(t.right-e.x),a=Math.abs(t.left-e.x);switch(Math.min(n,r,i,a)){case a:return`left`;case i:return`right`;case n:return`top`;case r:return`bottom`;default:throw Error(`unreachable`)}}function Ce(e,t,n=5){let r=[];switch(t){case`top`:r.push({x:e.x-n,y:e.y+n},{x:e.x+n,y:e.y+n});break;case`bottom`:r.push({x:e.x-n,y:e.y-n},{x:e.x+n,y:e.y-n});break;case`left`:r.push({x:e.x+n,y:e.y-n},{x:e.x+n,y:e.y+n});break;case`right`:r.push({x:e.x-n,y:e.y-n},{x:e.x-n,y:e.y+n})}return r}function we(e){let{top:t,right:n,bottom:r,left:i}=e;return[{x:i,y:t},{x:n,y:t},{x:n,y:r},{x:i,y:r}]}function Te(e,t){let{x:n,y:r}=e,i=!1;for(let e=0,a=t.length-1;e<t.length;a=e++){let o=t[e].x,s=t[e].y,c=t[a].x,l=t[a].y;s>r!=l>r&&n<(c-o)*(r-s)/(l-s)+o&&(i=!i)}return i}function Ee(e){let t=e.slice();return t.sort((e,t)=>e.x<t.x?-1:e.x>t.x?1:e.y<t.y?-1:+(e.y>t.y)),De(t)}function De(e){if(e.length<=1)return e.slice();let t=[];for(let n=0;n<e.length;n++){let r=e[n];for(;t.length>=2;){let e=t.at(-1),n=t[t.length-2];if((e.x-n.x)*(r.y-n.y)>=(e.y-n.y)*(r.x-n.x))t.pop();else break}t.push(r)}t.pop();let n=[];for(let t=e.length-1;t>=0;t--){let r=e[t];for(;n.length>=2;){let e=n.at(-1),t=n[n.length-2];if((e.x-t.x)*(r.y-t.y)>=(e.y-t.y)*(r.x-t.x))n.pop();else break}n.push(r)}return n.pop(),t.length===1&&n.length===1&&t[0].x===n[0].x&&t[0].y===n[0].y?t:t.concat(n)}var Oe=a({__name:`TooltipArrow`,props:{width:{type:Number,required:!1,default:10},height:{type:Number,required:!1,default:5},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`svg`}},setup(e){let n=e;return M(),(e,r)=>(t(),f(_(se),x(E(n)),{default:C(()=>[l(e.$slots,`default`)]),_:3},16))}}),[G,ke]=L(`TooltipProvider`),Ae=a({inheritAttrs:!1,__name:`TooltipProvider`,props:{delayDuration:{type:Number,required:!1,default:700},skipDelayDuration:{type:Number,required:!1,default:300},disableHoverableContent:{type:Boolean,required:!1,default:!1},disableClosingTrigger:{type:Boolean,required:!1},disabled:{type:Boolean,required:!1},ignoreNonKeyboardFocus:{type:Boolean,required:!1,default:!1},content:{type:Object,required:!1}},setup(e){let{delayDuration:t,skipDelayDuration:n,disableHoverableContent:r,disableClosingTrigger:i,ignoreNonKeyboardFocus:a,disabled:o,content:s}=g(e);M();let c=p(!0),u=p(!1),{start:d,stop:f}=R(()=>{c.value=!0},n,{immediate:!1});return ke({isOpenDelayed:c,delayDuration:t,onOpen(){f(),c.value=!1},onClose(){d()},isPointerInTransitRef:u,disableHoverableContent:r,disableClosingTrigger:i,disabled:o,ignoreNonKeyboardFocus:a,content:s}),(e,t)=>l(e.$slots,`default`)}}),K=`tooltip.open`,[q,je]=L(`TooltipRoot`),Me=a({__name:`TooltipRoot`,props:{defaultOpen:{type:Boolean,required:!1,default:!1},open:{type:Boolean,required:!1,default:void 0},delayDuration:{type:Number,required:!1,default:void 0},disableHoverableContent:{type:Boolean,required:!1,default:void 0},disableClosingTrigger:{type:Boolean,required:!1,default:void 0},disabled:{type:Boolean,required:!1,default:void 0},ignoreNonKeyboardFocus:{type:Boolean,required:!1,default:void 0}},emits:[`update:open`],setup(e,{emit:n}){let r=e,i=n;M();let a=G(),o=u(()=>r.disableHoverableContent??a.disableHoverableContent.value),s=u(()=>r.disableClosingTrigger??a.disableClosingTrigger.value),c=u(()=>r.disabled??a.disabled.value),d=u(()=>r.delayDuration??a.delayDuration.value),m=u(()=>r.ignoreNonKeyboardFocus??a.ignoreNonKeyboardFocus.value),h=ne(r,`open`,i,{defaultValue:r.defaultOpen,passive:r.open===void 0});S(h,e=>{a.onClose&&(e?(a.onOpen(),document.dispatchEvent(new CustomEvent(K))):a.onClose())});let g=p(!1),v=p(),y=u(()=>h.value?g.value?`delayed-open`:`instant-open`:`closed`),{start:b,stop:x}=R(()=>{g.value=!0,h.value=!0},d,{immediate:!1});function w(){x(),g.value=!1,h.value=!0}function T(){x(),h.value=!1}function E(){b()}return je({contentId:``,open:h,stateAttribute:y,trigger:v,onTriggerChange(e){v.value=e},onTriggerEnter(){a.isOpenDelayed.value?E():w()},onTriggerLeave(){o.value?T():x()},onOpen:w,onClose:T,disableHoverableContent:o,disableClosingTrigger:s,disabled:c,ignoreNonKeyboardFocus:m}),(e,n)=>(t(),f(_(re),null,{default:C(()=>[l(e.$slots,`default`,{open:_(h)})]),_:3}))}}),J=a({__name:`TooltipContentImpl`,props:{ariaLabel:{type:String,required:!1},asChild:{type:Boolean,required:!1,default:void 0},as:{type:null,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},avoidCollisions:{type:Boolean,required:!1,default:void 0},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1,default:void 0},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`],setup(e,{emit:n}){let r=e,i=n,a=q(),s=G(),{forwardRef:c,currentElement:d}=M(),p=u(()=>r.ariaLabel||d.value?.textContent),m=u(()=>{let{ariaLabel:e,...t}=r;return O(t,s.content.value??{},{side:`top`,sideOffset:0,align:`center`,avoidCollisions:!0,collisionBoundary:[],collisionPadding:0,arrowPadding:0,sticky:`partial`,hideWhenDetached:!1})});return D(()=>{P(window,`scroll`,e=>{e.target?.contains(a.trigger.value)&&a.onClose()},{capture:!0}),P(window,K,a.onClose)}),(e,n)=>(t(),f(_(ee),{"as-child":``,"disable-outside-pointer-events":!1,onEscapeKeyDown:n[0]||=e=>i(`escapeKeyDown`,e),onPointerDownOutside:n[1]||=e=>{_(a).disableClosingTrigger.value&&_(a).trigger.value?.contains(e.target)&&e.preventDefault(),i(`pointerDownOutside`,e)},onFocusOutside:n[2]||=k(()=>{},[`prevent`]),onDismiss:n[3]||=e=>_(a).onClose()},{default:C(()=>[h(_(N),b({ref:_(c),"data-state":_(a).stateAttribute.value},{...e.$attrs,...m.value},{style:{"--reka-tooltip-content-transform-origin":`var(--reka-popper-transform-origin)`,"--reka-tooltip-content-available-width":`var(--reka-popper-available-width)`,"--reka-tooltip-content-available-height":`var(--reka-popper-available-height)`,"--reka-tooltip-trigger-width":`var(--reka-popper-anchor-width)`,"--reka-tooltip-trigger-height":`var(--reka-popper-anchor-height)`}}),{default:C(()=>[l(e.$slots,`default`),h(_(le),{id:_(a).contentId,role:`tooltip`},{default:C(()=>[o(v(p.value),1)]),_:1},8,[`id`])]),_:3},16,[`data-state`])]),_:3}))}}),Ne=a({__name:`TooltipContentHoverable`,props:{ariaLabel:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1}},setup(e){let n=de(e),{forwardRef:r,currentElement:i}=M(),{trigger:a,onClose:o}=q(),s=G(),{isPointerInTransit:c,onPointerExit:u}=W(a,i);return s.isPointerInTransitRef=c,u(()=>{o()}),(e,i)=>(t(),f(J,b({ref:_(r)},_(n)),{default:C(()=>[l(e.$slots,`default`)]),_:3},16))}}),Pe=a({__name:`TooltipContent`,props:{forceMount:{type:Boolean,required:!1},ariaLabel:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`],setup(e,{emit:n}){let i=e,a=n,o=q(),s=j(i,a),{forwardRef:c}=M();return(e,n)=>(t(),f(_(A),{present:e.forceMount||_(o).open.value},{default:C(()=>[(t(),f(r(_(o).disableHoverableContent.value?J:Ne),b({ref:_(c)},_(s)),{default:C(()=>[l(e.$slots,`default`)]),_:3},16))]),_:3},8,[`present`]))}}),Fe=a({__name:`TooltipPortal`,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(),f(_(ce),x(E(n)),{default:C(()=>[l(e.$slots,`default`)]),_:3},16))}}),Ie=a({__name:`TooltipTrigger`,props:{reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(e){let n=e,r=q(),i=G();r.contentId||=te(void 0,`reka-tooltip-content`);let{forwardRef:a,currentElement:o}=M(),s=p(!1),c=p(!1),d=u(()=>r.disabled.value?{}:{click:w,focus:x,pointermove:v,pointerleave:y,pointerdown:g,blur:S});D(()=>{r.onTriggerChange(o.value)});function m(){setTimeout(()=>{s.value=!1},1)}function g(){r.open&&!r.disableClosingTrigger.value&&r.onClose(),s.value=!0,document.addEventListener(`pointerup`,m,{once:!0})}function v(e){e.pointerType!==`touch`&&!c.value&&!i.isPointerInTransitRef.value&&(r.onTriggerEnter(),c.value=!0)}function y(){r.onTriggerLeave(),c.value=!1}function x(e){s.value||r.ignoreNonKeyboardFocus.value&&!e.target.matches?.(`:focus-visible`)||r.onOpen()}function S(){r.onClose()}function w(){r.disableClosingTrigger.value||r.onClose()}return(e,i)=>(t(),f(_(ie),{"as-child":``,reference:e.reference},{default:C(()=>[h(_(I),b({ref:_(a),"aria-describedby":_(r).open.value?_(r).contentId:void 0,"data-state":_(r).stateAttribute.value,as:e.as,"as-child":n.asChild,"data-grace-area-trigger":``},T(d.value)),{default:C(()=>[l(e.$slots,`default`)]),_:3},16,[`aria-describedby`,`data-state`,`as`,`as-child`])]),_:3},8,[`reference`]))}}),Y={meta:``,ctrl:``,alt:``,win:`⊞`,command:`⌘`,shift:`⇧`,control:`⌃`,option:`⌥`,enter:`↵`,delete:`⌦`,backspace:`⌫`,escape:`Esc`,tab:`⇥`,capslock:`⇪`,arrowup:`↑`,arrowright:`→`,arrowdown:`↓`,arrowleft:`←`,pageup:`⇞`,pagedown:`⇟`,home:`↖`,end:`↘`},Le=fe(()=>{let e=u(()=>navigator&&navigator.userAgent&&navigator.userAgent.match(/Macintosh;/)),t=d({meta:` `,alt:` `,ctrl:` `});D(()=>{t.meta=e.value?Y.command:`Ctrl`,t.ctrl=e.value?Y.control:`Ctrl`,t.alt=e.value?Y.option:`Alt`});function n(e){if(e)return[`meta`,`alt`,`ctrl`].includes(e)?t[e]:Y[e]||e}return{macOS:e,getKbdKey:n}}),X={base:`inline-flex items-center justify-center px-1 rounded-sm font-medium font-sans uppercase`,variants:{color:{primary:``,secondary:``,success:``,info:``,warning:``,error:``,neutral:``},variant:{solid:``,outline:``,soft:``,subtle:``},size:{sm:`h-4 min-w-[16px] text-[10px]`,md:`h-5 min-w-[20px] text-[11px]`,lg:`h-6 min-w-[24px] text-[12px]`}},compoundVariants:[{color:`primary`,variant:`solid`,class:`text-inverted bg-primary`},{color:`secondary`,variant:`solid`,class:`text-inverted bg-secondary`},{color:`success`,variant:`solid`,class:`text-inverted bg-success`},{color:`info`,variant:`solid`,class:`text-inverted bg-info`},{color:`warning`,variant:`solid`,class:`text-inverted bg-warning`},{color:`error`,variant:`solid`,class:`text-inverted bg-error`},{color:`primary`,variant:`outline`,class:`ring ring-inset ring-primary/50 text-primary`},{color:`secondary`,variant:`outline`,class:`ring ring-inset ring-secondary/50 text-secondary`},{color:`success`,variant:`outline`,class:`ring ring-inset ring-success/50 text-success`},{color:`info`,variant:`outline`,class:`ring ring-inset ring-info/50 text-info`},{color:`warning`,variant:`outline`,class:`ring ring-inset ring-warning/50 text-warning`},{color:`error`,variant:`outline`,class:`ring ring-inset ring-error/50 text-error`},{color:`primary`,variant:`soft`,class:`text-primary bg-primary/10`},{color:`secondary`,variant:`soft`,class:`text-secondary bg-secondary/10`},{color:`success`,variant:`soft`,class:`text-success bg-success/10`},{color:`info`,variant:`soft`,class:`text-info bg-info/10`},{color:`warning`,variant:`soft`,class:`text-warning bg-warning/10`},{color:`error`,variant:`soft`,class:`text-error bg-error/10`},{color:`primary`,variant:`subtle`,class:`text-primary ring ring-inset ring-primary/25 bg-primary/10`},{color:`secondary`,variant:`subtle`,class:`text-secondary ring ring-inset ring-secondary/25 bg-secondary/10`},{color:`success`,variant:`subtle`,class:`text-success ring ring-inset ring-success/25 bg-success/10`},{color:`info`,variant:`subtle`,class:`text-info ring ring-inset ring-info/25 bg-info/10`},{color:`warning`,variant:`subtle`,class:`text-warning ring ring-inset ring-warning/25 bg-warning/10`},{color:`error`,variant:`subtle`,class:`text-error ring ring-inset ring-error/25 bg-error/10`},{color:`neutral`,variant:`solid`,class:`text-inverted bg-inverted`},{color:`neutral`,variant:`outline`,class:`ring ring-inset ring-accented text-default bg-default`},{color:`neutral`,variant:`soft`,class:`text-default bg-elevated`},{color:`neutral`,variant:`subtle`,class:`ring ring-inset ring-accented text-default bg-elevated`}],defaultVariants:{variant:`outline`,color:`neutral`,size:`md`}},Z={__name:`UKbd`,props:{as:{type:null,required:!1,default:`kbd`},value:{type:null,required:!1},color:{type:null,required:!1},variant:{type:null,required:!1},size:{type:null,required:!1},class:{type:null,required:!1},ui:{type:Object,required:!1}},setup(e){let n=F(`kbd`,e),{getKbdKey:r}=Le(),i=B(),a=u(()=>z({extend:X,...i.ui?.kbd||{}}));return(e,i)=>(t(),f(_(I),{as:_(n).as,class:w(a.value({class:[_(n).ui?.base,_(n).class],color:_(n).color,variant:_(n).variant,size:_(n).size}))},{default:C(()=>[l(e.$slots,`default`,{},()=>[o(v(_(r)(_(n).value)),1)])]),_:3},8,[`as`,`class`]))}},Re={slots:{content:`flex items-center gap-1 bg-default text-highlighted shadow-sm rounded-sm ring ring-default h-6 px-2.5 py-1 text-xs select-none data-[state=delayed-open]:animate-[scale-in_100ms_ease-out] data-[state=closed]:animate-[scale-out_100ms_ease-in] origin-(--reka-tooltip-content-transform-origin) pointer-events-auto`,arrow:`fill-bg stroke-default`,text:`truncate`,kbds:`hidden lg:inline-flex items-center shrink-0 gap-0.5 not-first-of-type:before:content-['·'] not-first-of-type:before:me-0.5`,kbdsSize:`sm`}},Q={__name:`UTooltip`,props:{text:{type:String,required:!1},kbds:{type:Array,required:!1},content:{type:Object,required:!1},arrow:{type:[Boolean,Object],required:!1},portal:{type:[Boolean,String],required:!1,skipCheck:!0,default:!0},reference:{type:null,required:!1},class:{type:null,required:!1},ui:{type:Object,required:!1},defaultOpen:{type:Boolean,required:!1},open:{type:Boolean,required:!1},delayDuration:{type:Number,required:!1},disableHoverableContent:{type:Boolean,required:!1},disableClosingTrigger:{type:Boolean,required:!1},disabled:{type:Boolean,required:!1},ignoreNonKeyboardFocus:{type:Boolean,required:!1}},emits:[`update:open`],setup(r,{emit:a}){let o=r,d=a,p=e(),g=F(`tooltip`,o),y=B(),S=G(),T=me(ge(g,`defaultOpen`,`open`,`delayDuration`,`disableHoverableContent`,`disableClosingTrigger`,`ignoreNonKeyboardFocus`),d),D=ae(n(()=>g.portal)),k=n(()=>O(g.content,S.content.value,{side:`bottom`,sideOffset:8,collisionPadding:8})),A=n(()=>O(g.arrow,{rounded:!0})),j=u(()=>z({extend:Re,...y.ui?.tooltip||{}})({side:k.value.side}));return(e,n)=>(t(),f(_(Me),b(_(T),{disabled:!(_(g).text||_(g).kbds?.length||p.content)||_(g).disabled}),{default:C(({open:n})=>[p.default||_(g).reference?(t(),f(_(Ie),b({key:0},e.$attrs,{"as-child":``,reference:_(g).reference,class:_(g).class}),{default:C(()=>[l(e.$slots,`default`,{open:n})]),_:2},1040,[`reference`,`class`])):i(``,!0),h(_(Fe),x(E(_(D))),{default:C(()=>[h(_(pe),null,{default:C(()=>[h(_(Pe),b(k.value,{"data-slot":`content`,class:j.value.content({class:[!p.default&&_(g).class,_(g).ui?.content]})}),{default:C(()=>[l(e.$slots,`content`,{ui:j.value},()=>[_(g).text?(t(),s(`span`,{key:0,"data-slot":`text`,class:w(j.value.text({class:_(g).ui?.text}))},v(_(g).text),3)):i(``,!0),_(g).kbds?.length?(t(),s(`span`,{key:1,"data-slot":`kbds`,class:w(j.value.kbds({class:_(g).ui?.kbds}))},[(t(!0),s(m,null,c(_(g).kbds,(e,n)=>(t(),f(Z,b({key:n,size:_(g).ui?.kbdsSize||j.value.kbdsSize()},{ref_for:!0},typeof e==`string`?{value:e}:e),null,16,[`size`]))),128))],2)):i(``,!0)]),_(g).arrow?(t(),f(_(Oe),b({key:0},A.value,{"data-slot":`arrow`,class:j.value.arrow({class:_(g).ui?.arrow})}),null,16,[`class`])):i(``,!0)]),_:3},16,[`class`])]),_:3})]),_:3},16)]),_:3},16,[`disabled`]))}},$=`ai-settings`,ze=`Configure um provedor de IA para usar isto`;function Be(){let{data:e}=oe(`/api/settings/ai`,{key:$},`$lXhQlzdnK0`);return{configured:u(()=>e.value?.configured??!1)}}var Ve=Object.assign(a({inheritAttrs:!1,__name:`icon`,props:{icon:{},label:{},side:{default:`top`}},setup(e){return(n,r)=>{let i=_e,a=Q;return t(),f(a,{text:e.label,"delay-duration":0,arrow:``,content:{side:e.side}},{default:C(()=>[h(i,b({icon:e.icon,"aria-label":e.label},n.$attrs),null,16,[`icon`,`aria-label`])]),_:1},8,[`text`,`content`])}}}),{__name:`BaseButtonIcon`});export{Q as a,W as c,Be as i,xe as l,ze as n,Z as o,$ as r,Ae as s,Ve as t};
@@ -1 +1 @@
1
- {"id":"bf2cb2c6-2ddb-4f64-9777-e314571fd19d","timestamp":1787347684964}
1
+ {"id":"bcd56d50-e1a9-4021-b9df-ab200a81246a","timestamp":1787676447972}
@@ -0,0 +1 @@
1
+ {"id":"bcd56d50-e1a9-4021-b9df-ab200a81246a","timestamp":1787676447972,"prerendered":[]}
@@ -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"./CF8y5KTS.js";import{ct as O,i as k,l as te,t as A}from"./AC3CibKK.js";import{a as ne,i as re,l as ie,n as ae,t as oe}from"./JwPm-b3T.js";import{t as se}from"./BN4XOpVt.js";import{i as j,n as M,r as ce,t as le}from"./BGc2VNce.js";import{t as ue}from"./DoQkJV4U.js";import{t as N}from"./Cym5RBDq.js";import{t as de}from"./DDKd6Dxq.js";import{_ as fe,a as pe,c as me,d as P,f as he,g as ge,h as _e,i as ve,l as F,m as ye,n as be,o as xe,p as Se,t as Ce,u as I}from"./Dc2A-6xl.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`},L={key:1,class:`grid gap-3 sm:grid-cols-2`},R={class:`flex items-center justify-between gap-4`},Ee={class:`min-w-0`},De={class:`truncate`},z={class:`text-muted`},B={key:2,class:`mt-4 flex justify-center`},V=6,Oe=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=_e,v=E,T=se,O=j,k=M,te=ue;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`,L,[(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`,R,[c(`div`,Ee,[u[3]||=c(`p`,{class:`text-sm text-muted`},` Testado em `,-1),c(`p`,De,[i(h(C(t))+` `,1),c(`span`,z,`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`}),ke=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??P(r.scenario)),d=u(!1),h=u(null);v(a,e=>{e&&(c.value=r.resumed?.draft??P(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,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=N,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`}),H=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=F;return e(),l(i,{phrases:n,"data-testid":`sugestoes-carregando`})}}}),{__name:`ScenarioSuggestionsLoading`}),U={key:3,class:`flex flex-col gap-3`},W={class:`flex gap-3`},Ae={class:`flex size-9 shrink-0 items-center justify-center rounded-md bg-primary/10`},je={class:`min-w-0 flex-1`},Me={class:`text-sm font-semibold`},G={class:`text-xs text-dimmed mt-0.5`},Ne={class:`flex flex-wrap items-center gap-2 mt-3`},Pe={class:`font-mono`},Fe=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=H,_=N,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`,U,[(e(!0),a(d,null,o(t.suggestions,(t,n)=>(e(),l(C,{key:n,"data-testid":`sugestao-card`},{default:y(()=>[c(`div`,W,[c(`div`,Ae,[f(v,{name:`i-ic-round-select-all`,class:`size-5 text-primary`})]),c(`div`,je,[c(`p`,Me,h(t.event),1),c(`p`,G,h(t.reason),1),c(`div`,Ne,[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`,Pe,`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`}),Ie={class:`flex flex-col gap-4`,"data-testid":`auth-credenciais`},Le=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=N,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`,Ie,[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`}),Re={key:2,"data-testid":`correcao-proposta`},ze={class:`mb-3 text-sm text-muted`,"data-testid":`correcao-resumo`},Be=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=F,d=N,p=Se,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`,Re,[c(`p`,ze,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`}),Ve=[`configured`,`failing`];function He(e,t=!1){if(!(t||!Ve.includes(e.auth_status)))return e.storage_state}var Ue={class:`flex items-start justify-between gap-4`},We={class:`flex flex-col gap-1 min-w-0`},Ge={class:`flex items-center gap-2`},Ke={class:`text-2xl font-bold truncate`,"data-testid":`cenario-titulo`},qe={class:`text-sm text-muted italic truncate`,"data-testid":`cenario-caminho`},Je={class:`flex gap-2 shrink-0`},Ye={key:0,class:`flex flex-wrap gap-1 mt-4`,"data-testid":`cenario-tags`},Xe={key:1,class:`text-xs text-dimmed mt-2`},Ze={key:2,class:`mt-6 flex flex-col gap-3`},Qe={key:3,class:`mt-8 flex flex-col items-center gap-3 py-10 text-center`,"data-testid":`auth-intro`},$e={class:`flex size-12 items-center justify-center rounded-lg bg-elevated`},et=[`data-testid`],tt={key:5,class:`mt-4`},K=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:ue}=([m,_]=g(()=>ee(`/api/projects/${E.value}`,`$3yUoA-eM18`)),m=await m,_(),m),{data:F,refresh:I}=([m,_]=g(()=>ee(`/api/projects/${E.value}/scenarios/${D.value}`,`$lM5rtpaVlj`)),m=await m,_(),m);if(!M.value||!F.value)throw S({statusCode:404,message:`Cenário não encontrado.`});let Te=s(()=>le(M.value)),L=u(!1),R=u(!1);async function Ee(){R.value=!0;try{await O(`/api/projects/${E.value}/scenarios/${D.value}`,{method:`DELETE`}),await w(`/projects/${E.value}`)}finally{R.value=!1}}let De=s(()=>new Date(F.value.updated_at).toLocaleString(`pt-BR`,{dateStyle:`short`,timeStyle:`short`})),{configured:z}=re(),B=u(!1),V=u(!1),H=u(!1),U=u([]),W=u(null);v(V,async e=>{if(e){H.value=!0,W.value=null,U.value=[];try{U.value=await O(`/api/projects/${E.value}/scenario-suggestions`,{method:`POST`,body:{scenarioId:D.value}})}catch(e){W.value=A(e,`Não foi possível gerar sugestões agora. Tente novamente.`)}finally{H.value=!1}}});function Ae(e){return e.replace(/^tests\//,``).replace(/\.(spec|setup)\.ts$/,``)}async function je(e){if(Ae(e.spec)!==D.value){await w(`/projects/${E.value}/scenarios/${Ae(e.spec)}`);return}await I()}let{steps:Me,running:G,passed:Ne,videoUrl:Pe,testedAt:Ie,output:Re,failedStep:ze,start:Ve}=ve(()=>E.value),K=u(!1),nt=u(null);function rt(e){Me.value=e.steps.map(e=>({title:e.title,status:e.status,error:e.error})),Pe.value=e.video_path?pe(e.video_path):null,Ie.value=be(new Date(e.started_at)),nt.value=e.playwright,Ne.value=e.passed,J.value=null,Y.value=null,G.value=!1,K.value=!0}let q=u(!1),it=u(!1),J=u(null),Y=u(null),at=u(!1);async function ot(){let e=ze.value;if(e){K.value=!1,q.value=!0,it.value=!0,J.value=null,Y.value=null;try{J.value=await O(`/api/projects/${E.value}/scenario-fix`,{method:`POST`,body:{scenarioId:D.value,step:e.title,error:e.error??``}})}catch(e){Y.value=A(e,`Não foi possível gerar uma correção agora. Tente novamente.`)}finally{it.value=!1}}}async function st(){if(J.value){at.value=!0;try{await O(`/api/projects/${E.value}/scenarios/${D.value}`,{method:`PATCH`,body:{...P(F.value),playwright:J.value.playwright}}),J.value=null,q.value=!1,await I()}catch(e){Y.value=A(e,`Não foi possível salvar a correção.`)}finally{at.value=!1}}}function ct(){q.value=!1,J.value=null,Y.value=null}function lt(){K.value=!0,nt.value=null,J.value=null,Y.value=null,Ve({spec:F.value.spec},async()=>{await I(),Z.value&&await ue()})}let X=u(`eventos`),ut=s(()=>[{label:`Eventos`,value:`eventos`},...F.value.gherkin?[{label:`Cenário`,value:`gherkin`}]:[],{label:`Script`,value:`playwright`},{label:`Execuções`,value:`execucoes`}]);v(()=>F.value.gherkin,e=>{!e&&X.value===`gherkin`&&(X.value=`eventos`)});let Z=s(()=>F.value.is_auth),Q=s(()=>!Z.value||F.value.playwright.trim().length>0),{state:$,startRecording:dt,stopRecording:ft}=ie(),pt=u(!1),mt=u(!1),ht=u([]),gt=u(!1);async function _t(){gt.value=!0;try{await O(`/api/projects/${E.value}/auth/skip`,{method:`POST`}),await ue()}finally{gt.value=!1}}let vt=u(!1);function yt(){ht.value=[],vt.value=!0,dt(`auth`,{url:M.value.base_url??void 0})}let bt=s(()=>F.value.tags.includes(`@publico`));function xt(e){vt.value=!0,dt(Z.value?`auth`:`scenario`,{url:M.value.base_url??void 0,storageState:Z.value?void 0:He(M.value,bt.value),replay:e})}function St(e){xt(F.value.events.slice(0,e))}function Ct(){return Z.value?yt():xt([])}let wt=s(()=>$.value.replayFailedStep?`Aguardando você na janela`:$.value.replaying?`Refazendo os passos`:`Parar gravação`);function Tt(){B.value=!0}v(()=>$.value.videoSessionId,e=>{!e||!vt.value||(vt.value=!1,mt.value=!0)});async function Et(e){if(!e)return;if(!Z.value)return je(e);let t=e;if(ht.value=t.warnings??[],await I(),t.credentialsNeeded){pt.value=!0;return}lt()}return(r,s)=>{let u=oe,m=j,g=we,_=k,v=ne,x=fe,S=N,C=ge,w=te,T=ce,D=_e,ee=ye,O=Se,A=Oe,re=he,ie=ke,le=me,ue=Fe,pe=xe,P=Le,ve=Be,be=de;return e(),l(be,{"data-hydrated":p(se),class:`py-6 lg:py-10`},{default:y(()=>[c(`div`,Ue,[c(`div`,We,[c(`div`,Ge,[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(Z)?(e(),l(g,{key:0,status:p(M).auth_status},null,8,[`status`])):n(``,!0)]),c(`h1`,Ke,h(p(F).title),1),c(`p`,qe,h(p(F).spec),1)]),c(`div`,Je,[p(Z)?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=>L.value=!0})),p(Q)?(e(),l(u,{key:1,icon:`i-ic-round-edit`,label:`Editar`,color:`neutral`,variant:`soft`,"data-testid":`cenario-editar`,onClick:Tt})):n(``,!0),p(Z)?n(``,!0):(e(),l(v,{key:2,text:p(ae),disabled:p(z),"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(z),class:b(p(z)?``:`pointer-events-none`),"data-testid":`cenario-sugestoes`,onClick:s[1]||=e=>V.value=!0},null,8,[`disabled`,`class`])])]),_:1},8,[`text`,`disabled`])),p($).recording?(e(),l(_,{key:3,label:p(wt),"trailing-icon":`i-ic-round-stop`,color:`error`,disabled:p($).replaying,class:b(p($).replayFailedStep?``:`animate-pulse`),"data-testid":`cenario-parar`,onClick:p(ft)},null,8,[`label`,`disabled`,`class`,`onClick`])):p(Z)&&p(Q)?(e(),l(_,{key:4,label:`Gravar novamente`,"trailing-icon":`i-ic-round-fiber-manual-record`,color:`neutral`,variant:`soft`,disabled:!p($).connected,"data-testid":`auth-gravar`,onClick:yt},null,8,[`disabled`])):n(``,!0),p(Q)?(e(),l(_,{key:5,label:`Testar`,"trailing-icon":`i-ic-round-play-arrow`,loading:p(G),"data-testid":`cenario-testar`,onClick:lt},null,8,[`loading`])):n(``,!0)])]),p(F).tags.length?(e(),a(`div`,Ye,[(e(!0),a(d,null,o(p(F).tags,t=>(e(),l(m,{key:t,color:p(Ce)(t),label:t},null,8,[`color`,`label`]))),128))])):n(``,!0),p(Q)?(e(),a(`p`,Xe,` Última modificação: `+h(p(De)),1)):n(``,!0),f(x,{warnings:p(ht),slug:p(E),class:`mt-6`},null,8,[`warnings`,`slug`]),p($).error?(e(),a(`div`,Ze,[f(S,{color:`error`,variant:`soft`,"data-testid":`webdriver-erro`,description:p($).error},null,8,[`description`]),p($).error?.includes(`Chrome`)?(e(),l(C,{key:0})):n(``,!0)])):n(``,!0),p(Q)?n(``,!0):(e(),a(`div`,Qe,[c(`div`,$e,[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($).connected,"data-testid":`auth-gravar-vazio`,onClick:yt},null,8,[`disabled`]),p(M).auth_status===`unset`?(e(),l(_,{key:0,label:`Não precisa de login`,color:`neutral`,variant:`link`,loading:p(gt),"data-testid":`auth-dispensar`,onClick:_t},null,8,[`loading`])):n(``,!0)])),p(Q)?(e(),l(T,{key:4,modelValue:p(X),"onUpdate:modelValue":s[2]||=e=>t(X)?X.value=e:null,items:p(ut),content:!1,class:`w-full mt-8`},{default:y(({item:e})=>[c(`span`,{"data-testid":`cenario-tab-${e.value}`},h(e.label),9,et)]),_:1},8,[`modelValue`,`items`])):n(``,!0),p(Q)?(e(),a(`div`,tt,[p(X)===`eventos`?(e(),a(d,{key:0},[p(F).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(F).events,resumable:p($).connected&&!p($).recording,"data-testid":`cenario-eventos`,onResume:St},null,8,[`events`,`resumable`])),p($).error?(e(),l(S,{key:2,color:`error`,variant:`soft`,description:p($).error,class:`mt-4`,"data-testid":`cenario-retomar-erro`},null,8,[`description`])):n(``,!0)],64)):p(X)===`gherkin`?(e(),l(O,{key:1,"model-value":p(F).gherkin,language:`gherkin`,readonly:``,testid:`cenario-gherkin`},null,8,[`model-value`])):p(X)===`playwright`?(e(),a(d,{key:2},[p(F).playwright.trim()?(e(),l(O,{key:1,"model-value":p(F).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(F).runs,onOpen:rt},null,8,[`runs`]))])):n(``,!0),f(re,{open:p(L),"onUpdate:open":s[3]||=e=>t(L)?L.value=e:null,title:`Excluir cenário`,"confirm-label":`Excluir`,"confirm-color":`error`,"confirm-testid":`cenario-excluir-confirmar`,loading:p(R),onConfirm:Ee},{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(F).title)+`". `,1)]),_:1},8,[`open`,`loading`]),f(ie,{open:p(B),"onUpdate:open":s[4]||=e=>t(B)?B.value=e:null,slug:p(E),scenario:p(F),onUpdated:je},null,8,[`open`,`slug`,`scenario`]),f(le,{open:p(mt),"onUpdate:open":s[5]||=e=>t(mt)?mt.value=e:null,slug:p(E),scenario:p(F),"is-public":p(bt),onGenerated:Et,onRerecord:Ct,onResume:xt},null,8,[`open`,`slug`,`scenario`,`is-public`]),f(ue,{open:p(V),"onUpdate:open":s[6]||=e=>t(V)?V.value=e:null,loading:p(H),suggestions:p(U),error:p(W)},null,8,[`open`,`loading`,`suggestions`,`error`]),f(pe,{open:p(K),"onUpdate:open":s[7]||=e=>t(K)?K.value=e:null,running:p(G),passed:p(Ne),steps:p(Me),"video-url":p(Pe),"project-name":p(M).name,kind:p(Z)?`autenticacao`:`cenario`,"scenario-name":p(Z)?p(F).spec:p(F).title,branch:p(M).branch,"tested-at":p(Ie),playwright:p(nt),output:p(Re),onFix:ot},null,8,[`open`,`running`,`passed`,`steps`,`video-url`,`project-name`,`kind`,`scenario-name`,`branch`,`tested-at`,`playwright`,`output`]),f(P,{open:p(pt),"onUpdate:open":s[8]||=e=>t(pt)?pt.value=e:null,slug:p(E),onSaved:lt},null,8,[`open`,`slug`]),f(ve,{open:p(q),"onUpdate:open":s[9]||=e=>t(q)?q.value=e:null,loading:p(it),fix:p(J),error:p(Y),applying:p(at),onApply:st,onDiscard:ct},null,8,[`open`,`loading`,`fix`,`error`,`applying`])]),_:1},8,[`data-hydrated`])}}});export{K as default};