test-lah 1.0.3 → 1.0.4

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 (36) hide show
  1. package/.next/standalone/.next/BUILD_ID +1 -1
  2. package/.next/standalone/.next/app-build-manifest.json +6 -6
  3. package/.next/standalone/.next/app-path-routes-manifest.json +1 -1
  4. package/.next/standalone/.next/build-manifest.json +2 -2
  5. package/.next/standalone/.next/prerender-manifest.json +24 -24
  6. package/.next/standalone/.next/server/app/(dashboard)/integrations/page.js +1 -1
  7. package/.next/standalone/.next/server/app/(dashboard)/integrations/page_client-reference-manifest.js +1 -1
  8. package/.next/standalone/.next/server/app/(dashboard)/projects/[projectId]/page.js +1 -1
  9. package/.next/standalone/.next/server/app/(dashboard)/projects/[projectId]/page_client-reference-manifest.js +1 -1
  10. package/.next/standalone/.next/server/app/(dashboard)/projects/[projectId]/summary/page_client-reference-manifest.js +1 -1
  11. package/.next/standalone/.next/server/app/_not-found.html +1 -1
  12. package/.next/standalone/.next/server/app/_not-found.rsc +1 -1
  13. package/.next/standalone/.next/server/app/index.html +1 -1
  14. package/.next/standalone/.next/server/app/index.rsc +1 -1
  15. package/.next/standalone/.next/server/app/integrations.html +1 -1
  16. package/.next/standalone/.next/server/app/integrations.rsc +2 -2
  17. package/.next/standalone/.next/server/app/login.html +1 -1
  18. package/.next/standalone/.next/server/app/login.rsc +1 -1
  19. package/.next/standalone/.next/server/app/projects.html +1 -1
  20. package/.next/standalone/.next/server/app/projects.rsc +1 -1
  21. package/.next/standalone/.next/server/app-paths-manifest.json +1 -1
  22. package/.next/standalone/.next/server/pages/404.html +1 -1
  23. package/.next/standalone/.next/server/pages/500.html +1 -1
  24. package/.next/standalone/.next/server/pages-manifest.json +1 -1
  25. package/.next/standalone/.next/static/chunks/app/(dashboard)/integrations/page-ef2f1f3c1d497f2a.js +1 -0
  26. package/.next/{static/chunks/app/(dashboard)/projects/[projectId]/page-73afaf41f4596daf.js → standalone/.next/static/chunks/app/(dashboard)/projects/[projectId]/page-500a663fdab52791.js} +1 -1
  27. package/.next/standalone/package.json +1 -1
  28. package/.next/static/chunks/app/(dashboard)/integrations/page-ef2f1f3c1d497f2a.js +1 -0
  29. package/.next/{standalone/.next/static/chunks/app/(dashboard)/projects/[projectId]/page-73afaf41f4596daf.js → static/chunks/app/(dashboard)/projects/[projectId]/page-500a663fdab52791.js} +1 -1
  30. package/package.json +1 -1
  31. package/.next/standalone/.next/static/chunks/app/(dashboard)/integrations/page-80ace08b47978071.js +0 -1
  32. package/.next/static/chunks/app/(dashboard)/integrations/page-80ace08b47978071.js +0 -1
  33. /package/.next/standalone/.next/static/{_FgGlDafA-JmrzQ8CNNcc → 9OtwPzpy1ovRWzffCh95h}/_buildManifest.js +0 -0
  34. /package/.next/standalone/.next/static/{_FgGlDafA-JmrzQ8CNNcc → 9OtwPzpy1ovRWzffCh95h}/_ssgManifest.js +0 -0
  35. /package/.next/static/{_FgGlDafA-JmrzQ8CNNcc → 9OtwPzpy1ovRWzffCh95h}/_buildManifest.js +0 -0
  36. /package/.next/static/{_FgGlDafA-JmrzQ8CNNcc → 9OtwPzpy1ovRWzffCh95h}/_ssgManifest.js +0 -0
@@ -64,7 +64,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
64
64
  ${a}`:a),className:"px-2 py-0.5 text-[10px] rounded-full border transition-colors hover:bg-[var(--bg-secondary)]",style:{borderColor:"var(--border)",color:"var(--text-tertiary)"},children:["+ ",a]},a))})]}),(0,g.jsxs)("div",{children:[(0,g.jsxs)("label",{className:"text-xs font-medium block mb-1.5",style:{color:"var(--text-secondary)"},children:["Screenshots ",(0,g.jsx)("span",{className:"font-normal",style:{color:"var(--text-tertiary)"},children:"(optional)"})]}),v.length>0&&(0,g.jsx)("div",{className:"flex flex-wrap gap-2 mb-2",children:v.map((a,b)=>(0,g.jsxs)("div",{className:"relative group rounded-lg overflow-hidden border",style:{borderColor:"var(--border)",width:72,height:72},children:[(0,g.jsx)("img",{src:a,alt:`Screenshot ${b+1}`,className:"w-full h-full object-cover"}),(0,g.jsx)("button",{onClick:()=>K(b),className:"absolute top-0.5 right-0.5 w-5 h-5 rounded-full flex items-center justify-center opacity-0 group-hover:opacity-100 transition-opacity",style:{backgroundColor:"rgba(0,0,0,0.7)",color:"#fff"},title:"Remove",children:(0,g.jsxs)("svg",{width:"10",height:"10",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"3",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,g.jsx)("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),(0,g.jsx)("line",{x1:"6",y1:"6",x2:"18",y2:"18"})]})})]},b))}),(0,g.jsx)("div",{ref:E,onDragOver:L,onDragLeave:M,onDrop:N,onClick:()=>D.current?.click(),className:"rounded-lg border-2 border-dashed cursor-pointer transition-colors",style:{borderColor:F?"var(--accent)":"var(--border)",backgroundColor:F?"var(--accent)08":"transparent",padding:v.length>0?"8px":"16px"},children:(0,g.jsxs)("div",{className:"flex items-center justify-center gap-2",children:[(0,g.jsxs)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"var(--text-tertiary)",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,g.jsx)("rect",{x:"3",y:"3",width:"18",height:"18",rx:"2",ry:"2"}),(0,g.jsx)("circle",{cx:"8.5",cy:"8.5",r:"1.5"}),(0,g.jsx)("polyline",{points:"21 15 16 10 5 21"})]}),(0,g.jsx)("span",{className:"text-[11px]",style:{color:"var(--text-tertiary)"},children:v.length>0?`Add more (${v.length}/5) \xb7 paste, drop, or click`:"Paste from clipboard, drop, or click to upload"})]})}),(0,g.jsx)("input",{ref:D,type:"file",accept:"image/*",multiple:!0,className:"hidden",onChange:O})]}),t&&(0,g.jsx)("div",{className:"text-xs px-3 py-2 rounded-lg",style:{backgroundColor:"var(--status-fail-bg)",color:"var(--status-fail-text)"},children:t}),!e&&(0,g.jsx)("div",{className:"text-xs px-3 py-2 rounded-lg",style:{backgroundColor:"var(--status-skip-bg)",color:"var(--status-skip-text)"},children:"No AI provider configured. Go to Integrations to set up."}),(0,g.jsxs)("div",{className:"rounded-lg border overflow-hidden",style:{borderColor:"var(--border)"},children:[(0,g.jsxs)("button",{onClick:()=>q(a=>!a),className:"w-full flex items-center justify-between px-3 py-2 transition-colors hover:bg-[var(--bg-secondary)]",children:[(0,g.jsx)("span",{className:"text-xs font-medium",style:{color:"var(--text-secondary)"},children:"Language"}),(0,g.jsxs)("div",{className:"flex items-center gap-2",children:[(0,g.jsx)("span",{className:"text-[10px] font-mono font-semibold px-1.5 py-0.5 rounded",style:{backgroundColor:"var(--bg-secondary)",color:"var(--text-tertiary)"},children:"en"===n?"EN":"ID"}),(0,g.jsx)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"var(--text-tertiary)",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",style:{transform:p?"rotate(180deg)":"rotate(0deg)",transition:"transform 200ms ease-out"},children:(0,g.jsx)("polyline",{points:"6 9 12 15 18 9"})})]})]}),(0,g.jsx)("div",{style:{maxHeight:p?"80px":"0px",overflow:"hidden",transition:"max-height 200ms ease-out"},children:(0,g.jsx)("div",{className:"px-3 pb-2 pt-1",children:(0,g.jsxs)("select",{value:n,onChange:a=>{o(a.target.value),q(!1)},className:"w-full px-2.5 py-1.5 text-xs rounded-md border outline-none transition-colors cursor-pointer",style:{borderColor:"var(--border)",backgroundColor:"var(--bg-card)",color:"var(--text-primary)"},children:[(0,g.jsx)("option",{value:"en",children:"English"}),(0,g.jsx)("option",{value:"id",children:"Bahasa Indonesia"})]})})})]})]}),(0,g.jsxs)("div",{className:"px-5 py-4 border-t flex gap-2",style:{borderColor:"var(--border)"},children:[(0,g.jsx)("button",{onClick:b,className:"flex-1 px-3 py-2.5 text-xs font-medium rounded-lg border transition-colors hover:bg-[var(--bg-secondary)]",style:{borderColor:"var(--border)",color:"var(--text-secondary)"},children:"Cancel"}),(0,g.jsx)("button",{onClick:P,disabled:r||!e,className:"flex-1 px-3 py-2.5 text-xs font-medium rounded-lg transition-all hover:opacity-90 active:scale-[0.98] disabled:opacity-50 disabled:cursor-not-allowed",style:{background:"linear-gradient(135deg, #8D6E63, #A1887F)",color:"#fff",boxShadow:"0 2px 8px rgba(141,110,99,0.3)"},children:r?(0,g.jsxs)("span",{className:"flex items-center justify-center gap-2",children:[(0,g.jsx)("svg",{className:"animate-spin",width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:(0,g.jsx)("circle",{cx:"12",cy:"12",r:"10",strokeDasharray:"30 70"})}),"Generating..."]}):"Generate Test Cases"})]})]}),(0,g.jsx)("div",{className:"flex-shrink-0 overflow-hidden",style:{width:r?"280px":"0px",transition:"width 400ms cubic-bezier(0.4, 0, 0.2, 1)"},children:(0,g.jsxs)("div",{className:"w-[280px] h-full flex flex-col items-center justify-center p-5 border-l",style:{borderColor:"var(--border)",backgroundColor:"var(--bg-secondary)",opacity:+!!r,transition:"opacity 300ms ease-out 100ms"},children:[(0,g.jsx)("div",{className:"w-full rounded-xl overflow-hidden mb-4 border",style:{borderColor:"var(--border)",height:180,backgroundColor:"var(--bg-card)"},children:x&&(0,g.jsx)("img",{src:x,alt:"Cute cat",width:280,height:180,className:"w-full h-full object-cover",style:{animation:"fadeIn 800ms ease-out"},onError:a=>{a.target.style.display="none"}},B)}),(0,g.jsx)("p",{className:"text-xs text-center mb-3",style:{color:"var(--text-secondary)",animation:"fadeIn 800ms ease-out"},children:z}),(0,g.jsx)("button",{onClick:H,className:"px-3 py-1.5 text-[10px] rounded-full border transition-colors hover:bg-[var(--bg-card)]",style:{borderColor:"var(--border)",color:"var(--text-tertiary)"},children:"New cat"})]})})]})}):null}let dh={pass:{bg:"var(--status-pass-bg)",text:"var(--status-pass-text)"},fail:{bg:"var(--status-fail-bg)",text:"var(--status-fail-text)"},skip:{bg:"var(--status-skip-bg)",text:"var(--status-skip-text)"},untested:{bg:"var(--status-untested-bg)",text:"var(--status-untested-text)"}};function di({open:a,onClose:b,node:c,testCases:d,stats:e}){return a?(0,g.jsxs)("div",{style:{backgroundColor:"rgba(0,0,0,0.3)",animation:"fadeIn 150ms ease-out"},onClick:b,className:"jsx-540c0278eef48442 fixed inset-0 z-[300] flex items-center justify-center",children:[(0,g.jsxs)("div",{style:{backgroundColor:"var(--bg-card)",boxShadow:"var(--shadow-lg)",borderRadius:"var(--radius-lg)",animation:"fadeInUp 200ms ease-out"},onClick:a=>a.stopPropagation(),className:"jsx-540c0278eef48442 w-full max-w-lg mx-4 rounded-xl overflow-hidden",children:[(0,g.jsxs)("div",{style:{borderColor:"var(--border)"},className:"jsx-540c0278eef48442 px-5 pt-5 pb-4 border-b",children:[(0,g.jsxs)("div",{className:"jsx-540c0278eef48442 flex items-center justify-between mb-2",children:[(0,g.jsxs)("div",{className:"jsx-540c0278eef48442 flex items-center gap-2",children:[c.code&&(0,g.jsx)("span",{style:{backgroundColor:"var(--bg-secondary)",color:"var(--text-tertiary)"},className:"jsx-540c0278eef48442 text-[10px] font-mono px-1.5 py-0.5 rounded",children:c.code}),(0,g.jsx)("h3",{style:{color:"var(--text-primary)"},className:"jsx-540c0278eef48442 text-sm font-semibold",children:c.label})]}),(0,g.jsx)("button",{onClick:b,style:{color:"var(--text-tertiary)"},className:"jsx-540c0278eef48442 text-[10px] opacity-50 hover:opacity-100",children:"\xd7"})]}),c.notes&&(0,g.jsx)("p",{style:{color:"var(--text-tertiary)"},className:"jsx-540c0278eef48442 text-xs",children:c.notes})]}),(0,g.jsxs)("div",{className:"jsx-540c0278eef48442 grid grid-cols-4 gap-3 p-5",children:[(0,g.jsx)(dj,{label:"Total",value:e.total}),(0,g.jsx)(dj,{label:"Pass",value:e.pass,color:"var(--status-pass-text)"}),(0,g.jsx)(dj,{label:"Fail",value:e.fail,color:"var(--status-fail-text)"}),(0,g.jsx)(dj,{label:"Untested",value:e.untested,color:"var(--status-untested-text)"})]}),(0,g.jsxs)("div",{className:"jsx-540c0278eef48442 px-5 pb-4",children:[(0,g.jsxs)("div",{style:{color:"var(--text-tertiary)"},className:"jsx-540c0278eef48442 flex items-center justify-between text-[10px] mb-1.5",children:[(0,g.jsx)("span",{className:"jsx-540c0278eef48442",children:"Pass Rate"}),(0,g.jsxs)("span",{style:{color:e.passRate>=80?"var(--status-pass-text)":e.passRate>=50?"var(--status-skip-text)":"var(--status-fail-text)",fontWeight:600},className:"jsx-540c0278eef48442",children:[e.passRate,"%"]})]}),(0,g.jsx)("div",{style:{backgroundColor:"var(--bg-secondary)"},className:"jsx-540c0278eef48442 h-2 w-full rounded-full overflow-hidden",children:(0,g.jsx)("div",{style:{width:`${e.passRate}%`,backgroundColor:e.passRate>=80?"var(--status-pass-text)":e.passRate>=50?"var(--status-skip-text)":"var(--status-fail-text)"},className:"jsx-540c0278eef48442 h-full rounded-full transition-all duration-500"})})]}),d.length>0&&(0,g.jsxs)("div",{className:"jsx-540c0278eef48442 px-5 pb-4",children:[(0,g.jsx)("h4",{style:{color:"var(--text-tertiary)"},className:"jsx-540c0278eef48442 text-[10px] font-semibold uppercase tracking-wider mb-2",children:"Test Cases"}),(0,g.jsx)("div",{className:"jsx-540c0278eef48442 space-y-1.5 max-h-48 overflow-y-auto",children:d.map(a=>{let b=dh[a.status]||dh.untested;return(0,g.jsxs)("div",{style:{borderColor:"var(--border)"},className:"jsx-540c0278eef48442 flex items-center gap-2 px-3 py-2 rounded-lg border",children:[(0,g.jsx)("span",{style:{backgroundColor:b.bg,color:b.text},className:"jsx-540c0278eef48442 text-[9px] font-mono px-1.5 py-0.5 rounded-full flex-shrink-0",children:a.status}),(0,g.jsx)("span",{style:{color:"var(--text-primary)"},className:"jsx-540c0278eef48442 text-[11px] flex-1 truncate",children:a.title}),a.code&&(0,g.jsx)("span",{style:{color:"var(--text-tertiary)"},className:"jsx-540c0278eef48442 text-[9px] font-mono flex-shrink-0",children:a.code})]},a.id)})})]}),0===d.length&&(0,g.jsx)("div",{className:"jsx-540c0278eef48442 px-5 pb-5 text-center",children:(0,g.jsx)("p",{style:{color:"var(--text-tertiary)"},className:"jsx-540c0278eef48442 text-xs",children:"No test cases for this node yet."})}),(0,g.jsx)("div",{style:{borderColor:"var(--border)",backgroundColor:"var(--bg-secondary)"},className:"jsx-540c0278eef48442 px-5 py-3 border-t",children:(0,g.jsx)("button",{onClick:b,style:{borderColor:"var(--border)",color:"var(--text-secondary)"},className:"jsx-540c0278eef48442 w-full px-3 py-2 text-xs font-medium rounded-lg border transition-colors hover:bg-[var(--bg-card)]",children:"Close"})})]}),(0,g.jsx)(i(),{id:"540c0278eef48442",children:"@keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes fadeInUp{from{opacity:0;transform:translatey(12px)}to{opacity:1;transform:translatey(0)}}"})]}):null}function dj({label:a,value:b,color:c}){return(0,g.jsxs)("div",{className:"text-center p-2 rounded-lg border",style:{borderColor:"var(--border)"},children:[(0,g.jsx)("div",{className:"text-[10px] mb-0.5",style:{color:"var(--text-tertiary)"},children:a}),(0,g.jsx)("div",{className:"text-lg font-semibold",style:{color:c??"var(--text-primary)"},children:b})]})}function dk(a){let b=[],c="",d=!1;for(let e=0;e<a.length;e++){let f=a[e];d?'"'===f?e+1<a.length&&'"'===a[e+1]?(c+='"',e++):d=!1:c+=f:'"'===f?d=!0:","===f?(b.push(c),c=""):c+=f}return b.push(c),b}function dl({open:a,onClose:b,onImport:c,nodeLabel:d}){let[e,f]=(0,j.useState)("csv"),[h,i]=(0,j.useState)(null),[k,l]=(0,j.useState)(null),[m,n]=(0,j.useState)(!1),o=(0,j.useRef)(null),p=()=>{i(null),l(null),n(!1)},q=(0,j.useCallback)(a=>{i(null),l(null);let b=new FileReader;b.onload=()=>{try{let c=b.result,d=a.name.endsWith(".json")||"application/json"===a.type?function(a){let b=JSON.parse(a),c=Array.isArray(b)?b:b.testCases||b.test_cases||b.cases;if(!Array.isArray(c))throw Error('JSON must be an array of test cases, or an object with a "testCases" array');let d=[];for(let a of c){if("string"==typeof a){a.trim()&&d.push({title:a.trim(),steps:"",expected:""});continue}if("object"!=typeof a||!a)continue;let b=a.title||a.name||a.testCase||a["test case"]||"";b&&"string"==typeof b&&d.push({title:b.trim(),steps:String(a.steps||a.instructions||"").trim(),expected:String(a.expected||a["expected result"]||a.result||"").trim()})}if(0===d.length)throw Error("No valid test cases found in JSON");return d}(c):function(a){let b=a.split("\n").map(a=>a.trim()).filter(a=>a.length>0);if(b.length<2)throw Error("CSV must have a header row and at least one data row");let c=dk(b[0]).map(a=>a.toLowerCase().trim()),d=c.findIndex(a=>"title"===a||"test case"===a||"testcase"===a||"name"===a||"test case title"===a),e=c.findIndex(a=>"steps"===a||"test steps"===a||"step"===a||"instructions"===a),f=c.findIndex(a=>"expected"===a||"expected result"===a||"expected results"===a||"result"===a);if(-1===d)throw Error('Could not find a "title" or "test case" column in the CSV header');let g=[];for(let a=1;a<b.length;a++){let c=dk(b[a]),h=(c[d]||"").trim();h&&g.push({title:h,steps:e>=0?(c[e]||"").trim():"",expected:f>=0?(c[f]||"").trim():""})}if(0===g.length)throw Error("No valid test cases found in CSV");return g}(c);l(d)}catch(a){i(a instanceof Error?a.message:"Failed to parse file")}},b.onerror=()=>i("Failed to read file"),b.readAsText(a)},[]);return a?(0,g.jsx)("div",{className:"fixed inset-0 z-[300] flex items-center justify-center",style:{backgroundColor:"rgba(0,0,0,0.3)",animation:"fadeIn 150ms ease-out"},onClick:()=>{p(),b()},children:(0,g.jsxs)("div",{className:"w-full max-w-lg mx-4 rounded-xl overflow-hidden",style:{backgroundColor:"var(--bg-card)",boxShadow:"var(--shadow-lg)"},onClick:a=>a.stopPropagation(),children:[(0,g.jsxs)("div",{className:"px-5 pt-5 pb-4 border-b",style:{borderColor:"var(--border)"},children:[(0,g.jsx)("h3",{className:"text-sm font-semibold mb-1",style:{color:"var(--text-primary)"},children:"Import Test Cases"}),(0,g.jsxs)("p",{className:"text-xs",style:{color:"var(--text-tertiary)"},children:["Import test cases into “",d,"” from CSV or JSON"]})]}),(0,g.jsxs)("div",{className:"px-5 py-4 space-y-4",children:[(0,g.jsxs)("div",{className:"text-[11px] rounded-lg px-3 py-2",style:{backgroundColor:"var(--bg-secondary)",color:"var(--text-tertiary)"},children:[(0,g.jsx)("p",{className:"font-medium mb-1",style:{color:"var(--text-secondary)"},children:"Supported formats:"}),(0,g.jsxs)("ul",{className:"space-y-0.5 ml-3",children:[(0,g.jsxs)("li",{children:[(0,g.jsx)("strong",{children:"CSV:"})," Header row with columns: title, steps, expected (or similar names)"]}),(0,g.jsxs)("li",{children:[(0,g.jsx)("strong",{children:"JSON:"}),' Array of objects with "title", "steps", "expected" fields']})]})]}),(0,g.jsx)("div",{onDragOver:a=>{a.preventDefault(),n(!0)},onDragLeave:()=>n(!1),onDrop:a=>{a.preventDefault(),n(!1);let b=a.dataTransfer.files[0];b&&q(b)},onClick:()=>o.current?.click(),className:"border-2 border-dashed rounded-lg cursor-pointer transition-colors py-8",style:{borderColor:m?"var(--accent)":"var(--border)",backgroundColor:m?"var(--accent)08":"transparent"},children:(0,g.jsxs)("div",{className:"flex flex-col items-center gap-2",children:[(0,g.jsxs)("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"var(--text-tertiary)",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,g.jsx)("path",{d:"M21 15v4a2 2 0 01-2 2H5a2 2 0 01-2-2v-4"}),(0,g.jsx)("polyline",{points:"17 8 12 3 7 8"}),(0,g.jsx)("line",{x1:"12",y1:"3",x2:"12",y2:"15"})]}),(0,g.jsx)("span",{className:"text-xs",style:{color:"var(--text-tertiary)"},children:"Drop a .csv or .json file here, or click to browse"})]})}),(0,g.jsx)("input",{ref:o,type:"file",accept:".csv,.json",className:"hidden",onChange:a=>{let b=a.target.files?.[0];b&&q(b),a.target.value=""}}),h&&(0,g.jsx)("div",{className:"text-xs px-3 py-2 rounded-lg",style:{backgroundColor:"var(--status-fail-bg)",color:"var(--status-fail-text)"},children:h}),k&&k.length>0&&(0,g.jsxs)("div",{children:[(0,g.jsxs)("div",{className:"flex items-center justify-between mb-2",children:[(0,g.jsxs)("span",{className:"text-xs font-medium",style:{color:"var(--text-secondary)"},children:["Preview (",k.length," test case",1!==k.length?"s":"",")"]}),(0,g.jsx)("button",{onClick:()=>l(null),className:"text-[10px] px-1.5 py-0.5 rounded border hover:bg-[var(--bg-secondary)]",style:{borderColor:"var(--border)",color:"var(--text-tertiary)"},children:"Clear"})]}),(0,g.jsxs)("div",{className:"max-h-[200px] overflow-auto rounded-lg border",style:{borderColor:"var(--border)"},children:[(0,g.jsxs)("table",{className:"text-[11px] w-full",children:[(0,g.jsx)("thead",{children:(0,g.jsxs)("tr",{style:{backgroundColor:"var(--bg-secondary)"},children:[(0,g.jsx)("th",{className:"px-2 py-1.5 text-left font-medium",style:{color:"var(--text-tertiary)"},children:"#"}),(0,g.jsx)("th",{className:"px-2 py-1.5 text-left font-medium",style:{color:"var(--text-tertiary)"},children:"Title"}),(0,g.jsx)("th",{className:"px-2 py-1.5 text-left font-medium",style:{color:"var(--text-tertiary)"},children:"Steps"}),(0,g.jsx)("th",{className:"px-2 py-1.5 text-left font-medium",style:{color:"var(--text-tertiary)"},children:"Expected"})]})}),(0,g.jsx)("tbody",{children:k.slice(0,20).map((a,b)=>(0,g.jsxs)("tr",{className:"border-t",style:{borderColor:"var(--border)"},children:[(0,g.jsx)("td",{className:"px-2 py-1",style:{color:"var(--text-tertiary)"},children:b+1}),(0,g.jsx)("td",{className:"px-2 py-1",style:{color:"var(--text-primary)"},children:a.title}),(0,g.jsx)("td",{className:"px-2 py-1 max-w-[120px] truncate",style:{color:"var(--text-secondary)"},children:a.steps||"—"}),(0,g.jsx)("td",{className:"px-2 py-1 max-w-[120px] truncate",style:{color:"var(--text-secondary)"},children:a.expected||"—"})]},b))})]}),k.length>20&&(0,g.jsxs)("div",{className:"px-2 py-1 text-[10px] border-t",style:{borderColor:"var(--border)",color:"var(--text-tertiary)"},children:["...and ",k.length-20," more"]})]})]})]}),(0,g.jsxs)("div",{className:"px-5 py-4 border-t flex gap-2",style:{borderColor:"var(--border)"},children:[(0,g.jsx)("button",{onClick:()=>{p(),b()},className:"flex-1 px-3 py-2.5 text-xs font-medium rounded-lg border transition-colors hover:bg-[var(--bg-secondary)]",style:{borderColor:"var(--border)",color:"var(--text-secondary)"},children:"Cancel"}),(0,g.jsxs)("button",{onClick:()=>{k&&0!==k.length&&(c(k),p(),b())},disabled:!k||0===k.length,className:"flex-1 px-3 py-2.5 text-xs font-medium rounded-lg transition-all hover:opacity-90 active:scale-[0.98] disabled:opacity-50 disabled:cursor-not-allowed",style:{background:"linear-gradient(135deg, #8D6E63, #A1887F)",color:"#fff"},children:["Import ",k?`(${k.length})`:""]})]})]})}):null}function dm({testCases:a,projectId:b,onClose:c}){let{e2e:d,testCases:e}=(0,m.M)(),[f,h]=(0,j.useState)(d.config.baseUrl),[i,k]=(0,j.useState)(d.config.browser),[l,n]=(0,j.useState)(d.config.headless),[o,p]=(0,j.useState)(d.config.timeout),[q,r]=(0,j.useState)("runner"),[s,t]=(0,j.useState)(!1),[u,v]=(0,j.useState)(!1),[w,x]=(0,j.useState)([]),[y,z]=(0,j.useState)(null),[A,B]=(0,j.useState)([]),[C,D]=(0,j.useState)([]),[E,F]=(0,j.useState)(null),[G,H]=(0,j.useState)(!0),[I,J]=(0,j.useState)(22),[K,L]=(0,j.useState)(!0),M=(0,j.useRef)(!1),N=(0,j.useRef)(null),[O,P]=(0,j.useState)(""),[Q,R]=(0,j.useState)(!1),[S,T]=(0,j.useState)({}),[U,V]=(0,j.useState)(null),[W,X]=(0,j.useState)(""),[Y,Z]=(0,j.useState)(null),[$,_]=(0,j.useState)(null),aa=(0,j.useRef)(null),ab=(0,j.useRef)(null),[ac,ad]=(0,j.useState)(new Set(a.map(a=>a.id))),ae=(0,j.useCallback)(a=>{a.preventDefault(),M.current=!0,document.body.style.cursor="col-resize",document.body.style.userSelect="none";let b=a=>{if(!M.current||!N.current)return;let b=N.current.getBoundingClientRect(),c=a.clientX;J(Math.min(Math.max((b.right-c)/b.width*100,15),50))},c=()=>{M.current=!1,document.body.style.cursor="",document.body.style.userSelect="",document.removeEventListener("mousemove",b),document.removeEventListener("mouseup",c)};document.addEventListener("mousemove",b),document.addEventListener("mouseup",c)},[]),af=(0,j.useCallback)((a,b)=>{B(c=>[...c,{time:new Date,type:a,message:b}]),window.setTimeout(()=>{ab.current?.scrollIntoView({behavior:"smooth"})},50)},[]),ag=(0,j.useCallback)(a=>{ad(b=>{let c=new Set(b);return c.has(a)?c.delete(a):c.add(a),c})},[]),ah=(0,j.useCallback)(()=>{ac.size===a.length?ad(new Set):ad(new Set(a.map(a=>a.id)))},[a,ac]),ai=(0,j.useCallback)(()=>{let a=localStorage.getItem("qa-llm-config");if(!a)return null;let b=JSON.parse(a),c=b.activeProvider;if(!c||!b.providers?.[c])return null;let d=b.providers[c];return d.apiKey&&d.connected?{provider:c,model:d.defaultModel,apiKey:d.apiKey,baseURL:d.baseURL}:null},[]),aj=(0,j.useCallback)(async()=>{let b=ai();if(!b)return void af("error","Please configure LLM in Integrations page first");v(!0),af("info","Generating test scripts...");try{let c=await fetch("/api/e2e",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({testCases:a.filter(a=>ac.has(a.id)),baseUrl:f,llmConfig:b,generateOnly:!0})});if(!c.ok)return void af("error","Failed to generate scripts");let e=await c.json();for(let[b,c]of(T(a=>({...a,...e.scripts})),Object.entries(e.scripts))){let e=a.find(a=>a.id===b);e&&d.saveScript(b,e.title,e.code,c)}af("success",`Generated ${Object.keys(e.scripts).length} test script(s)`),r("scripts")}catch(a){af("error",`Error: ${a instanceof Error?a.message:String(a)}`)}finally{v(!1)}},[a,ac,f,ai,af,d]),ak=(0,j.useCallback)(async()=>{let c=a.filter(a=>ac.has(a.id));if(0===c.length)return;let e=ai();if(!e)return void af("error","Please configure LLM in Integrations page first");t(!0),x([]),B([]),D([]),F(null),P(""),R(!1);let g=new AbortController;aa.current=g,af("info",`Starting E2E test run with ${c.length} test(s)...`),af("info",`Target: ${f}`),af("info",`Browser: ${i} | Headless: ${l}`);try{let a=await fetch("/api/e2e",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({testCases:c,baseUrl:f,browser:i,headless:l,timeout:o,llmConfig:e}),signal:g.signal});if(!a.ok){let b=await a.json();af("error",b.error||"Failed to run tests"),t(!1);return}let h=a.body?.getReader(),j=new TextDecoder,k="",m=[];if(h)for(;;){let{done:a,value:c}=await h.read();if(a)break;let e=(k+=j.decode(c,{stream:!0})).split("\n");for(let a of(k=e.pop()||"",e))if(a.startsWith("data: "))try{let c=JSON.parse(a.slice(6));switch(c.type){case"status":af("info",c.message);break;case"testStart":z({index:c.index,title:c.title}),af("info",`
65
65
  ━━━ Test ${c.index}/${c.total}: ${c.code} - ${c.title} ━━━`),c.script&&T(a=>({...a,[c.testCaseId]:c.script}));break;case"step":af("info",` → ${c.message}`);break;case"aiThinking":af("ai",` 🤖 ${c.message}`);break;case"aiAction":af("ai",` 🎯 ${c.message}`);break;case"screenshot":F(c.image),D(a=>[...a,{image:c.image,label:c.label,timestamp:new Date}]);break;case"stepResult":af("pass"===c.status?"success":"error",` ${"pass"===c.status?"✓":"✗"} ${c.message}`);break;case"healing":af("healing",` 🔧 ${c.message}`);break;case"healingAction":af("healing",` 💊 ${c.message}`);break;case"healed":af("success",` ✨ ${c.message}`);break;case"aiAnalysis":af("ai",` 📊 AI Analysis:
66
66
  ${c.message}`);break;case"error":af("error",` ⚠ ${c.message}`);break;case"healingReport":P(c.report),c.report&&!c.report.includes("All tests passed")&&R(!0);break;case"testComplete":af("pass"===c.status?"success":"error",`
67
- ${"pass"===c.status?"✓":"✗"} Test ${c.index} completed: ${c.status.toUpperCase()} (${c.duration}ms)`),c.script&&(T(a=>({...a,[c.testCaseId]:c.script})),d.saveScript(c.testCaseId,c.result?.testCaseTitle||"","",c.script)),m.push(c.result),x([...m]);break;case"complete":af("success","\n═══════════════════════════════════════");let e=c.results.filter(a=>"pass"===a.status).length,g=c.results.filter(a=>"fail"===a.status||"error"===a.status).length;af("success",`Test run complete: ${e} passed, ${g} failed`),d.saveRun({projectId:b,config:{baseUrl:f,browser:i,headless:l,timeout:o},results:c.results,totalPassed:e,totalFailed:g,totalDuration:c.results.reduce((a,b)=>a+b.duration,0),healingReport:O||void 0});break;case"aborted":af("warning","\n━━━ Test run stopped by user ━━━")}}catch{}}}catch(a){a instanceof Error&&"AbortError"===a.name?af("warning","\n━━━ Test run stopped by user ━━━"):af("error",`Error: ${a instanceof Error?a.message:String(a)}`)}t(!1),z(null),aa.current=null},[a,ac,f,i,l,o,af,ai,b,d,O]),al=(0,j.useCallback)(()=>{aa.current&&(af("warning","Stopping test run..."),aa.current.abort())},[af]),am=(0,j.useCallback)(()=>{if(!U||!W)return;let b=a.find(a=>a.id===U);b&&(d.saveScript(b.id,b.title,b.code,W),T(a=>({...a,[b.id]:W})),af("success",`Script saved for ${b.code}`)),V(null),X("")},[U,W,a,d,af]);return(0,g.jsxs)("div",{className:"fixed inset-0 z-50 flex items-center justify-center p-2 md:p-4",style:{backgroundColor:"rgba(0,0,0,0.5)"},children:[(0,g.jsxs)("div",{className:"w-full max-w-6xl max-h-[95vh] md:max-h-[92vh] rounded-lg shadow-xl flex flex-col",style:{backgroundColor:"var(--bg-primary)",border:"1px solid var(--border)"},children:[(0,g.jsxs)("div",{className:"flex items-center justify-between p-3 md:p-4 border-b shrink-0 sticky top-0 z-20",style:{borderColor:"var(--border)",backgroundColor:"var(--bg-primary)"},children:[(0,g.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,g.jsx)("h2",{className:"text-base md:text-lg font-semibold truncate",style:{color:"var(--text-primary)"},children:"E2E Agentic Test Runner"}),(0,g.jsx)("p",{className:"text-xs mt-0.5 hidden sm:block",style:{color:"var(--text-tertiary)"},children:"AI-powered testing with script generation & live preview"})]}),(0,g.jsxs)("div",{className:"flex items-center gap-2 ml-2",children:["runner"===q&&(0,g.jsx)("button",{onClick:()=>L(!K),className:"md:hidden p-1.5 rounded",style:{backgroundColor:K?"var(--accent)":"var(--bg-secondary)",color:K?"white":"var(--text-secondary)"},title:"Toggle config panel",children:"☰"}),(0,g.jsx)("button",{onClick:c,className:"p-1 rounded hover:opacity-80",style:{color:"var(--text-tertiary)"},children:"✕"})]})]}),(0,g.jsx)("div",{className:"flex border-b overflow-x-auto shrink-0 sticky top-0 z-10",style:{borderColor:"var(--border)",backgroundColor:"var(--bg-primary)"},children:[{id:"runner",label:"Runner",icon:"▶"},{id:"scripts",label:"Scripts",icon:"{ }"},{id:"history",label:"History",icon:"\uD83D\uDCCB"}].map(a=>(0,g.jsxs)("button",{onClick:()=>r(a.id),className:"px-3 md:px-4 py-2 text-xs flex items-center gap-1.5 transition-colors whitespace-nowrap",style:{backgroundColor:q===a.id?"var(--bg-secondary)":"transparent",color:q===a.id?"var(--accent)":"var(--text-tertiary)",borderBottom:q===a.id?"2px solid var(--accent)":"2px solid transparent"},children:[(0,g.jsx)("span",{children:a.icon}),a.label]},a.id))}),"runner"===q&&(0,g.jsxs)("div",{className:"flex-1 overflow-hidden flex flex-col md:flex-row",children:[(0,g.jsx)("div",{className:`${K?"max-h-[35vh] md:max-h-none":"max-h-0 md:max-h-none"} md:flex-[0_0_28%] border-b md:border-b-0 md:border-r overflow-auto transition-all duration-200 shrink-0`,style:{borderColor:"var(--border)"},children:(0,g.jsxs)("div",{className:"p-3 md:p-4 space-y-3 md:space-y-4",children:[(0,g.jsxs)("div",{className:"p-3 rounded-lg space-y-3",style:{backgroundColor:"var(--bg-secondary)",border:"1px solid var(--border)"},children:[(0,g.jsx)("h3",{className:"text-sm font-medium",style:{color:"var(--text-primary)"},children:"Configuration"}),(0,g.jsxs)("div",{children:[(0,g.jsx)("label",{className:"text-xs block mb-1",style:{color:"var(--text-tertiary)"},children:"Target URL"}),(0,g.jsx)("input",{type:"url",value:f,onChange:a=>h(a.target.value),disabled:s,className:"w-full text-sm px-2 py-1.5 rounded disabled:opacity-50",style:{backgroundColor:"var(--bg-primary)",border:"1px solid var(--border)",color:"var(--text-primary)"},placeholder:"http://localhost:3000"})]}),(0,g.jsxs)("div",{className:"grid grid-cols-2 gap-2",children:[(0,g.jsxs)("div",{children:[(0,g.jsx)("label",{className:"text-xs block mb-1",style:{color:"var(--text-tertiary)"},children:"Browser"}),(0,g.jsxs)("select",{value:i,onChange:a=>k(a.target.value),disabled:s,className:"w-full text-sm px-2 py-1.5 rounded disabled:opacity-50",style:{backgroundColor:"var(--bg-primary)",border:"1px solid var(--border)",color:"var(--text-primary)"},children:[(0,g.jsx)("option",{value:"chromium",children:"Chromium"}),(0,g.jsx)("option",{value:"firefox",children:"Firefox"}),(0,g.jsx)("option",{value:"webkit",children:"WebKit"}),(0,g.jsx)("option",{value:"edge",children:"Edge"})]})]}),(0,g.jsxs)("div",{children:[(0,g.jsx)("label",{className:"text-xs block mb-1",style:{color:"var(--text-tertiary)"},children:"Timeout (ms)"}),(0,g.jsx)("input",{type:"number",value:o,onChange:a=>p(Number(a.target.value)),disabled:s,className:"w-full text-sm px-2 py-1.5 rounded disabled:opacity-50",style:{backgroundColor:"var(--bg-primary)",border:"1px solid var(--border)",color:"var(--text-primary)"}})]})]}),(0,g.jsxs)("label",{className:"flex items-center gap-2 text-xs cursor-pointer",children:[(0,g.jsx)("input",{type:"checkbox",checked:l,onChange:a=>n(a.target.checked),disabled:s,className:"accent-[var(--accent)]"}),(0,g.jsx)("span",{style:{color:"var(--text-secondary)"},children:"Run headless"})]})]}),(0,g.jsxs)("div",{children:[(0,g.jsxs)("div",{className:"flex items-center justify-between mb-2",children:[(0,g.jsxs)("h3",{className:"text-sm font-medium",style:{color:"var(--text-primary)"},children:["Test Cases (",ac.size,"/",a.length,")"]}),(0,g.jsx)("button",{onClick:ah,disabled:s,className:"text-xs underline disabled:opacity-50",style:{color:"var(--accent)"},children:ac.size===a.length?"Deselect All":"Select All"})]}),(0,g.jsx)("div",{className:"max-h-[150px] md:max-h-[200px] overflow-auto rounded-lg",style:{border:"1px solid var(--border)"},children:a.map(a=>{let b=w.find(b=>b.testCaseId===a.id);return(0,g.jsxs)("label",{className:"flex items-center gap-2 px-3 py-2 text-xs border-b last:border-b-0 hover:opacity-80 cursor-pointer",style:{borderColor:"var(--border)",backgroundColor:ac.has(a.id)?"var(--bg-secondary)":"transparent"},children:[(0,g.jsx)("input",{type:"checkbox",checked:ac.has(a.id),onChange:()=>ag(a.id),disabled:s,className:"accent-[var(--accent)]"}),(0,g.jsx)("span",{className:"flex-1 truncate",style:{color:"var(--text-primary)"},children:a.code}),b&&(0,g.jsx)("span",{style:{color:"pass"===b.status?"var(--status-pass-text)":"var(--status-fail-text)"},children:"pass"===b.status?"✓":"✗"})]},a.id)})})]}),(0,g.jsxs)("div",{className:"space-y-2",children:[(0,g.jsx)("button",{onClick:aj,disabled:s||u||0===ac.size,className:"w-full px-3 py-2 text-xs rounded flex items-center justify-center gap-2 disabled:opacity-50",style:{border:"1px solid var(--border)",color:"var(--text-secondary)"},children:u?"⏳ Generating...":"{ } Generate Scripts"}),O&&(0,g.jsx)("button",{onClick:()=>R(!0),className:"w-full px-3 py-2 text-xs rounded flex items-center justify-center gap-2",style:{backgroundColor:"var(--status-skip-bg)",border:"1px solid var(--status-skip-border)",color:"var(--status-skip-text)"},children:"\uD83D\uDD27 View Healing Report"})]})]})}),(0,g.jsxs)("div",{ref:N,className:"flex-1 flex flex-col overflow-hidden min-h-0",children:[(0,g.jsxs)("div",{className:"flex-1 flex flex-col md:flex-row overflow-hidden min-h-0",children:[(0,g.jsxs)("div",{className:"flex-1 flex flex-col min-h-0 max-h-[45vh] md:max-h-none",children:[(0,g.jsx)("div",{className:"p-3 border-b",style:{borderColor:"var(--border)",backgroundColor:"var(--bg-secondary)"},children:(0,g.jsxs)("div",{className:"flex items-center justify-between",children:[(0,g.jsx)("h3",{className:"text-sm font-medium",style:{color:"var(--text-primary)"},children:"Execution Log"}),s&&(0,g.jsxs)("div",{className:"flex items-center gap-2",children:[(0,g.jsx)("div",{className:"w-2 h-2 rounded-full bg-green-500 animate-pulse"}),(0,g.jsx)("span",{className:"text-xs truncate max-w-[150px]",style:{color:"var(--text-tertiary)"},children:y?y.title:"Processing..."})]})]})}),(0,g.jsxs)("div",{className:"flex-1 overflow-auto p-3 font-mono text-xs",style:{backgroundColor:"var(--bg-primary)"},children:[0===A.length?(0,g.jsx)("div",{className:"text-center py-8",style:{color:"var(--text-tertiary)"},children:'Click "Run Tests" to start'}):A.map((a,b)=>(0,g.jsx)("div",{className:"py-0.5",style:{color:(a=>{switch(a){case"error":return"var(--status-fail-text)";case"success":return"var(--status-pass-text)";case"ai":return"#8b5cf6";case"healing":return"#f59e0b";case"warning":return"var(--status-skip-text)";default:return"var(--text-secondary)"}})(a.type)},children:a.message.split("\n").map((a,b)=>(0,g.jsx)("div",{children:a||"\xa0"},b))},b)),(0,g.jsx)("div",{ref:ab})]})]}),(0,g.jsx)("div",{className:"w-1 md:w-1.5 cursor-col-resize hover:bg-[var(--accent)] transition-colors shrink-0",style:{backgroundColor:"var(--border)"},onMouseDown:ae}),(0,g.jsxs)("div",{className:"border-t md:border-t-0 md:border-l flex flex-col transition-all duration-200",style:{borderColor:"var(--border)",maxHeight:G?"300px":"36px",minHeight:G?"200px":"36px",width:"auto",flex:G?`0 0 ${I}%`:"0 0 36px",...{}},children:[(0,g.jsxs)("div",{className:"p-2 md:p-3 border-b cursor-pointer flex items-center gap-2 shrink-0",style:{borderColor:"var(--border)",backgroundColor:"var(--bg-secondary)"},onClick:()=>H(!G),children:[(0,g.jsx)("span",{className:"text-sm",children:"\uD83D\uDDA5️"}),G&&(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)("h3",{className:"text-sm font-medium flex-1",style:{color:"var(--text-primary)"},children:"Browser Preview"}),(0,g.jsx)("span",{className:"text-xs",style:{color:"var(--text-tertiary)"},children:C.length>0?`${C.length} screenshots`:""})]})]}),G&&(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)("div",{className:"flex-1 overflow-auto p-2",style:{backgroundColor:"var(--bg-secondary)"},children:E?(0,g.jsx)("img",{src:`data:image/jpeg;base64,${E}`,alt:"Browser preview",className:"w-full rounded"}):(0,g.jsx)("div",{className:"flex items-center justify-center h-full min-h-[100px] text-xs",style:{color:"#666"},children:s?"Waiting...":"Preview during execution"})}),C.length>0&&(0,g.jsx)("div",{className:"p-2 border-t overflow-x-auto flex gap-1 shrink-0",style:{borderColor:"var(--border)"},children:C.slice(-6).map((a,b)=>(0,g.jsx)("button",{onClick:()=>F(a.image),className:"flex-shrink-0 w-10 h-7 md:w-12 md:h-8 rounded overflow-hidden border",style:{border:E===a.image?"2px solid var(--accent)":"1px solid var(--border)"},title:a.label,children:(0,g.jsx)("img",{src:`data:image/jpeg;base64,${a.image}`,alt:a.label,className:"w-full h-full object-cover"})},b))})]})]})]}),w.length>0&&(0,g.jsx)("div",{className:"p-2 md:p-3 border-t shrink-0",style:{borderColor:"var(--border)",backgroundColor:"var(--bg-secondary)"},children:(0,g.jsxs)("div",{className:"flex flex-wrap gap-3 md:gap-4 text-xs md:text-sm",children:[(0,g.jsxs)("span",{style:{color:"var(--status-pass-text)"},children:["✓ ",w.filter(a=>"pass"===a.status).length]}),(0,g.jsxs)("span",{style:{color:"var(--status-fail-text)"},children:["✗ ",w.filter(a=>"fail"===a.status).length]}),(0,g.jsxs)("span",{style:{color:"var(--status-fail-text)"},children:["⚠ ",w.filter(a=>"error"===a.status).length]}),(0,g.jsxs)("span",{className:"ml-auto",style:{color:"var(--text-tertiary)"},children:[Math.round(w.reduce((a,b)=>a+b.duration,0)/1e3),"s"]})]})})]})]}),"scripts"===q&&(0,g.jsxs)("div",{className:"flex-1 overflow-hidden flex flex-col md:flex-row",children:[(0,g.jsx)("div",{className:"w-full md:w-64 border-b md:border-b-0 md:border-r overflow-auto max-h-[30vh] md:max-h-none",style:{borderColor:"var(--border)"},children:(0,g.jsxs)("div",{className:"p-3",children:[(0,g.jsx)("h3",{className:"text-sm font-medium mb-3",style:{color:"var(--text-primary)"},children:"Test Scripts"}),(0,g.jsx)("div",{className:"space-y-1",children:a.map(a=>{let b=!!S[a.id],c=Y===a.id;return(0,g.jsxs)("button",{onClick:()=>{Z(a.id),V(null)},className:"w-full text-left px-3 py-2 text-xs rounded flex items-center gap-2",style:{backgroundColor:c?"var(--bg-secondary)":"transparent",color:"var(--text-primary)",border:c?"1px solid var(--border)":"1px solid transparent"},children:[(0,g.jsx)("span",{className:b?"text-green-500":"text-gray-400",children:b?"✓":"○"}),(0,g.jsxs)("span",{className:"truncate",children:[a.code," - ",a.title]})]},a.id)})})]})}),(0,g.jsx)("div",{className:"flex-1 flex flex-col min-h-0 max-h-[45vh] md:max-h-none",children:Y?(0,g.jsxs)(g.Fragment,{children:[(0,g.jsxs)("div",{className:"p-3 border-b flex items-center justify-between shrink-0",style:{borderColor:"var(--border)",backgroundColor:"var(--bg-secondary)"},children:[(0,g.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,g.jsxs)("h3",{className:"text-sm font-medium truncate",style:{color:"var(--text-primary)"},children:[a.find(a=>a.id===Y)?.code," - Script"]}),(0,g.jsx)("p",{className:"text-xs mt-0.5",style:{color:"var(--text-tertiary)"},children:U?"Editing":"Click Edit to modify"})]}),(0,g.jsx)("div",{className:"flex gap-2 ml-2",children:U?(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)("button",{onClick:()=>{V(null),X("")},className:"px-3 py-1.5 text-xs rounded",style:{border:"1px solid var(--border)",color:"var(--text-secondary)"},children:"Cancel"}),(0,g.jsx)("button",{onClick:am,className:"px-3 py-1.5 text-xs rounded",style:{backgroundColor:"var(--accent)",color:"white"},children:"Save"})]}):(0,g.jsx)("button",{onClick:()=>{V(Y),X(S[Y]||"")},className:"px-3 py-1.5 text-xs rounded",style:{border:"1px solid var(--border)",color:"var(--text-secondary)"},children:"✏️ Edit"})})]}),(0,g.jsx)("div",{className:"flex-1 overflow-auto p-4",style:{backgroundColor:"#1e1e2e"},children:U?(0,g.jsx)("textarea",{value:W,onChange:a=>X(a.target.value),className:"w-full h-full min-h-[300px] font-mono text-sm p-4 rounded resize-none",style:{backgroundColor:"#1e1e2e",color:"#cdd6f4",border:"none",outline:"none"},spellCheck:!1}):S[Y]?(0,g.jsx)("pre",{className:"font-mono text-sm whitespace-pre-wrap",style:{color:"#cdd6f4"},children:S[Y]}):(0,g.jsxs)("div",{className:"flex flex-col items-center justify-center h-full gap-4",children:[(0,g.jsx)("p",{className:"text-sm",style:{color:"#666"},children:"No script generated yet"}),(0,g.jsx)("button",{onClick:aj,disabled:u,className:"px-4 py-2 text-sm rounded disabled:opacity-50",style:{backgroundColor:"var(--accent)",color:"white"},children:u?"Generating...":"Generate Script"})]})})]}):(0,g.jsx)("div",{className:"flex-1 flex items-center justify-center p-4",children:(0,g.jsxs)("div",{className:"text-center",style:{color:"var(--text-tertiary)"},children:[(0,g.jsx)("p",{className:"text-3xl md:text-4xl mb-3"}),(0,g.jsx)("p",{className:"text-sm",children:"Select a test case to view its script"})]})})})]}),"history"===q&&(0,g.jsxs)("div",{className:"flex-1 overflow-hidden flex flex-col md:flex-row",children:[(0,g.jsx)("div",{className:"w-full md:w-80 border-b md:border-b-0 md:border-r overflow-auto max-h-[40vh] md:max-h-none",style:{borderColor:"var(--border)"},children:(0,g.jsxs)("div",{className:"p-3",children:[(0,g.jsxs)("div",{className:"flex items-center justify-between mb-3",children:[(0,g.jsxs)("h3",{className:"text-sm font-medium",style:{color:"var(--text-primary)"},children:["Run History (",d.runs.length,")"]}),d.runs.length>0&&(0,g.jsx)("button",{onClick:d.clearRuns,className:"text-xs underline",style:{color:"var(--status-fail-text)"},children:"Clear All"})]}),0===d.runs.length?(0,g.jsx)("div",{className:"text-center py-8 text-xs",style:{color:"var(--text-tertiary)"},children:"No test runs yet"}):(0,g.jsx)("div",{className:"space-y-2",children:d.runs.map(a=>(0,g.jsxs)("div",{className:"p-3 rounded-lg group relative",style:{backgroundColor:$?.id===a.id?"var(--bg-secondary)":"transparent",border:$?.id===a.id?"1px solid var(--border)":"1px solid transparent"},children:[(0,g.jsxs)("button",{onClick:()=>_(a),className:"w-full text-left",children:[(0,g.jsxs)("div",{className:"flex items-center justify-between",children:[(0,g.jsx)("span",{className:"text-xs font-medium",style:{color:"var(--text-primary)"},children:new Date(a.timestamp).toLocaleString()}),(0,g.jsxs)("span",{className:"text-xs",style:{color:a.totalFailed>0?"var(--status-fail-text)":"var(--status-pass-text)"},children:[a.totalPassed,"✓ ",a.totalFailed,"✗"]})]}),(0,g.jsxs)("div",{className:"text-xs mt-1 truncate",style:{color:"var(--text-tertiary)"},children:[a.config.baseUrl," • ",a.config.browser]})]}),(0,g.jsx)("button",{onClick:()=>{d.deleteRun(a.id),$?.id===a.id&&_(null)},className:"absolute top-2 right-2 p-1 rounded opacity-0 group-hover:opacity-100 transition-opacity",style:{color:"var(--status-fail-text)"},title:"Delete run",children:"✕"})]},a.id))})]})}),(0,g.jsx)("div",{className:"flex-1 overflow-auto",children:$?(0,g.jsxs)("div",{className:"p-4 space-y-4",children:[(0,g.jsxs)("div",{className:"flex items-center justify-between flex-wrap gap-2",children:[(0,g.jsxs)("div",{children:[(0,g.jsx)("h3",{className:"text-sm font-medium",style:{color:"var(--text-primary)"},children:"Run Details"}),(0,g.jsx)("p",{className:"text-xs",style:{color:"var(--text-tertiary)"},children:new Date($.timestamp).toLocaleString()})]}),(0,g.jsxs)("div",{className:"flex gap-3 text-sm",children:[(0,g.jsxs)("span",{style:{color:"var(--status-pass-text)"},children:["✓ ",$.totalPassed]}),(0,g.jsxs)("span",{style:{color:"var(--status-fail-text)"},children:["✗ ",$.totalFailed]})]})]}),(0,g.jsx)("div",{className:"space-y-2",children:$.results.map((a,b)=>(0,g.jsxs)("div",{className:"p-3 rounded-lg",style:{backgroundColor:"var(--bg-secondary)",border:`1px solid ${"pass"===a.status?"var(--status-pass-border)":"var(--status-fail-border)"}`},children:[(0,g.jsxs)("div",{className:"flex items-center justify-between flex-wrap gap-2",children:[(0,g.jsxs)("span",{className:"text-sm font-medium truncate",style:{color:"var(--text-primary)"},children:[a.testCaseCode||`Test ${b+1}`," - ",a.testCaseTitle]}),(0,g.jsx)("span",{className:"text-xs px-2 py-0.5 rounded shrink-0",style:{backgroundColor:"pass"===a.status?"var(--status-pass-bg)":"var(--status-fail-bg)",color:"pass"===a.status?"var(--status-pass-text)":"var(--status-fail-text)"},children:a.status.toUpperCase()})]}),a.error&&(0,g.jsx)("p",{className:"text-xs mt-2 p-2 rounded break-words",style:{backgroundColor:"var(--status-fail-bg)",color:"var(--status-fail-text)"},children:a.error}),(0,g.jsx)("div",{className:"mt-2 space-y-1",children:a.steps.map((a,b)=>(0,g.jsxs)("div",{className:"flex items-start gap-2 text-xs",children:[(0,g.jsx)("span",{className:"shrink-0",style:{color:"pass"===a.status?"var(--status-pass-text)":"var(--status-fail-text)"},children:"pass"===a.status?"✓":"✗"}),(0,g.jsx)("span",{style:{color:"var(--text-secondary)"},children:a.step})]},b))}),a.aiAnalysis&&(0,g.jsxs)("div",{className:"mt-2 p-2 rounded text-xs break-words",style:{backgroundColor:"var(--bg-primary)",color:"var(--text-secondary)"},children:[(0,g.jsx)("strong",{children:"AI:"})," ",a.aiAnalysis]})]},a.testCaseId))})]}):(0,g.jsx)("div",{className:"flex items-center justify-center h-full p-4",children:(0,g.jsxs)("div",{className:"text-center",style:{color:"var(--text-tertiary)"},children:[(0,g.jsx)("p",{className:"text-3xl md:text-4xl mb-3",children:"\uD83D\uDCCB"}),(0,g.jsx)("p",{className:"text-sm",children:"Select a run to view details"})]})})})]}),(0,g.jsxs)("div",{className:"p-3 md:p-4 border-t flex items-center justify-between shrink-0",style:{borderColor:"var(--border)"},children:[(0,g.jsxs)("div",{className:"text-xs truncate max-w-[200px] md:max-w-none",style:{color:"var(--text-tertiary)"},children:[s&&y&&(0,g.jsxs)("span",{children:["Running: ",y.title]}),!s&&w.length>0&&(0,g.jsxs)("span",{children:[w.length," tests completed"]}),!s&&0===w.length&&"runner"===q&&(0,g.jsx)("span",{className:"hidden sm:inline",children:"Config saved per project"})]}),(0,g.jsxs)("div",{className:"flex gap-2",children:[(0,g.jsx)("button",{onClick:c,disabled:s,className:"px-3 md:px-4 py-2 text-sm rounded disabled:opacity-50",style:{border:"1px solid var(--border)",color:"var(--text-secondary)"},children:"Close"}),"runner"===q&&(s?(0,g.jsx)("button",{onClick:al,className:"px-3 md:px-4 py-2 text-sm rounded flex items-center gap-2",style:{backgroundColor:"#ef4444",color:"white"},children:"■ Stop"}):(0,g.jsx)("button",{onClick:ak,disabled:0===ac.size,className:"px-3 md:px-4 py-2 text-sm rounded disabled:opacity-50",style:{backgroundColor:"var(--accent)",color:"white"},children:"▶ Run"}))]})]})]}),Q&&(0,g.jsx)("div",{className:"fixed inset-0 z-60 flex items-center justify-center p-4",style:{backgroundColor:"rgba(0,0,0,0.6)"},children:(0,g.jsxs)("div",{className:"w-full max-w-2xl max-h-[80vh] rounded-lg shadow-xl flex flex-col",style:{backgroundColor:"var(--bg-primary)",border:"1px solid var(--border)"},children:[(0,g.jsxs)("div",{className:"flex items-center justify-between p-4 border-b",style:{borderColor:"var(--border)"},children:[(0,g.jsxs)("div",{children:[(0,g.jsx)("h2",{className:"text-lg font-semibold",style:{color:"var(--text-primary)"},children:"\uD83D\uDD27 Healing Report"}),(0,g.jsx)("p",{className:"text-xs mt-1",style:{color:"var(--text-tertiary)"},children:"AI recommendations"})]}),(0,g.jsx)("button",{onClick:()=>R(!1),className:"p-1 rounded hover:opacity-80",style:{color:"var(--text-tertiary)"},children:"✕"})]}),(0,g.jsx)("div",{className:"flex-1 overflow-auto p-4",children:(0,g.jsx)("pre",{className:"whitespace-pre-wrap text-xs font-mono break-words",style:{color:"var(--text-secondary)"},children:O})}),(0,g.jsx)("div",{className:"p-4 border-t flex justify-end",style:{borderColor:"var(--border)"},children:(0,g.jsx)("button",{onClick:()=>R(!1),className:"px-4 py-2 text-sm rounded",style:{backgroundColor:"var(--accent)",color:"white"},children:"Close"})})]})})]})}let dn=c(43249).$;var dp=c(85586),dq=c(39952),dr=c(44013);let ds=40,dt=60,du=140,dv=!1,dw=(d="supports-backdrop-blur:bg-white/10 supports-backdrop-blur:dark:bg-black/10 mx-auto mt-8 flex h-[58px] w-max items-center justify-center gap-2 rounded-2xl border p-2 backdrop-blur-md",a=>dn(d,null==a?void 0:a.class,null==a?void 0:a.className)),dx=k().forwardRef(({className:a,children:b,iconSize:c=ds,iconMagnification:d=dt,disableMagnification:e=dv,iconDistance:f=du,direction:h="middle",...i},j)=>{let l=(0,dp.d)(1/0);return(0,g.jsx)(o.P.div,{ref:j,onMouseMove:a=>l.set(a.pageX),onMouseLeave:()=>l.set(1/0),...i,className:(0,p.cn)(dw({className:a}),{"items-start":"top"===h,"items-center":"middle"===h,"items-end":"bottom"===h}),children:k().Children.map(b,a=>k().isValidElement(a)&&a.type===dy?k().cloneElement(a,{...a.props,mouseX:l,size:c,magnification:d,disableMagnification:e,distance:f}):a)})});dx.displayName="Dock";let dy=({size:a=ds,magnification:b=dt,disableMagnification:c,distance:d=du,mouseX:e,className:f,children:h,...i})=>{let k=(0,j.useRef)(null),l=Math.max(6,.2*a),m=(0,dp.d)(1/0),n=(0,dq.G)(e??m,a=>{let b=k.current?.getBoundingClientRect()??{x:0,width:0};return a-b.x-b.width/2}),q=c?a:b,r=(0,dq.G)(n,[-d,0,d],[a,q,a]),s=(0,dr.z)(r,{mass:.15,stiffness:120,damping:25});return(0,g.jsx)(o.P.div,{ref:k,style:{width:s,height:s,padding:l},className:(0,p.cn)("flex aspect-square cursor-pointer items-center justify-center rounded-full",c&&"hover:bg-muted-foreground transition-colors",f),...i,children:(0,g.jsx)("div",{children:h})})};dy.displayName="DockIcon";let dz=function(a,...b){let c=new URL("https://base-ui.com/production-error");return c.searchParams.set("code",a.toString()),b.forEach(a=>c.searchParams.append("args[]",a)),`Base UI error #${a}; visit ${c} for the full message.`},dA={};function dB(a,b){let c=j.useRef(dA);return c.current===dA&&(c.current=a(b)),c}function dC(a,b,c,d){var e,f,g,h,i;let j=dB(dD).current;return e=j,f=a,g=b,h=c,i=d,(e.refs[0]!==f||e.refs[1]!==g||e.refs[2]!==h||e.refs[3]!==i)&&dE(j,[a,b,c,d]),j.callback}function dD(){return{callback:null,cleanup:null,refs:[]}}function dE(a,b){if(a.refs=b,b.every(a=>null==a)){a.callback=null;return}a.callback=c=>{if(a.cleanup&&(a.cleanup(),a.cleanup=null),null!=c){let d=Array(b.length).fill(null);for(let a=0;a<b.length;a+=1){let e=b[a];if(null!=e)switch(typeof e){case"function":{let b=e(c);"function"==typeof b&&(d[a]=b);break}case"object":e.current=c}}a.cleanup=()=>{for(let a=0;a<b.length;a+=1){let c=b[a];if(null!=c)switch(typeof c){case"function":{let b=d[a];"function"==typeof b?b():c(null);break}case"object":c.current=null}}}}}}let dF=parseInt(j.version,10);function dG(a){if(!j.isValidElement(a))return null;let b=a.props;return(dF>=19?b?.ref:a.ref)??null}function dH(a,b){return a&&!b?a:!a&&b?b:a||b?{...a,...b}:void 0}Object.freeze([]);let dI=Object.freeze({}),dJ={};function dK(a,b,c,d,e){if(!c&&!d&&!e&&!a)return dL(b);let f=dL(a);return b&&(f=dM(f,b)),c&&(f=dM(f,c)),d&&(f=dM(f,d)),e&&(f=dM(f,e)),f}function dL(a){return dO(a)?{...dP(a,dJ)}:function(a){let b={...a};for(let a in b){let c=b[a];dN(a,c)&&(b[a]=dQ(c))}return b}(a)}function dM(a,b){return dO(b)?dP(b,a):function(a,b){if(!b)return a;for(let c in b){let d=b[c];switch(c){case"style":a[c]=dH(a.style,d);break;case"className":a[c]=dS(a.className,d);break;default:dN(c,d)?a[c]=function(a,b){return b?a?(...c)=>{let d=c[0];if(dT(d)){dR(d);let e=b(...c);return d.baseUIHandlerPrevented||a?.(...c),e}let e=b(...c);return a?.(...c),e}:dQ(b):a}(a[c],d):a[c]=d}}return a}(a,b)}function dN(a,b){let c=a.charCodeAt(0),d=a.charCodeAt(1),e=a.charCodeAt(2);return 111===c&&110===d&&e>=65&&e<=90&&("function"==typeof b||void 0===b)}function dO(a){return"function"==typeof a}function dP(a,b){return dO(a)?a(b):a??dJ}function dQ(a){return a?(...b)=>{let c=b[0];return dT(c)&&dR(c),a(...b)}:a}function dR(a){return a.preventBaseUIHandler=()=>{a.baseUIHandlerPrevented=!0},a}function dS(a,b){return b?a?b+" "+a:b:a}function dT(a){return null!=a&&"object"==typeof a&&"nativeEvent"in a}let dU=Symbol.for("react.lazy"),dV=j.forwardRef(function(a,b){let{className:c,render:d,orientation:e="horizontal",style:f,...g}=a;return function(a,b,c={}){let d=b.render,e=function(a,b={}){let{className:c,style:d,render:e}=a,{state:f=dI,ref:g,props:h,stateAttributesMapping:i,enabled:j=!0}=b,k=j?"function"==typeof c?c(f):c:void 0,l=j?"function"==typeof d?d(f):d:void 0,m=j?function(a,b){let c={};for(let d in a){let e=a[d];if(b?.hasOwnProperty(d)){let a=b[d](e);null!=a&&Object.assign(c,a);continue}!0===e?c[`data-${d.toLowerCase()}`]="":e&&(c[`data-${d.toLowerCase()}`]=e.toString())}return c}(f,i):dI,n=j&&h?function(a){if(Array.isArray(a)){if(0===a.length)return dJ;if(1===a.length)return dL(a[0]);let b=dL(a[0]);for(let c=1;c<a.length;c+=1)b=dM(b,a[c]);return b}return dK(void 0,a)}(h):void 0,o=j?dH(m,n)??{}:dI;return("undefined"!=typeof document&&(j?Array.isArray(g)?o.ref=function(a){var b,c;let d=dB(dD).current;return b=d,c=a,(b.refs.length!==c.length||b.refs.some((a,b)=>a!==c[b]))&&dE(d,a),d.callback}([o.ref,dG(e),...g]):o.ref=dC(o.ref,dG(e),g):dC(null,null)),j)?(void 0!==k&&(o.className=dS(o.className,k)),void 0!==l&&(o.style=dH(o.style,l)),o):dI}(b,c);return!1===c.enabled?null:function(a,b,c,d){if(b){if("function"==typeof b)return b(c,d);let a=dK(c,b.props);a.ref=c.ref;let e=b;return e?.$$typeof===dU&&(e=j.Children.toArray(b)[0]),j.cloneElement(e,a)}if("string"==typeof a){var e,f;return e=a,f=c,"button"===e?(0,j.createElement)("button",{type:"button",...f,key:f.key}):"img"===e?(0,j.createElement)("img",{alt:"",...f,key:f.key}):j.createElement(e,f)}throw Error(dz(8))}("div",d,e,c.state??dI)}(0,a,{state:{orientation:e},ref:b,props:[{role:"separator","aria-orientation":e},g]})});function dW({className:a,orientation:b="horizontal",...c}){return(0,g.jsx)(dV,{"data-slot":"separator",orientation:b,className:(0,p.cn)("shrink-0 bg-border data-horizontal:h-px data-horizontal:w-full data-vertical:w-px data-vertical:self-stretch",a),...c})}function dX({selectedNode:a,testCases:b,stats:c,columns:d,projectId:e,fullscreen:f,onAddTestCase:h,onUpdateTestCase:k,onDeleteTestCase:m,onBulkDelete:n,onBulkUpdate:o,onReorderTestCases:p,onReorderColumn:q,onToggleColumn:r,onRenameColumn:s,onUpdateNode:t,onAddColumn:u,onDeleteColumn:v,confirmDialog:A}){(0,l.useRouter)();let[B,C]=(0,j.useState)(!1),[D,E]=(0,j.useState)(!1),[F,K]=(0,j.useState)(!1),[L,M]=(0,j.useState)(!1),[N,O]=(0,j.useState)(!1),[P,Q]=(0,j.useState)(!1),[R,S]=(0,j.useState)(!1),[T,U]=(0,j.useState)(!1),[V,W]=(0,j.useState)(!1),[X,Y]=(0,j.useState)(new Set),[Z,$]=(0,j.useState)(null),[_,aa]=(0,j.useState)("asc"),[ab,ac]=(0,j.useState)(!1),[ad,ae]=(0,j.useState)(""),af=(0,j.useRef)(null),ag=(0,j.useRef)(null),ah=f?d:d.filter(a=>"code"!==a.key),ai=w._X.map(a=>a.key),aj=(0,j.useCallback)(a=>{Y(b=>{let c=new Set(b);return c.has(a)?c.delete(a):c.add(a),c})},[]),ak=(0,j.useCallback)(()=>{X.size===b.length?Y(new Set):Y(new Set(b.map(a=>a.id)))},[X.size,b]),al=(0,j.useCallback)(()=>Y(new Set),[]),am=(0,j.useCallback)(async()=>{a&&0!==X.size&&(!A||await A("Delete Test Cases",`Delete ${X.size} selected test case(s)?`))&&(n(a.id,Array.from(X)),Y(new Set))},[a,X,n,A]),an=(0,j.useCallback)(b=>{a&&0!==X.size&&(o(a.id,Array.from(X),{status:b}),Y(new Set))},[a,X,o]),ao=Z?[...b].sort((a,b)=>{let c=a[Z]||"",d=b[Z]||"",e=c.localeCompare(d);return"asc"===_?e:-e}):b,ap=(0,j.useCallback)(b=>{if(a)for(let c of b)h(a.id,c.title,c.steps,c.expected)},[a,h]),aq=(0,j.useCallback)(b=>{if(a)for(let c of b)h(a.id,c.title,c.steps,c.expected)},[a,h]);return a?(0,g.jsxs)("div",{className:"jsx-bc071752c54fb059 flex flex-col h-full relative",children:[(0,g.jsxs)("div",{style:{borderColor:"var(--border)"},className:"jsx-bc071752c54fb059 px-4 py-3 border-b",children:[(0,g.jsx)("h2",{style:{color:"var(--text-primary)"},className:"jsx-bc071752c54fb059 text-base font-medium mb-2",children:a.label}),(0,g.jsx)(y,{value:c.passRate})]}),B&&(0,g.jsxs)("div",{style:{borderColor:"var(--border)",backgroundColor:"var(--bg-secondary)"},className:"jsx-bc071752c54fb059 px-4 py-3 border-b",children:[(0,g.jsx)("label",{style:{color:"var(--text-tertiary)"},className:"jsx-bc071752c54fb059 text-xs font-medium mb-1 block",children:"Node Notes"}),(0,g.jsx)("textarea",{value:a.notes??"",onChange:b=>t(a.id,{notes:b.target.value}),placeholder:"Add notes for this node...",rows:3,style:{borderColor:"var(--border)",borderRadius:"var(--radius-sm)",color:"var(--text-primary)"},className:"jsx-bc071752c54fb059 w-full px-3 py-2 text-sm bg-transparent outline-none border resize-none"})]}),(0,g.jsx)("div",{className:"jsx-bc071752c54fb059 px-4 py-3",children:(0,g.jsx)(z,{onAdd:b=>h(a.id,b),nodeLabel:a.label})}),X.size>0&&(0,g.jsxs)("div",{style:{borderColor:"var(--accent)",backgroundColor:"var(--accent)",animation:"fadeInUp 150ms ease-out"},className:"jsx-bc071752c54fb059 mx-4 mb-2 px-3 py-2 rounded-lg border flex items-center gap-3",children:[(0,g.jsxs)("span",{className:"jsx-bc071752c54fb059 text-xs font-medium text-white",children:[X.size," selected"]}),(0,g.jsx)("div",{className:"jsx-bc071752c54fb059 flex-1"}),["pass","fail","skip","untested"].map(a=>(0,g.jsxs)("button",{onClick:()=>an(a),style:{color:"#fff"},className:"jsx-bc071752c54fb059 px-2 py-1 text-[10px] font-medium rounded-md transition-colors hover:bg-white/20",children:["Mark ",a.charAt(0).toUpperCase()+a.slice(1)]},a)),(0,g.jsx)("div",{className:"jsx-bc071752c54fb059 w-px h-4 bg-white/30"}),(0,g.jsx)("button",{onClick:am,style:{color:"#fff"},className:"jsx-bc071752c54fb059 px-2 py-1 text-[10px] font-medium rounded-md transition-colors hover:bg-white/20",children:"Delete"}),(0,g.jsx)("button",{onClick:al,style:{color:"#fff"},title:"Clear selection",className:"jsx-bc071752c54fb059 px-1.5 py-1 text-[10px] font-medium rounded-md transition-colors hover:bg-white/20",children:"\xd7"})]}),(0,g.jsx)("div",{className:"jsx-bc071752c54fb059 flex-1 min-h-0 overflow-auto px-2",children:0===b.length?(0,g.jsx)(x.p,{message:"No test cases yet. Use the quick-add bar or Generate button to add test cases."}):(0,g.jsx)(G,{testCases:ao,columns:ah,expandAll:T,selectedIds:X,onToggleSelect:aj,onToggleSelectAll:ak,sortKey:Z,sortDirection:_,onSortChange:a=>{null===a?$(null):Z===a?aa(a=>"asc"===a?"desc":"asc"):($(a),aa("asc"))},onUpdate:(b,c)=>k(a.id,b,c),onDelete:b=>m(a.id,b),onReorder:b=>p(a.id,b)})}),(0,g.jsx)(H,{stats:c}),(0,g.jsxs)("div",{style:{borderColor:"var(--border)",backgroundColor:"var(--bg-primary)"},className:"jsx-bc071752c54fb059 flex-shrink-0 border-t py-2 flex justify-center relative",children:[R&&(0,g.jsxs)("div",{ref:ag,style:{bottom:"100%",left:"50%",transform:"translateX(-50%)",marginBottom:2,backgroundColor:"var(--bg-card)",borderColor:"var(--border)",boxShadow:"var(--shadow-lg)",animation:"fadeInUp 200ms ease-out",width:180},className:"jsx-bc071752c54fb059 absolute z-30 rounded-xl border",children:[(0,g.jsxs)("div",{style:{borderColor:"var(--border)"},className:"jsx-bc071752c54fb059 flex items-center justify-between px-3 py-2 border-b",children:[(0,g.jsx)("h4",{style:{color:"var(--text-primary)"},className:"jsx-bc071752c54fb059 text-[11px] font-semibold",children:"Columns"}),(0,g.jsx)("button",{onClick:()=>S(!1),style:{color:"var(--text-tertiary)"},className:"jsx-bc071752c54fb059 text-[10px] opacity-50 hover:opacity-100",children:"\xd7"})]}),(0,g.jsxs)("div",{className:"jsx-bc071752c54fb059 py-1 max-h-[240px] overflow-y-auto",children:[ah.map((c,d)=>{let e=!ai.includes(c.key);return(0,g.jsxs)("div",{className:"jsx-bc071752c54fb059 flex items-center justify-between px-3 py-1.5 text-[11px] hover:bg-[var(--bg-secondary)] transition-colors group/col",children:[(0,g.jsxs)("button",{onClick:()=>a&&r(a.id,c.key),style:{color:c.visible?"var(--text-primary)":"var(--text-tertiary)"},className:"jsx-bc071752c54fb059 flex items-center gap-2 flex-1 text-left",children:[(0,g.jsx)("span",{className:"jsx-bc071752c54fb059 w-3 text-center",children:c.visible?"✓":""}),(0,g.jsx)("span",{className:"jsx-bc071752c54fb059",children:c.label})]}),(0,g.jsxs)("div",{className:"jsx-bc071752c54fb059 flex items-center gap-0.5 opacity-0 group-hover/col:opacity-100 transition-opacity",children:[(0,g.jsx)("button",{onClick:()=>a&&q?.(a.id,c.key,"up"),disabled:0===d,style:{color:"var(--text-tertiary)"},title:"Move up",className:"jsx-bc071752c54fb059 w-4 h-4 flex items-center justify-center rounded text-[10px] disabled:opacity-20 hover:bg-[var(--bg-secondary)]",children:"↑"}),(0,g.jsx)("button",{onClick:()=>a&&q?.(a.id,c.key,"down"),disabled:d===ah.length-1,style:{color:"var(--text-tertiary)"},title:"Move down",className:"jsx-bc071752c54fb059 w-4 h-4 flex items-center justify-center rounded text-[10px] disabled:opacity-20 hover:bg-[var(--bg-secondary)]",children:"↓"}),e&&(0,g.jsx)("button",{onClick:async()=>{if(a&&v)(!b.some(a=>{let b=a[c.key];return b&&"string"==typeof b&&""!==b.trim()})||!A||await A("Delete Column",`This column has data in some test cases. Delete "${c.label}" anyway?`))&&v(a.id,c.key)},style:{color:"var(--status-fail-text)"},title:`Delete ${c.label}`,className:"jsx-bc071752c54fb059 w-4 h-4 flex items-center justify-center rounded hover:opacity-100 transition-opacity text-[10px]",children:"\xd7"})]})]},c.key)}),ab?(0,g.jsx)("div",{className:"jsx-bc071752c54fb059 px-3 py-1.5",children:(0,g.jsx)("input",{ref:af,value:ad,onChange:a=>ae(a.target.value),onKeyDown:b=>{"Enter"===b.key&&ad.trim()&&(u?.(a.id,ad.trim()),ae(""),ac(!1)),"Escape"===b.key&&(ac(!1),ae(""))},onBlur:()=>{ad.trim()&&u?.(a.id,ad.trim()),ae(""),ac(!1)},placeholder:"Column name...",style:{borderColor:"var(--accent)",backgroundColor:"var(--bg-card)",color:"var(--text-primary)"},className:"jsx-bc071752c54fb059 w-full px-2 py-1 text-[11px] rounded border outline-none"})}):(0,g.jsxs)("button",{onClick:()=>ac(!0),style:{color:"var(--accent)"},className:"jsx-bc071752c54fb059 w-full px-3 py-1.5 text-[11px] text-left flex items-center gap-2 hover:bg-[var(--bg-secondary)] transition-colors",children:[(0,g.jsx)("span",{className:"jsx-bc071752c54fb059 w-3 text-center",children:"+"}),(0,g.jsx)("span",{className:"jsx-bc071752c54fb059",children:"Add New Column"})]})]})]}),(0,g.jsxs)(dx,{direction:"middle",iconSize:32,iconMagnification:44,iconDistance:100,children:[(0,g.jsx)(dy,{children:(0,g.jsxs)("div",{className:"jsx-bc071752c54fb059 relative group",children:[(0,g.jsx)("button",{onClick:()=>M(!0),className:"jsx-bc071752c54fb059 w-full h-full flex items-center justify-center rounded-full hover:bg-[var(--bg-secondary)] transition-colors",children:(0,g.jsxs)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"var(--text-secondary)",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"jsx-bc071752c54fb059",children:[(0,g.jsx)("path",{d:"M14 2H6a2 2 0 00-2 2v16a2 2 0 002 2h12a2 2 0 002-2V8z",className:"jsx-bc071752c54fb059"}),(0,g.jsx)("polyline",{points:"14 2 14 8 20 8",className:"jsx-bc071752c54fb059"}),(0,g.jsx)("line",{x1:"16",y1:"13",x2:"8",y2:"13",className:"jsx-bc071752c54fb059"}),(0,g.jsx)("line",{x1:"16",y1:"17",x2:"8",y2:"17",className:"jsx-bc071752c54fb059"}),(0,g.jsx)("polyline",{points:"10 9 9 9 8 9",className:"jsx-bc071752c54fb059"})]})}),(0,g.jsx)("div",{style:{backgroundColor:"var(--text-primary)",color:"var(--bg-primary)"},className:"jsx-bc071752c54fb059 absolute bottom-full left-1/2 -translate-x-1/2 mb-2 px-2 py-1 text-[10px] font-medium rounded whitespace-nowrap opacity-0 group-hover:opacity-100 transition-opacity pointer-events-none",children:"Node Summary"})]})}),(0,g.jsx)(dW,{orientation:"vertical",className:"h-full"}),(0,g.jsx)(dy,{children:(0,g.jsxs)("div",{className:"jsx-bc071752c54fb059 relative group",children:[(0,g.jsx)("button",{onClick:()=>C(!B),style:{backgroundColor:B?"var(--bg-secondary)":"transparent"},className:"jsx-bc071752c54fb059 w-full h-full flex items-center justify-center rounded-full transition-colors",children:(0,g.jsxs)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:B?"var(--accent)":"var(--text-secondary)",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"jsx-bc071752c54fb059",children:[(0,g.jsx)("path",{d:"M11 4H4a2 2 0 00-2 2v14a2 2 0 002 2h14a2 2 0 002-2v-7",className:"jsx-bc071752c54fb059"}),(0,g.jsx)("path",{d:"M18.5 2.5a2.121 2.121 0 013 3L12 15l-4 1 1-4 9.5-9.5z",className:"jsx-bc071752c54fb059"})]})}),(0,g.jsx)("div",{style:{backgroundColor:"var(--text-primary)",color:"var(--bg-primary)"},className:"jsx-bc071752c54fb059 absolute bottom-full left-1/2 -translate-x-1/2 mb-2 px-2 py-1 text-[10px] font-medium rounded whitespace-nowrap opacity-0 group-hover:opacity-100 transition-opacity pointer-events-none",children:"Notes"})]})}),(0,g.jsx)(dy,{children:(0,g.jsxs)("div",{className:"jsx-bc071752c54fb059 relative group",children:[(0,g.jsx)("button",{onClick:()=>E(!0),className:"jsx-bc071752c54fb059 w-full h-full flex items-center justify-center rounded-full hover:bg-[var(--bg-secondary)] transition-colors",children:(0,g.jsxs)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"var(--text-secondary)",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"jsx-bc071752c54fb059",children:[(0,g.jsx)("path",{d:"M21 15v4a2 2 0 01-2 2H5a2 2 0 01-2-2v-4",className:"jsx-bc071752c54fb059"}),(0,g.jsx)("polyline",{points:"7 10 12 15 17 10",className:"jsx-bc071752c54fb059"}),(0,g.jsx)("line",{x1:"12",y1:"15",x2:"12",y2:"3",className:"jsx-bc071752c54fb059"})]})}),(0,g.jsx)("div",{style:{backgroundColor:"var(--text-primary)",color:"var(--bg-primary)"},className:"jsx-bc071752c54fb059 absolute bottom-full left-1/2 -translate-x-1/2 mb-2 px-2 py-1 text-[10px] font-medium rounded whitespace-nowrap opacity-0 group-hover:opacity-100 transition-opacity pointer-events-none",children:"Export"})]})}),(0,g.jsx)(dy,{children:(0,g.jsxs)("div",{className:"jsx-bc071752c54fb059 relative group",children:[(0,g.jsx)("button",{onClick:()=>{let c=(0,I.wy)(a,b,d);navigator.clipboard.writeText(c).then(()=>{W(!0),setTimeout(()=>W(!1),2e3)})},style:{backgroundColor:V?"var(--bg-secondary)":"transparent"},className:"jsx-bc071752c54fb059 w-full h-full flex items-center justify-center rounded-full transition-colors",children:V?(0,g.jsx)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"var(--accent)",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"jsx-bc071752c54fb059",children:(0,g.jsx)("polyline",{points:"20 6 9 17 4 12",className:"jsx-bc071752c54fb059"})}):(0,g.jsxs)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"var(--text-secondary)",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"jsx-bc071752c54fb059",children:[(0,g.jsx)("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2",className:"jsx-bc071752c54fb059"}),(0,g.jsx)("path",{d:"M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1",className:"jsx-bc071752c54fb059"})]})}),(0,g.jsx)("div",{style:{backgroundColor:"var(--text-primary)",color:"var(--bg-primary)"},className:"jsx-bc071752c54fb059 absolute bottom-full left-1/2 -translate-x-1/2 mb-2 px-2 py-1 text-[10px] font-medium rounded whitespace-nowrap opacity-0 group-hover:opacity-100 transition-opacity pointer-events-none",children:V?"Copied!":"Copy as Markdown"})]})}),(0,g.jsx)(dy,{children:(0,g.jsxs)("div",{className:"jsx-bc071752c54fb059 relative group",children:[(0,g.jsx)("button",{onClick:()=>S(!R),style:{backgroundColor:R?"var(--bg-secondary)":"transparent"},className:"jsx-bc071752c54fb059 w-full h-full flex items-center justify-center rounded-full transition-colors",children:(0,g.jsxs)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:R?"var(--accent)":"var(--text-secondary)",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"jsx-bc071752c54fb059",children:[(0,g.jsx)("rect",{x:"3",y:"3",width:"7",height:"7",className:"jsx-bc071752c54fb059"}),(0,g.jsx)("rect",{x:"14",y:"3",width:"7",height:"7",className:"jsx-bc071752c54fb059"}),(0,g.jsx)("rect",{x:"14",y:"14",width:"7",height:"7",className:"jsx-bc071752c54fb059"}),(0,g.jsx)("rect",{x:"3",y:"14",width:"7",height:"7",className:"jsx-bc071752c54fb059"})]})}),(0,g.jsx)("div",{style:{backgroundColor:"var(--text-primary)",color:"var(--bg-primary)"},className:"jsx-bc071752c54fb059 absolute bottom-full left-1/2 -translate-x-1/2 mb-2 px-2 py-1 text-[10px] font-medium rounded whitespace-nowrap opacity-0 group-hover:opacity-100 transition-opacity pointer-events-none",children:"Columns"})]})}),(0,g.jsx)(dy,{children:(0,g.jsxs)("div",{className:"jsx-bc071752c54fb059 relative group",children:[(0,g.jsx)("button",{onClick:()=>U(a=>!a),style:{backgroundColor:T?"var(--bg-secondary)":"transparent"},className:"jsx-bc071752c54fb059 w-full h-full flex items-center justify-center rounded-full transition-colors",children:(0,g.jsx)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:T?"var(--accent)":"var(--text-secondary)",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"jsx-bc071752c54fb059",children:T?(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)("line",{x1:"3",y1:"6",x2:"21",y2:"6",className:"jsx-bc071752c54fb059"}),(0,g.jsx)("line",{x1:"3",y1:"12",x2:"21",y2:"12",className:"jsx-bc071752c54fb059"}),(0,g.jsx)("line",{x1:"3",y1:"18",x2:"21",y2:"18",className:"jsx-bc071752c54fb059"}),(0,g.jsx)("polyline",{points:"7 3 3 6 7 9",className:"jsx-bc071752c54fb059"}),(0,g.jsx)("polyline",{points:"17 15 21 18 17 21",className:"jsx-bc071752c54fb059"})]}):(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)("line",{x1:"3",y1:"6",x2:"21",y2:"6",className:"jsx-bc071752c54fb059"}),(0,g.jsx)("line",{x1:"3",y1:"12",x2:"21",y2:"12",className:"jsx-bc071752c54fb059"}),(0,g.jsx)("line",{x1:"3",y1:"18",x2:"21",y2:"18",className:"jsx-bc071752c54fb059"}),(0,g.jsx)("polyline",{points:"17 3 21 6 17 9",className:"jsx-bc071752c54fb059"}),(0,g.jsx)("polyline",{points:"7 15 3 18 7 21",className:"jsx-bc071752c54fb059"})]})})}),(0,g.jsx)("div",{style:{backgroundColor:"var(--text-primary)",color:"var(--bg-primary)"},className:"jsx-bc071752c54fb059 absolute bottom-full left-1/2 -translate-x-1/2 mb-2 px-2 py-1 text-[10px] font-medium rounded whitespace-nowrap opacity-0 group-hover:opacity-100 transition-opacity pointer-events-none",children:T?"Collapse All":"Expand All"})]})}),(0,g.jsx)(dW,{orientation:"vertical",className:"h-full"}),(0,g.jsx)(dy,{children:(0,g.jsxs)("div",{className:"jsx-bc071752c54fb059 relative group",children:[(0,g.jsx)("button",{onClick:()=>O(!0),className:"jsx-bc071752c54fb059 w-full h-full flex items-center justify-center rounded-full hover:bg-[var(--bg-secondary)] transition-colors",children:(0,g.jsxs)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"var(--text-secondary)",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"jsx-bc071752c54fb059",children:[(0,g.jsx)("path",{d:"M21 15v4a2 2 0 01-2 2H5a2 2 0 01-2-2v-4",className:"jsx-bc071752c54fb059"}),(0,g.jsx)("polyline",{points:"17 8 12 3 7 8",className:"jsx-bc071752c54fb059"}),(0,g.jsx)("line",{x1:"12",y1:"3",x2:"12",y2:"15",className:"jsx-bc071752c54fb059"})]})}),(0,g.jsx)("div",{style:{backgroundColor:"var(--text-primary)",color:"var(--bg-primary)"},className:"jsx-bc071752c54fb059 absolute bottom-full left-1/2 -translate-x-1/2 mb-2 px-2 py-1 text-[10px] font-medium rounded whitespace-nowrap opacity-0 group-hover:opacity-100 transition-opacity pointer-events-none",children:"Import Cases"})]})}),(0,g.jsx)(dy,{children:(0,g.jsxs)("div",{className:"jsx-bc071752c54fb059 relative group",children:[(0,g.jsx)("button",{onClick:()=>Q(!0),className:"jsx-bc071752c54fb059 w-full h-full flex items-center justify-center rounded-full hover:bg-[var(--bg-secondary)] transition-colors",children:(0,g.jsxs)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"var(--text-secondary)",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"jsx-bc071752c54fb059",children:[(0,g.jsx)("circle",{cx:"12",cy:"12",r:"10",className:"jsx-bc071752c54fb059"}),(0,g.jsx)("polyline",{points:"12 6 12 12 16 14",className:"jsx-bc071752c54fb059"})]})}),(0,g.jsx)("div",{style:{backgroundColor:"var(--text-primary)",color:"var(--bg-primary)"},className:"jsx-bc071752c54fb059 absolute bottom-full left-1/2 -translate-x-1/2 mb-2 px-2 py-1 text-[10px] font-medium rounded whitespace-nowrap opacity-0 group-hover:opacity-100 transition-opacity pointer-events-none",children:"E2E Test"})]})}),(0,g.jsx)(dy,{children:(0,g.jsxs)("div",{className:"jsx-bc071752c54fb059 relative group",children:[(0,g.jsx)("button",{onClick:()=>K(!0),className:"jsx-bc071752c54fb059 w-full h-full flex items-center justify-center rounded-full hover:bg-[var(--bg-secondary)] transition-colors",children:(0,g.jsx)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"var(--text-secondary)",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"jsx-bc071752c54fb059",children:(0,g.jsx)("polygon",{points:"13 2 3 14 12 14 11 22 21 10 12 10 13 2",className:"jsx-bc071752c54fb059"})})}),(0,g.jsx)("div",{style:{backgroundColor:"var(--text-primary)",color:"var(--bg-primary)"},className:"jsx-bc071752c54fb059 absolute bottom-full left-1/2 -translate-x-1/2 mb-2 px-2 py-1 text-[10px] font-medium rounded whitespace-nowrap opacity-0 group-hover:opacity-100 transition-opacity pointer-events-none",children:"Generate"})]})})]})]}),(0,g.jsx)(J,{open:D,onClose:()=>E(!1),node:a,testCases:b,columns:d}),(0,g.jsx)(dg,{open:F,onClose:()=>K(!1),node:a,onGenerate:ap}),(0,g.jsx)(di,{open:L,onClose:()=>M(!1),node:a,testCases:b,stats:c}),(0,g.jsx)(dl,{open:N,onClose:()=>O(!1),onImport:aq,nodeLabel:a.label}),P&&a&&(0,g.jsx)(dm,{testCases:b,projectId:e,onClose:()=>Q(!1)}),(0,g.jsx)(i(),{id:"bc071752c54fb059",children:"@keyframes fadeInUp{from{opacity:0;transform:translatey(8px)}to{opacity:1;transform:translatey(0)}}"})]}):(0,g.jsx)("div",{className:"h-full",children:(0,g.jsx)(x.p,{message:"Select a node from the mindmap to view its test cases."})})}function dY(){let a=(0,l.useParams)(),b=(0,l.useRouter)(),c=a.projectId,{projects:d,activeProject:e,activeProjectId:f,selectedNodeId:h,setSelectedNodeId:k,switchProject:n,mindmap:o,testCases:p,pushState:q,lastSaved:r,canUndo:s,canRedo:t,undo:u,redo:w,confirmDialog:y}=(0,m.M)(),z=d[c]??null,A=(0,j.useMemo)(()=>e?.flows.find(a=>a.id===h)??null,[e,h]),[B,C]=(0,j.useState)("mindmap"),[D,E]=(0,j.useState)(.5),[F,G]=(0,j.useState)(!1),[H,I]=(0,j.useState)(!1),[J,K]=(0,j.useState)(!1),[L,M]=(0,j.useState)(!1),N=(0,j.useRef)(null),O=(0,j.useRef)(null),P=(0,j.useRef)(null),Q=(0,j.useRef)(null),R=(0,j.useRef)({mouseX:0,startRatio:.5}),S=(0,j.useCallback)(a=>{a.preventDefault(),R.current={mouseX:a.clientX,startRatio:D},G(!0)},[D]);return z?e&&e.id===c?(0,g.jsxs)("div",{className:"jsx-a894832df36b68ca h-full flex flex-col",children:[(0,g.jsxs)("div",{style:{borderColor:"var(--border)",backgroundColor:"var(--bg-card)"},className:"jsx-a894832df36b68ca flex md:hidden border-b flex-shrink-0",children:[(0,g.jsx)("button",{onClick:()=>C("mindmap"),style:{color:"mindmap"===B?"var(--accent)":"var(--text-tertiary)",borderBottom:"mindmap"===B?"2px solid var(--accent)":"2px solid transparent"},className:"jsx-a894832df36b68ca flex-1 px-4 py-2 text-xs font-medium transition-colors",children:"Mindmap"}),(0,g.jsx)("button",{onClick:()=>C("testcases"),style:{color:"testcases"===B?"var(--accent)":"var(--text-tertiary)",borderBottom:"testcases"===B?"2px solid var(--accent)":"2px solid transparent"},className:"jsx-a894832df36b68ca flex-1 px-4 py-2 text-xs font-medium transition-colors",children:"Test Cases"})]}),(0,g.jsxs)("div",{style:{borderColor:"var(--border)"},className:"jsx-a894832df36b68ca flex items-center justify-between px-4 py-1.5 border-b flex-shrink-0",children:[(0,g.jsx)("div",{style:{color:"var(--text-tertiary)"},className:"jsx-a894832df36b68ca text-[10px]",children:r?(0,g.jsxs)("span",{className:"jsx-a894832df36b68ca",children:["Last saved ",function(a){let b=new Date(a),c=Math.floor((new Date().getTime()-b.getTime())/1e3),d=Math.floor(c/60),e=Math.floor(d/60);return c<10?"just now":c<60?`${c}s ago`:d<60?`${d}m ago`:e<24?`${e}h ago`:b.toLocaleDateString("en-US",{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})}(r)]}):(0,g.jsx)("span",{className:"jsx-a894832df36b68ca",children:"Not saved yet"})}),(0,g.jsxs)("div",{className:"jsx-a894832df36b68ca flex items-center gap-2",children:[(0,g.jsx)("button",{onClick:()=>K(a=>!a),style:{color:"var(--text-tertiary)"},title:J?"Exit fullscreen":"Expand test cases",className:"jsx-a894832df36b68ca p-1 rounded transition-colors hover:bg-[var(--bg-secondary)]",children:J?(0,g.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"jsx-a894832df36b68ca",children:(0,g.jsx)("path",{d:"M8 3v3a2 2 0 01-2 2H3m18 0h-3a2 2 0 01-2-2V3m0 18v-3a2 2 0 012-2h3M3 16h3a2 2 0 012 2v3",className:"jsx-a894832df36b68ca"})}):(0,g.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"jsx-a894832df36b68ca",children:(0,g.jsx)("path",{d:"M8 3H5a2 2 0 00-2 2v3m18 0V5a2 2 0 00-2-2h-3m0 18h3a2 2 0 002-2v-3M3 16v3a2 2 0 002 2h3",className:"jsx-a894832df36b68ca"})})}),(0,g.jsx)("button",{onClick:()=>b.push(`/projects/${c}/summary`),style:{borderColor:"var(--border)",color:"var(--text-secondary)"},className:"jsx-a894832df36b68ca hidden md:block px-3 py-1 text-xs font-medium rounded-md border transition-colors hover:bg-[var(--bg-secondary)]",children:"Project Report"}),(0,g.jsx)("button",{onClick:()=>{M(!0),setTimeout(()=>M(!1),1500);let a=new Event("save-project");window.dispatchEvent(a)},style:{borderColor:L?"var(--status-pass-text)":"var(--border)",color:L?"var(--status-pass-text)":"var(--text-secondary)",backgroundColor:L?"var(--status-pass-bg)":"transparent"},className:"jsx-a894832df36b68ca px-3 py-1 text-xs font-medium rounded-md border transition-all",children:L?"Saved!":"Save"})]})]}),(0,g.jsxs)("div",{ref:N,style:{cursor:F?"col-resize":void 0},className:"jsx-a894832df36b68ca flex-1 flex min-h-0 relative",children:[!J&&(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)("div",{ref:O,style:{width:`${100*D}%`},className:`jsx-a894832df36b68ca
67
+ ${"pass"===c.status?"✓":"✗"} Test ${c.index} completed: ${c.status.toUpperCase()} (${c.duration}ms)`),c.script&&(T(a=>({...a,[c.testCaseId]:c.script})),d.saveScript(c.testCaseId,c.result?.testCaseTitle||"","",c.script)),m.push(c.result),x([...m]);break;case"complete":af("success","\n═══════════════════════════════════════");let e=c.results.filter(a=>"pass"===a.status).length,g=c.results.filter(a=>"fail"===a.status||"error"===a.status).length;af("success",`Test run complete: ${e} passed, ${g} failed`),d.saveRun({projectId:b,config:{baseUrl:f,browser:i,headless:l,timeout:o},results:c.results,totalPassed:e,totalFailed:g,totalDuration:c.results.reduce((a,b)=>a+b.duration,0),healingReport:O||void 0});break;case"aborted":af("warning","\n━━━ Test run stopped by user ━━━")}}catch{}}}catch(a){a instanceof Error&&"AbortError"===a.name?af("warning","\n━━━ Test run stopped by user ━━━"):af("error",`Error: ${a instanceof Error?a.message:String(a)}`)}t(!1),z(null),aa.current=null},[a,ac,f,i,l,o,af,ai,b,d,O]),al=(0,j.useCallback)(()=>{aa.current&&(af("warning","Stopping test run..."),aa.current.abort())},[af]),am=(0,j.useCallback)(()=>{if(!U||!W)return;let b=a.find(a=>a.id===U);b&&(d.saveScript(b.id,b.title,b.code,W),T(a=>({...a,[b.id]:W})),af("success",`Script saved for ${b.code}`)),V(null),X("")},[U,W,a,d,af]);return(0,g.jsxs)("div",{className:"fixed inset-0 z-50 flex items-center justify-center p-2 md:p-4",style:{backgroundColor:"rgba(0,0,0,0.5)"},children:[(0,g.jsxs)("div",{className:"w-full max-w-6xl max-h-[95vh] md:max-h-[92vh] rounded-lg shadow-xl flex flex-col",style:{backgroundColor:"var(--bg-primary)",border:"1px solid var(--border)"},children:[(0,g.jsxs)("div",{className:"flex items-center justify-between p-3 md:p-4 border-b shrink-0",style:{borderColor:"var(--border)"},children:[(0,g.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,g.jsx)("h2",{className:"text-base md:text-lg font-semibold truncate",style:{color:"var(--text-primary)"},children:"E2E Agentic Test Runner"}),(0,g.jsx)("p",{className:"text-xs mt-0.5 hidden sm:block",style:{color:"var(--text-tertiary)"},children:"AI-powered testing with script generation & live preview"})]}),(0,g.jsxs)("div",{className:"flex items-center gap-2 ml-2",children:["runner"===q&&(0,g.jsx)("button",{onClick:()=>L(!K),className:"md:hidden p-1.5 rounded",style:{backgroundColor:K?"var(--accent)":"var(--bg-secondary)",color:K?"white":"var(--text-secondary)"},title:"Toggle config panel",children:"☰"}),(0,g.jsx)("button",{onClick:c,className:"p-1 rounded hover:opacity-80",style:{color:"var(--text-tertiary)"},children:"✕"})]})]}),(0,g.jsx)("div",{className:"flex border-b overflow-x-auto shrink-0",style:{borderColor:"var(--border)",backgroundColor:"var(--bg-secondary)"},children:[{id:"runner",label:"Runner",icon:"▶"},{id:"scripts",label:"Scripts",icon:"{ }"},{id:"history",label:"History",icon:"\uD83D\uDCCB"}].map(a=>(0,g.jsxs)("button",{onClick:()=>r(a.id),className:"px-3 md:px-4 py-2 text-xs flex items-center gap-1.5 transition-colors whitespace-nowrap",style:{backgroundColor:q===a.id?"var(--bg-secondary)":"transparent",color:q===a.id?"var(--accent)":"var(--text-tertiary)",borderBottom:q===a.id?"2px solid var(--accent)":"2px solid transparent"},children:[(0,g.jsx)("span",{children:a.icon}),a.label]},a.id))}),"runner"===q&&(0,g.jsxs)("div",{className:"flex-1 overflow-hidden flex flex-col md:flex-row",children:[(0,g.jsx)("div",{className:`${K?"max-h-[35vh] md:max-h-none":"max-h-0 md:max-h-none"} md:flex-[0_0_28%] border-b md:border-b-0 md:border-r overflow-auto transition-all duration-200 shrink-0`,style:{borderColor:"var(--border)"},children:(0,g.jsxs)("div",{className:"p-3 md:p-4 space-y-3 md:space-y-4",children:[(0,g.jsxs)("div",{className:"p-3 rounded-lg space-y-3",style:{backgroundColor:"var(--bg-secondary)",border:"1px solid var(--border)"},children:[(0,g.jsx)("h3",{className:"text-sm font-medium",style:{color:"var(--text-primary)"},children:"Configuration"}),(0,g.jsxs)("div",{children:[(0,g.jsx)("label",{className:"text-xs block mb-1",style:{color:"var(--text-tertiary)"},children:"Target URL"}),(0,g.jsx)("input",{type:"url",value:f,onChange:a=>h(a.target.value),disabled:s,className:"w-full text-sm px-2 py-1.5 rounded disabled:opacity-50",style:{backgroundColor:"var(--bg-primary)",border:"1px solid var(--border)",color:"var(--text-primary)"},placeholder:"http://localhost:3000"})]}),(0,g.jsxs)("div",{className:"grid grid-cols-2 gap-2",children:[(0,g.jsxs)("div",{children:[(0,g.jsx)("label",{className:"text-xs block mb-1",style:{color:"var(--text-tertiary)"},children:"Browser"}),(0,g.jsxs)("select",{value:i,onChange:a=>k(a.target.value),disabled:s,className:"w-full text-sm px-2 py-1.5 rounded disabled:opacity-50",style:{backgroundColor:"var(--bg-primary)",border:"1px solid var(--border)",color:"var(--text-primary)"},children:[(0,g.jsx)("option",{value:"chromium",children:"Chromium"}),(0,g.jsx)("option",{value:"firefox",children:"Firefox"}),(0,g.jsx)("option",{value:"webkit",children:"WebKit"}),(0,g.jsx)("option",{value:"edge",children:"Edge"})]})]}),(0,g.jsxs)("div",{children:[(0,g.jsx)("label",{className:"text-xs block mb-1",style:{color:"var(--text-tertiary)"},children:"Timeout (ms)"}),(0,g.jsx)("input",{type:"number",value:o,onChange:a=>p(Number(a.target.value)),disabled:s,className:"w-full text-sm px-2 py-1.5 rounded disabled:opacity-50",style:{backgroundColor:"var(--bg-primary)",border:"1px solid var(--border)",color:"var(--text-primary)"}})]})]}),(0,g.jsxs)("label",{className:"flex items-center gap-2 text-xs cursor-pointer",children:[(0,g.jsx)("input",{type:"checkbox",checked:l,onChange:a=>n(a.target.checked),disabled:s,className:"accent-[var(--accent)]"}),(0,g.jsx)("span",{style:{color:"var(--text-secondary)"},children:"Run headless"})]})]}),(0,g.jsxs)("div",{children:[(0,g.jsxs)("div",{className:"flex items-center justify-between mb-2",children:[(0,g.jsxs)("h3",{className:"text-sm font-medium",style:{color:"var(--text-primary)"},children:["Test Cases (",ac.size,"/",a.length,")"]}),(0,g.jsx)("button",{onClick:ah,disabled:s,className:"text-xs underline disabled:opacity-50",style:{color:"var(--accent)"},children:ac.size===a.length?"Deselect All":"Select All"})]}),(0,g.jsx)("div",{className:"max-h-[150px] md:max-h-[200px] overflow-auto rounded-lg",style:{border:"1px solid var(--border)"},children:a.map(a=>{let b=w.find(b=>b.testCaseId===a.id);return(0,g.jsxs)("label",{className:"flex items-center gap-2 px-3 py-2 text-xs border-b last:border-b-0 hover:opacity-80 cursor-pointer",style:{borderColor:"var(--border)",backgroundColor:ac.has(a.id)?"var(--bg-secondary)":"transparent"},children:[(0,g.jsx)("input",{type:"checkbox",checked:ac.has(a.id),onChange:()=>ag(a.id),disabled:s,className:"accent-[var(--accent)]"}),(0,g.jsx)("span",{className:"flex-1 truncate",style:{color:"var(--text-primary)"},children:a.code}),b&&(0,g.jsx)("span",{style:{color:"pass"===b.status?"var(--status-pass-text)":"var(--status-fail-text)"},children:"pass"===b.status?"✓":"✗"})]},a.id)})})]}),(0,g.jsxs)("div",{className:"space-y-2",children:[(0,g.jsx)("button",{onClick:aj,disabled:s||u||0===ac.size,className:"w-full px-3 py-2 text-xs rounded flex items-center justify-center gap-2 disabled:opacity-50",style:{border:"1px solid var(--border)",color:"var(--text-secondary)"},children:u?"⏳ Generating...":"{ } Generate Scripts"}),O&&(0,g.jsx)("button",{onClick:()=>R(!0),className:"w-full px-3 py-2 text-xs rounded flex items-center justify-center gap-2",style:{backgroundColor:"var(--status-skip-bg)",border:"1px solid var(--status-skip-border)",color:"var(--status-skip-text)"},children:"\uD83D\uDD27 View Healing Report"})]})]})}),(0,g.jsxs)("div",{ref:N,className:"flex-1 flex flex-col overflow-hidden min-h-0",children:[(0,g.jsxs)("div",{className:"flex-1 flex flex-col md:flex-row overflow-hidden min-h-0",children:[(0,g.jsxs)("div",{className:"flex-1 flex flex-col min-h-0 max-h-[45vh] md:max-h-none",children:[(0,g.jsx)("div",{className:"p-3 border-b",style:{borderColor:"var(--border)",backgroundColor:"var(--bg-secondary)"},children:(0,g.jsxs)("div",{className:"flex items-center justify-between",children:[(0,g.jsx)("h3",{className:"text-sm font-medium",style:{color:"var(--text-primary)"},children:"Execution Log"}),s&&(0,g.jsxs)("div",{className:"flex items-center gap-2",children:[(0,g.jsx)("div",{className:"w-2 h-2 rounded-full bg-green-500 animate-pulse"}),(0,g.jsx)("span",{className:"text-xs truncate max-w-[150px]",style:{color:"var(--text-tertiary)"},children:y?y.title:"Processing..."})]})]})}),(0,g.jsxs)("div",{className:"flex-1 overflow-auto p-3 font-mono text-xs",style:{backgroundColor:"var(--bg-primary)"},children:[0===A.length?(0,g.jsx)("div",{className:"text-center py-8",style:{color:"var(--text-tertiary)"},children:'Click "Run Tests" to start'}):A.map((a,b)=>(0,g.jsx)("div",{className:"py-0.5",style:{color:(a=>{switch(a){case"error":return"var(--status-fail-text)";case"success":return"var(--status-pass-text)";case"ai":return"#8b5cf6";case"healing":return"#f59e0b";case"warning":return"var(--status-skip-text)";default:return"var(--text-secondary)"}})(a.type)},children:a.message.split("\n").map((a,b)=>(0,g.jsx)("div",{children:a||"\xa0"},b))},b)),(0,g.jsx)("div",{ref:ab})]})]}),(0,g.jsx)("div",{className:"w-1 md:w-1.5 cursor-col-resize hover:bg-[var(--accent)] transition-colors shrink-0",style:{backgroundColor:"var(--border)"},onMouseDown:ae}),(0,g.jsxs)("div",{className:"border-t md:border-t-0 md:border-l flex flex-col transition-all duration-200",style:{borderColor:"var(--border)",maxHeight:G?"300px":"36px",minHeight:G?"200px":"36px",width:"auto",flex:G?`0 0 ${I}%`:"0 0 36px",...{}},children:[(0,g.jsxs)("div",{className:"p-2 md:p-3 border-b cursor-pointer flex items-center gap-2 shrink-0",style:{borderColor:"var(--border)",backgroundColor:"var(--bg-secondary)"},onClick:()=>H(!G),children:[(0,g.jsx)("span",{className:"text-sm",children:"\uD83D\uDDA5️"}),G&&(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)("h3",{className:"text-sm font-medium flex-1",style:{color:"var(--text-primary)"},children:"Browser Preview"}),(0,g.jsx)("span",{className:"text-xs",style:{color:"var(--text-tertiary)"},children:C.length>0?`${C.length} screenshots`:""})]})]}),G&&(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)("div",{className:"flex-1 overflow-auto p-2",style:{backgroundColor:"var(--bg-secondary)"},children:E?(0,g.jsx)("img",{src:`data:image/jpeg;base64,${E}`,alt:"Browser preview",className:"w-full rounded"}):(0,g.jsx)("div",{className:"flex items-center justify-center h-full min-h-[100px] text-xs",style:{color:"#666"},children:s?"Waiting...":"Preview during execution"})}),C.length>0&&(0,g.jsx)("div",{className:"p-2 border-t overflow-x-auto flex gap-1 shrink-0",style:{borderColor:"var(--border)"},children:C.slice(-6).map((a,b)=>(0,g.jsx)("button",{onClick:()=>F(a.image),className:"flex-shrink-0 w-10 h-7 md:w-12 md:h-8 rounded overflow-hidden border",style:{border:E===a.image?"2px solid var(--accent)":"1px solid var(--border)"},title:a.label,children:(0,g.jsx)("img",{src:`data:image/jpeg;base64,${a.image}`,alt:a.label,className:"w-full h-full object-cover"})},b))})]})]})]}),w.length>0&&(0,g.jsx)("div",{className:"p-2 md:p-3 border-t shrink-0",style:{borderColor:"var(--border)",backgroundColor:"var(--bg-secondary)"},children:(0,g.jsxs)("div",{className:"flex flex-wrap gap-3 md:gap-4 text-xs md:text-sm",children:[(0,g.jsxs)("span",{style:{color:"var(--status-pass-text)"},children:["✓ ",w.filter(a=>"pass"===a.status).length]}),(0,g.jsxs)("span",{style:{color:"var(--status-fail-text)"},children:["✗ ",w.filter(a=>"fail"===a.status).length]}),(0,g.jsxs)("span",{style:{color:"var(--status-fail-text)"},children:["⚠ ",w.filter(a=>"error"===a.status).length]}),(0,g.jsxs)("span",{className:"ml-auto",style:{color:"var(--text-tertiary)"},children:[Math.round(w.reduce((a,b)=>a+b.duration,0)/1e3),"s"]})]})})]})]}),"scripts"===q&&(0,g.jsxs)("div",{className:"flex-1 overflow-hidden flex flex-col md:flex-row",children:[(0,g.jsx)("div",{className:"w-full md:w-64 border-b md:border-b-0 md:border-r overflow-auto max-h-[30vh] md:max-h-none",style:{borderColor:"var(--border)"},children:(0,g.jsxs)("div",{className:"p-3",children:[(0,g.jsx)("h3",{className:"text-sm font-medium mb-3",style:{color:"var(--text-primary)"},children:"Test Scripts"}),(0,g.jsx)("div",{className:"space-y-1",children:a.map(a=>{let b=!!S[a.id],c=Y===a.id;return(0,g.jsxs)("button",{onClick:()=>{Z(a.id),V(null)},className:"w-full text-left px-3 py-2 text-xs rounded flex items-center gap-2",style:{backgroundColor:c?"var(--bg-secondary)":"transparent",color:"var(--text-primary)",border:c?"1px solid var(--border)":"1px solid transparent"},children:[(0,g.jsx)("span",{className:b?"text-green-500":"text-gray-400",children:b?"✓":"○"}),(0,g.jsxs)("span",{className:"truncate",children:[a.code," - ",a.title]})]},a.id)})})]})}),(0,g.jsx)("div",{className:"flex-1 flex flex-col min-h-0 max-h-[45vh] md:max-h-none",children:Y?(0,g.jsxs)(g.Fragment,{children:[(0,g.jsxs)("div",{className:"p-3 border-b flex items-center justify-between shrink-0",style:{borderColor:"var(--border)",backgroundColor:"var(--bg-secondary)"},children:[(0,g.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,g.jsxs)("h3",{className:"text-sm font-medium truncate",style:{color:"var(--text-primary)"},children:[a.find(a=>a.id===Y)?.code," - Script"]}),(0,g.jsx)("p",{className:"text-xs mt-0.5",style:{color:"var(--text-tertiary)"},children:U?"Editing":"Click Edit to modify"})]}),(0,g.jsx)("div",{className:"flex gap-2 ml-2",children:U?(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)("button",{onClick:()=>{V(null),X("")},className:"px-3 py-1.5 text-xs rounded",style:{border:"1px solid var(--border)",color:"var(--text-secondary)"},children:"Cancel"}),(0,g.jsx)("button",{onClick:am,className:"px-3 py-1.5 text-xs rounded",style:{backgroundColor:"var(--accent)",color:"white"},children:"Save"})]}):(0,g.jsx)("button",{onClick:()=>{V(Y),X(S[Y]||"")},className:"px-3 py-1.5 text-xs rounded",style:{border:"1px solid var(--border)",color:"var(--text-secondary)"},children:"✏️ Edit"})})]}),(0,g.jsx)("div",{className:"flex-1 overflow-auto p-4",style:{backgroundColor:"#1e1e2e"},children:U?(0,g.jsx)("textarea",{value:W,onChange:a=>X(a.target.value),className:"w-full h-full min-h-[300px] font-mono text-sm p-4 rounded resize-none",style:{backgroundColor:"#1e1e2e",color:"#cdd6f4",border:"none",outline:"none"},spellCheck:!1}):S[Y]?(0,g.jsx)("pre",{className:"font-mono text-sm whitespace-pre-wrap",style:{color:"#cdd6f4"},children:S[Y]}):(0,g.jsxs)("div",{className:"flex flex-col items-center justify-center h-full gap-4",children:[(0,g.jsx)("p",{className:"text-sm",style:{color:"#666"},children:"No script generated yet"}),(0,g.jsx)("button",{onClick:aj,disabled:u,className:"px-4 py-2 text-sm rounded disabled:opacity-50",style:{backgroundColor:"var(--accent)",color:"white"},children:u?"Generating...":"Generate Script"})]})})]}):(0,g.jsx)("div",{className:"flex-1 flex items-center justify-center p-4",children:(0,g.jsxs)("div",{className:"text-center",style:{color:"var(--text-tertiary)"},children:[(0,g.jsx)("p",{className:"text-3xl md:text-4xl mb-3"}),(0,g.jsx)("p",{className:"text-sm",children:"Select a test case to view its script"})]})})})]}),"history"===q&&(0,g.jsxs)("div",{className:"flex-1 overflow-hidden flex flex-col md:flex-row",children:[(0,g.jsx)("div",{className:"w-full md:w-80 border-b md:border-b-0 md:border-r overflow-auto max-h-[40vh] md:max-h-none",style:{borderColor:"var(--border)"},children:(0,g.jsxs)("div",{className:"p-3",children:[(0,g.jsxs)("div",{className:"flex items-center justify-between mb-3",children:[(0,g.jsxs)("h3",{className:"text-sm font-medium",style:{color:"var(--text-primary)"},children:["Run History (",d.runs.length,")"]}),d.runs.length>0&&(0,g.jsx)("button",{onClick:d.clearRuns,className:"text-xs underline",style:{color:"var(--status-fail-text)"},children:"Clear All"})]}),0===d.runs.length?(0,g.jsx)("div",{className:"text-center py-8 text-xs",style:{color:"var(--text-tertiary)"},children:"No test runs yet"}):(0,g.jsx)("div",{className:"space-y-2",children:d.runs.map(a=>(0,g.jsxs)("div",{className:"p-3 rounded-lg group relative",style:{backgroundColor:$?.id===a.id?"var(--bg-secondary)":"transparent",border:$?.id===a.id?"1px solid var(--border)":"1px solid transparent"},children:[(0,g.jsxs)("button",{onClick:()=>_(a),className:"w-full text-left",children:[(0,g.jsxs)("div",{className:"flex items-center justify-between",children:[(0,g.jsx)("span",{className:"text-xs font-medium",style:{color:"var(--text-primary)"},children:new Date(a.timestamp).toLocaleString()}),(0,g.jsxs)("span",{className:"text-xs",style:{color:a.totalFailed>0?"var(--status-fail-text)":"var(--status-pass-text)"},children:[a.totalPassed,"✓ ",a.totalFailed,"✗"]})]}),(0,g.jsxs)("div",{className:"text-xs mt-1 truncate",style:{color:"var(--text-tertiary)"},children:[a.config.baseUrl," • ",a.config.browser]})]}),(0,g.jsx)("button",{onClick:()=>{d.deleteRun(a.id),$?.id===a.id&&_(null)},className:"absolute top-2 right-2 p-1 rounded opacity-0 group-hover:opacity-100 transition-opacity",style:{color:"var(--status-fail-text)"},title:"Delete run",children:"✕"})]},a.id))})]})}),(0,g.jsx)("div",{className:"flex-1 overflow-auto",children:$?(0,g.jsxs)("div",{className:"p-4 space-y-4",children:[(0,g.jsxs)("div",{className:"flex items-center justify-between flex-wrap gap-2",children:[(0,g.jsxs)("div",{children:[(0,g.jsx)("h3",{className:"text-sm font-medium",style:{color:"var(--text-primary)"},children:"Run Details"}),(0,g.jsx)("p",{className:"text-xs",style:{color:"var(--text-tertiary)"},children:new Date($.timestamp).toLocaleString()})]}),(0,g.jsxs)("div",{className:"flex gap-3 text-sm",children:[(0,g.jsxs)("span",{style:{color:"var(--status-pass-text)"},children:["✓ ",$.totalPassed]}),(0,g.jsxs)("span",{style:{color:"var(--status-fail-text)"},children:["✗ ",$.totalFailed]})]})]}),(0,g.jsx)("div",{className:"space-y-2",children:$.results.map((a,b)=>(0,g.jsxs)("div",{className:"p-3 rounded-lg",style:{backgroundColor:"var(--bg-secondary)",border:`1px solid ${"pass"===a.status?"var(--status-pass-border)":"var(--status-fail-border)"}`},children:[(0,g.jsxs)("div",{className:"flex items-center justify-between flex-wrap gap-2",children:[(0,g.jsxs)("span",{className:"text-sm font-medium truncate",style:{color:"var(--text-primary)"},children:[a.testCaseCode||`Test ${b+1}`," - ",a.testCaseTitle]}),(0,g.jsx)("span",{className:"text-xs px-2 py-0.5 rounded shrink-0",style:{backgroundColor:"pass"===a.status?"var(--status-pass-bg)":"var(--status-fail-bg)",color:"pass"===a.status?"var(--status-pass-text)":"var(--status-fail-text)"},children:a.status.toUpperCase()})]}),a.error&&(0,g.jsx)("p",{className:"text-xs mt-2 p-2 rounded break-words",style:{backgroundColor:"var(--status-fail-bg)",color:"var(--status-fail-text)"},children:a.error}),(0,g.jsx)("div",{className:"mt-2 space-y-1",children:a.steps.map((a,b)=>(0,g.jsxs)("div",{className:"flex items-start gap-2 text-xs",children:[(0,g.jsx)("span",{className:"shrink-0",style:{color:"pass"===a.status?"var(--status-pass-text)":"var(--status-fail-text)"},children:"pass"===a.status?"✓":"✗"}),(0,g.jsx)("span",{style:{color:"var(--text-secondary)"},children:a.step})]},b))}),a.aiAnalysis&&(0,g.jsxs)("div",{className:"mt-2 p-2 rounded text-xs break-words",style:{backgroundColor:"var(--bg-primary)",color:"var(--text-secondary)"},children:[(0,g.jsx)("strong",{children:"AI:"})," ",a.aiAnalysis]})]},a.testCaseId))})]}):(0,g.jsx)("div",{className:"flex items-center justify-center h-full p-4",children:(0,g.jsxs)("div",{className:"text-center",style:{color:"var(--text-tertiary)"},children:[(0,g.jsx)("p",{className:"text-3xl md:text-4xl mb-3",children:"\uD83D\uDCCB"}),(0,g.jsx)("p",{className:"text-sm",children:"Select a run to view details"})]})})})]}),(0,g.jsxs)("div",{className:"p-3 md:p-4 border-t flex items-center justify-between shrink-0",style:{borderColor:"var(--border)"},children:[(0,g.jsxs)("div",{className:"text-xs truncate max-w-[200px] md:max-w-none",style:{color:"var(--text-tertiary)"},children:[s&&y&&(0,g.jsxs)("span",{children:["Running: ",y.title]}),!s&&w.length>0&&(0,g.jsxs)("span",{children:[w.length," tests completed"]}),!s&&0===w.length&&"runner"===q&&(0,g.jsx)("span",{className:"hidden sm:inline",children:"Config saved per project"})]}),(0,g.jsxs)("div",{className:"flex gap-2",children:[(0,g.jsx)("button",{onClick:c,disabled:s,className:"px-3 md:px-4 py-2 text-sm rounded disabled:opacity-50",style:{border:"1px solid var(--border)",color:"var(--text-secondary)"},children:"Close"}),"runner"===q&&(s?(0,g.jsx)("button",{onClick:al,className:"px-3 md:px-4 py-2 text-sm rounded flex items-center gap-2",style:{backgroundColor:"#ef4444",color:"white"},children:"■ Stop"}):(0,g.jsx)("button",{onClick:ak,disabled:0===ac.size,className:"px-3 md:px-4 py-2 text-sm rounded disabled:opacity-50",style:{backgroundColor:"var(--accent)",color:"white"},children:"▶ Run"}))]})]})]}),Q&&(0,g.jsx)("div",{className:"fixed inset-0 z-60 flex items-center justify-center p-4",style:{backgroundColor:"rgba(0,0,0,0.6)"},children:(0,g.jsxs)("div",{className:"w-full max-w-2xl max-h-[80vh] rounded-lg shadow-xl flex flex-col",style:{backgroundColor:"var(--bg-primary)",border:"1px solid var(--border)"},children:[(0,g.jsxs)("div",{className:"flex items-center justify-between p-4 border-b",style:{borderColor:"var(--border)"},children:[(0,g.jsxs)("div",{children:[(0,g.jsx)("h2",{className:"text-lg font-semibold",style:{color:"var(--text-primary)"},children:"\uD83D\uDD27 Healing Report"}),(0,g.jsx)("p",{className:"text-xs mt-1",style:{color:"var(--text-tertiary)"},children:"AI recommendations"})]}),(0,g.jsx)("button",{onClick:()=>R(!1),className:"p-1 rounded hover:opacity-80",style:{color:"var(--text-tertiary)"},children:"✕"})]}),(0,g.jsx)("div",{className:"flex-1 overflow-auto p-4",children:(0,g.jsx)("pre",{className:"whitespace-pre-wrap text-xs font-mono break-words",style:{color:"var(--text-secondary)"},children:O})}),(0,g.jsx)("div",{className:"p-4 border-t flex justify-end",style:{borderColor:"var(--border)"},children:(0,g.jsx)("button",{onClick:()=>R(!1),className:"px-4 py-2 text-sm rounded",style:{backgroundColor:"var(--accent)",color:"white"},children:"Close"})})]})})]})}let dn=c(43249).$;var dp=c(85586),dq=c(39952),dr=c(44013);let ds=40,dt=60,du=140,dv=!1,dw=(d="supports-backdrop-blur:bg-white/10 supports-backdrop-blur:dark:bg-black/10 mx-auto mt-8 flex h-[58px] w-max items-center justify-center gap-2 rounded-2xl border p-2 backdrop-blur-md",a=>dn(d,null==a?void 0:a.class,null==a?void 0:a.className)),dx=k().forwardRef(({className:a,children:b,iconSize:c=ds,iconMagnification:d=dt,disableMagnification:e=dv,iconDistance:f=du,direction:h="middle",...i},j)=>{let l=(0,dp.d)(1/0);return(0,g.jsx)(o.P.div,{ref:j,onMouseMove:a=>l.set(a.pageX),onMouseLeave:()=>l.set(1/0),...i,className:(0,p.cn)(dw({className:a}),{"items-start":"top"===h,"items-center":"middle"===h,"items-end":"bottom"===h}),children:k().Children.map(b,a=>k().isValidElement(a)&&a.type===dy?k().cloneElement(a,{...a.props,mouseX:l,size:c,magnification:d,disableMagnification:e,distance:f}):a)})});dx.displayName="Dock";let dy=({size:a=ds,magnification:b=dt,disableMagnification:c,distance:d=du,mouseX:e,className:f,children:h,...i})=>{let k=(0,j.useRef)(null),l=Math.max(6,.2*a),m=(0,dp.d)(1/0),n=(0,dq.G)(e??m,a=>{let b=k.current?.getBoundingClientRect()??{x:0,width:0};return a-b.x-b.width/2}),q=c?a:b,r=(0,dq.G)(n,[-d,0,d],[a,q,a]),s=(0,dr.z)(r,{mass:.15,stiffness:120,damping:25});return(0,g.jsx)(o.P.div,{ref:k,style:{width:s,height:s,padding:l},className:(0,p.cn)("flex aspect-square cursor-pointer items-center justify-center rounded-full",c&&"hover:bg-muted-foreground transition-colors",f),...i,children:(0,g.jsx)("div",{children:h})})};dy.displayName="DockIcon";let dz=function(a,...b){let c=new URL("https://base-ui.com/production-error");return c.searchParams.set("code",a.toString()),b.forEach(a=>c.searchParams.append("args[]",a)),`Base UI error #${a}; visit ${c} for the full message.`},dA={};function dB(a,b){let c=j.useRef(dA);return c.current===dA&&(c.current=a(b)),c}function dC(a,b,c,d){var e,f,g,h,i;let j=dB(dD).current;return e=j,f=a,g=b,h=c,i=d,(e.refs[0]!==f||e.refs[1]!==g||e.refs[2]!==h||e.refs[3]!==i)&&dE(j,[a,b,c,d]),j.callback}function dD(){return{callback:null,cleanup:null,refs:[]}}function dE(a,b){if(a.refs=b,b.every(a=>null==a)){a.callback=null;return}a.callback=c=>{if(a.cleanup&&(a.cleanup(),a.cleanup=null),null!=c){let d=Array(b.length).fill(null);for(let a=0;a<b.length;a+=1){let e=b[a];if(null!=e)switch(typeof e){case"function":{let b=e(c);"function"==typeof b&&(d[a]=b);break}case"object":e.current=c}}a.cleanup=()=>{for(let a=0;a<b.length;a+=1){let c=b[a];if(null!=c)switch(typeof c){case"function":{let b=d[a];"function"==typeof b?b():c(null);break}case"object":c.current=null}}}}}}let dF=parseInt(j.version,10);function dG(a){if(!j.isValidElement(a))return null;let b=a.props;return(dF>=19?b?.ref:a.ref)??null}function dH(a,b){return a&&!b?a:!a&&b?b:a||b?{...a,...b}:void 0}Object.freeze([]);let dI=Object.freeze({}),dJ={};function dK(a,b,c,d,e){if(!c&&!d&&!e&&!a)return dL(b);let f=dL(a);return b&&(f=dM(f,b)),c&&(f=dM(f,c)),d&&(f=dM(f,d)),e&&(f=dM(f,e)),f}function dL(a){return dO(a)?{...dP(a,dJ)}:function(a){let b={...a};for(let a in b){let c=b[a];dN(a,c)&&(b[a]=dQ(c))}return b}(a)}function dM(a,b){return dO(b)?dP(b,a):function(a,b){if(!b)return a;for(let c in b){let d=b[c];switch(c){case"style":a[c]=dH(a.style,d);break;case"className":a[c]=dS(a.className,d);break;default:dN(c,d)?a[c]=function(a,b){return b?a?(...c)=>{let d=c[0];if(dT(d)){dR(d);let e=b(...c);return d.baseUIHandlerPrevented||a?.(...c),e}let e=b(...c);return a?.(...c),e}:dQ(b):a}(a[c],d):a[c]=d}}return a}(a,b)}function dN(a,b){let c=a.charCodeAt(0),d=a.charCodeAt(1),e=a.charCodeAt(2);return 111===c&&110===d&&e>=65&&e<=90&&("function"==typeof b||void 0===b)}function dO(a){return"function"==typeof a}function dP(a,b){return dO(a)?a(b):a??dJ}function dQ(a){return a?(...b)=>{let c=b[0];return dT(c)&&dR(c),a(...b)}:a}function dR(a){return a.preventBaseUIHandler=()=>{a.baseUIHandlerPrevented=!0},a}function dS(a,b){return b?a?b+" "+a:b:a}function dT(a){return null!=a&&"object"==typeof a&&"nativeEvent"in a}let dU=Symbol.for("react.lazy"),dV=j.forwardRef(function(a,b){let{className:c,render:d,orientation:e="horizontal",style:f,...g}=a;return function(a,b,c={}){let d=b.render,e=function(a,b={}){let{className:c,style:d,render:e}=a,{state:f=dI,ref:g,props:h,stateAttributesMapping:i,enabled:j=!0}=b,k=j?"function"==typeof c?c(f):c:void 0,l=j?"function"==typeof d?d(f):d:void 0,m=j?function(a,b){let c={};for(let d in a){let e=a[d];if(b?.hasOwnProperty(d)){let a=b[d](e);null!=a&&Object.assign(c,a);continue}!0===e?c[`data-${d.toLowerCase()}`]="":e&&(c[`data-${d.toLowerCase()}`]=e.toString())}return c}(f,i):dI,n=j&&h?function(a){if(Array.isArray(a)){if(0===a.length)return dJ;if(1===a.length)return dL(a[0]);let b=dL(a[0]);for(let c=1;c<a.length;c+=1)b=dM(b,a[c]);return b}return dK(void 0,a)}(h):void 0,o=j?dH(m,n)??{}:dI;return("undefined"!=typeof document&&(j?Array.isArray(g)?o.ref=function(a){var b,c;let d=dB(dD).current;return b=d,c=a,(b.refs.length!==c.length||b.refs.some((a,b)=>a!==c[b]))&&dE(d,a),d.callback}([o.ref,dG(e),...g]):o.ref=dC(o.ref,dG(e),g):dC(null,null)),j)?(void 0!==k&&(o.className=dS(o.className,k)),void 0!==l&&(o.style=dH(o.style,l)),o):dI}(b,c);return!1===c.enabled?null:function(a,b,c,d){if(b){if("function"==typeof b)return b(c,d);let a=dK(c,b.props);a.ref=c.ref;let e=b;return e?.$$typeof===dU&&(e=j.Children.toArray(b)[0]),j.cloneElement(e,a)}if("string"==typeof a){var e,f;return e=a,f=c,"button"===e?(0,j.createElement)("button",{type:"button",...f,key:f.key}):"img"===e?(0,j.createElement)("img",{alt:"",...f,key:f.key}):j.createElement(e,f)}throw Error(dz(8))}("div",d,e,c.state??dI)}(0,a,{state:{orientation:e},ref:b,props:[{role:"separator","aria-orientation":e},g]})});function dW({className:a,orientation:b="horizontal",...c}){return(0,g.jsx)(dV,{"data-slot":"separator",orientation:b,className:(0,p.cn)("shrink-0 bg-border data-horizontal:h-px data-horizontal:w-full data-vertical:w-px data-vertical:self-stretch",a),...c})}function dX({selectedNode:a,testCases:b,stats:c,columns:d,projectId:e,fullscreen:f,onAddTestCase:h,onUpdateTestCase:k,onDeleteTestCase:m,onBulkDelete:n,onBulkUpdate:o,onReorderTestCases:p,onReorderColumn:q,onToggleColumn:r,onRenameColumn:s,onUpdateNode:t,onAddColumn:u,onDeleteColumn:v,confirmDialog:A}){(0,l.useRouter)();let[B,C]=(0,j.useState)(!1),[D,E]=(0,j.useState)(!1),[F,K]=(0,j.useState)(!1),[L,M]=(0,j.useState)(!1),[N,O]=(0,j.useState)(!1),[P,Q]=(0,j.useState)(!1),[R,S]=(0,j.useState)(!1),[T,U]=(0,j.useState)(!1),[V,W]=(0,j.useState)(!1),[X,Y]=(0,j.useState)(new Set),[Z,$]=(0,j.useState)(null),[_,aa]=(0,j.useState)("asc"),[ab,ac]=(0,j.useState)(!1),[ad,ae]=(0,j.useState)(""),af=(0,j.useRef)(null),ag=(0,j.useRef)(null),ah=f?d:d.filter(a=>"code"!==a.key),ai=w._X.map(a=>a.key),aj=(0,j.useCallback)(a=>{Y(b=>{let c=new Set(b);return c.has(a)?c.delete(a):c.add(a),c})},[]),ak=(0,j.useCallback)(()=>{X.size===b.length?Y(new Set):Y(new Set(b.map(a=>a.id)))},[X.size,b]),al=(0,j.useCallback)(()=>Y(new Set),[]),am=(0,j.useCallback)(async()=>{a&&0!==X.size&&(!A||await A("Delete Test Cases",`Delete ${X.size} selected test case(s)?`))&&(n(a.id,Array.from(X)),Y(new Set))},[a,X,n,A]),an=(0,j.useCallback)(b=>{a&&0!==X.size&&(o(a.id,Array.from(X),{status:b}),Y(new Set))},[a,X,o]),ao=Z?[...b].sort((a,b)=>{let c=a[Z]||"",d=b[Z]||"",e=c.localeCompare(d);return"asc"===_?e:-e}):b,ap=(0,j.useCallback)(b=>{if(a)for(let c of b)h(a.id,c.title,c.steps,c.expected)},[a,h]),aq=(0,j.useCallback)(b=>{if(a)for(let c of b)h(a.id,c.title,c.steps,c.expected)},[a,h]);return a?(0,g.jsxs)("div",{className:"jsx-bc071752c54fb059 flex flex-col h-full relative",children:[(0,g.jsxs)("div",{style:{borderColor:"var(--border)"},className:"jsx-bc071752c54fb059 px-4 py-3 border-b",children:[(0,g.jsx)("h2",{style:{color:"var(--text-primary)"},className:"jsx-bc071752c54fb059 text-base font-medium mb-2",children:a.label}),(0,g.jsx)(y,{value:c.passRate})]}),B&&(0,g.jsxs)("div",{style:{borderColor:"var(--border)",backgroundColor:"var(--bg-secondary)"},className:"jsx-bc071752c54fb059 px-4 py-3 border-b",children:[(0,g.jsx)("label",{style:{color:"var(--text-tertiary)"},className:"jsx-bc071752c54fb059 text-xs font-medium mb-1 block",children:"Node Notes"}),(0,g.jsx)("textarea",{value:a.notes??"",onChange:b=>t(a.id,{notes:b.target.value}),placeholder:"Add notes for this node...",rows:3,style:{borderColor:"var(--border)",borderRadius:"var(--radius-sm)",color:"var(--text-primary)"},className:"jsx-bc071752c54fb059 w-full px-3 py-2 text-sm bg-transparent outline-none border resize-none"})]}),(0,g.jsx)("div",{className:"jsx-bc071752c54fb059 px-4 py-3",children:(0,g.jsx)(z,{onAdd:b=>h(a.id,b),nodeLabel:a.label})}),X.size>0&&(0,g.jsxs)("div",{style:{borderColor:"var(--accent)",backgroundColor:"var(--accent)",animation:"fadeInUp 150ms ease-out"},className:"jsx-bc071752c54fb059 mx-4 mb-2 px-3 py-2 rounded-lg border flex items-center gap-3",children:[(0,g.jsxs)("span",{className:"jsx-bc071752c54fb059 text-xs font-medium text-white",children:[X.size," selected"]}),(0,g.jsx)("div",{className:"jsx-bc071752c54fb059 flex-1"}),["pass","fail","skip","untested"].map(a=>(0,g.jsxs)("button",{onClick:()=>an(a),style:{color:"#fff"},className:"jsx-bc071752c54fb059 px-2 py-1 text-[10px] font-medium rounded-md transition-colors hover:bg-white/20",children:["Mark ",a.charAt(0).toUpperCase()+a.slice(1)]},a)),(0,g.jsx)("div",{className:"jsx-bc071752c54fb059 w-px h-4 bg-white/30"}),(0,g.jsx)("button",{onClick:am,style:{color:"#fff"},className:"jsx-bc071752c54fb059 px-2 py-1 text-[10px] font-medium rounded-md transition-colors hover:bg-white/20",children:"Delete"}),(0,g.jsx)("button",{onClick:al,style:{color:"#fff"},title:"Clear selection",className:"jsx-bc071752c54fb059 px-1.5 py-1 text-[10px] font-medium rounded-md transition-colors hover:bg-white/20",children:"\xd7"})]}),(0,g.jsx)("div",{className:"jsx-bc071752c54fb059 flex-1 min-h-0 overflow-auto px-2",children:0===b.length?(0,g.jsx)(x.p,{message:"No test cases yet. Use the quick-add bar or Generate button to add test cases."}):(0,g.jsx)(G,{testCases:ao,columns:ah,expandAll:T,selectedIds:X,onToggleSelect:aj,onToggleSelectAll:ak,sortKey:Z,sortDirection:_,onSortChange:a=>{null===a?$(null):Z===a?aa(a=>"asc"===a?"desc":"asc"):($(a),aa("asc"))},onUpdate:(b,c)=>k(a.id,b,c),onDelete:b=>m(a.id,b),onReorder:b=>p(a.id,b)})}),(0,g.jsx)(H,{stats:c}),(0,g.jsxs)("div",{style:{borderColor:"var(--border)",backgroundColor:"var(--bg-primary)"},className:"jsx-bc071752c54fb059 flex-shrink-0 border-t py-2 flex justify-center relative",children:[R&&(0,g.jsxs)("div",{ref:ag,style:{bottom:"100%",left:"50%",transform:"translateX(-50%)",marginBottom:2,backgroundColor:"var(--bg-card)",borderColor:"var(--border)",boxShadow:"var(--shadow-lg)",animation:"fadeInUp 200ms ease-out",width:180},className:"jsx-bc071752c54fb059 absolute z-30 rounded-xl border",children:[(0,g.jsxs)("div",{style:{borderColor:"var(--border)"},className:"jsx-bc071752c54fb059 flex items-center justify-between px-3 py-2 border-b",children:[(0,g.jsx)("h4",{style:{color:"var(--text-primary)"},className:"jsx-bc071752c54fb059 text-[11px] font-semibold",children:"Columns"}),(0,g.jsx)("button",{onClick:()=>S(!1),style:{color:"var(--text-tertiary)"},className:"jsx-bc071752c54fb059 text-[10px] opacity-50 hover:opacity-100",children:"\xd7"})]}),(0,g.jsxs)("div",{className:"jsx-bc071752c54fb059 py-1 max-h-[240px] overflow-y-auto",children:[ah.map((c,d)=>{let e=!ai.includes(c.key);return(0,g.jsxs)("div",{className:"jsx-bc071752c54fb059 flex items-center justify-between px-3 py-1.5 text-[11px] hover:bg-[var(--bg-secondary)] transition-colors group/col",children:[(0,g.jsxs)("button",{onClick:()=>a&&r(a.id,c.key),style:{color:c.visible?"var(--text-primary)":"var(--text-tertiary)"},className:"jsx-bc071752c54fb059 flex items-center gap-2 flex-1 text-left",children:[(0,g.jsx)("span",{className:"jsx-bc071752c54fb059 w-3 text-center",children:c.visible?"✓":""}),(0,g.jsx)("span",{className:"jsx-bc071752c54fb059",children:c.label})]}),(0,g.jsxs)("div",{className:"jsx-bc071752c54fb059 flex items-center gap-0.5 opacity-0 group-hover/col:opacity-100 transition-opacity",children:[(0,g.jsx)("button",{onClick:()=>a&&q?.(a.id,c.key,"up"),disabled:0===d,style:{color:"var(--text-tertiary)"},title:"Move up",className:"jsx-bc071752c54fb059 w-4 h-4 flex items-center justify-center rounded text-[10px] disabled:opacity-20 hover:bg-[var(--bg-secondary)]",children:"↑"}),(0,g.jsx)("button",{onClick:()=>a&&q?.(a.id,c.key,"down"),disabled:d===ah.length-1,style:{color:"var(--text-tertiary)"},title:"Move down",className:"jsx-bc071752c54fb059 w-4 h-4 flex items-center justify-center rounded text-[10px] disabled:opacity-20 hover:bg-[var(--bg-secondary)]",children:"↓"}),e&&(0,g.jsx)("button",{onClick:async()=>{if(a&&v)(!b.some(a=>{let b=a[c.key];return b&&"string"==typeof b&&""!==b.trim()})||!A||await A("Delete Column",`This column has data in some test cases. Delete "${c.label}" anyway?`))&&v(a.id,c.key)},style:{color:"var(--status-fail-text)"},title:`Delete ${c.label}`,className:"jsx-bc071752c54fb059 w-4 h-4 flex items-center justify-center rounded hover:opacity-100 transition-opacity text-[10px]",children:"\xd7"})]})]},c.key)}),ab?(0,g.jsx)("div",{className:"jsx-bc071752c54fb059 px-3 py-1.5",children:(0,g.jsx)("input",{ref:af,value:ad,onChange:a=>ae(a.target.value),onKeyDown:b=>{"Enter"===b.key&&ad.trim()&&(u?.(a.id,ad.trim()),ae(""),ac(!1)),"Escape"===b.key&&(ac(!1),ae(""))},onBlur:()=>{ad.trim()&&u?.(a.id,ad.trim()),ae(""),ac(!1)},placeholder:"Column name...",style:{borderColor:"var(--accent)",backgroundColor:"var(--bg-card)",color:"var(--text-primary)"},className:"jsx-bc071752c54fb059 w-full px-2 py-1 text-[11px] rounded border outline-none"})}):(0,g.jsxs)("button",{onClick:()=>ac(!0),style:{color:"var(--accent)"},className:"jsx-bc071752c54fb059 w-full px-3 py-1.5 text-[11px] text-left flex items-center gap-2 hover:bg-[var(--bg-secondary)] transition-colors",children:[(0,g.jsx)("span",{className:"jsx-bc071752c54fb059 w-3 text-center",children:"+"}),(0,g.jsx)("span",{className:"jsx-bc071752c54fb059",children:"Add New Column"})]})]})]}),(0,g.jsxs)(dx,{direction:"middle",iconSize:32,iconMagnification:44,iconDistance:100,children:[(0,g.jsx)(dy,{children:(0,g.jsxs)("div",{className:"jsx-bc071752c54fb059 relative group",children:[(0,g.jsx)("button",{onClick:()=>M(!0),className:"jsx-bc071752c54fb059 w-full h-full flex items-center justify-center rounded-full hover:bg-[var(--bg-secondary)] transition-colors",children:(0,g.jsxs)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"var(--text-secondary)",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"jsx-bc071752c54fb059",children:[(0,g.jsx)("path",{d:"M14 2H6a2 2 0 00-2 2v16a2 2 0 002 2h12a2 2 0 002-2V8z",className:"jsx-bc071752c54fb059"}),(0,g.jsx)("polyline",{points:"14 2 14 8 20 8",className:"jsx-bc071752c54fb059"}),(0,g.jsx)("line",{x1:"16",y1:"13",x2:"8",y2:"13",className:"jsx-bc071752c54fb059"}),(0,g.jsx)("line",{x1:"16",y1:"17",x2:"8",y2:"17",className:"jsx-bc071752c54fb059"}),(0,g.jsx)("polyline",{points:"10 9 9 9 8 9",className:"jsx-bc071752c54fb059"})]})}),(0,g.jsx)("div",{style:{backgroundColor:"var(--text-primary)",color:"var(--bg-primary)"},className:"jsx-bc071752c54fb059 absolute bottom-full left-1/2 -translate-x-1/2 mb-2 px-2 py-1 text-[10px] font-medium rounded whitespace-nowrap opacity-0 group-hover:opacity-100 transition-opacity pointer-events-none",children:"Node Summary"})]})}),(0,g.jsx)(dW,{orientation:"vertical",className:"h-full"}),(0,g.jsx)(dy,{children:(0,g.jsxs)("div",{className:"jsx-bc071752c54fb059 relative group",children:[(0,g.jsx)("button",{onClick:()=>C(!B),style:{backgroundColor:B?"var(--bg-secondary)":"transparent"},className:"jsx-bc071752c54fb059 w-full h-full flex items-center justify-center rounded-full transition-colors",children:(0,g.jsxs)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:B?"var(--accent)":"var(--text-secondary)",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"jsx-bc071752c54fb059",children:[(0,g.jsx)("path",{d:"M11 4H4a2 2 0 00-2 2v14a2 2 0 002 2h14a2 2 0 002-2v-7",className:"jsx-bc071752c54fb059"}),(0,g.jsx)("path",{d:"M18.5 2.5a2.121 2.121 0 013 3L12 15l-4 1 1-4 9.5-9.5z",className:"jsx-bc071752c54fb059"})]})}),(0,g.jsx)("div",{style:{backgroundColor:"var(--text-primary)",color:"var(--bg-primary)"},className:"jsx-bc071752c54fb059 absolute bottom-full left-1/2 -translate-x-1/2 mb-2 px-2 py-1 text-[10px] font-medium rounded whitespace-nowrap opacity-0 group-hover:opacity-100 transition-opacity pointer-events-none",children:"Notes"})]})}),(0,g.jsx)(dy,{children:(0,g.jsxs)("div",{className:"jsx-bc071752c54fb059 relative group",children:[(0,g.jsx)("button",{onClick:()=>E(!0),className:"jsx-bc071752c54fb059 w-full h-full flex items-center justify-center rounded-full hover:bg-[var(--bg-secondary)] transition-colors",children:(0,g.jsxs)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"var(--text-secondary)",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"jsx-bc071752c54fb059",children:[(0,g.jsx)("path",{d:"M21 15v4a2 2 0 01-2 2H5a2 2 0 01-2-2v-4",className:"jsx-bc071752c54fb059"}),(0,g.jsx)("polyline",{points:"7 10 12 15 17 10",className:"jsx-bc071752c54fb059"}),(0,g.jsx)("line",{x1:"12",y1:"15",x2:"12",y2:"3",className:"jsx-bc071752c54fb059"})]})}),(0,g.jsx)("div",{style:{backgroundColor:"var(--text-primary)",color:"var(--bg-primary)"},className:"jsx-bc071752c54fb059 absolute bottom-full left-1/2 -translate-x-1/2 mb-2 px-2 py-1 text-[10px] font-medium rounded whitespace-nowrap opacity-0 group-hover:opacity-100 transition-opacity pointer-events-none",children:"Export"})]})}),(0,g.jsx)(dy,{children:(0,g.jsxs)("div",{className:"jsx-bc071752c54fb059 relative group",children:[(0,g.jsx)("button",{onClick:()=>{let c=(0,I.wy)(a,b,d);navigator.clipboard.writeText(c).then(()=>{W(!0),setTimeout(()=>W(!1),2e3)})},style:{backgroundColor:V?"var(--bg-secondary)":"transparent"},className:"jsx-bc071752c54fb059 w-full h-full flex items-center justify-center rounded-full transition-colors",children:V?(0,g.jsx)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"var(--accent)",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"jsx-bc071752c54fb059",children:(0,g.jsx)("polyline",{points:"20 6 9 17 4 12",className:"jsx-bc071752c54fb059"})}):(0,g.jsxs)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"var(--text-secondary)",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"jsx-bc071752c54fb059",children:[(0,g.jsx)("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2",className:"jsx-bc071752c54fb059"}),(0,g.jsx)("path",{d:"M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1",className:"jsx-bc071752c54fb059"})]})}),(0,g.jsx)("div",{style:{backgroundColor:"var(--text-primary)",color:"var(--bg-primary)"},className:"jsx-bc071752c54fb059 absolute bottom-full left-1/2 -translate-x-1/2 mb-2 px-2 py-1 text-[10px] font-medium rounded whitespace-nowrap opacity-0 group-hover:opacity-100 transition-opacity pointer-events-none",children:V?"Copied!":"Copy as Markdown"})]})}),(0,g.jsx)(dy,{children:(0,g.jsxs)("div",{className:"jsx-bc071752c54fb059 relative group",children:[(0,g.jsx)("button",{onClick:()=>S(!R),style:{backgroundColor:R?"var(--bg-secondary)":"transparent"},className:"jsx-bc071752c54fb059 w-full h-full flex items-center justify-center rounded-full transition-colors",children:(0,g.jsxs)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:R?"var(--accent)":"var(--text-secondary)",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"jsx-bc071752c54fb059",children:[(0,g.jsx)("rect",{x:"3",y:"3",width:"7",height:"7",className:"jsx-bc071752c54fb059"}),(0,g.jsx)("rect",{x:"14",y:"3",width:"7",height:"7",className:"jsx-bc071752c54fb059"}),(0,g.jsx)("rect",{x:"14",y:"14",width:"7",height:"7",className:"jsx-bc071752c54fb059"}),(0,g.jsx)("rect",{x:"3",y:"14",width:"7",height:"7",className:"jsx-bc071752c54fb059"})]})}),(0,g.jsx)("div",{style:{backgroundColor:"var(--text-primary)",color:"var(--bg-primary)"},className:"jsx-bc071752c54fb059 absolute bottom-full left-1/2 -translate-x-1/2 mb-2 px-2 py-1 text-[10px] font-medium rounded whitespace-nowrap opacity-0 group-hover:opacity-100 transition-opacity pointer-events-none",children:"Columns"})]})}),(0,g.jsx)(dy,{children:(0,g.jsxs)("div",{className:"jsx-bc071752c54fb059 relative group",children:[(0,g.jsx)("button",{onClick:()=>U(a=>!a),style:{backgroundColor:T?"var(--bg-secondary)":"transparent"},className:"jsx-bc071752c54fb059 w-full h-full flex items-center justify-center rounded-full transition-colors",children:(0,g.jsx)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:T?"var(--accent)":"var(--text-secondary)",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"jsx-bc071752c54fb059",children:T?(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)("line",{x1:"3",y1:"6",x2:"21",y2:"6",className:"jsx-bc071752c54fb059"}),(0,g.jsx)("line",{x1:"3",y1:"12",x2:"21",y2:"12",className:"jsx-bc071752c54fb059"}),(0,g.jsx)("line",{x1:"3",y1:"18",x2:"21",y2:"18",className:"jsx-bc071752c54fb059"}),(0,g.jsx)("polyline",{points:"7 3 3 6 7 9",className:"jsx-bc071752c54fb059"}),(0,g.jsx)("polyline",{points:"17 15 21 18 17 21",className:"jsx-bc071752c54fb059"})]}):(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)("line",{x1:"3",y1:"6",x2:"21",y2:"6",className:"jsx-bc071752c54fb059"}),(0,g.jsx)("line",{x1:"3",y1:"12",x2:"21",y2:"12",className:"jsx-bc071752c54fb059"}),(0,g.jsx)("line",{x1:"3",y1:"18",x2:"21",y2:"18",className:"jsx-bc071752c54fb059"}),(0,g.jsx)("polyline",{points:"17 3 21 6 17 9",className:"jsx-bc071752c54fb059"}),(0,g.jsx)("polyline",{points:"7 15 3 18 7 21",className:"jsx-bc071752c54fb059"})]})})}),(0,g.jsx)("div",{style:{backgroundColor:"var(--text-primary)",color:"var(--bg-primary)"},className:"jsx-bc071752c54fb059 absolute bottom-full left-1/2 -translate-x-1/2 mb-2 px-2 py-1 text-[10px] font-medium rounded whitespace-nowrap opacity-0 group-hover:opacity-100 transition-opacity pointer-events-none",children:T?"Collapse All":"Expand All"})]})}),(0,g.jsx)(dW,{orientation:"vertical",className:"h-full"}),(0,g.jsx)(dy,{children:(0,g.jsxs)("div",{className:"jsx-bc071752c54fb059 relative group",children:[(0,g.jsx)("button",{onClick:()=>O(!0),className:"jsx-bc071752c54fb059 w-full h-full flex items-center justify-center rounded-full hover:bg-[var(--bg-secondary)] transition-colors",children:(0,g.jsxs)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"var(--text-secondary)",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"jsx-bc071752c54fb059",children:[(0,g.jsx)("path",{d:"M21 15v4a2 2 0 01-2 2H5a2 2 0 01-2-2v-4",className:"jsx-bc071752c54fb059"}),(0,g.jsx)("polyline",{points:"17 8 12 3 7 8",className:"jsx-bc071752c54fb059"}),(0,g.jsx)("line",{x1:"12",y1:"3",x2:"12",y2:"15",className:"jsx-bc071752c54fb059"})]})}),(0,g.jsx)("div",{style:{backgroundColor:"var(--text-primary)",color:"var(--bg-primary)"},className:"jsx-bc071752c54fb059 absolute bottom-full left-1/2 -translate-x-1/2 mb-2 px-2 py-1 text-[10px] font-medium rounded whitespace-nowrap opacity-0 group-hover:opacity-100 transition-opacity pointer-events-none",children:"Import Cases"})]})}),(0,g.jsx)(dy,{children:(0,g.jsxs)("div",{className:"jsx-bc071752c54fb059 relative group",children:[(0,g.jsx)("button",{onClick:()=>Q(!0),className:"jsx-bc071752c54fb059 w-full h-full flex items-center justify-center rounded-full hover:bg-[var(--bg-secondary)] transition-colors",children:(0,g.jsxs)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"var(--text-secondary)",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"jsx-bc071752c54fb059",children:[(0,g.jsx)("circle",{cx:"12",cy:"12",r:"10",className:"jsx-bc071752c54fb059"}),(0,g.jsx)("polyline",{points:"12 6 12 12 16 14",className:"jsx-bc071752c54fb059"})]})}),(0,g.jsx)("div",{style:{backgroundColor:"var(--text-primary)",color:"var(--bg-primary)"},className:"jsx-bc071752c54fb059 absolute bottom-full left-1/2 -translate-x-1/2 mb-2 px-2 py-1 text-[10px] font-medium rounded whitespace-nowrap opacity-0 group-hover:opacity-100 transition-opacity pointer-events-none",children:"E2E Test"})]})}),(0,g.jsx)(dy,{children:(0,g.jsxs)("div",{className:"jsx-bc071752c54fb059 relative group",children:[(0,g.jsx)("button",{onClick:()=>K(!0),className:"jsx-bc071752c54fb059 w-full h-full flex items-center justify-center rounded-full hover:bg-[var(--bg-secondary)] transition-colors",children:(0,g.jsx)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"var(--text-secondary)",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"jsx-bc071752c54fb059",children:(0,g.jsx)("polygon",{points:"13 2 3 14 12 14 11 22 21 10 12 10 13 2",className:"jsx-bc071752c54fb059"})})}),(0,g.jsx)("div",{style:{backgroundColor:"var(--text-primary)",color:"var(--bg-primary)"},className:"jsx-bc071752c54fb059 absolute bottom-full left-1/2 -translate-x-1/2 mb-2 px-2 py-1 text-[10px] font-medium rounded whitespace-nowrap opacity-0 group-hover:opacity-100 transition-opacity pointer-events-none",children:"Generate"})]})})]})]}),(0,g.jsx)(J,{open:D,onClose:()=>E(!1),node:a,testCases:b,columns:d}),(0,g.jsx)(dg,{open:F,onClose:()=>K(!1),node:a,onGenerate:ap}),(0,g.jsx)(di,{open:L,onClose:()=>M(!1),node:a,testCases:b,stats:c}),(0,g.jsx)(dl,{open:N,onClose:()=>O(!1),onImport:aq,nodeLabel:a.label}),P&&a&&(0,g.jsx)(dm,{testCases:b,projectId:e,onClose:()=>Q(!1)}),(0,g.jsx)(i(),{id:"bc071752c54fb059",children:"@keyframes fadeInUp{from{opacity:0;transform:translatey(8px)}to{opacity:1;transform:translatey(0)}}"})]}):(0,g.jsx)("div",{className:"h-full",children:(0,g.jsx)(x.p,{message:"Select a node from the mindmap to view its test cases."})})}function dY(){let a=(0,l.useParams)(),b=(0,l.useRouter)(),c=a.projectId,{projects:d,activeProject:e,activeProjectId:f,selectedNodeId:h,setSelectedNodeId:k,switchProject:n,mindmap:o,testCases:p,pushState:q,lastSaved:r,canUndo:s,canRedo:t,undo:u,redo:w,confirmDialog:y}=(0,m.M)(),z=d[c]??null,A=(0,j.useMemo)(()=>e?.flows.find(a=>a.id===h)??null,[e,h]),[B,C]=(0,j.useState)("mindmap"),[D,E]=(0,j.useState)(.5),[F,G]=(0,j.useState)(!1),[H,I]=(0,j.useState)(!1),[J,K]=(0,j.useState)(!1),[L,M]=(0,j.useState)(!1),N=(0,j.useRef)(null),O=(0,j.useRef)(null),P=(0,j.useRef)(null),Q=(0,j.useRef)(null),R=(0,j.useRef)({mouseX:0,startRatio:.5}),S=(0,j.useCallback)(a=>{a.preventDefault(),R.current={mouseX:a.clientX,startRatio:D},G(!0)},[D]);return z?e&&e.id===c?(0,g.jsxs)("div",{className:"jsx-a894832df36b68ca h-full flex flex-col",children:[(0,g.jsxs)("div",{style:{borderColor:"var(--border)",backgroundColor:"var(--bg-card)"},className:"jsx-a894832df36b68ca flex md:hidden border-b flex-shrink-0",children:[(0,g.jsx)("button",{onClick:()=>C("mindmap"),style:{color:"mindmap"===B?"var(--accent)":"var(--text-tertiary)",borderBottom:"mindmap"===B?"2px solid var(--accent)":"2px solid transparent"},className:"jsx-a894832df36b68ca flex-1 px-4 py-2 text-xs font-medium transition-colors",children:"Mindmap"}),(0,g.jsx)("button",{onClick:()=>C("testcases"),style:{color:"testcases"===B?"var(--accent)":"var(--text-tertiary)",borderBottom:"testcases"===B?"2px solid var(--accent)":"2px solid transparent"},className:"jsx-a894832df36b68ca flex-1 px-4 py-2 text-xs font-medium transition-colors",children:"Test Cases"})]}),(0,g.jsxs)("div",{style:{borderColor:"var(--border)"},className:"jsx-a894832df36b68ca flex items-center justify-between px-4 py-1.5 border-b flex-shrink-0",children:[(0,g.jsx)("div",{style:{color:"var(--text-tertiary)"},className:"jsx-a894832df36b68ca text-[10px]",children:r?(0,g.jsxs)("span",{className:"jsx-a894832df36b68ca",children:["Last saved ",function(a){let b=new Date(a),c=Math.floor((new Date().getTime()-b.getTime())/1e3),d=Math.floor(c/60),e=Math.floor(d/60);return c<10?"just now":c<60?`${c}s ago`:d<60?`${d}m ago`:e<24?`${e}h ago`:b.toLocaleDateString("en-US",{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})}(r)]}):(0,g.jsx)("span",{className:"jsx-a894832df36b68ca",children:"Not saved yet"})}),(0,g.jsxs)("div",{className:"jsx-a894832df36b68ca flex items-center gap-2",children:[(0,g.jsx)("button",{onClick:()=>K(a=>!a),style:{color:"var(--text-tertiary)"},title:J?"Exit fullscreen":"Expand test cases",className:"jsx-a894832df36b68ca p-1 rounded transition-colors hover:bg-[var(--bg-secondary)]",children:J?(0,g.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"jsx-a894832df36b68ca",children:(0,g.jsx)("path",{d:"M8 3v3a2 2 0 01-2 2H3m18 0h-3a2 2 0 01-2-2V3m0 18v-3a2 2 0 012-2h3M3 16h3a2 2 0 012 2v3",className:"jsx-a894832df36b68ca"})}):(0,g.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"jsx-a894832df36b68ca",children:(0,g.jsx)("path",{d:"M8 3H5a2 2 0 00-2 2v3m18 0V5a2 2 0 00-2-2h-3m0 18h3a2 2 0 002-2v-3M3 16v3a2 2 0 002 2h3",className:"jsx-a894832df36b68ca"})})}),(0,g.jsx)("button",{onClick:()=>b.push(`/projects/${c}/summary`),style:{borderColor:"var(--border)",color:"var(--text-secondary)"},className:"jsx-a894832df36b68ca hidden md:block px-3 py-1 text-xs font-medium rounded-md border transition-colors hover:bg-[var(--bg-secondary)]",children:"Project Report"}),(0,g.jsx)("button",{onClick:()=>{M(!0),setTimeout(()=>M(!1),1500);let a=new Event("save-project");window.dispatchEvent(a)},style:{borderColor:L?"var(--status-pass-text)":"var(--border)",color:L?"var(--status-pass-text)":"var(--text-secondary)",backgroundColor:L?"var(--status-pass-bg)":"transparent"},className:"jsx-a894832df36b68ca px-3 py-1 text-xs font-medium rounded-md border transition-all",children:L?"Saved!":"Save"})]})]}),(0,g.jsxs)("div",{ref:N,style:{cursor:F?"col-resize":void 0},className:"jsx-a894832df36b68ca flex-1 flex min-h-0 relative",children:[!J&&(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)("div",{ref:O,style:{width:`${100*D}%`},className:`jsx-a894832df36b68ca
68
68
  ${"mindmap"===B?"flex":"hidden"}
69
69
  md:flex flex-col min-w-0 mobile-full-width
70
70
  `,children:(0,g.jsx)(v,{nodes:o.nodes,edges:o.edges,testCases:e.testCases??{},selectedNodeId:h,onSelect:o.selectNode,onAddNode:(a,b,c,d)=>{q("Add node"),o.addNode(a,b,c,d)},onDeleteNode:a=>{q("Delete node"),o.deleteNode(a)},onDeleteNodes:a=>{q("Delete nodes"),o.deleteNodes(a)},onUnlinkNode:a=>{q("Unlink node"),o.unlinkNode(a)},onRenameNode:(a,b)=>{q("Rename node"),o.renameNode(a,b)},onUpdateNode:(a,b)=>{q("Update node"),o.updateNode(a,b)},onAddEdge:(a,b,c)=>{q("Add edge"),o.addEdge(a,b,c)},onDeleteEdge:a=>{q("Delete edge"),o.deleteEdge(a)},onUpdateEdge:(a,b)=>{q("Update edge"),o.updateEdge(a,b)},onResetLayout:()=>{q("Reset layout"),o.resetLayout()},canUndo:s,canRedo:t,onUndo:u,onRedo:w})}),(0,g.jsxs)("div",{ref:Q,style:{width:20,cursor:"col-resize"},onMouseDown:S,onMouseEnter:()=>I(!0),onMouseLeave:()=>I(!1),className:"jsx-a894832df36b68ca hidden md:flex items-center justify-center flex-shrink-0 select-none relative group",children:[(0,g.jsx)("div",{style:{backgroundColor:H||F?"var(--bg-secondary)":"transparent"},className:"jsx-a894832df36b68ca absolute inset-y-0 -left-2 -right-2 transition-colors duration-150"}),(0,g.jsx)("div",{style:{backgroundColor:"var(--border)",opacity:H||F?0:1},className:"jsx-a894832df36b68ca absolute inset-y-0 left-1/2 -translate-x-1/2 w-[1px] transition-opacity duration-150"}),(0,g.jsx)("div",{style:{background:"linear-gradient(180deg, #9E7AFF 0%, #FE8BBB 50%, #9E7AFF 100%)",opacity:H||F?.8:.4,animation:"beamFlow 3s ease-in-out infinite",backgroundSize:"100% 200%"},className:"jsx-a894832df36b68ca absolute inset-y-0 left-1/2 -translate-x-1/2 w-[2px] transition-opacity duration-150"}),(0,g.jsxs)("div",{className:"jsx-a894832df36b68ca relative z-10 flex flex-col gap-1.5",children:[(0,g.jsx)("div",{style:{backgroundColor:H||F?"var(--text-secondary)":"var(--text-tertiary)"},className:"jsx-a894832df36b68ca w-1.5 h-1.5 rounded-full transition-colors duration-150"}),(0,g.jsx)("div",{style:{backgroundColor:H||F?"var(--text-secondary)":"var(--text-tertiary)"},className:"jsx-a894832df36b68ca w-1.5 h-1.5 rounded-full transition-colors duration-150"}),(0,g.jsx)("div",{style:{backgroundColor:H||F?"var(--text-secondary)":"var(--text-tertiary)"},className:"jsx-a894832df36b68ca w-1.5 h-1.5 rounded-full transition-colors duration-150"})]})]})]}),(0,g.jsx)("div",{ref:P,style:{width:J?"100%":`${(1-D)*100}%`},className:`jsx-a894832df36b68ca
@@ -1 +1 @@
1
- globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/(dashboard)/projects/[projectId]/page"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{"622":{"*":{"id":"82146","name":"*","chunks":[],"async":false}},"1343":{"*":{"id":"17638","name":"*","chunks":[],"async":false}},"1959":{"*":{"id":"31603","name":"*","chunks":[],"async":false}},"3542":{"*":{"id":"62003","name":"*","chunks":[],"async":false}},"3886":{"*":{"id":"75170","name":"*","chunks":[],"async":false}},"4071":{"*":{"id":"95183","name":"*","chunks":[],"async":false}},"4431":{"*":{"id":"12263","name":"*","chunks":[],"async":false}},"5278":{"*":{"id":"78922","name":"*","chunks":[],"async":false}},"6061":{"*":{"id":"35473","name":"*","chunks":[],"async":false}},"6268":{"*":{"id":"27328","name":"*","chunks":[],"async":false}},"7150":{"*":{"id":"54160","name":"*","chunks":[],"async":false}},"7193":{"*":{"id":"1342","name":"*","chunks":[],"async":false}},"7989":{"*":{"id":"68495","name":"*","chunks":[],"async":false}},"8609":{"*":{"id":"22048","name":"*","chunks":[],"async":false}},"8924":{"*":{"id":"29234","name":"*","chunks":[],"async":false}},"9547":{"*":{"id":"68137","name":"*","chunks":[],"async":false}},"9766":{"*":{"id":"77526","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/home/sltr91025/code-repository/open-source/test-lah/node_modules/next/dist/client/components/builtin/global-error.js":{"id":7150,"name":"*","chunks":[],"async":false},"/home/sltr91025/code-repository/open-source/test-lah/node_modules/next/dist/esm/client/components/builtin/global-error.js":{"id":7150,"name":"*","chunks":[],"async":false},"/home/sltr91025/code-repository/open-source/test-lah/node_modules/next/dist/client/components/client-page.js":{"id":1959,"name":"*","chunks":[],"async":false},"/home/sltr91025/code-repository/open-source/test-lah/node_modules/next/dist/esm/client/components/client-page.js":{"id":1959,"name":"*","chunks":[],"async":false},"/home/sltr91025/code-repository/open-source/test-lah/node_modules/next/dist/client/components/client-segment.js":{"id":7989,"name":"*","chunks":[],"async":false},"/home/sltr91025/code-repository/open-source/test-lah/node_modules/next/dist/esm/client/components/client-segment.js":{"id":7989,"name":"*","chunks":[],"async":false},"/home/sltr91025/code-repository/open-source/test-lah/node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"id":3886,"name":"*","chunks":[],"async":false},"/home/sltr91025/code-repository/open-source/test-lah/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js":{"id":3886,"name":"*","chunks":[],"async":false},"/home/sltr91025/code-repository/open-source/test-lah/node_modules/next/dist/client/components/layout-router.js":{"id":9766,"name":"*","chunks":[],"async":false},"/home/sltr91025/code-repository/open-source/test-lah/node_modules/next/dist/esm/client/components/layout-router.js":{"id":9766,"name":"*","chunks":[],"async":false},"/home/sltr91025/code-repository/open-source/test-lah/node_modules/next/dist/client/components/metadata/async-metadata.js":{"id":5278,"name":"*","chunks":[],"async":false},"/home/sltr91025/code-repository/open-source/test-lah/node_modules/next/dist/esm/client/components/metadata/async-metadata.js":{"id":5278,"name":"*","chunks":[],"async":false},"/home/sltr91025/code-repository/open-source/test-lah/node_modules/next/dist/client/components/render-from-template-context.js":{"id":8924,"name":"*","chunks":[],"async":false},"/home/sltr91025/code-repository/open-source/test-lah/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":8924,"name":"*","chunks":[],"async":false},"/home/sltr91025/code-repository/open-source/test-lah/node_modules/next/dist/lib/framework/boundary-components.js":{"id":4431,"name":"*","chunks":[],"async":false},"/home/sltr91025/code-repository/open-source/test-lah/node_modules/next/dist/esm/lib/framework/boundary-components.js":{"id":4431,"name":"*","chunks":[],"async":false},"/home/sltr91025/code-repository/open-source/test-lah/node_modules/next/dist/lib/metadata/generate/icon-mark.js":{"id":622,"name":"*","chunks":[],"async":false},"/home/sltr91025/code-repository/open-source/test-lah/node_modules/next/dist/esm/lib/metadata/generate/icon-mark.js":{"id":622,"name":"*","chunks":[],"async":false},"/home/sltr91025/code-repository/open-source/test-lah/node_modules/next/font/google/target.css?{\"path\":\"src/app/layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"subsets\":[\"latin\"],\"variable\":\"--font-inter\"}],\"variableName\":\"inter\"}":{"id":3037,"name":"*","chunks":["177","static/chunks/app/layout-3ad98a7069d70b7b.js"],"async":false},"/home/sltr91025/code-repository/open-source/test-lah/src/app/globals.css":{"id":3673,"name":"*","chunks":["177","static/chunks/app/layout-3ad98a7069d70b7b.js"],"async":false},"/home/sltr91025/code-repository/open-source/test-lah/src/components/shared/Providers.tsx":{"id":6061,"name":"*","chunks":["177","static/chunks/app/layout-3ad98a7069d70b7b.js"],"async":false},"/home/sltr91025/code-repository/open-source/test-lah/src/app/login/page.tsx":{"id":1343,"name":"*","chunks":[],"async":false},"/home/sltr91025/code-repository/open-source/test-lah/src/app/page.tsx":{"id":9547,"name":"*","chunks":["974","static/chunks/app/page-a90eeaea3538ebf2.js"],"async":false},"/home/sltr91025/code-repository/open-source/test-lah/src/app/(dashboard)/layout.tsx":{"id":8609,"name":"*","chunks":["619","static/chunks/619-ba102abea3e3d0e4.js","246","static/chunks/246-1673b37cc8edb269.js","305","static/chunks/app/(dashboard)/layout-69e4ea7abe9faff3.js"],"async":false},"/home/sltr91025/code-repository/open-source/test-lah/src/app/(dashboard)/integrations/page.tsx":{"id":4071,"name":"*","chunks":[],"async":false},"/home/sltr91025/code-repository/open-source/test-lah/src/app/(dashboard)/projects/[projectId]/page.tsx":{"id":3542,"name":"*","chunks":["343","static/chunks/6edf0643-cff15dee501a82ef.js","909","static/chunks/909-a5da60d248a1c133.js","485","static/chunks/485-23e4a6e33ee79f14.js","637","static/chunks/637-dcbc811f7143935f.js","532","static/chunks/532-95cb537bb36c2e68.js","246","static/chunks/246-1673b37cc8edb269.js","948","static/chunks/app/(dashboard)/projects/%5BprojectId%5D/page-73afaf41f4596daf.js"],"async":false},"/home/sltr91025/code-repository/open-source/test-lah/src/app/(dashboard)/projects/[projectId]/summary/page.tsx":{"id":6268,"name":"*","chunks":[],"async":false},"/home/sltr91025/code-repository/open-source/test-lah/src/app/(dashboard)/projects/page.tsx":{"id":7193,"name":"*","chunks":["343","static/chunks/6edf0643-cff15dee501a82ef.js","909","static/chunks/909-a5da60d248a1c133.js","485","static/chunks/485-23e4a6e33ee79f14.js","619","static/chunks/619-ba102abea3e3d0e4.js","246","static/chunks/246-1673b37cc8edb269.js","709","static/chunks/app/(dashboard)/projects/page-11a49918142004f5.js"],"async":false}},"entryCSSFiles":{"/home/sltr91025/code-repository/open-source/test-lah/src/":[],"/home/sltr91025/code-repository/open-source/test-lah/src/app/layout":[{"inlined":false,"path":"static/css/0ecf0abc0513341e.css"}],"/home/sltr91025/code-repository/open-source/test-lah/src/app/page":[],"/home/sltr91025/code-repository/open-source/test-lah/src/app/(dashboard)/layout":[],"/home/sltr91025/code-repository/open-source/test-lah/src/app/(dashboard)/projects/page":[],"/home/sltr91025/code-repository/open-source/test-lah/src/app/(dashboard)/projects/[projectId]/page":[]},"rscModuleMapping":{"622":{"*":{"id":"51384","name":"*","chunks":[],"async":false}},"1343":{"*":{"id":"15109","name":"*","chunks":[],"async":false}},"1959":{"*":{"id":"23597","name":"*","chunks":[],"async":false}},"3542":{"*":{"id":"41009","name":"*","chunks":[],"async":false}},"3673":{"*":{"id":"61135","name":"*","chunks":[],"async":false}},"3886":{"*":{"id":"89748","name":"*","chunks":[],"async":false}},"4071":{"*":{"id":"70393","name":"*","chunks":[],"async":false}},"4431":{"*":{"id":"73041","name":"*","chunks":[],"async":false}},"5278":{"*":{"id":"7184","name":"*","chunks":[],"async":false}},"6061":{"*":{"id":"26239","name":"*","chunks":[],"async":false}},"6268":{"*":{"id":"12202","name":"*","chunks":[],"async":false}},"7150":{"*":{"id":"81170","name":"*","chunks":[],"async":false}},"7193":{"*":{"id":"40228","name":"*","chunks":[],"async":false}},"7989":{"*":{"id":"36893","name":"*","chunks":[],"async":false}},"8609":{"*":{"id":"97788","name":"*","chunks":[],"async":false}},"8924":{"*":{"id":"69576","name":"*","chunks":[],"async":false}},"9547":{"*":{"id":"60967","name":"*","chunks":[],"async":false}},"9766":{"*":{"id":"6060","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{}}
1
+ globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/(dashboard)/projects/[projectId]/page"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{"622":{"*":{"id":"82146","name":"*","chunks":[],"async":false}},"1343":{"*":{"id":"17638","name":"*","chunks":[],"async":false}},"1959":{"*":{"id":"31603","name":"*","chunks":[],"async":false}},"3542":{"*":{"id":"62003","name":"*","chunks":[],"async":false}},"3886":{"*":{"id":"75170","name":"*","chunks":[],"async":false}},"4071":{"*":{"id":"95183","name":"*","chunks":[],"async":false}},"4431":{"*":{"id":"12263","name":"*","chunks":[],"async":false}},"5278":{"*":{"id":"78922","name":"*","chunks":[],"async":false}},"6061":{"*":{"id":"35473","name":"*","chunks":[],"async":false}},"6268":{"*":{"id":"27328","name":"*","chunks":[],"async":false}},"7150":{"*":{"id":"54160","name":"*","chunks":[],"async":false}},"7193":{"*":{"id":"1342","name":"*","chunks":[],"async":false}},"7989":{"*":{"id":"68495","name":"*","chunks":[],"async":false}},"8609":{"*":{"id":"22048","name":"*","chunks":[],"async":false}},"8924":{"*":{"id":"29234","name":"*","chunks":[],"async":false}},"9547":{"*":{"id":"68137","name":"*","chunks":[],"async":false}},"9766":{"*":{"id":"77526","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/home/sltr91025/code-repository/open-source/test-lah/node_modules/next/dist/client/components/builtin/global-error.js":{"id":7150,"name":"*","chunks":[],"async":false},"/home/sltr91025/code-repository/open-source/test-lah/node_modules/next/dist/esm/client/components/builtin/global-error.js":{"id":7150,"name":"*","chunks":[],"async":false},"/home/sltr91025/code-repository/open-source/test-lah/node_modules/next/dist/client/components/client-page.js":{"id":1959,"name":"*","chunks":[],"async":false},"/home/sltr91025/code-repository/open-source/test-lah/node_modules/next/dist/esm/client/components/client-page.js":{"id":1959,"name":"*","chunks":[],"async":false},"/home/sltr91025/code-repository/open-source/test-lah/node_modules/next/dist/client/components/client-segment.js":{"id":7989,"name":"*","chunks":[],"async":false},"/home/sltr91025/code-repository/open-source/test-lah/node_modules/next/dist/esm/client/components/client-segment.js":{"id":7989,"name":"*","chunks":[],"async":false},"/home/sltr91025/code-repository/open-source/test-lah/node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"id":3886,"name":"*","chunks":[],"async":false},"/home/sltr91025/code-repository/open-source/test-lah/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js":{"id":3886,"name":"*","chunks":[],"async":false},"/home/sltr91025/code-repository/open-source/test-lah/node_modules/next/dist/client/components/layout-router.js":{"id":9766,"name":"*","chunks":[],"async":false},"/home/sltr91025/code-repository/open-source/test-lah/node_modules/next/dist/esm/client/components/layout-router.js":{"id":9766,"name":"*","chunks":[],"async":false},"/home/sltr91025/code-repository/open-source/test-lah/node_modules/next/dist/client/components/metadata/async-metadata.js":{"id":5278,"name":"*","chunks":[],"async":false},"/home/sltr91025/code-repository/open-source/test-lah/node_modules/next/dist/esm/client/components/metadata/async-metadata.js":{"id":5278,"name":"*","chunks":[],"async":false},"/home/sltr91025/code-repository/open-source/test-lah/node_modules/next/dist/client/components/render-from-template-context.js":{"id":8924,"name":"*","chunks":[],"async":false},"/home/sltr91025/code-repository/open-source/test-lah/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":8924,"name":"*","chunks":[],"async":false},"/home/sltr91025/code-repository/open-source/test-lah/node_modules/next/dist/lib/framework/boundary-components.js":{"id":4431,"name":"*","chunks":[],"async":false},"/home/sltr91025/code-repository/open-source/test-lah/node_modules/next/dist/esm/lib/framework/boundary-components.js":{"id":4431,"name":"*","chunks":[],"async":false},"/home/sltr91025/code-repository/open-source/test-lah/node_modules/next/dist/lib/metadata/generate/icon-mark.js":{"id":622,"name":"*","chunks":[],"async":false},"/home/sltr91025/code-repository/open-source/test-lah/node_modules/next/dist/esm/lib/metadata/generate/icon-mark.js":{"id":622,"name":"*","chunks":[],"async":false},"/home/sltr91025/code-repository/open-source/test-lah/node_modules/next/font/google/target.css?{\"path\":\"src/app/layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"subsets\":[\"latin\"],\"variable\":\"--font-inter\"}],\"variableName\":\"inter\"}":{"id":3037,"name":"*","chunks":["177","static/chunks/app/layout-3ad98a7069d70b7b.js"],"async":false},"/home/sltr91025/code-repository/open-source/test-lah/src/app/globals.css":{"id":3673,"name":"*","chunks":["177","static/chunks/app/layout-3ad98a7069d70b7b.js"],"async":false},"/home/sltr91025/code-repository/open-source/test-lah/src/components/shared/Providers.tsx":{"id":6061,"name":"*","chunks":["177","static/chunks/app/layout-3ad98a7069d70b7b.js"],"async":false},"/home/sltr91025/code-repository/open-source/test-lah/src/app/login/page.tsx":{"id":1343,"name":"*","chunks":[],"async":false},"/home/sltr91025/code-repository/open-source/test-lah/src/app/page.tsx":{"id":9547,"name":"*","chunks":["974","static/chunks/app/page-a90eeaea3538ebf2.js"],"async":false},"/home/sltr91025/code-repository/open-source/test-lah/src/app/(dashboard)/layout.tsx":{"id":8609,"name":"*","chunks":["619","static/chunks/619-ba102abea3e3d0e4.js","246","static/chunks/246-1673b37cc8edb269.js","305","static/chunks/app/(dashboard)/layout-69e4ea7abe9faff3.js"],"async":false},"/home/sltr91025/code-repository/open-source/test-lah/src/app/(dashboard)/integrations/page.tsx":{"id":4071,"name":"*","chunks":[],"async":false},"/home/sltr91025/code-repository/open-source/test-lah/src/app/(dashboard)/projects/[projectId]/page.tsx":{"id":3542,"name":"*","chunks":["343","static/chunks/6edf0643-cff15dee501a82ef.js","909","static/chunks/909-a5da60d248a1c133.js","485","static/chunks/485-23e4a6e33ee79f14.js","637","static/chunks/637-dcbc811f7143935f.js","532","static/chunks/532-95cb537bb36c2e68.js","246","static/chunks/246-1673b37cc8edb269.js","948","static/chunks/app/(dashboard)/projects/%5BprojectId%5D/page-500a663fdab52791.js"],"async":false},"/home/sltr91025/code-repository/open-source/test-lah/src/app/(dashboard)/projects/[projectId]/summary/page.tsx":{"id":6268,"name":"*","chunks":[],"async":false},"/home/sltr91025/code-repository/open-source/test-lah/src/app/(dashboard)/projects/page.tsx":{"id":7193,"name":"*","chunks":["343","static/chunks/6edf0643-cff15dee501a82ef.js","909","static/chunks/909-a5da60d248a1c133.js","485","static/chunks/485-23e4a6e33ee79f14.js","619","static/chunks/619-ba102abea3e3d0e4.js","246","static/chunks/246-1673b37cc8edb269.js","709","static/chunks/app/(dashboard)/projects/page-11a49918142004f5.js"],"async":false}},"entryCSSFiles":{"/home/sltr91025/code-repository/open-source/test-lah/src/":[],"/home/sltr91025/code-repository/open-source/test-lah/src/app/layout":[{"inlined":false,"path":"static/css/0ecf0abc0513341e.css"}],"/home/sltr91025/code-repository/open-source/test-lah/src/app/page":[],"/home/sltr91025/code-repository/open-source/test-lah/src/app/(dashboard)/layout":[],"/home/sltr91025/code-repository/open-source/test-lah/src/app/(dashboard)/projects/page":[],"/home/sltr91025/code-repository/open-source/test-lah/src/app/(dashboard)/projects/[projectId]/page":[]},"rscModuleMapping":{"622":{"*":{"id":"51384","name":"*","chunks":[],"async":false}},"1343":{"*":{"id":"15109","name":"*","chunks":[],"async":false}},"1959":{"*":{"id":"23597","name":"*","chunks":[],"async":false}},"3542":{"*":{"id":"41009","name":"*","chunks":[],"async":false}},"3673":{"*":{"id":"61135","name":"*","chunks":[],"async":false}},"3886":{"*":{"id":"89748","name":"*","chunks":[],"async":false}},"4071":{"*":{"id":"70393","name":"*","chunks":[],"async":false}},"4431":{"*":{"id":"73041","name":"*","chunks":[],"async":false}},"5278":{"*":{"id":"7184","name":"*","chunks":[],"async":false}},"6061":{"*":{"id":"26239","name":"*","chunks":[],"async":false}},"6268":{"*":{"id":"12202","name":"*","chunks":[],"async":false}},"7150":{"*":{"id":"81170","name":"*","chunks":[],"async":false}},"7193":{"*":{"id":"40228","name":"*","chunks":[],"async":false}},"7989":{"*":{"id":"36893","name":"*","chunks":[],"async":false}},"8609":{"*":{"id":"97788","name":"*","chunks":[],"async":false}},"8924":{"*":{"id":"69576","name":"*","chunks":[],"async":false}},"9547":{"*":{"id":"60967","name":"*","chunks":[],"async":false}},"9766":{"*":{"id":"6060","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{}}
@@ -1 +1 @@
1
- globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/(dashboard)/projects/[projectId]/summary/page"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{"622":{"*":{"id":"82146","name":"*","chunks":[],"async":false}},"1343":{"*":{"id":"17638","name":"*","chunks":[],"async":false}},"1959":{"*":{"id":"31603","name":"*","chunks":[],"async":false}},"3542":{"*":{"id":"62003","name":"*","chunks":[],"async":false}},"3886":{"*":{"id":"75170","name":"*","chunks":[],"async":false}},"4071":{"*":{"id":"95183","name":"*","chunks":[],"async":false}},"4431":{"*":{"id":"12263","name":"*","chunks":[],"async":false}},"5278":{"*":{"id":"78922","name":"*","chunks":[],"async":false}},"6061":{"*":{"id":"35473","name":"*","chunks":[],"async":false}},"6268":{"*":{"id":"27328","name":"*","chunks":[],"async":false}},"7150":{"*":{"id":"54160","name":"*","chunks":[],"async":false}},"7193":{"*":{"id":"1342","name":"*","chunks":[],"async":false}},"7989":{"*":{"id":"68495","name":"*","chunks":[],"async":false}},"8609":{"*":{"id":"22048","name":"*","chunks":[],"async":false}},"8924":{"*":{"id":"29234","name":"*","chunks":[],"async":false}},"9547":{"*":{"id":"68137","name":"*","chunks":[],"async":false}},"9766":{"*":{"id":"77526","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/home/sltr91025/code-repository/open-source/test-lah/node_modules/next/dist/client/components/builtin/global-error.js":{"id":7150,"name":"*","chunks":[],"async":false},"/home/sltr91025/code-repository/open-source/test-lah/node_modules/next/dist/esm/client/components/builtin/global-error.js":{"id":7150,"name":"*","chunks":[],"async":false},"/home/sltr91025/code-repository/open-source/test-lah/node_modules/next/dist/client/components/client-page.js":{"id":1959,"name":"*","chunks":[],"async":false},"/home/sltr91025/code-repository/open-source/test-lah/node_modules/next/dist/esm/client/components/client-page.js":{"id":1959,"name":"*","chunks":[],"async":false},"/home/sltr91025/code-repository/open-source/test-lah/node_modules/next/dist/client/components/client-segment.js":{"id":7989,"name":"*","chunks":[],"async":false},"/home/sltr91025/code-repository/open-source/test-lah/node_modules/next/dist/esm/client/components/client-segment.js":{"id":7989,"name":"*","chunks":[],"async":false},"/home/sltr91025/code-repository/open-source/test-lah/node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"id":3886,"name":"*","chunks":[],"async":false},"/home/sltr91025/code-repository/open-source/test-lah/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js":{"id":3886,"name":"*","chunks":[],"async":false},"/home/sltr91025/code-repository/open-source/test-lah/node_modules/next/dist/client/components/layout-router.js":{"id":9766,"name":"*","chunks":[],"async":false},"/home/sltr91025/code-repository/open-source/test-lah/node_modules/next/dist/esm/client/components/layout-router.js":{"id":9766,"name":"*","chunks":[],"async":false},"/home/sltr91025/code-repository/open-source/test-lah/node_modules/next/dist/client/components/metadata/async-metadata.js":{"id":5278,"name":"*","chunks":[],"async":false},"/home/sltr91025/code-repository/open-source/test-lah/node_modules/next/dist/esm/client/components/metadata/async-metadata.js":{"id":5278,"name":"*","chunks":[],"async":false},"/home/sltr91025/code-repository/open-source/test-lah/node_modules/next/dist/client/components/render-from-template-context.js":{"id":8924,"name":"*","chunks":[],"async":false},"/home/sltr91025/code-repository/open-source/test-lah/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":8924,"name":"*","chunks":[],"async":false},"/home/sltr91025/code-repository/open-source/test-lah/node_modules/next/dist/lib/framework/boundary-components.js":{"id":4431,"name":"*","chunks":[],"async":false},"/home/sltr91025/code-repository/open-source/test-lah/node_modules/next/dist/esm/lib/framework/boundary-components.js":{"id":4431,"name":"*","chunks":[],"async":false},"/home/sltr91025/code-repository/open-source/test-lah/node_modules/next/dist/lib/metadata/generate/icon-mark.js":{"id":622,"name":"*","chunks":[],"async":false},"/home/sltr91025/code-repository/open-source/test-lah/node_modules/next/dist/esm/lib/metadata/generate/icon-mark.js":{"id":622,"name":"*","chunks":[],"async":false},"/home/sltr91025/code-repository/open-source/test-lah/node_modules/next/font/google/target.css?{\"path\":\"src/app/layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"subsets\":[\"latin\"],\"variable\":\"--font-inter\"}],\"variableName\":\"inter\"}":{"id":3037,"name":"*","chunks":["177","static/chunks/app/layout-3ad98a7069d70b7b.js"],"async":false},"/home/sltr91025/code-repository/open-source/test-lah/src/app/globals.css":{"id":3673,"name":"*","chunks":["177","static/chunks/app/layout-3ad98a7069d70b7b.js"],"async":false},"/home/sltr91025/code-repository/open-source/test-lah/src/components/shared/Providers.tsx":{"id":6061,"name":"*","chunks":["177","static/chunks/app/layout-3ad98a7069d70b7b.js"],"async":false},"/home/sltr91025/code-repository/open-source/test-lah/src/app/login/page.tsx":{"id":1343,"name":"*","chunks":[],"async":false},"/home/sltr91025/code-repository/open-source/test-lah/src/app/page.tsx":{"id":9547,"name":"*","chunks":["974","static/chunks/app/page-a90eeaea3538ebf2.js"],"async":false},"/home/sltr91025/code-repository/open-source/test-lah/src/app/(dashboard)/layout.tsx":{"id":8609,"name":"*","chunks":["619","static/chunks/619-ba102abea3e3d0e4.js","246","static/chunks/246-1673b37cc8edb269.js","305","static/chunks/app/(dashboard)/layout-69e4ea7abe9faff3.js"],"async":false},"/home/sltr91025/code-repository/open-source/test-lah/src/app/(dashboard)/integrations/page.tsx":{"id":4071,"name":"*","chunks":[],"async":false},"/home/sltr91025/code-repository/open-source/test-lah/src/app/(dashboard)/projects/[projectId]/page.tsx":{"id":3542,"name":"*","chunks":["343","static/chunks/6edf0643-cff15dee501a82ef.js","909","static/chunks/909-a5da60d248a1c133.js","485","static/chunks/485-23e4a6e33ee79f14.js","637","static/chunks/637-dcbc811f7143935f.js","532","static/chunks/532-95cb537bb36c2e68.js","246","static/chunks/246-1673b37cc8edb269.js","948","static/chunks/app/(dashboard)/projects/%5BprojectId%5D/page-73afaf41f4596daf.js"],"async":false},"/home/sltr91025/code-repository/open-source/test-lah/src/app/(dashboard)/projects/[projectId]/summary/page.tsx":{"id":6268,"name":"*","chunks":["343","static/chunks/6edf0643-cff15dee501a82ef.js","619","static/chunks/619-ba102abea3e3d0e4.js","246","static/chunks/246-1673b37cc8edb269.js","659","static/chunks/app/(dashboard)/projects/%5BprojectId%5D/summary/page-b69fc155f1796e19.js"],"async":false},"/home/sltr91025/code-repository/open-source/test-lah/src/app/(dashboard)/projects/page.tsx":{"id":7193,"name":"*","chunks":["343","static/chunks/6edf0643-cff15dee501a82ef.js","909","static/chunks/909-a5da60d248a1c133.js","485","static/chunks/485-23e4a6e33ee79f14.js","619","static/chunks/619-ba102abea3e3d0e4.js","246","static/chunks/246-1673b37cc8edb269.js","709","static/chunks/app/(dashboard)/projects/page-11a49918142004f5.js"],"async":false}},"entryCSSFiles":{"/home/sltr91025/code-repository/open-source/test-lah/src/":[],"/home/sltr91025/code-repository/open-source/test-lah/src/app/layout":[{"inlined":false,"path":"static/css/0ecf0abc0513341e.css"}],"/home/sltr91025/code-repository/open-source/test-lah/src/app/page":[],"/home/sltr91025/code-repository/open-source/test-lah/src/app/(dashboard)/layout":[],"/home/sltr91025/code-repository/open-source/test-lah/src/app/(dashboard)/projects/page":[],"/home/sltr91025/code-repository/open-source/test-lah/src/app/(dashboard)/projects/[projectId]/page":[],"/home/sltr91025/code-repository/open-source/test-lah/src/app/(dashboard)/projects/[projectId]/summary/page":[]},"rscModuleMapping":{"622":{"*":{"id":"51384","name":"*","chunks":[],"async":false}},"1343":{"*":{"id":"15109","name":"*","chunks":[],"async":false}},"1959":{"*":{"id":"23597","name":"*","chunks":[],"async":false}},"3542":{"*":{"id":"41009","name":"*","chunks":[],"async":false}},"3673":{"*":{"id":"61135","name":"*","chunks":[],"async":false}},"3886":{"*":{"id":"89748","name":"*","chunks":[],"async":false}},"4071":{"*":{"id":"70393","name":"*","chunks":[],"async":false}},"4431":{"*":{"id":"73041","name":"*","chunks":[],"async":false}},"5278":{"*":{"id":"7184","name":"*","chunks":[],"async":false}},"6061":{"*":{"id":"26239","name":"*","chunks":[],"async":false}},"6268":{"*":{"id":"12202","name":"*","chunks":[],"async":false}},"7150":{"*":{"id":"81170","name":"*","chunks":[],"async":false}},"7193":{"*":{"id":"40228","name":"*","chunks":[],"async":false}},"7989":{"*":{"id":"36893","name":"*","chunks":[],"async":false}},"8609":{"*":{"id":"97788","name":"*","chunks":[],"async":false}},"8924":{"*":{"id":"69576","name":"*","chunks":[],"async":false}},"9547":{"*":{"id":"60967","name":"*","chunks":[],"async":false}},"9766":{"*":{"id":"6060","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{}}
1
+ globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/(dashboard)/projects/[projectId]/summary/page"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{"622":{"*":{"id":"82146","name":"*","chunks":[],"async":false}},"1343":{"*":{"id":"17638","name":"*","chunks":[],"async":false}},"1959":{"*":{"id":"31603","name":"*","chunks":[],"async":false}},"3542":{"*":{"id":"62003","name":"*","chunks":[],"async":false}},"3886":{"*":{"id":"75170","name":"*","chunks":[],"async":false}},"4071":{"*":{"id":"95183","name":"*","chunks":[],"async":false}},"4431":{"*":{"id":"12263","name":"*","chunks":[],"async":false}},"5278":{"*":{"id":"78922","name":"*","chunks":[],"async":false}},"6061":{"*":{"id":"35473","name":"*","chunks":[],"async":false}},"6268":{"*":{"id":"27328","name":"*","chunks":[],"async":false}},"7150":{"*":{"id":"54160","name":"*","chunks":[],"async":false}},"7193":{"*":{"id":"1342","name":"*","chunks":[],"async":false}},"7989":{"*":{"id":"68495","name":"*","chunks":[],"async":false}},"8609":{"*":{"id":"22048","name":"*","chunks":[],"async":false}},"8924":{"*":{"id":"29234","name":"*","chunks":[],"async":false}},"9547":{"*":{"id":"68137","name":"*","chunks":[],"async":false}},"9766":{"*":{"id":"77526","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/home/sltr91025/code-repository/open-source/test-lah/node_modules/next/dist/client/components/builtin/global-error.js":{"id":7150,"name":"*","chunks":[],"async":false},"/home/sltr91025/code-repository/open-source/test-lah/node_modules/next/dist/esm/client/components/builtin/global-error.js":{"id":7150,"name":"*","chunks":[],"async":false},"/home/sltr91025/code-repository/open-source/test-lah/node_modules/next/dist/client/components/client-page.js":{"id":1959,"name":"*","chunks":[],"async":false},"/home/sltr91025/code-repository/open-source/test-lah/node_modules/next/dist/esm/client/components/client-page.js":{"id":1959,"name":"*","chunks":[],"async":false},"/home/sltr91025/code-repository/open-source/test-lah/node_modules/next/dist/client/components/client-segment.js":{"id":7989,"name":"*","chunks":[],"async":false},"/home/sltr91025/code-repository/open-source/test-lah/node_modules/next/dist/esm/client/components/client-segment.js":{"id":7989,"name":"*","chunks":[],"async":false},"/home/sltr91025/code-repository/open-source/test-lah/node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"id":3886,"name":"*","chunks":[],"async":false},"/home/sltr91025/code-repository/open-source/test-lah/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js":{"id":3886,"name":"*","chunks":[],"async":false},"/home/sltr91025/code-repository/open-source/test-lah/node_modules/next/dist/client/components/layout-router.js":{"id":9766,"name":"*","chunks":[],"async":false},"/home/sltr91025/code-repository/open-source/test-lah/node_modules/next/dist/esm/client/components/layout-router.js":{"id":9766,"name":"*","chunks":[],"async":false},"/home/sltr91025/code-repository/open-source/test-lah/node_modules/next/dist/client/components/metadata/async-metadata.js":{"id":5278,"name":"*","chunks":[],"async":false},"/home/sltr91025/code-repository/open-source/test-lah/node_modules/next/dist/esm/client/components/metadata/async-metadata.js":{"id":5278,"name":"*","chunks":[],"async":false},"/home/sltr91025/code-repository/open-source/test-lah/node_modules/next/dist/client/components/render-from-template-context.js":{"id":8924,"name":"*","chunks":[],"async":false},"/home/sltr91025/code-repository/open-source/test-lah/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":8924,"name":"*","chunks":[],"async":false},"/home/sltr91025/code-repository/open-source/test-lah/node_modules/next/dist/lib/framework/boundary-components.js":{"id":4431,"name":"*","chunks":[],"async":false},"/home/sltr91025/code-repository/open-source/test-lah/node_modules/next/dist/esm/lib/framework/boundary-components.js":{"id":4431,"name":"*","chunks":[],"async":false},"/home/sltr91025/code-repository/open-source/test-lah/node_modules/next/dist/lib/metadata/generate/icon-mark.js":{"id":622,"name":"*","chunks":[],"async":false},"/home/sltr91025/code-repository/open-source/test-lah/node_modules/next/dist/esm/lib/metadata/generate/icon-mark.js":{"id":622,"name":"*","chunks":[],"async":false},"/home/sltr91025/code-repository/open-source/test-lah/node_modules/next/font/google/target.css?{\"path\":\"src/app/layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"subsets\":[\"latin\"],\"variable\":\"--font-inter\"}],\"variableName\":\"inter\"}":{"id":3037,"name":"*","chunks":["177","static/chunks/app/layout-3ad98a7069d70b7b.js"],"async":false},"/home/sltr91025/code-repository/open-source/test-lah/src/app/globals.css":{"id":3673,"name":"*","chunks":["177","static/chunks/app/layout-3ad98a7069d70b7b.js"],"async":false},"/home/sltr91025/code-repository/open-source/test-lah/src/components/shared/Providers.tsx":{"id":6061,"name":"*","chunks":["177","static/chunks/app/layout-3ad98a7069d70b7b.js"],"async":false},"/home/sltr91025/code-repository/open-source/test-lah/src/app/login/page.tsx":{"id":1343,"name":"*","chunks":[],"async":false},"/home/sltr91025/code-repository/open-source/test-lah/src/app/page.tsx":{"id":9547,"name":"*","chunks":["974","static/chunks/app/page-a90eeaea3538ebf2.js"],"async":false},"/home/sltr91025/code-repository/open-source/test-lah/src/app/(dashboard)/layout.tsx":{"id":8609,"name":"*","chunks":["619","static/chunks/619-ba102abea3e3d0e4.js","246","static/chunks/246-1673b37cc8edb269.js","305","static/chunks/app/(dashboard)/layout-69e4ea7abe9faff3.js"],"async":false},"/home/sltr91025/code-repository/open-source/test-lah/src/app/(dashboard)/integrations/page.tsx":{"id":4071,"name":"*","chunks":[],"async":false},"/home/sltr91025/code-repository/open-source/test-lah/src/app/(dashboard)/projects/[projectId]/page.tsx":{"id":3542,"name":"*","chunks":["343","static/chunks/6edf0643-cff15dee501a82ef.js","909","static/chunks/909-a5da60d248a1c133.js","485","static/chunks/485-23e4a6e33ee79f14.js","637","static/chunks/637-dcbc811f7143935f.js","532","static/chunks/532-95cb537bb36c2e68.js","246","static/chunks/246-1673b37cc8edb269.js","948","static/chunks/app/(dashboard)/projects/%5BprojectId%5D/page-500a663fdab52791.js"],"async":false},"/home/sltr91025/code-repository/open-source/test-lah/src/app/(dashboard)/projects/[projectId]/summary/page.tsx":{"id":6268,"name":"*","chunks":["343","static/chunks/6edf0643-cff15dee501a82ef.js","619","static/chunks/619-ba102abea3e3d0e4.js","246","static/chunks/246-1673b37cc8edb269.js","659","static/chunks/app/(dashboard)/projects/%5BprojectId%5D/summary/page-b69fc155f1796e19.js"],"async":false},"/home/sltr91025/code-repository/open-source/test-lah/src/app/(dashboard)/projects/page.tsx":{"id":7193,"name":"*","chunks":["343","static/chunks/6edf0643-cff15dee501a82ef.js","909","static/chunks/909-a5da60d248a1c133.js","485","static/chunks/485-23e4a6e33ee79f14.js","619","static/chunks/619-ba102abea3e3d0e4.js","246","static/chunks/246-1673b37cc8edb269.js","709","static/chunks/app/(dashboard)/projects/page-11a49918142004f5.js"],"async":false}},"entryCSSFiles":{"/home/sltr91025/code-repository/open-source/test-lah/src/":[],"/home/sltr91025/code-repository/open-source/test-lah/src/app/layout":[{"inlined":false,"path":"static/css/0ecf0abc0513341e.css"}],"/home/sltr91025/code-repository/open-source/test-lah/src/app/page":[],"/home/sltr91025/code-repository/open-source/test-lah/src/app/(dashboard)/layout":[],"/home/sltr91025/code-repository/open-source/test-lah/src/app/(dashboard)/projects/page":[],"/home/sltr91025/code-repository/open-source/test-lah/src/app/(dashboard)/projects/[projectId]/page":[],"/home/sltr91025/code-repository/open-source/test-lah/src/app/(dashboard)/projects/[projectId]/summary/page":[]},"rscModuleMapping":{"622":{"*":{"id":"51384","name":"*","chunks":[],"async":false}},"1343":{"*":{"id":"15109","name":"*","chunks":[],"async":false}},"1959":{"*":{"id":"23597","name":"*","chunks":[],"async":false}},"3542":{"*":{"id":"41009","name":"*","chunks":[],"async":false}},"3673":{"*":{"id":"61135","name":"*","chunks":[],"async":false}},"3886":{"*":{"id":"89748","name":"*","chunks":[],"async":false}},"4071":{"*":{"id":"70393","name":"*","chunks":[],"async":false}},"4431":{"*":{"id":"73041","name":"*","chunks":[],"async":false}},"5278":{"*":{"id":"7184","name":"*","chunks":[],"async":false}},"6061":{"*":{"id":"26239","name":"*","chunks":[],"async":false}},"6268":{"*":{"id":"12202","name":"*","chunks":[],"async":false}},"7150":{"*":{"id":"81170","name":"*","chunks":[],"async":false}},"7193":{"*":{"id":"40228","name":"*","chunks":[],"async":false}},"7989":{"*":{"id":"36893","name":"*","chunks":[],"async":false}},"8609":{"*":{"id":"97788","name":"*","chunks":[],"async":false}},"8924":{"*":{"id":"69576","name":"*","chunks":[],"async":false}},"9547":{"*":{"id":"60967","name":"*","chunks":[],"async":false}},"9766":{"*":{"id":"6060","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{}}