import{r,j as e}from"./react-D_B_5QVd.js";import{n as p,l as h,L as i,M as j}from"./index-CPYWJ7h_.js";import"./jszip-C9ownNzX.js";import"./react-dom-EAO2-NBm.js";import"./scheduler-DYLXRpC5.js";import"./@google-4tyssLU_.js";import"./marked-CesSW9Du.js";import"./idb-Dob3nYDb.js";const g=`const MyComponent = (props) => { const {name, items}=props if(!items || items.length === 0){ return

No items found for {name}

; } return }`,S=()=>{const[s,x]=r.useState(g),[o,c]=r.useState(""),[a,d]=r.useState(!1),[n,m]=r.useState(""),f=r.useCallback(async()=>{if(!s.trim()){m("Please enter some code to format.");return}d(!0),m(""),c("");try{const t=p(s);let l="";for await(const u of t)l+=u,c(l)}catch(t){const l=t instanceof Error?t.message:"An unknown error occurred.";m(`Failed to format code: ${l}`)}finally{d(!1)}},[s]);return e.jsxs("div",{className:"h-full flex flex-col p-4 sm:p-6 lg:p-8 text-text-primary",children:[e.jsxs("header",{className:"mb-6",children:[e.jsxs("h1",{className:"text-3xl font-bold flex items-center",children:[e.jsx(h,{}),e.jsx("span",{className:"ml-3",children:"AI Code Formatter"})]}),e.jsx("p",{className:"text-text-secondary mt-1",children:"Clean up your code with AI-powered formatting, like a smart Prettier."})]}),e.jsxs("div",{className:"flex-grow flex flex-col min-h-0",children:[e.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-6 flex-grow min-h-0",children:[e.jsxs("div",{className:"flex flex-col h-full",children:[e.jsx("label",{htmlFor:"code-input",className:"text-sm font-medium text-text-secondary mb-2",children:"Input"}),e.jsx("textarea",{id:"code-input",value:s,onChange:t=>x(t.target.value),placeholder:"Paste your unformatted code here...",className:"flex-grow p-4 bg-surface border border-border rounded-md resize-none font-mono text-sm"})]}),e.jsxs("div",{className:"flex flex-col h-full",children:[e.jsx("label",{className:"text-sm font-medium text-text-secondary mb-2",children:"Output"}),e.jsxs("div",{className:"flex-grow p-1 bg-background border border-border rounded-md overflow-y-auto",children:[a&&!o&&e.jsx("div",{className:"flex items-center justify-center h-full",children:e.jsx(i,{})}),n&&e.jsx("p",{className:"p-4 text-red-500",children:n}),o&&e.jsx(j,{content:o}),!a&&!o&&!n&&e.jsx("div",{className:"text-text-secondary h-full flex items-center justify-center",children:"Formatted code will appear here."})]})]})]}),e.jsx("button",{onClick:f,disabled:a,className:"btn-primary mt-4 w-full max-w-sm mx-auto flex items-center justify-center px-6 py-3",children:a?e.jsx(i,{}):"Format Code"})]})]})};export{S as CodeFormatter}; //# sourceMappingURL=CodeFormatter-CUH-sJYc.js.map