Spaces:
Running
Running
| import{r as i,j as t}from"./react-CIdJ77ke.js";import{ai as N,L as w,S as v,M as S,an as L}from"./index-CX7Qxd1D.js";import{r as R}from"./accessibilityService-PX6aNbbc.js";import"./workspaceConnectorService-KhhKdOYD.js";import"./@braintree-DzxiOROe.js";import"./react-dom-R9L8nDNe.js";import"./scheduler-CoSDG3-6.js";import"./@google-CcUHq7Ay.js";import"./idb-Dob3nYDb.js";import"./marked-BrGMJkBT.js";import"./mermaid-KwKZWwy0.js";import"./dayjs-CeEF-NGT.js";import"./d3-transition-CiCB8KJE.js";import"./d3-timer-DdKHrDhs.js";import"./d3-dispatch-kxCwF96_.js";import"./d3-interpolate-CtIaNujU.js";import"./d3-color-amxIadob.js";import"./d3-selection-C52G7wmG.js";import"./d3-ease-DRPgKoYJ.js";import"./d3-zoom-BYoC3mS3.js";import"./dompurify-J5RlrwSC.js";import"./dagre-d3-es-CTpFWynZ.js";import"./lodash-es-Dt6r0yiR.js";import"./d3-shape-CX8xTzfR.js";import"./d3-path-CimkQT29.js";import"./d3-fetch-BOsq7VnW.js";import"./khroma-DUX6PT6k.js";import"./uuid-DhYbOkY1.js";import"./d3-scale-DRZz3QW5.js";import"./internmap-BkD7Hj8s.js";import"./d3-array-DGRYoJHh.js";import"./d3-format-CzD4bSOQ.js";import"./d3-time-format-CUNN4Ell.js";import"./d3-time-6cSPyVSY.js";import"./d3-axis-DSWTncID.js";import"./elkjs-oKFFZvz7.js";import"./cytoscape-DtBltrT8.js";import"./cytoscape-cose-bilkent-Cgr1thlj.js";import"./cose-base-CwCxnKwh.js";import"./layout-base-CMXQqlmj.js";import"./d3-sankey-DgqkLiUE.js";import"./d3-scale-chromatic-B-NsZVaP.js";import"./ts-dedent-DrFu-skq.js";import"./stylis-D5iaQeiq.js";import"./mdast-util-from-markdown-CLAsVoWb.js";import"./micromark-CTBPIv-_.js";import"./micromark-util-combine-extensions-Bka6Sc1c.js";import"./micromark-util-chunked-DrRIdSP-.js";import"./micromark-factory-space-x2vfxbz5.js";import"./micromark-util-character-Bcm1tP9o.js";import"./micromark-core-commonmark-AH8VCgT7.js";import"./micromark-util-classify-character-Cq7Fg3xE.js";import"./micromark-util-resolve-all-PQCKh0dx.js";import"./decode-named-character-reference-C3-224fz.js";import"./micromark-util-subtokenize-QwsxNXk2.js";import"./micromark-factory-destination-CypD_wgM.js";import"./micromark-factory-label-CRHH4ZHP.js";import"./micromark-factory-title-B7kCBvC9.js";import"./micromark-factory-whitespace-B322EA6O.js";import"./micromark-util-normalize-identifier-C9ANKk3v.js";import"./micromark-util-html-tag-name-DbKNfynz.js";import"./micromark-util-decode-numeric-character-reference-DRnCnno4.js";import"./micromark-util-decode-string-DJl8Y_PO.js";import"./unist-util-stringify-position-Ch_qCilz.js";import"./mdast-util-to-string-C_aolqmU.js";import"./jszip-CFFhfFtd.js";import"./octokit-B6bKu3NB.js";import"./@octokit-MBEWYTsi.js";import"./bottleneck-D_vuF9V7.js";import"./universal-user-agent-CLgqIJsR.js";import"./before-after-hook-y8XtM9xW.js";import"./fast-content-type-parse-3SwieiST.js";import"./axe-core-Cc5paZPx.js";const Pt=()=>{const[o,f]=i.useState("https://react.dev"),[g,b]=i.useState(""),[l,d]=i.useState(null),[s,n]=i.useState(!1),[c,x]=i.useState(null),[u,a]=i.useState({}),m=i.useRef(null),j=()=>{const r=o.startsWith("http")?o:`https://${o}`;b(r),n(!0),d(null),a({})},y=async()=>{if(s&&m.current)try{const r=await R(m.current.contentWindow.document);d(r)}catch(r){console.error(r),alert("Could not audit this page. This may be due to security restrictions (CORS).")}finally{n(!1)}},A=async r=>{const e=r.id;x(e);try{const h=await L(r);a(p=>({...p,[e]:h}))}catch{a(p=>({...p,[e]:"Could not get suggestion."}))}finally{x(null)}};return t.jsxs("div",{className:"h-full flex flex-col p-4 sm:p-6 lg:p-8 text-text-primary",children:[t.jsxs("header",{className:"mb-6",children:[t.jsxs("h1",{className:"text-3xl font-bold flex items-center",children:[t.jsx(N,{}),t.jsx("span",{className:"ml-3",children:"Automated Accessibility Auditor"})]}),t.jsx("p",{className:"text-text-secondary mt-1",children:"Audit a live URL for accessibility issues and get AI-powered fixes."})]}),t.jsxs("div",{className:"flex gap-2 mb-4",children:[t.jsx("input",{type:"text",value:o,onChange:r=>f(r.target.value),placeholder:"https://example.com",className:"flex-grow p-2 border rounded"}),t.jsx("button",{onClick:j,disabled:s,className:"btn-primary px-6 py-2",children:s?"Auditing...":"Audit"})]}),t.jsxs("div",{className:"flex-grow grid grid-cols-1 lg:grid-cols-2 gap-6 min-h-0",children:[t.jsx("div",{className:"bg-background border-2 border-dashed border-border rounded-lg overflow-hidden",children:t.jsx("iframe",{ref:m,src:g,title:"Audit Target",className:"w-full h-full bg-white",onLoad:y,sandbox:"allow-scripts allow-same-origin"})}),t.jsxs("div",{className:"bg-surface p-4 border border-border rounded-lg flex flex-col",children:[t.jsx("h3",{className:"text-lg font-bold mb-2",children:"Audit Results"}),t.jsxs("div",{className:"flex-grow overflow-y-auto pr-2",children:[s&&t.jsx("div",{className:"flex justify-center items-center h-full",children:t.jsx(w,{})}),l&&(l.violations.length===0?t.jsx("p",{children:"No violations found!"}):l.violations.map((r,e)=>t.jsxs("div",{className:"p-3 mb-2 bg-background border border-border rounded",children:[t.jsx("p",{className:"font-bold text-red-600",children:r.help}),t.jsx("p",{className:"text-sm my-1",children:r.description}),t.jsxs("button",{onClick:()=>A(r),disabled:!!c,className:"text-xs flex items-center gap-1 text-primary font-semibold",children:[t.jsx(v,{})," ",c===r.id?"Getting fix...":"Ask AI for a fix"]}),u[r.id]&&t.jsx("div",{className:"mt-2 text-xs border-t pt-2",children:t.jsx(S,{content:u[r.id]})})]},r.id+e)))]})]})]})]})};export{Pt as AccessibilityAuditor}; | |
| //# sourceMappingURL=AccessibilityAuditor-9k2YK-kF.js.map | |