\n\n\n
\n\n","src/main.tsx":"import React from \"react\";\nimport { createRoot } from \"react-dom/client\";\nimport App from \"./App\";\nimport \"./index.css\";\n\nconst container = document.getElementById(\"root\");\nif (!container) throw new Error(\"Root container missing in index.html\");\nconst root = createRoot(container);\nroot.render(\n \n \n \n);","main.tsx":"import React from \"react\";\nimport { createRoot } from \"react-dom/client\";\nimport App from \"./App\";\nimport \"./index.css\";\n\nconst container = document.getElementById(\"root\");\nif (!container) throw new Error(\"Root container missing in index.html\");\nconst root = createRoot(container);\nroot.render(\n \n \n \n);","src/App.tsx":"import React from \"react\";\nimport { Home, ArrowRight, Zap, Activity } from \"lucide-react\";\n\nconst App: React.FC = () => {\n return (\n
\n
\n \n \n
\n
\n
\n

Your Awesome App

\n

A brief, compelling description.

\n \n
\n
\n
\n \n

Feature 1

\n

Benefit one.

\n
\n
\n \n

Feature 2

\n

Benefit two.

\n
\n
\n
\n
\n );\n};\n\nexport default App;","App.tsx":"import React from \"react\";\nimport { Home, ArrowRight, Zap, Activity } from \"lucide-react\";\n\nconst App: React.FC = () => {\n return (\n
\n
\n \n \n
\n
\n
\n

Your Awesome App

\n

A brief, compelling description.

\n \n
\n
\n
\n \n

Feature 1

\n

Benefit one.

\n
\n
\n \n

Feature 2

\n

Benefit two.

\n
\n
\n
\n
\n );\n};\n\nexport default App;","src/index.css":"@tailwind base;\n@tailwind components;\n@tailwind utilities;\n\n/* استایل‌های سفارشی */\nbody {\n font-family: 'Inter', sans-serif;\n}\n\nh1 {\n font-size: 4rem;\n line-height: 1.1;\n}\n\n.text-primary {\n color: #6366f1;\n}\n\n.bg-primary {\n background-color: #6366f1;\n}\n\n.text-secondary {\n color: #a855f7;\n}\n\n.bg-secondary {\n background-color: #a855f7;\n}\n\n.text-accent {\n color: #ef4444;\n}\n\n.bg-accent {\n background-color: #ef4444;\n}\n\n.text-neutral-50 {\n color: #f8fafc;\n}\n\n.bg-neutral-50 {\n background-color: #f8fafc;\n}\n\n.text-neutral-900 {\n color: #0f172a;\n}\n\n.bg-neutral-900 {\n background-color: #0f172a;\n}\n\n.text-success {\n color: #22c55e;\n}\n\n.bg-success {\n background-color: #22c55e;\n}\n\n.text-warning {\n color: #eab308;\n}\n\n.bg-warning {\n background-color: #eab308;\n}\n\n.text-error {\n color: #ef4444;\n}\n\n.bg-error {\n background-color: #ef4444;\n}\n\n.shadow-subtle {\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1), 0 1px 2px rgba(0, 0, 0, 0.06);\n}\n\n.border-crisp {\n border-width: 1px;\n border-color: #e5e7eb;\n}","index.css":"@tailwind base;\n@tailwind components;\n@tailwind utilities;\n\n/* استایل‌های سفارشی */\nbody {\n font-family: 'Inter', sans-serif;\n}\n\nh1 {\n font-size: 4rem;\n line-height: 1.1;\n}\n\n.text-primary {\n color: #6366f1;\n}\n\n.bg-primary {\n background-color: #6366f1;\n}\n\n.text-secondary {\n color: #a855f7;\n}\n\n.bg-secondary {\n background-color: #a855f7;\n}\n\n.text-accent {\n color: #ef4444;\n}\n\n.bg-accent {\n background-color: #ef4444;\n}\n\n.text-neutral-50 {\n color: #f8fafc;\n}\n\n.bg-neutral-50 {\n background-color: #f8fafc;\n}\n\n.text-neutral-900 {\n color: #0f172a;\n}\n\n.bg-neutral-900 {\n background-color: #0f172a;\n}\n\n.text-success {\n color: #22c55e;\n}\n\n.bg-success {\n background-color: #22c55e;\n}\n\n.text-warning {\n color: #eab308;\n}\n\n.bg-warning {\n background-color: #eab308;\n}\n\n.text-error {\n color: #ef4444;\n}\n\n.bg-error {\n background-color: #ef4444;\n}\n\n.shadow-subtle {\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1), 0 1px 2px rgba(0, 0, 0, 0.06);\n}\n\n.border-crisp {\n border-width: 1px;\n border-color: #e5e7eb;\n}"}; window.__MODULES__ = {}; // Simple path resolver function resolvePath(base, relative) { // If absolute/bare if (!relative.startsWith('.')) return relative; const stack = base.split('/'); stack.pop(); // Pop current filename const parts = relative.split('/'); for (let i = 0; i < parts.length; i++) { if (parts[i] === '.') continue; if (parts[i] === '..') stack.pop(); else stack.push(parts[i]); } return stack.join('/'); } function require(path, base = 'src/main.tsx') { // 1. Built-ins if (path === 'react') return window.React; if (path === 'react-dom') return window.ReactDOM; if (path === 'react-dom/client') return window.ReactDOM; // createRoot is on ReactDOM in UMD 18 if (path === 'react-router-dom') return window.ReactRouterDOM; if (path === 'lucide-react') return window.lucideReact; if (path === '@supabase/supabase-js') return window.supabase; // 2. Resolution let resolved = resolvePath(base, path); // Try extensions const extensions = ['', '.tsx', '.ts', '.jsx', '.js', '.css', '.json']; let finalPath = null; // Try exact match first if (window.__SOURCES__[resolved]) finalPath = resolved; else { // Try extensions for (const ext of extensions) { if (window.__SOURCES__[resolved + ext]) { finalPath = resolved + ext; break; } } // Try /index if (!finalPath) { for (const ext of extensions) { if (window.__SOURCES__[resolved + '/index' + ext]) { finalPath = resolved + '/index' + ext; break; } } } } if (!finalPath) { console.warn('Module not found:', path, 'resolved to:', resolved); return {}; } if (window.__MODULES__[finalPath]) return window.__MODULES__[finalPath].exports; // 3. Execution const source = window.__SOURCES__[finalPath]; const module = { exports: {} }; window.__MODULES__[finalPath] = module; if (finalPath.endsWith('.css')) return {}; // CSS handled globally if (finalPath.endsWith('.json')) { module.exports = JSON.parse(source); return module.exports; } try { // Explicitly transform ESM to CJS using 'env' preset const presets = [ ['env', { modules: 'commonjs' }], 'react' ]; if (finalPath.endsWith('.ts') || finalPath.endsWith('.tsx')) presets.push('typescript'); const code = Babel.transform(source, { presets, filename: finalPath, retainLines: true }).code; const func = new Function('require', 'module', 'exports', 'React', code); func( (p) => require(p, finalPath), module, module.exports, window.React ); } catch (e) { console.error('Error executing ' + finalPath, e); throw e; } return module.exports; } // Bootstrap window.addEventListener('DOMContentLoaded', () => { try { // Always start at src/main.tsx (we synthesized it if it was missing) const entry = 'src/main.tsx'; if (window.__SOURCES__[entry]) { require(entry); } else { console.error('Entry file src/main.tsx missing despite synthesis logic.'); } } catch (e) { console.error('Bootstrap Error:', e); document.body.innerHTML = '

Runtime Error

' + e.message + '
'; } });