playwright-core 1.57.0-alpha-2025-10-14 → 1.57.0-alpha-2025-10-15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/generated/clockSource.js +1 -1
- package/lib/server/bidi/bidiPage.js +2 -0
- package/lib/server/frames.js +4 -2
- package/lib/server/utils/comparators.js +3 -25
- package/lib/server/utils/imageUtils.js +146 -0
- package/lib/utils/isomorphic/urlMatch.js +5 -2
- package/lib/utils.js +2 -0
- package/lib/vite/traceViewer/assets/{codeMirrorModule-B5uKI6RV.js → codeMirrorModule-BKCPzknM.js} +1 -1
- package/lib/vite/traceViewer/assets/{defaultSettingsView-Dcxv4etY.js → defaultSettingsView-D7allZe3.js} +5 -5
- package/lib/vite/traceViewer/{defaultSettingsView.TQ8_7ybu.css → defaultSettingsView.B35d-g1v.css} +1 -1
- package/lib/vite/traceViewer/{index.BhvsVh_m.js → index.AuAHxYdC.js} +1 -1
- package/lib/vite/traceViewer/index.html +3 -3
- package/lib/vite/traceViewer/manifest.webmanifest +16 -0
- package/lib/vite/traceViewer/{uiMode.CMlmoI2k.js → uiMode.B81goU-T.js} +1 -1
- package/lib/vite/traceViewer/uiMode.html +3 -3
- package/package.json +1 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./codeMirrorModule-
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./codeMirrorModule-BKCPzknM.js","../codeMirrorModule.C3UTv-Ge.css"])))=>i.map(i=>d[i]);
|
|
2
2
|
var _w=Object.defineProperty;var Tw=(n,e,i)=>e in n?_w(n,e,{enumerable:!0,configurable:!0,writable:!0,value:i}):n[e]=i;var Ne=(n,e,i)=>Tw(n,typeof e!="symbol"?e+"":e,i);(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const a of document.querySelectorAll('link[rel="modulepreload"]'))s(a);new MutationObserver(a=>{for(const o of a)if(o.type==="childList")for(const u of o.addedNodes)u.tagName==="LINK"&&u.rel==="modulepreload"&&s(u)}).observe(document,{childList:!0,subtree:!0});function i(a){const o={};return a.integrity&&(o.integrity=a.integrity),a.referrerPolicy&&(o.referrerPolicy=a.referrerPolicy),a.crossOrigin==="use-credentials"?o.credentials="include":a.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function s(a){if(a.ep)return;a.ep=!0;const o=i(a);fetch(a.href,o)}})();function Ew(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}var zf={exports:{}},Ta={};/**
|
|
3
3
|
* @license React
|
|
4
4
|
* react-jsx-runtime.production.js
|
|
@@ -55,7 +55,7 @@ Error generating stack: `+l.message+`
|
|
|
55
55
|
rgb(0 0 0 / 15%) 0px 6.1px 6.3px,
|
|
56
56
|
rgb(0 0 0 / 10%) 0px -2px 4px,
|
|
57
57
|
rgb(0 0 0 / 15%) 0px -6.1px 12px,
|
|
58
|
-
rgb(0 0 0 / 25%) 0px 6px 12px`},Vx=({diff:n,noTargetBlank:e,hideDetails:i})=>{const[s,a]=U.useState(n.diff?"diff":"actual"),[o,u]=U.useState(!1),[f,d]=U.useState(null),[p,m]=U.useState("Expected"),[y,b]=U.useState(null),[w,E]=U.useState(null),[x,_]=ts();U.useEffect(()=>{(async()=>{var R,ee,re,j;d(await Kf((R=n.expected)==null?void 0:R.attachment.path)),m(((ee=n.expected)==null?void 0:ee.title)||"Expected"),b(await Kf((re=n.actual)==null?void 0:re.attachment.path)),E(await Kf((j=n.diff)==null?void 0:j.attachment.path))})()},[n]);const k=f&&y&&w,N=k?Math.max(f.naturalWidth,y.naturalWidth,200):500,V=k?Math.max(f.naturalHeight,y.naturalHeight,200):500,q=Math.min(1,(x.width-30)/N),D=Math.min(1,(x.width-50)/N/2),G=N*q,J=V*q,I={flex:"none",margin:"0 10px",cursor:"pointer",userSelect:"none"};return v.jsx("div",{"data-testid":"test-result-image-mismatch",style:{display:"flex",flexDirection:"column",alignItems:"center",flex:"auto"},ref:_,children:k&&v.jsxs(v.Fragment,{children:[v.jsxs("div",{"data-testid":"test-result-image-mismatch-tabs",style:{display:"flex",margin:"10px 0 20px"},children:[n.diff&&v.jsx("div",{style:{...I,fontWeight:s==="diff"?600:"initial"},onClick:()=>a("diff"),children:"Diff"}),v.jsx("div",{style:{...I,fontWeight:s==="actual"?600:"initial"},onClick:()=>a("actual"),children:"Actual"}),v.jsx("div",{style:{...I,fontWeight:s==="expected"?600:"initial"},onClick:()=>a("expected"),children:p}),v.jsx("div",{style:{...I,fontWeight:s==="sxs"?600:"initial"},onClick:()=>a("sxs"),children:"Side by side"}),v.jsx("div",{style:{...I,fontWeight:s==="slider"?600:"initial"},onClick:()=>a("slider"),children:"Slider"})]}),v.jsxs("div",{style:{display:"flex",justifyContent:"center",flex:"auto",minHeight:J+60},children:[n.diff&&s==="diff"&&v.jsx($n,{image:w,alt:"Diff",hideSize:i,canvasWidth:G,canvasHeight:J,scale:q}),n.diff&&s==="actual"&&v.jsx($n,{image:y,alt:"Actual",hideSize:i,canvasWidth:G,canvasHeight:J,scale:q}),n.diff&&s==="expected"&&v.jsx($n,{image:f,alt:p,hideSize:i,canvasWidth:G,canvasHeight:J,scale:q}),n.diff&&s==="slider"&&v.jsx(Gx,{expectedImage:f,actualImage:y,hideSize:i,canvasWidth:G,canvasHeight:J,scale:q,expectedTitle:p}),n.diff&&s==="sxs"&&v.jsxs("div",{style:{display:"flex"},children:[v.jsx($n,{image:f,title:p,hideSize:i,canvasWidth:D*N,canvasHeight:D*V,scale:D}),v.jsx($n,{image:o?w:y,title:o?"Diff":"Actual",onClick:()=>u(!o),hideSize:i,canvasWidth:D*N,canvasHeight:D*V,scale:D})]}),!n.diff&&s==="actual"&&v.jsx($n,{image:y,title:"Actual",hideSize:i,canvasWidth:G,canvasHeight:J,scale:q}),!n.diff&&s==="expected"&&v.jsx($n,{image:f,title:p,hideSize:i,canvasWidth:G,canvasHeight:J,scale:q}),!n.diff&&s==="sxs"&&v.jsxs("div",{style:{display:"flex"},children:[v.jsx($n,{image:f,title:p,canvasWidth:D*N,canvasHeight:D*V,scale:D}),v.jsx($n,{image:y,title:"Actual",canvasWidth:D*N,canvasHeight:D*V,scale:D})]})]}),!i&&v.jsxs("div",{style:{alignSelf:"start",lineHeight:"18px",marginLeft:"15px"},children:[v.jsx("div",{children:n.diff&&v.jsx("a",{target:"_blank",href:n.diff.attachment.path,rel:"noreferrer",children:n.diff.attachment.name})}),v.jsx("div",{children:v.jsx("a",{target:e?"":"_blank",href:n.actual.attachment.path,rel:"noreferrer",children:n.actual.attachment.name})}),v.jsx("div",{children:v.jsx("a",{target:e?"":"_blank",href:n.expected.attachment.path,rel:"noreferrer",children:n.expected.attachment.name})})]})]})})},Gx=({expectedImage:n,actualImage:e,canvasWidth:i,canvasHeight:s,scale:a,expectedTitle:o,hideSize:u})=>{const f={position:"absolute",top:0,left:0},[d,p]=U.useState(i/2),m=n.naturalWidth===e.naturalWidth&&n.naturalHeight===e.naturalHeight;return v.jsxs("div",{style:{flex:"none",display:"flex",alignItems:"center",flexDirection:"column",userSelect:"none"},children:[!u&&v.jsxs("div",{style:{margin:5},children:[!m&&v.jsx("span",{style:{flex:"none",margin:"0 5px"},children:"Expected "}),v.jsx("span",{children:n.naturalWidth}),v.jsx("span",{style:{flex:"none",margin:"0 5px"},children:"x"}),v.jsx("span",{children:n.naturalHeight}),!m&&v.jsx("span",{style:{flex:"none",margin:"0 5px 0 15px"},children:"Actual "}),!m&&v.jsx("span",{children:e.naturalWidth}),!m&&v.jsx("span",{style:{flex:"none",margin:"0 5px"},children:"x"}),!m&&v.jsx("span",{children:e.naturalHeight})]}),v.jsxs("div",{style:{position:"relative",width:i,height:s,margin:15,...dh},children:[v.jsx(eb,{orientation:"horizontal",offsets:[d],setOffsets:y=>p(y[0]),resizerColor:"#57606a80",resizerWidth:6}),v.jsx("img",{alt:o,style:{width:n.naturalWidth*a,height:n.naturalHeight*a},draggable:"false",src:n.src}),v.jsx("div",{style:{...f,bottom:0,overflow:"hidden",width:d,...dh},children:v.jsx("img",{alt:"Actual",style:{width:e.naturalWidth*a,height:e.naturalHeight*a},draggable:"false",src:e.src})})]})]})},$n=({image:n,title:e,alt:i,hideSize:s,canvasWidth:a,canvasHeight:o,scale:u,onClick:f})=>v.jsxs("div",{style:{flex:"none",display:"flex",alignItems:"center",flexDirection:"column"},children:[!s&&v.jsxs("div",{style:{margin:5},children:[e&&v.jsx("span",{style:{flex:"none",margin:"0 5px"},children:e}),v.jsx("span",{children:n.naturalWidth}),v.jsx("span",{style:{flex:"none",margin:"0 5px"},children:"x"}),v.jsx("span",{children:n.naturalHeight})]}),v.jsx("div",{style:{display:"flex",flex:"none",width:a,height:o,margin:15,...dh},children:v.jsx("img",{width:n.naturalWidth*u,height:n.naturalHeight*u,alt:e||i,style:{cursor:f?"pointer":"initial"},draggable:"false",src:n.src,onClick:f})})]}),Kx="modulepreload",Yx=function(n,e){return new URL(n,e).href},Uy={},Xx=function(e,i,s){let a=Promise.resolve();if(i&&i.length>0){let u=function(m){return Promise.all(m.map(y=>Promise.resolve(y).then(b=>({status:"fulfilled",value:b}),b=>({status:"rejected",reason:b}))))};const f=document.getElementsByTagName("link"),d=document.querySelector("meta[property=csp-nonce]"),p=(d==null?void 0:d.nonce)||(d==null?void 0:d.getAttribute("nonce"));a=u(i.map(m=>{if(m=Yx(m,s),m in Uy)return;Uy[m]=!0;const y=m.endsWith(".css"),b=y?'[rel="stylesheet"]':"";if(!!s)for(let x=f.length-1;x>=0;x--){const _=f[x];if(_.href===m&&(!y||_.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${m}"]${b}`))return;const E=document.createElement("link");if(E.rel=y?"stylesheet":Kx,y||(E.as="script"),E.crossOrigin="",E.href=m,p&&E.setAttribute("nonce",p),document.head.appendChild(E),y)return new Promise((x,_)=>{E.addEventListener("load",x),E.addEventListener("error",()=>_(new Error(`Unable to preload CSS for ${m}`)))})}))}function o(u){const f=new Event("vite:preloadError",{cancelable:!0});if(f.payload=u,window.dispatchEvent(f),!f.defaultPrevented)throw u}return a.then(u=>{for(const f of u||[])f.status==="rejected"&&o(f.reason);return e().catch(o)})},Px=20,ur=({text:n,highlighter:e,mimeType:i,linkify:s,readOnly:a,highlight:o,revealLine:u,lineNumbers:f,isFocused:d,focusOnChange:p,wrapLines:m,onChange:y,dataTestId:b,placeholder:w})=>{const[E,x]=ts(),[_]=U.useState(Xx(()=>import("./codeMirrorModule-B5uKI6RV.js"),__vite__mapDeps([0,1]),import.meta.url).then(q=>q.default)),k=U.useRef(null),[N,V]=U.useState();return U.useEffect(()=>{(async()=>{var I,R;const q=await _;Qx(q);const D=x.current;if(!D)return;const G=Jx(e)||Zx(i)||(s?"text/linkified":"");if(k.current&&G===k.current.cm.getOption("mode")&&!!a===k.current.cm.getOption("readOnly")&&f===k.current.cm.getOption("lineNumbers")&&m===k.current.cm.getOption("lineWrapping")&&w===k.current.cm.getOption("placeholder"))return;(R=(I=k.current)==null?void 0:I.cm)==null||R.getWrapperElement().remove();const J=q(D,{value:"",mode:G,readOnly:!!a,lineNumbers:f,lineWrapping:m,placeholder:w});return k.current={cm:J},d&&J.focus(),V(J),J})()},[_,N,x,e,i,s,f,m,a,d,w]),U.useEffect(()=>{k.current&&k.current.cm.setSize(E.width,E.height)},[E]),U.useLayoutEffect(()=>{var G;if(!N)return;let q=!1;if(N.getValue()!==n&&(N.setValue(n),q=!0,p&&(N.execCommand("selectAll"),N.focus())),q||JSON.stringify(o)!==JSON.stringify(k.current.highlight)){for(const R of k.current.highlight||[])N.removeLineClass(R.line-1,"wrap");for(const R of o||[])N.addLineClass(R.line-1,"wrap",`source-line-${R.type}`);for(const R of k.current.widgets||[])N.removeLineWidget(R);for(const R of k.current.markers||[])R.clear();const J=[],I=[];for(const R of o||[]){if(R.type!=="subtle-error"&&R.type!=="error")continue;const ee=(G=k.current)==null?void 0:G.cm.getLine(R.line-1);if(ee){const re={};re.title=R.message||"",I.push(N.markText({line:R.line-1,ch:0},{line:R.line-1,ch:R.column||ee.length},{className:"source-line-error-underline",attributes:re}))}if(R.type==="error"){const re=document.createElement("div");re.innerHTML=Pa(R.message||""),re.className="source-line-error-widget",J.push(N.addLineWidget(R.line,re,{above:!0,coverGutter:!1}))}}k.current.highlight=o,k.current.widgets=J,k.current.markers=I}typeof u=="number"&&k.current.cm.lineCount()>=u&&N.scrollIntoView({line:Math.max(0,u-1),ch:0},50);let D;return y&&(D=()=>y(N.getValue()),N.on("change",D)),()=>{D&&N.off("change",D)}},[N,n,o,u,p,y]),v.jsx("div",{"data-testid":b,className:"cm-wrapper",ref:x,onClick:Fx})};function Fx(n){var i;if(!(n.target instanceof HTMLElement))return;let e;n.target.classList.contains("cm-linkified")?e=n.target.textContent:n.target.classList.contains("cm-link")&&((i=n.target.nextElementSibling)!=null&&i.classList.contains("cm-url"))&&(e=n.target.nextElementSibling.textContent.slice(1,-1)),e&&(n.preventDefault(),n.stopPropagation(),window.open(e,"_blank"))}let Hy=!1;function Qx(n){Hy||(Hy=!0,n.defineSimpleMode("text/linkified",{start:[{regex:x0,token:"linkified"}]}))}function Zx(n){if(n){if(n.includes("javascript")||n.includes("json"))return"javascript";if(n.includes("python"))return"python";if(n.includes("csharp"))return"text/x-csharp";if(n.includes("java"))return"text/x-java";if(n.includes("markdown"))return"markdown";if(n.includes("html")||n.includes("svg"))return"htmlmixed";if(n.includes("css"))return"css"}}function Jx(n){if(n)return{javascript:"javascript",jsonl:"javascript",python:"python",csharp:"text/x-csharp",java:"text/x-java",markdown:"markdown",html:"htmlmixed",css:"css",yaml:"yaml"}[n]}function Wx(n){return!!n.match(/^(text\/.*?|application\/(json|(x-)?javascript|xml.*?|ecmascript|graphql|x-www-form-urlencoded)|image\/svg(\+xml)?|application\/.*?(\+json|\+xml))(;\s*charset=.*)?$/)}const e_=({title:n,children:e,setExpanded:i,expanded:s,expandOnTitleClick:a})=>{const o=U.useId();return v.jsxs("div",{className:Ke("expandable",s&&"expanded"),children:[v.jsxs("div",{role:"button","aria-expanded":s,"aria-controls":o,className:"expandable-title",onClick:()=>a&&i(!s),children:[v.jsx("div",{className:Ke("codicon",s?"codicon-chevron-down":"codicon-chevron-right"),style:{cursor:"pointer",color:"var(--vscode-foreground)",marginLeft:"5px"},onClick:()=>!a&&i(!s)}),n]}),s&&v.jsx("div",{id:o,role:"region",style:{marginLeft:25},children:e})]})};function tb(n){const e=[];let i=0,s;for(;(s=x0.exec(n))!==null;){const o=n.substring(i,s.index);o&&e.push(o);const u=s[0];e.push(t_(u)),i=s.index+u.length}const a=n.substring(i);return a&&e.push(a),e}function t_(n){let e=n;return e.startsWith("www.")&&(e="https://"+e),v.jsx("a",{href:e,target:"_blank",rel:"noopener noreferrer",children:n})}const Xn=U.createContext(void 0),n_=({attachment:n,reveal:e})=>{const i=U.useContext(Xn),[s,a]=U.useState(!1),[o,u]=U.useState(null),[f,d]=U.useState(null),[p,m]=Ow(),y=U.useRef(null),b=Wx(n.contentType),w=!!n.sha1||!!n.path;U.useEffect(()=>{var _;if(e)return(_=y.current)==null||_.scrollIntoView({behavior:"smooth"}),m()},[e,m]),U.useEffect(()=>{s&&o===null&&f===null&&(d("Loading ..."),fetch(rc(i,n)).then(_=>_.text()).then(_=>{u(_),d(null)}).catch(_=>{d("Failed to load: "+_.message)}))},[i,s,o,f,n]);const E=U.useMemo(()=>{const _=o?o.split(`
|
|
58
|
+
rgb(0 0 0 / 25%) 0px 6px 12px`},Vx=({diff:n,noTargetBlank:e,hideDetails:i})=>{const[s,a]=U.useState(n.diff?"diff":"actual"),[o,u]=U.useState(!1),[f,d]=U.useState(null),[p,m]=U.useState("Expected"),[y,b]=U.useState(null),[w,E]=U.useState(null),[x,_]=ts();U.useEffect(()=>{(async()=>{var R,ee,re,j;d(await Kf((R=n.expected)==null?void 0:R.attachment.path)),m(((ee=n.expected)==null?void 0:ee.title)||"Expected"),b(await Kf((re=n.actual)==null?void 0:re.attachment.path)),E(await Kf((j=n.diff)==null?void 0:j.attachment.path))})()},[n]);const k=f&&y&&w,N=k?Math.max(f.naturalWidth,y.naturalWidth,200):500,V=k?Math.max(f.naturalHeight,y.naturalHeight,200):500,q=Math.min(1,(x.width-30)/N),D=Math.min(1,(x.width-50)/N/2),G=N*q,J=V*q,I={flex:"none",margin:"0 10px",cursor:"pointer",userSelect:"none"};return v.jsx("div",{"data-testid":"test-result-image-mismatch",style:{display:"flex",flexDirection:"column",alignItems:"center",flex:"auto"},ref:_,children:k&&v.jsxs(v.Fragment,{children:[v.jsxs("div",{"data-testid":"test-result-image-mismatch-tabs",style:{display:"flex",margin:"10px 0 20px"},children:[n.diff&&v.jsx("div",{style:{...I,fontWeight:s==="diff"?600:"initial"},onClick:()=>a("diff"),children:"Diff"}),v.jsx("div",{style:{...I,fontWeight:s==="actual"?600:"initial"},onClick:()=>a("actual"),children:"Actual"}),v.jsx("div",{style:{...I,fontWeight:s==="expected"?600:"initial"},onClick:()=>a("expected"),children:p}),v.jsx("div",{style:{...I,fontWeight:s==="sxs"?600:"initial"},onClick:()=>a("sxs"),children:"Side by side"}),v.jsx("div",{style:{...I,fontWeight:s==="slider"?600:"initial"},onClick:()=>a("slider"),children:"Slider"})]}),v.jsxs("div",{style:{display:"flex",justifyContent:"center",flex:"auto",minHeight:J+60},children:[n.diff&&s==="diff"&&v.jsx($n,{image:w,alt:"Diff",hideSize:i,canvasWidth:G,canvasHeight:J,scale:q}),n.diff&&s==="actual"&&v.jsx($n,{image:y,alt:"Actual",hideSize:i,canvasWidth:G,canvasHeight:J,scale:q}),n.diff&&s==="expected"&&v.jsx($n,{image:f,alt:p,hideSize:i,canvasWidth:G,canvasHeight:J,scale:q}),n.diff&&s==="slider"&&v.jsx(Gx,{expectedImage:f,actualImage:y,hideSize:i,canvasWidth:G,canvasHeight:J,scale:q,expectedTitle:p}),n.diff&&s==="sxs"&&v.jsxs("div",{style:{display:"flex"},children:[v.jsx($n,{image:f,title:p,hideSize:i,canvasWidth:D*N,canvasHeight:D*V,scale:D}),v.jsx($n,{image:o?w:y,title:o?"Diff":"Actual",onClick:()=>u(!o),hideSize:i,canvasWidth:D*N,canvasHeight:D*V,scale:D})]}),!n.diff&&s==="actual"&&v.jsx($n,{image:y,title:"Actual",hideSize:i,canvasWidth:G,canvasHeight:J,scale:q}),!n.diff&&s==="expected"&&v.jsx($n,{image:f,title:p,hideSize:i,canvasWidth:G,canvasHeight:J,scale:q}),!n.diff&&s==="sxs"&&v.jsxs("div",{style:{display:"flex"},children:[v.jsx($n,{image:f,title:p,canvasWidth:D*N,canvasHeight:D*V,scale:D}),v.jsx($n,{image:y,title:"Actual",canvasWidth:D*N,canvasHeight:D*V,scale:D})]})]}),!i&&v.jsxs("div",{style:{alignSelf:"start",lineHeight:"18px",marginLeft:"15px"},children:[v.jsx("div",{children:n.diff&&v.jsx("a",{target:"_blank",href:n.diff.attachment.path,rel:"noreferrer",children:n.diff.attachment.name})}),v.jsx("div",{children:v.jsx("a",{target:e?"":"_blank",href:n.actual.attachment.path,rel:"noreferrer",children:n.actual.attachment.name})}),v.jsx("div",{children:v.jsx("a",{target:e?"":"_blank",href:n.expected.attachment.path,rel:"noreferrer",children:n.expected.attachment.name})})]})]})})},Gx=({expectedImage:n,actualImage:e,canvasWidth:i,canvasHeight:s,scale:a,expectedTitle:o,hideSize:u})=>{const f={position:"absolute",top:0,left:0},[d,p]=U.useState(i/2),m=n.naturalWidth===e.naturalWidth&&n.naturalHeight===e.naturalHeight;return v.jsxs("div",{style:{flex:"none",display:"flex",alignItems:"center",flexDirection:"column",userSelect:"none"},children:[!u&&v.jsxs("div",{style:{margin:5},children:[!m&&v.jsx("span",{style:{flex:"none",margin:"0 5px"},children:"Expected "}),v.jsx("span",{children:n.naturalWidth}),v.jsx("span",{style:{flex:"none",margin:"0 5px"},children:"x"}),v.jsx("span",{children:n.naturalHeight}),!m&&v.jsx("span",{style:{flex:"none",margin:"0 5px 0 15px"},children:"Actual "}),!m&&v.jsx("span",{children:e.naturalWidth}),!m&&v.jsx("span",{style:{flex:"none",margin:"0 5px"},children:"x"}),!m&&v.jsx("span",{children:e.naturalHeight})]}),v.jsxs("div",{style:{position:"relative",width:i,height:s,margin:15,...dh},children:[v.jsx(eb,{orientation:"horizontal",offsets:[d],setOffsets:y=>p(y[0]),resizerColor:"#57606a80",resizerWidth:6}),v.jsx("img",{alt:o,style:{width:n.naturalWidth*a,height:n.naturalHeight*a},draggable:"false",src:n.src}),v.jsx("div",{style:{...f,bottom:0,overflow:"hidden",width:d,...dh},children:v.jsx("img",{alt:"Actual",style:{width:e.naturalWidth*a,height:e.naturalHeight*a},draggable:"false",src:e.src})})]})]})},$n=({image:n,title:e,alt:i,hideSize:s,canvasWidth:a,canvasHeight:o,scale:u,onClick:f})=>v.jsxs("div",{style:{flex:"none",display:"flex",alignItems:"center",flexDirection:"column"},children:[!s&&v.jsxs("div",{style:{margin:5},children:[e&&v.jsx("span",{style:{flex:"none",margin:"0 5px"},children:e}),v.jsx("span",{children:n.naturalWidth}),v.jsx("span",{style:{flex:"none",margin:"0 5px"},children:"x"}),v.jsx("span",{children:n.naturalHeight})]}),v.jsx("div",{style:{display:"flex",flex:"none",width:a,height:o,margin:15,...dh},children:v.jsx("img",{width:n.naturalWidth*u,height:n.naturalHeight*u,alt:e||i,style:{cursor:f?"pointer":"initial"},draggable:"false",src:n.src,onClick:f})})]}),Kx="modulepreload",Yx=function(n,e){return new URL(n,e).href},Uy={},Xx=function(e,i,s){let a=Promise.resolve();if(i&&i.length>0){let u=function(m){return Promise.all(m.map(y=>Promise.resolve(y).then(b=>({status:"fulfilled",value:b}),b=>({status:"rejected",reason:b}))))};const f=document.getElementsByTagName("link"),d=document.querySelector("meta[property=csp-nonce]"),p=(d==null?void 0:d.nonce)||(d==null?void 0:d.getAttribute("nonce"));a=u(i.map(m=>{if(m=Yx(m,s),m in Uy)return;Uy[m]=!0;const y=m.endsWith(".css"),b=y?'[rel="stylesheet"]':"";if(!!s)for(let x=f.length-1;x>=0;x--){const _=f[x];if(_.href===m&&(!y||_.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${m}"]${b}`))return;const E=document.createElement("link");if(E.rel=y?"stylesheet":Kx,y||(E.as="script"),E.crossOrigin="",E.href=m,p&&E.setAttribute("nonce",p),document.head.appendChild(E),y)return new Promise((x,_)=>{E.addEventListener("load",x),E.addEventListener("error",()=>_(new Error(`Unable to preload CSS for ${m}`)))})}))}function o(u){const f=new Event("vite:preloadError",{cancelable:!0});if(f.payload=u,window.dispatchEvent(f),!f.defaultPrevented)throw u}return a.then(u=>{for(const f of u||[])f.status==="rejected"&&o(f.reason);return e().catch(o)})},Px=20,ur=({text:n,highlighter:e,mimeType:i,linkify:s,readOnly:a,highlight:o,revealLine:u,lineNumbers:f,isFocused:d,focusOnChange:p,wrapLines:m,onChange:y,dataTestId:b,placeholder:w})=>{const[E,x]=ts(),[_]=U.useState(Xx(()=>import("./codeMirrorModule-BKCPzknM.js"),__vite__mapDeps([0,1]),import.meta.url).then(q=>q.default)),k=U.useRef(null),[N,V]=U.useState();return U.useEffect(()=>{(async()=>{var I,R;const q=await _;Qx(q);const D=x.current;if(!D)return;const G=Jx(e)||Zx(i)||(s?"text/linkified":"");if(k.current&&G===k.current.cm.getOption("mode")&&!!a===k.current.cm.getOption("readOnly")&&f===k.current.cm.getOption("lineNumbers")&&m===k.current.cm.getOption("lineWrapping")&&w===k.current.cm.getOption("placeholder"))return;(R=(I=k.current)==null?void 0:I.cm)==null||R.getWrapperElement().remove();const J=q(D,{value:"",mode:G,readOnly:!!a,lineNumbers:f,lineWrapping:m,placeholder:w});return k.current={cm:J},d&&J.focus(),V(J),J})()},[_,N,x,e,i,s,f,m,a,d,w]),U.useEffect(()=>{k.current&&k.current.cm.setSize(E.width,E.height)},[E]),U.useLayoutEffect(()=>{var G;if(!N)return;let q=!1;if(N.getValue()!==n&&(N.setValue(n),q=!0,p&&(N.execCommand("selectAll"),N.focus())),q||JSON.stringify(o)!==JSON.stringify(k.current.highlight)){for(const R of k.current.highlight||[])N.removeLineClass(R.line-1,"wrap");for(const R of o||[])N.addLineClass(R.line-1,"wrap",`source-line-${R.type}`);for(const R of k.current.widgets||[])N.removeLineWidget(R);for(const R of k.current.markers||[])R.clear();const J=[],I=[];for(const R of o||[]){if(R.type!=="subtle-error"&&R.type!=="error")continue;const ee=(G=k.current)==null?void 0:G.cm.getLine(R.line-1);if(ee){const re={};re.title=R.message||"",I.push(N.markText({line:R.line-1,ch:0},{line:R.line-1,ch:R.column||ee.length},{className:"source-line-error-underline",attributes:re}))}if(R.type==="error"){const re=document.createElement("div");re.innerHTML=Pa(R.message||""),re.className="source-line-error-widget",J.push(N.addLineWidget(R.line,re,{above:!0,coverGutter:!1}))}}k.current.highlight=o,k.current.widgets=J,k.current.markers=I}typeof u=="number"&&k.current.cm.lineCount()>=u&&N.scrollIntoView({line:Math.max(0,u-1),ch:0},50);let D;return y&&(D=()=>y(N.getValue()),N.on("change",D)),()=>{D&&N.off("change",D)}},[N,n,o,u,p,y]),v.jsx("div",{"data-testid":b,className:"cm-wrapper",ref:x,onClick:Fx})};function Fx(n){var i;if(!(n.target instanceof HTMLElement))return;let e;n.target.classList.contains("cm-linkified")?e=n.target.textContent:n.target.classList.contains("cm-link")&&((i=n.target.nextElementSibling)!=null&&i.classList.contains("cm-url"))&&(e=n.target.nextElementSibling.textContent.slice(1,-1)),e&&(n.preventDefault(),n.stopPropagation(),window.open(e,"_blank"))}let Hy=!1;function Qx(n){Hy||(Hy=!0,n.defineSimpleMode("text/linkified",{start:[{regex:x0,token:"linkified"}]}))}function Zx(n){if(n){if(n.includes("javascript")||n.includes("json"))return"javascript";if(n.includes("python"))return"python";if(n.includes("csharp"))return"text/x-csharp";if(n.includes("java"))return"text/x-java";if(n.includes("markdown"))return"markdown";if(n.includes("html")||n.includes("svg"))return"htmlmixed";if(n.includes("css"))return"css"}}function Jx(n){if(n)return{javascript:"javascript",jsonl:"javascript",python:"python",csharp:"text/x-csharp",java:"text/x-java",markdown:"markdown",html:"htmlmixed",css:"css",yaml:"yaml"}[n]}function Wx(n){return!!n.match(/^(text\/.*?|application\/(json|(x-)?javascript|xml.*?|ecmascript|graphql|x-www-form-urlencoded)|image\/svg(\+xml)?|application\/.*?(\+json|\+xml))(;\s*charset=.*)?$/)}const e_=({title:n,children:e,setExpanded:i,expanded:s,expandOnTitleClick:a})=>{const o=U.useId();return v.jsxs("div",{className:Ke("expandable",s&&"expanded"),children:[v.jsxs("div",{role:"button","aria-expanded":s,"aria-controls":o,className:"expandable-title",onClick:()=>a&&i(!s),children:[v.jsx("div",{className:Ke("codicon",s?"codicon-chevron-down":"codicon-chevron-right"),style:{cursor:"pointer",color:"var(--vscode-foreground)",marginLeft:"5px"},onClick:()=>!a&&i(!s)}),n]}),s&&v.jsx("div",{id:o,role:"region",style:{marginLeft:25},children:e})]})};function tb(n){const e=[];let i=0,s;for(;(s=x0.exec(n))!==null;){const o=n.substring(i,s.index);o&&e.push(o);const u=s[0];e.push(t_(u)),i=s.index+u.length}const a=n.substring(i);return a&&e.push(a),e}function t_(n){let e=n;return e.startsWith("www.")&&(e="https://"+e),v.jsx("a",{href:e,target:"_blank",rel:"noopener noreferrer",children:n})}const Xn=U.createContext(void 0),n_=({attachment:n,reveal:e})=>{const i=U.useContext(Xn),[s,a]=U.useState(!1),[o,u]=U.useState(null),[f,d]=U.useState(null),[p,m]=Ow(),y=U.useRef(null),b=Wx(n.contentType),w=!!n.sha1||!!n.path;U.useEffect(()=>{var _;if(e)return(_=y.current)==null||_.scrollIntoView({behavior:"smooth"}),m()},[e,m]),U.useEffect(()=>{s&&o===null&&f===null&&(d("Loading ..."),fetch(rc(i,n)).then(_=>_.text()).then(_=>{u(_),d(null)}).catch(_=>{d("Failed to load: "+_.message)}))},[i,s,o,f,n]);const E=U.useMemo(()=>{const _=o?o.split(`
|
|
59
59
|
`).length:0;return Math.min(Math.max(5,_),20)*Px},[o]),x=v.jsxs("span",{style:{marginLeft:5},ref:y,"aria-label":n.name,children:[v.jsx("span",{children:tb(n.name)}),w&&v.jsx("a",{style:{marginLeft:5},href:jo(i,n),children:"download"})]});return!b||!w?v.jsx("div",{style:{marginLeft:20},children:x}):v.jsxs("div",{className:Ke(p&&"yellow-flash"),children:[v.jsx(e_,{title:x,expanded:s,setExpanded:a,expandOnTitleClick:!0,children:f&&v.jsx("i",{children:f})}),s&&o!==null&&v.jsx("div",{className:"vbox",style:{height:E},children:v.jsx(ur,{text:o,readOnly:!0,mimeType:n.contentType,linkify:!0,lineNumbers:!0,wrapLines:!1})})]})},i_=({revealedAttachment:n})=>{const e=U.useContext(Xn),{diffMap:i,screenshots:s,attachments:a}=U.useMemo(()=>{const o=new Set((e==null?void 0:e.visibleAttachments)??[]),u=new Set,f=new Map;for(const d of o){if(!d.path&&!d.sha1)continue;const p=d.name.match(/^(.*)-(expected|actual|diff)\.png$/);if(p){const m=p[1],y=p[2],b=f.get(m)||{expected:void 0,actual:void 0,diff:void 0};b[y]=d,f.set(m,b),o.delete(d)}else d.contentType.startsWith("image/")&&(u.add(d),o.delete(d))}return{diffMap:f,attachments:o,screenshots:u}},[e]);return!i.size&&!s.size&&!a.size?v.jsx(ns,{text:"No attachments"}):v.jsxs("div",{className:"attachments-tab",children:[[...i.values()].map(({expected:o,actual:u,diff:f})=>v.jsxs(v.Fragment,{children:[o&&u&&v.jsx("div",{className:"attachments-section",children:"Image diff"}),o&&u&&v.jsx(Vx,{noTargetBlank:!0,diff:{name:"Image diff",expected:{attachment:{...o,path:jo(e,o)},title:"Expected"},actual:{attachment:{...u,path:jo(e,u)}},diff:f?{attachment:{...f,path:jo(e,f)}}:void 0}})]})),s.size?v.jsx("div",{className:"attachments-section",children:"Screenshots"}):void 0,[...s.values()].map((o,u)=>{const f=rc(e,o);return v.jsxs("div",{className:"attachment-item",children:[v.jsx("div",{children:v.jsx("img",{draggable:"false",src:f})}),v.jsx("div",{children:v.jsx("a",{target:"_blank",href:f,rel:"noreferrer",children:o.name})})]},`screenshot-${u}`)}),a.size?v.jsx("div",{className:"attachments-section",children:"Attachments"}):void 0,[...a.values()].map((o,u)=>v.jsx("div",{className:"attachment-item",children:v.jsx(n_,{attachment:o,reveal:n&&s_(o,n[0])?n:void 0})},r_(o,u)))]})};function s_(n,e){return n.name===e.name&&n.path===e.path&&n.sha1===e.sha1}function rc(n,e){return n&&e.sha1?n.createRelativeUrl(`sha1/${e.sha1}`):`file?path=${encodeURIComponent(e.path)}`}function jo(n,e){let i=e.contentType?`&dn=${encodeURIComponent(e.name)}`:"";return e.contentType&&(i+=`&dct=${encodeURIComponent(e.contentType)}`),rc(n,e)+i}function r_(n,e){return e+"-"+(n.sha1?"sha1-"+n.sha1:"path-"+n.path)}const a_=`
|
|
60
60
|
# Instructions
|
|
61
61
|
|
|
@@ -101,10 +101,10 @@ ${Object.entries(e).map(([f,d])=>{const p=this.prettyPrintObject(d,i,s+1),m=s===
|
|
|
101
101
|
${a}}`}stringLiteral(e){return JSON.stringify(e)}}class M_{generatePlaywrightRequestCall(e,i){const s=new URL(e.url),a=[`"${s.origin}${s.pathname}"`],o=[];let u=e.method.toLowerCase();["delete","get","head","post","put","patch"].includes(u)||(o.push(`setMethod("${u}")`),u="fetch");for(const[f,d]of s.searchParams)o.push(`setQueryParam(${this.stringLiteral(f)}, ${this.stringLiteral(d)})`);i&&o.push(`setData(${this.stringLiteral(i)})`);for(const f of e.headers)o.push(`setHeader(${this.stringLiteral(f.name)}, ${this.stringLiteral(f.value)})`);return o.length>0&&a.push(`RequestOptions.create()
|
|
102
102
|
.${o.join(`
|
|
103
103
|
.`)}
|
|
104
|
-
`),`request.${u}(${a.join(", ")});`}stringLiteral(e){return JSON.stringify(e)}}function O_(n){if(n==="javascript")return new N_;if(n==="python")return new C_;if(n==="csharp")return new k_;if(n==="java")return new M_;throw new Error("Unsupported language: "+n)}const R_=({resource:n,sdkLanguage:e,startTimeOffset:i,onClose:s})=>{const[a,o]=U.useState("request"),u=U.useContext(Xn),f=$o(async()=>{if(u&&n.request.postData){const d=n.request.headers.find(m=>m.name.toLowerCase()==="content-type"),p=d?d.value:"";if(n.request.postData._sha1){const m=await fetch(u.createRelativeUrl(`sha1/${n.request.postData._sha1}`));return{text:gh(await m.text(),p),mimeType:p}}else return{text:gh(n.request.postData.text,p),mimeType:p}}else return null},[n],null);return v.jsx(ph,{dataTestId:"network-request-details",leftToolbar:[v.jsx(Ut,{icon:"close",title:"Close",onClick:s},"close")],rightToolbar:[v.jsx(j_,{requestBody:f,resource:n,sdkLanguage:e},"dropdown")],tabs:[{id:"request",title:"Request",render:()=>v.jsx(L_,{resource:n,startTimeOffset:i,requestBody:f})},{id:"response",title:"Response",render:()=>v.jsx(D_,{resource:n})},{id:"body",title:"Body",render:()=>v.jsx(B_,{resource:n})}],selectedTab:a,setSelectedTab:o})},j_=({resource:n,sdkLanguage:e,requestBody:i})=>{const s=v.jsxs(v.Fragment,{children:[v.jsx("span",{className:"codicon codicon-check",style:{marginRight:"5px"}})," Copied "]}),a=async()=>O_(e).generatePlaywrightRequestCall(n.request,i==null?void 0:i.text);return v.jsxs("div",{className:"copy-request-dropdown",children:[v.jsxs(Ut,{className:"copy-request-dropdown-toggle",children:[v.jsx("span",{className:"codicon codicon-copy",style:{marginRight:"5px"}}),"Copy request",v.jsx("span",{className:"codicon codicon-chevron-down",style:{marginLeft:"5px"}})]}),v.jsxs("div",{className:"copy-request-dropdown-menu",children:[v.jsx(Ro,{description:"Copy as cURL",copiedDescription:s,value:()=>E_(n)}),v.jsx(Ro,{description:"Copy as Fetch",copiedDescription:s,value:()=>A_(n)}),v.jsx(Ro,{description:"Copy as Playwright",copiedDescription:s,value:a})]})]})},L_=({resource:n,startTimeOffset:e,requestBody:i})=>v.jsxs("div",{className:"network-request-details-tab",children:[v.jsx("div",{className:"network-request-details-header",children:"General"}),v.jsx("div",{className:"network-request-details-url",children:`URL: ${n.request.url}`}),v.jsx("div",{className:"network-request-details-general",children:`Method: ${n.request.method}`}),n.response.status!==-1&&v.jsxs("div",{className:"network-request-details-general",style:{display:"flex"},children:["Status Code: ",v.jsx("span",{className:H_(n.response.status),style:{display:"inline-flex"},children:`${n.response.status} ${n.response.statusText}`})]}),n.request.queryString.length?v.jsxs(v.Fragment,{children:[v.jsx("div",{className:"network-request-details-header",children:"Query String Parameters"}),v.jsx("div",{className:"network-request-details-headers",children:n.request.queryString.map(s=>`${s.name}: ${s.value}`).join(`
|
|
104
|
+
`),`request.${u}(${a.join(", ")});`}stringLiteral(e){return JSON.stringify(e)}}function O_(n){if(n==="javascript")return new N_;if(n==="python")return new C_;if(n==="csharp")return new k_;if(n==="java")return new M_;throw new Error("Unsupported language: "+n)}const R_=({resource:n,sdkLanguage:e,startTimeOffset:i,onClose:s})=>{const[a,o]=U.useState("request"),u=U.useContext(Xn),f=$o(async()=>{if(u&&n.request.postData){const d=n.request.headers.find(m=>m.name.toLowerCase()==="content-type"),p=d?d.value:"";if(n.request.postData._sha1){const m=await fetch(u.createRelativeUrl(`sha1/${n.request.postData._sha1}`));return{text:gh(await m.text(),p),mimeType:p}}else return{text:gh(n.request.postData.text,p),mimeType:p}}else return null},[n],null);return v.jsx(ph,{dataTestId:"network-request-details",leftToolbar:[v.jsx(Ut,{icon:"close",title:"Close",onClick:s},"close")],rightToolbar:[v.jsx(j_,{requestBody:f,resource:n,sdkLanguage:e},"dropdown")],tabs:[{id:"request",title:"Request",render:()=>v.jsx(L_,{resource:n,startTimeOffset:i,requestBody:f})},{id:"response",title:"Response",render:()=>v.jsx(D_,{resource:n})},{id:"body",title:"Body",render:()=>v.jsx(B_,{resource:n})}],selectedTab:a,setSelectedTab:o})},j_=({resource:n,sdkLanguage:e,requestBody:i})=>{const s=v.jsxs(v.Fragment,{children:[v.jsx("span",{className:"codicon codicon-check",style:{marginRight:"5px"}})," Copied "]}),a=async()=>O_(e).generatePlaywrightRequestCall(n.request,i==null?void 0:i.text);return v.jsxs("div",{className:"copy-request-dropdown",children:[v.jsxs(Ut,{className:"copy-request-dropdown-toggle",children:[v.jsx("span",{className:"codicon codicon-copy",style:{marginRight:"5px"}}),"Copy request",v.jsx("span",{className:"codicon codicon-chevron-down",style:{marginLeft:"5px"}})]}),v.jsxs("div",{className:"copy-request-dropdown-menu",children:[v.jsx(Ro,{description:"Copy as cURL",copiedDescription:s,value:()=>E_(n)}),v.jsx(Ro,{description:"Copy as Fetch",copiedDescription:s,value:()=>A_(n)}),v.jsx(Ro,{description:"Copy as Playwright",copiedDescription:s,value:a})]})]})},L_=({resource:n,startTimeOffset:e,requestBody:i})=>v.jsxs("div",{className:"vbox network-request-details-tab",children:[v.jsx("div",{className:"network-request-details-header",children:"General"}),v.jsx("div",{className:"network-request-details-url",children:`URL: ${n.request.url}`}),v.jsx("div",{className:"network-request-details-general",children:`Method: ${n.request.method}`}),n.response.status!==-1&&v.jsxs("div",{className:"network-request-details-general",style:{display:"flex"},children:["Status Code: ",v.jsx("span",{className:H_(n.response.status),style:{display:"inline-flex"},children:`${n.response.status} ${n.response.statusText}`})]}),n.request.queryString.length?v.jsxs(v.Fragment,{children:[v.jsx("div",{className:"network-request-details-header",children:"Query String Parameters"}),v.jsx("div",{className:"network-request-details-headers",children:n.request.queryString.map(s=>`${s.name}: ${s.value}`).join(`
|
|
105
105
|
`)})]}):null,v.jsx("div",{className:"network-request-details-header",children:"Request Headers"}),v.jsx("div",{className:"network-request-details-headers",children:n.request.headers.map(s=>`${s.name}: ${s.value}`).join(`
|
|
106
|
-
`)}),v.jsx("div",{className:"network-request-details-header",children:"Time"}),v.jsx("div",{className:"network-request-details-general",children:`Start: ${_t(e)}`}),v.jsx("div",{className:"network-request-details-general",children:`Duration: ${_t(n.time)}`}),i&&v.jsx("div",{className:"network-request-details-header",children:"Request Body"}),i&&v.jsx(ur,{text:i.text,mimeType:i.mimeType,readOnly:!0,lineNumbers:!0})]}),D_=({resource:n})=>v.jsxs("div",{className:"network-request-details-tab",children:[v.jsx("div",{className:"network-request-details-header",children:"Response Headers"}),v.jsx("div",{className:"network-request-details-headers",children:n.response.headers.map(e=>`${e.name}: ${e.value}`).join(`
|
|
107
|
-
`)})]}),B_=({resource:n})=>{const e=U.useContext(Xn),[i,s]=U.useState(null);return U.useEffect(()=>{(async()=>{if(e&&n.response.content._sha1){const o=n.response.content.mimeType.includes("image"),u=n.response.content.mimeType.includes("font"),f=await fetch(e.createRelativeUrl(`sha1/${n.response.content._sha1}`));if(o){const d=await f.blob(),p=new FileReader,m=new Promise(y=>p.onload=y);p.readAsDataURL(d),s({dataUrl:(await m).target.result})}else if(u){const d=await f.arrayBuffer();s({font:d})}else{const d=gh(await f.text(),n.response.content.mimeType);s({text:d,mimeType:n.response.content.mimeType})}}else s(null)})()},[n,e]),v.jsxs("div",{className:"network-request-details-tab",children:[!n.response.content._sha1&&v.jsx("div",{children:"Response body is not available for this request."}),i&&i.font&&v.jsx(U_,{font:i.font}),i&&i.dataUrl&&v.jsx("img",{draggable:"false",src:i.dataUrl}),i&&i.text&&v.jsx(ur,{text:i.text,mimeType:i.mimeType,readOnly:!0,lineNumbers:!0})]})},U_=({font:n})=>{const[e,i]=U.useState(!1);return U.useEffect(()=>{let s;try{s=new FontFace("font-preview",n),s.status==="loaded"&&document.fonts.add(s),s.status==="error"&&i(!0)}catch{i(!0)}return()=>{document.fonts.delete(s)}},[n]),e?v.jsx("div",{className:"network-font-preview-error",children:"Could not load font preview"}):v.jsxs("div",{className:"network-font-preview",children:["ABCDEFGHIJKLM",v.jsx("br",{}),"NOPQRSTUVWXYZ",v.jsx("br",{}),"abcdefghijklm",v.jsx("br",{}),"nopqrstuvwxyz",v.jsx("br",{}),"1234567890"]})};function H_(n){return n<300||n===304?"green-circle":n<400?"yellow-circle":"red-circle"}function gh(n,e){if(n===null)return"Loading...";const i=n;if(i==="")return"<Empty>";if(e.includes("application/json"))try{return JSON.stringify(JSON.parse(i),null,2)}catch{return i}return e.includes("application/x-www-form-urlencoded")?decodeURIComponent(i):i}function z_(n){const[e,i]=U.useState([]);U.useEffect(()=>{const o=[];for(let u=0;u<n.columns.length-1;++u){const f=n.columns[u];o[u]=(o[u-1]||0)+n.columnWidths.get(f)}i(o)},[n.columns,n.columnWidths]);function s(o){const u=new Map(n.columnWidths.entries());for(let f=0;f<o.length;++f){const d=o[f]-(o[f-1]||0),p=n.columns[f];u.set(p,d)}n.setColumnWidths(u)}const a=U.useCallback(o=>{var u,f;(f=n.setSorting)==null||f.call(n,{by:o,negate:((u=n.sorting)==null?void 0:u.by)===o?!n.sorting.negate:!1})},[n]);return v.jsxs("div",{className:`grid-view ${n.name}-grid-view`,children:[v.jsx(eb,{orientation:"horizontal",offsets:e,setOffsets:s,resizerColor:"var(--vscode-panel-border)",resizerWidth:1,minColumnWidth:25}),v.jsxs("div",{className:"vbox",children:[v.jsx("div",{className:"grid-view-header",children:n.columns.map((o,u)=>v.jsxs("div",{className:"grid-view-header-cell "+q_(o,n.sorting),style:{width:u<n.columns.length-1?n.columnWidths.get(o):void 0},onClick:()=>n.setSorting&&a(o),children:[v.jsx("span",{className:"grid-view-header-cell-title",children:n.columnTitle(o)}),v.jsx("span",{className:"codicon codicon-triangle-up"}),v.jsx("span",{className:"codicon codicon-triangle-down"})]},n.columnTitle(o)))}),v.jsx(sc,{name:n.name,items:n.items,ariaLabel:n.ariaLabel,id:n.id,render:(o,u)=>v.jsx(v.Fragment,{children:n.columns.map((f,d)=>{const{body:p,title:m}=n.render(o,f,u);return v.jsx("div",{className:`grid-view-cell grid-view-column-${String(f)}`,title:m,style:{width:d<n.columns.length-1?n.columnWidths.get(f):void 0},children:p},n.columnTitle(f))})}),icon:n.icon,isError:n.isError,isWarning:n.isWarning,isInfo:n.isInfo,selectedItem:n.selectedItem,onAccepted:n.onAccepted,onSelected:n.onSelected,onHighlighted:n.onHighlighted,onIconClicked:n.onIconClicked,noItemsMessage:n.noItemsMessage,dataTestId:n.dataTestId,notSelectable:n.notSelectable})]})]})}function q_(n,e){return n===(e==null?void 0:e.by)?" filter-"+(e.negate?"negative":"positive"):""}const $_=["All","Fetch","HTML","JS","CSS","Font","Image"],I_={searchValue:"",resourceType:"All"},V_=({filterState:n,onFilterStateChange:e})=>v.jsxs("div",{className:"network-filters",children:[v.jsx("input",{type:"search",placeholder:"Filter network",spellCheck:!1,value:n.searchValue,onChange:i=>e({...n,searchValue:i.target.value})}),v.jsx("div",{className:"network-filters-resource-types",children:$_.map(i=>v.jsx("div",{title:i,onClick:()=>e({...n,resourceType:i}),className:`network-filters-resource-type ${n.resourceType===i?"selected":""}`,children:i},i))})]}),G_=z_;function K_(n,e){const i=U.useMemo(()=>((n==null?void 0:n.resources)||[]).filter(u=>e?!!u._monotonicTime&&u._monotonicTime>=e.minimum&&u._monotonicTime<=e.maximum:!0),[n,e]),s=U.useMemo(()=>new Z_(n),[n]);return{resources:i,contextIdMap:s}}const Y_=({boundaries:n,networkModel:e,onEntryHovered:i,sdkLanguage:s})=>{const[a,o]=U.useState(void 0),[u,f]=U.useState(void 0),[d,p]=U.useState(I_),{renderedEntries:m,renderedEntryMap:y}=U.useMemo(()=>{const N=e.resources.map(q=>J_(q,n,e.contextIdMap)).filter(iT(d));a&&eT(N,a);const V=new Map(N.map((q,D)=>[`${q.frameref}:${D}`,q]));return{renderedEntries:N,renderedEntryMap:V}},[e.resources,e.contextIdMap,d,a,n]),b=u?y.get(u):void 0,[w,E]=U.useState(()=>new Map(ab().map(N=>[N,P_(N)]))),x=U.useCallback(N=>{const V=m.indexOf(N);f(V!==-1?`${N.frameref}:${V}`:void 0)},[m]),_=U.useCallback(N=>{p(N),f(void 0)},[]);if(!e.resources.length)return v.jsx(ns,{text:"No network calls"});const k=v.jsx(G_,{name:"network",ariaLabel:"Network requests",items:m,selectedItem:b,onSelected:x,onHighlighted:N=>i==null?void 0:i(N==null?void 0:N.resource),columns:F_(!!b,m),columnTitle:X_,columnWidths:w,setColumnWidths:E,isError:N=>N.status.code>=400||N.status.code===-1,isInfo:N=>!!N.route,render:(N,V)=>Q_(N,V),sorting:a,setSorting:o});return v.jsxs(v.Fragment,{children:[v.jsx(V_,{filterState:d,onFilterStateChange:_}),!b&&k,b&&v.jsx(Io,{sidebarSize:w.get("name"),sidebarIsFirst:!0,orientation:"horizontal",settingName:"networkResourceDetails",main:v.jsx(R_,{resource:b.resource,sdkLanguage:s,startTimeOffset:b.start,onClose:()=>f(void 0)}),sidebar:k})]})},X_=n=>n==="contextId"?"Source":n==="name"?"Name":n==="method"?"Method":n==="status"?"Status":n==="contentType"?"Content Type":n==="duration"?"Duration":n==="size"?"Size":n==="start"?"Start":n==="route"?"Route":"",P_=n=>n==="name"?200:n==="method"||n==="status"?60:n==="contentType"?200:n==="contextId"?60:100;function F_(n,e){if(n){const s=["name"];return zy(e)&&s.unshift("contextId"),s}let i=ab();return zy(e)||(i=i.filter(s=>s!=="contextId")),i}function ab(){return["contextId","name","method","status","contentType","duration","size","start","route"]}const Q_=(n,e)=>e==="contextId"?{body:n.contextId,title:n.name.url}:e==="name"?{body:n.name.name,title:n.name.url}:e==="method"?{body:n.method}:e==="status"?{body:n.status.code>0?n.status.code:"",title:n.status.text}:e==="contentType"?{body:n.contentType}:e==="duration"?{body:_t(n.duration)}:e==="size"?{body:kw(n.size)}:e==="start"?{body:_t(n.start)}:e==="route"?{body:n.route}:{body:""};class Z_{constructor(e){Ne(this,"_pagerefToShortId",new Map);Ne(this,"_contextToId",new Map);Ne(this,"_lastPageId",0);Ne(this,"_lastApiRequestContextId",0)}contextId(e){return e.pageref?this._pageId(e.pageref):e._apiRequest?this._apiRequestContextId(e):""}_pageId(e){let i=this._pagerefToShortId.get(e);return i||(++this._lastPageId,i="page#"+this._lastPageId,this._pagerefToShortId.set(e,i)),i}_apiRequestContextId(e){const i=N0(e);if(!i)return"";let s=this._contextToId.get(i);return s||(++this._lastApiRequestContextId,s="api#"+this._lastApiRequestContextId,this._contextToId.set(i,s)),s}}function zy(n){const e=new Set;for(const i of n)if(e.add(i.contextId),e.size>1)return!0;return!1}const J_=(n,e,i)=>{const s=W_(n);let a;try{const f=new URL(n.request.url);a=f.pathname.substring(f.pathname.lastIndexOf("/")+1),a||(a=f.host),f.search&&(a+=f.search)}catch{a=n.request.url}let o=n.response.content.mimeType;const u=o.match(/^(.*);\s*charset=.*$/);return u&&(o=u[1]),{name:{name:a,url:n.request.url},method:n.request.method,status:{code:n.response.status,text:n.response.statusText},contentType:o,duration:n.time,size:n.response._transferSize>0?n.response._transferSize:n.response.bodySize,start:n._monotonicTime-e.minimum,route:s,resource:n,contextId:i.contextId(n),frameref:n._frameref}};function W_(n){return n._wasAborted?"aborted":n._wasContinued?"continued":n._wasFulfilled?"fulfilled":n._apiRequest?"api":""}function eT(n,e){const i=tT(e==null?void 0:e.by);i&&n.sort(i),e.negate&&n.reverse()}function tT(n){if(n==="start")return(e,i)=>e.start-i.start;if(n==="duration")return(e,i)=>e.duration-i.duration;if(n==="status")return(e,i)=>e.status.code-i.status.code;if(n==="method")return(e,i)=>{const s=e.method,a=i.method;return s.localeCompare(a)};if(n==="size")return(e,i)=>e.size-i.size;if(n==="contentType")return(e,i)=>e.contentType.localeCompare(i.contentType);if(n==="name")return(e,i)=>e.name.name.localeCompare(i.name.name);if(n==="route")return(e,i)=>e.route.localeCompare(i.route);if(n==="contextId")return(e,i)=>e.contextId.localeCompare(i.contextId)}const nT={All:()=>!0,Fetch:n=>n==="application/json",HTML:n=>n==="text/html",CSS:n=>n==="text/css",JS:n=>n.includes("javascript"),Font:n=>n.includes("font"),Image:n=>n.includes("image")};function iT({searchValue:n,resourceType:e}){return i=>{const s=nT[e];return s(i.contentType)&&i.name.url.toLowerCase().includes(n.toLowerCase())}}function Uh(n,e,i={}){var b;const s=new n.LineCounter,a={keepSourceTokens:!0,lineCounter:s,...i},o=n.parseDocument(e,a),u=[],f=w=>[s.linePos(w[0]),s.linePos(w[1])],d=w=>{u.push({message:w.message,range:[s.linePos(w.pos[0]),s.linePos(w.pos[1])]})},p=(w,E)=>{for(const x of E.items){if(x instanceof n.Scalar&&typeof x.value=="string"){const N=Xo.parse(x,a,u);N&&(w.children=w.children||[],w.children.push(N));continue}if(x instanceof n.YAMLMap){m(w,x);continue}u.push({message:"Sequence items should be strings or maps",range:f(x.range||E.range)})}},m=(w,E)=>{for(const x of E.items){if(w.children=w.children||[],!(x.key instanceof n.Scalar&&typeof x.key.value=="string")){u.push({message:"Only string keys are supported",range:f(x.key.range||E.range)});continue}const k=x.key,N=x.value;if(k.value==="text"){if(!(N instanceof n.Scalar&&typeof N.value=="string")){u.push({message:"Text value should be a string",range:f(x.value.range||E.range)});continue}w.children.push({kind:"text",text:Yf(N.value)});continue}if(k.value==="/children"){if(!(N instanceof n.Scalar&&typeof N.value=="string")||N.value!=="contain"&&N.value!=="equal"&&N.value!=="deep-equal"){u.push({message:'Strict value should be "contain", "equal" or "deep-equal"',range:f(x.value.range||E.range)});continue}w.containerMode=N.value;continue}if(k.value.startsWith("/")){if(!(N instanceof n.Scalar&&typeof N.value=="string")){u.push({message:"Property value should be a string",range:f(x.value.range||E.range)});continue}w.props=w.props??{},w.props[k.value.slice(1)]=Yf(N.value);continue}const V=Xo.parse(k,a,u);if(!V)continue;if(N instanceof n.Scalar){const G=typeof N.value;if(G!=="string"&&G!=="number"&&G!=="boolean"){u.push({message:"Node value should be a string or a sequence",range:f(x.value.range||E.range)});continue}w.children.push({...V,children:[{kind:"text",text:Yf(String(N.value))}]});continue}if(N instanceof n.YAMLSeq){w.children.push(V),p(V,N);continue}u.push({message:"Map values should be strings or sequences",range:f(x.value.range||E.range)})}},y={kind:"role",role:"fragment"};return o.errors.forEach(d),u.length?{errors:u,fragment:y}:(o.contents instanceof n.YAMLSeq||u.push({message:'Aria snapshot must be a YAML sequence, elements starting with " -"',range:o.contents?f(o.contents.range):[{line:0,col:0},{line:0,col:0}]}),u.length?{errors:u,fragment:y}:(p(y,o.contents),u.length?{errors:u,fragment:sT}:((b=y.children)==null?void 0:b.length)===1&&(!y.containerMode||y.containerMode==="contain")?{fragment:y.children[0],errors:[]}:{fragment:y,errors:[]}))}const sT={kind:"role",role:"fragment"};function lb(n){return n.replace(/[\u200b\u00ad]/g,"").replace(/[\r\n\s\t]+/g," ").trim()}function Yf(n){return{raw:n,normalized:lb(n)}}class Xo{static parse(e,i,s){try{return new Xo(e.value)._parse()}catch(a){if(a instanceof qy){const o=i.prettyErrors===!1?a.message:a.message+`:
|
|
106
|
+
`)}),v.jsx("div",{className:"network-request-details-header",children:"Time"}),v.jsx("div",{className:"network-request-details-general",children:`Start: ${_t(e)}`}),v.jsx("div",{className:"network-request-details-general",children:`Duration: ${_t(n.time)}`}),i&&v.jsx("div",{className:"network-request-details-header",children:"Request Body"}),i&&v.jsx(ur,{text:i.text,mimeType:i.mimeType,readOnly:!0,lineNumbers:!0})]}),D_=({resource:n})=>v.jsxs("div",{className:"vbox network-request-details-tab",children:[v.jsx("div",{className:"network-request-details-header",children:"Response Headers"}),v.jsx("div",{className:"network-request-details-headers",children:n.response.headers.map(e=>`${e.name}: ${e.value}`).join(`
|
|
107
|
+
`)})]}),B_=({resource:n})=>{const e=U.useContext(Xn),[i,s]=U.useState(null);return U.useEffect(()=>{(async()=>{if(e&&n.response.content._sha1){const o=n.response.content.mimeType.includes("image"),u=n.response.content.mimeType.includes("font"),f=await fetch(e.createRelativeUrl(`sha1/${n.response.content._sha1}`));if(o){const d=await f.blob(),p=new FileReader,m=new Promise(y=>p.onload=y);p.readAsDataURL(d),s({dataUrl:(await m).target.result})}else if(u){const d=await f.arrayBuffer();s({font:d})}else{const d=gh(await f.text(),n.response.content.mimeType);s({text:d,mimeType:n.response.content.mimeType})}}else s(null)})()},[n,e]),v.jsxs("div",{className:"vbox network-request-details-tab",children:[!n.response.content._sha1&&v.jsx("div",{children:"Response body is not available for this request."}),i&&i.font&&v.jsx(U_,{font:i.font}),i&&i.dataUrl&&v.jsx("div",{children:v.jsx("img",{draggable:"false",src:i.dataUrl})}),i&&i.text&&v.jsx(ur,{text:i.text,mimeType:i.mimeType,readOnly:!0,lineNumbers:!0})]})},U_=({font:n})=>{const[e,i]=U.useState(!1);return U.useEffect(()=>{let s;try{s=new FontFace("font-preview",n),s.status==="loaded"&&document.fonts.add(s),s.status==="error"&&i(!0)}catch{i(!0)}return()=>{document.fonts.delete(s)}},[n]),e?v.jsx("div",{className:"network-font-preview-error",children:"Could not load font preview"}):v.jsxs("div",{className:"network-font-preview",children:["ABCDEFGHIJKLM",v.jsx("br",{}),"NOPQRSTUVWXYZ",v.jsx("br",{}),"abcdefghijklm",v.jsx("br",{}),"nopqrstuvwxyz",v.jsx("br",{}),"1234567890"]})};function H_(n){return n<300||n===304?"green-circle":n<400?"yellow-circle":"red-circle"}function gh(n,e){if(n===null)return"Loading...";const i=n;if(i==="")return"<Empty>";if(e.includes("application/json"))try{return JSON.stringify(JSON.parse(i),null,2)}catch{return i}return e.includes("application/x-www-form-urlencoded")?decodeURIComponent(i):i}function z_(n){const[e,i]=U.useState([]);U.useEffect(()=>{const o=[];for(let u=0;u<n.columns.length-1;++u){const f=n.columns[u];o[u]=(o[u-1]||0)+n.columnWidths.get(f)}i(o)},[n.columns,n.columnWidths]);function s(o){const u=new Map(n.columnWidths.entries());for(let f=0;f<o.length;++f){const d=o[f]-(o[f-1]||0),p=n.columns[f];u.set(p,d)}n.setColumnWidths(u)}const a=U.useCallback(o=>{var u,f;(f=n.setSorting)==null||f.call(n,{by:o,negate:((u=n.sorting)==null?void 0:u.by)===o?!n.sorting.negate:!1})},[n]);return v.jsxs("div",{className:`grid-view ${n.name}-grid-view`,children:[v.jsx(eb,{orientation:"horizontal",offsets:e,setOffsets:s,resizerColor:"var(--vscode-panel-border)",resizerWidth:1,minColumnWidth:25}),v.jsxs("div",{className:"vbox",children:[v.jsx("div",{className:"grid-view-header",children:n.columns.map((o,u)=>v.jsxs("div",{className:"grid-view-header-cell "+q_(o,n.sorting),style:{width:u<n.columns.length-1?n.columnWidths.get(o):void 0},onClick:()=>n.setSorting&&a(o),children:[v.jsx("span",{className:"grid-view-header-cell-title",children:n.columnTitle(o)}),v.jsx("span",{className:"codicon codicon-triangle-up"}),v.jsx("span",{className:"codicon codicon-triangle-down"})]},n.columnTitle(o)))}),v.jsx(sc,{name:n.name,items:n.items,ariaLabel:n.ariaLabel,id:n.id,render:(o,u)=>v.jsx(v.Fragment,{children:n.columns.map((f,d)=>{const{body:p,title:m}=n.render(o,f,u);return v.jsx("div",{className:`grid-view-cell grid-view-column-${String(f)}`,title:m,style:{width:d<n.columns.length-1?n.columnWidths.get(f):void 0},children:p},n.columnTitle(f))})}),icon:n.icon,isError:n.isError,isWarning:n.isWarning,isInfo:n.isInfo,selectedItem:n.selectedItem,onAccepted:n.onAccepted,onSelected:n.onSelected,onHighlighted:n.onHighlighted,onIconClicked:n.onIconClicked,noItemsMessage:n.noItemsMessage,dataTestId:n.dataTestId,notSelectable:n.notSelectable})]})]})}function q_(n,e){return n===(e==null?void 0:e.by)?" filter-"+(e.negate?"negative":"positive"):""}const $_=["All","Fetch","HTML","JS","CSS","Font","Image"],I_={searchValue:"",resourceType:"All"},V_=({filterState:n,onFilterStateChange:e})=>v.jsxs("div",{className:"network-filters",children:[v.jsx("input",{type:"search",placeholder:"Filter network",spellCheck:!1,value:n.searchValue,onChange:i=>e({...n,searchValue:i.target.value})}),v.jsx("div",{className:"network-filters-resource-types",children:$_.map(i=>v.jsx("div",{title:i,onClick:()=>e({...n,resourceType:i}),className:`network-filters-resource-type ${n.resourceType===i?"selected":""}`,children:i},i))})]}),G_=z_;function K_(n,e){const i=U.useMemo(()=>((n==null?void 0:n.resources)||[]).filter(u=>e?!!u._monotonicTime&&u._monotonicTime>=e.minimum&&u._monotonicTime<=e.maximum:!0),[n,e]),s=U.useMemo(()=>new Z_(n),[n]);return{resources:i,contextIdMap:s}}const Y_=({boundaries:n,networkModel:e,onEntryHovered:i,sdkLanguage:s})=>{const[a,o]=U.useState(void 0),[u,f]=U.useState(void 0),[d,p]=U.useState(I_),{renderedEntries:m,renderedEntryMap:y}=U.useMemo(()=>{const N=e.resources.map(q=>J_(q,n,e.contextIdMap)).filter(iT(d));a&&eT(N,a);const V=new Map(N.map((q,D)=>[`${q.frameref}:${D}`,q]));return{renderedEntries:N,renderedEntryMap:V}},[e.resources,e.contextIdMap,d,a,n]),b=u?y.get(u):void 0,[w,E]=U.useState(()=>new Map(ab().map(N=>[N,P_(N)]))),x=U.useCallback(N=>{const V=m.indexOf(N);f(V!==-1?`${N.frameref}:${V}`:void 0)},[m]),_=U.useCallback(N=>{p(N),f(void 0)},[]);if(!e.resources.length)return v.jsx(ns,{text:"No network calls"});const k=v.jsx(G_,{name:"network",ariaLabel:"Network requests",items:m,selectedItem:b,onSelected:x,onHighlighted:N=>i==null?void 0:i(N==null?void 0:N.resource),columns:F_(!!b,m),columnTitle:X_,columnWidths:w,setColumnWidths:E,isError:N=>N.status.code>=400||N.status.code===-1,isInfo:N=>!!N.route,render:(N,V)=>Q_(N,V),sorting:a,setSorting:o});return v.jsxs(v.Fragment,{children:[v.jsx(V_,{filterState:d,onFilterStateChange:_}),!b&&k,b&&v.jsx(Io,{sidebarSize:w.get("name"),sidebarIsFirst:!0,orientation:"horizontal",settingName:"networkResourceDetails",main:v.jsx(R_,{resource:b.resource,sdkLanguage:s,startTimeOffset:b.start,onClose:()=>f(void 0)}),sidebar:k})]})},X_=n=>n==="contextId"?"Source":n==="name"?"Name":n==="method"?"Method":n==="status"?"Status":n==="contentType"?"Content Type":n==="duration"?"Duration":n==="size"?"Size":n==="start"?"Start":n==="route"?"Route":"",P_=n=>n==="name"?200:n==="method"||n==="status"?60:n==="contentType"?200:n==="contextId"?60:100;function F_(n,e){if(n){const s=["name"];return zy(e)&&s.unshift("contextId"),s}let i=ab();return zy(e)||(i=i.filter(s=>s!=="contextId")),i}function ab(){return["contextId","name","method","status","contentType","duration","size","start","route"]}const Q_=(n,e)=>e==="contextId"?{body:n.contextId,title:n.name.url}:e==="name"?{body:n.name.name,title:n.name.url}:e==="method"?{body:n.method}:e==="status"?{body:n.status.code>0?n.status.code:"",title:n.status.text}:e==="contentType"?{body:n.contentType}:e==="duration"?{body:_t(n.duration)}:e==="size"?{body:kw(n.size)}:e==="start"?{body:_t(n.start)}:e==="route"?{body:n.route}:{body:""};class Z_{constructor(e){Ne(this,"_pagerefToShortId",new Map);Ne(this,"_contextToId",new Map);Ne(this,"_lastPageId",0);Ne(this,"_lastApiRequestContextId",0)}contextId(e){return e.pageref?this._pageId(e.pageref):e._apiRequest?this._apiRequestContextId(e):""}_pageId(e){let i=this._pagerefToShortId.get(e);return i||(++this._lastPageId,i="page#"+this._lastPageId,this._pagerefToShortId.set(e,i)),i}_apiRequestContextId(e){const i=N0(e);if(!i)return"";let s=this._contextToId.get(i);return s||(++this._lastApiRequestContextId,s="api#"+this._lastApiRequestContextId,this._contextToId.set(i,s)),s}}function zy(n){const e=new Set;for(const i of n)if(e.add(i.contextId),e.size>1)return!0;return!1}const J_=(n,e,i)=>{const s=W_(n);let a;try{const f=new URL(n.request.url);a=f.pathname.substring(f.pathname.lastIndexOf("/")+1),a||(a=f.host),f.search&&(a+=f.search)}catch{a=n.request.url}let o=n.response.content.mimeType;const u=o.match(/^(.*);\s*charset=.*$/);return u&&(o=u[1]),{name:{name:a,url:n.request.url},method:n.request.method,status:{code:n.response.status,text:n.response.statusText},contentType:o,duration:n.time,size:n.response._transferSize>0?n.response._transferSize:n.response.bodySize,start:n._monotonicTime-e.minimum,route:s,resource:n,contextId:i.contextId(n),frameref:n._frameref}};function W_(n){return n._wasAborted?"aborted":n._wasContinued?"continued":n._wasFulfilled?"fulfilled":n._apiRequest?"api":""}function eT(n,e){const i=tT(e==null?void 0:e.by);i&&n.sort(i),e.negate&&n.reverse()}function tT(n){if(n==="start")return(e,i)=>e.start-i.start;if(n==="duration")return(e,i)=>e.duration-i.duration;if(n==="status")return(e,i)=>e.status.code-i.status.code;if(n==="method")return(e,i)=>{const s=e.method,a=i.method;return s.localeCompare(a)};if(n==="size")return(e,i)=>e.size-i.size;if(n==="contentType")return(e,i)=>e.contentType.localeCompare(i.contentType);if(n==="name")return(e,i)=>e.name.name.localeCompare(i.name.name);if(n==="route")return(e,i)=>e.route.localeCompare(i.route);if(n==="contextId")return(e,i)=>e.contextId.localeCompare(i.contextId)}const nT={All:()=>!0,Fetch:n=>n==="application/json",HTML:n=>n==="text/html",CSS:n=>n==="text/css",JS:n=>n.includes("javascript"),Font:n=>n.includes("font"),Image:n=>n.includes("image")};function iT({searchValue:n,resourceType:e}){return i=>{const s=nT[e];return s(i.contentType)&&i.name.url.toLowerCase().includes(n.toLowerCase())}}function Uh(n,e,i={}){var b;const s=new n.LineCounter,a={keepSourceTokens:!0,lineCounter:s,...i},o=n.parseDocument(e,a),u=[],f=w=>[s.linePos(w[0]),s.linePos(w[1])],d=w=>{u.push({message:w.message,range:[s.linePos(w.pos[0]),s.linePos(w.pos[1])]})},p=(w,E)=>{for(const x of E.items){if(x instanceof n.Scalar&&typeof x.value=="string"){const N=Xo.parse(x,a,u);N&&(w.children=w.children||[],w.children.push(N));continue}if(x instanceof n.YAMLMap){m(w,x);continue}u.push({message:"Sequence items should be strings or maps",range:f(x.range||E.range)})}},m=(w,E)=>{for(const x of E.items){if(w.children=w.children||[],!(x.key instanceof n.Scalar&&typeof x.key.value=="string")){u.push({message:"Only string keys are supported",range:f(x.key.range||E.range)});continue}const k=x.key,N=x.value;if(k.value==="text"){if(!(N instanceof n.Scalar&&typeof N.value=="string")){u.push({message:"Text value should be a string",range:f(x.value.range||E.range)});continue}w.children.push({kind:"text",text:Yf(N.value)});continue}if(k.value==="/children"){if(!(N instanceof n.Scalar&&typeof N.value=="string")||N.value!=="contain"&&N.value!=="equal"&&N.value!=="deep-equal"){u.push({message:'Strict value should be "contain", "equal" or "deep-equal"',range:f(x.value.range||E.range)});continue}w.containerMode=N.value;continue}if(k.value.startsWith("/")){if(!(N instanceof n.Scalar&&typeof N.value=="string")){u.push({message:"Property value should be a string",range:f(x.value.range||E.range)});continue}w.props=w.props??{},w.props[k.value.slice(1)]=Yf(N.value);continue}const V=Xo.parse(k,a,u);if(!V)continue;if(N instanceof n.Scalar){const G=typeof N.value;if(G!=="string"&&G!=="number"&&G!=="boolean"){u.push({message:"Node value should be a string or a sequence",range:f(x.value.range||E.range)});continue}w.children.push({...V,children:[{kind:"text",text:Yf(String(N.value))}]});continue}if(N instanceof n.YAMLSeq){w.children.push(V),p(V,N);continue}u.push({message:"Map values should be strings or sequences",range:f(x.value.range||E.range)})}},y={kind:"role",role:"fragment"};return o.errors.forEach(d),u.length?{errors:u,fragment:y}:(o.contents instanceof n.YAMLSeq||u.push({message:'Aria snapshot must be a YAML sequence, elements starting with " -"',range:o.contents?f(o.contents.range):[{line:0,col:0},{line:0,col:0}]}),u.length?{errors:u,fragment:y}:(p(y,o.contents),u.length?{errors:u,fragment:sT}:((b=y.children)==null?void 0:b.length)===1&&(!y.containerMode||y.containerMode==="contain")?{fragment:y.children[0],errors:[]}:{fragment:y,errors:[]}))}const sT={kind:"role",role:"fragment"};function lb(n){return n.replace(/[\u200b\u00ad]/g,"").replace(/[\r\n\s\t]+/g," ").trim()}function Yf(n){return{raw:n,normalized:lb(n)}}class Xo{static parse(e,i,s){try{return new Xo(e.value)._parse()}catch(a){if(a instanceof qy){const o=i.prettyErrors===!1?a.message:a.message+`:
|
|
108
108
|
|
|
109
109
|
`+e.value+`
|
|
110
110
|
`+" ".repeat(a.pos)+`^
|