{"_id":"@aquiles-ai/renderize","_rev":"15-a36d3760533d1827a7eee459e9164626","name":"@aquiles-ai/renderize","dist-tags":{"latest":"2.6.0"},"versions":{"1.0.0":{"name":"@aquiles-ai/renderize","version":"1.0.0","keywords":["react","sandbox","generative-ui","radix-ui","tailwind","iframe","ai"],"author":{"name":"Fredy Rivera / Aquiles-ai"},"license":"Apache-2.0","_id":"@aquiles-ai/renderize@1.0.0","maintainers":[{"name":"f4k3r22","email":"fredyriveraacevedo13@gmail.com"}],"homepage":"https://github.com/Aquiles-ai/Renderize#readme","bugs":{"url":"https://github.com/Aquiles-ai/Renderize/issues"},"dist":{"shasum":"b0a0fd9b7daaaae64730644fcae409f37a3935b3","tarball":"https://registry.npmjs.org/@aquiles-ai/renderize/-/renderize-1.0.0.tgz","fileCount":7,"integrity":"sha512-jCRotXwWrqoUZ2YB/q0ZeUyt0CaTqZgns/J8upCdrDq1gOG8Ug6wPBD8ne189T/bnwHYIu8hFec3jVyXCWXuoA==","signatures":[{"sig":"MEUCIQDlu+9xBPLBkOs1uuA2rMz7TH7OWrWDBPvjW/x1S4epLQIgVdrrBBnjCvE+RSkplh9pcdZ29sw0iZ2+lrICu4hQCxk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20450},"main":"index.js","type":"module","gitHead":"dbaa947bdd15fc13694418f21200470735dfe718","scripts":{"dev":"tsup src/index.ts --format cjs,esm --dts --external react react-dom --watch","build":"tsup src/index.ts --format cjs,esm --dts --external react react-dom"},"_npmUser":{"name":"f4k3r22","email":"fredyriveraacevedo13@gmail.com"},"repository":{"url":"git+https://github.com/Aquiles-ai/Renderize.git","type":"git"},"_npmVersion":"11.8.0","description":"Drop-in sandbox component that executes AI-generated React code with zero configuration.","directories":{},"_nodeVersion":"22.15.0","dependencies":{"react":"^19.2.4","react-dom":"^19.2.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","typescript":"^5.9.3","@types/node":"^25.3.5","@types/react":"^19.2.14"},"_npmOperationalInternal":{"tmp":"tmp/renderize_1.0.0_1772771192755_0.8922595280532928","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@aquiles-ai/renderize","version":"1.2.0","keywords":["react","sandbox","generative-ui","radix-ui","tailwind","iframe","ai"],"author":{"name":"Fredy Rivera / Aquiles-ai"},"license":"Apache-2.0","_id":"@aquiles-ai/renderize@1.2.0","maintainers":[{"name":"f4k3r22","email":"fredyriveraacevedo13@gmail.com"}],"homepage":"https://github.com/Aquiles-ai/Renderize#readme","bugs":{"url":"https://github.com/Aquiles-ai/Renderize/issues"},"dist":{"shasum":"3625fb11dbf96caab0ae5ae4df30b60c0678a0c5","tarball":"https://registry.npmjs.org/@aquiles-ai/renderize/-/renderize-1.2.0.tgz","fileCount":11,"integrity":"sha512-bVnFjtBmiuQ7r9KnDdfCuBcSb75k5Wo8IouN7aVFfRKrckOJLl6LdG1SfeFLjD3GeJ9SIEULSIUMz7wME26PGw==","signatures":[{"sig":"MEQCICaBczC7paSChwjcIiO4MBE8P2U/RrM3vTVfspEhiPbLAiA+yVohze69m6y4Z/bTxF4wx4Y1/pzbYbQdpXKcNTM7dQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":36000},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.mjs","gitHead":"dbaa947bdd15fc13694418f21200470735dfe718","scripts":{"dev":"tsup src/index.ts --format cjs,esm --dts --external react react-dom --watch","build":"tsup src/index.ts --format cjs,esm --dts --external react react-dom"},"_npmUser":{"name":"f4k3r22","email":"fredyriveraacevedo13@gmail.com"},"repository":{"url":"git+https://github.com/Aquiles-ai/Renderize.git","type":"git"},"_npmVersion":"11.8.0","description":"Drop-in sandbox component that executes AI-generated React code with zero configuration.","directories":{},"_nodeVersion":"22.15.0","dependencies":{"tsup":"^8.5.1","react":"^19.2.4","react-dom":"^19.2.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","typescript":"^5.9.3","@types/node":"^25.3.5","@types/react":"^19.2.14"},"_npmOperationalInternal":{"tmp":"tmp/renderize_1.2.0_1772771947883_0.8460341828699602","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"@aquiles-ai/renderize","version":"1.3.0","keywords":["react","sandbox","generative-ui","radix-ui","tailwind","iframe","ai"],"author":{"name":"Fredy Rivera / Aquiles-ai"},"license":"Apache-2.0","_id":"@aquiles-ai/renderize@1.3.0","maintainers":[{"name":"f4k3r22","email":"fredyriveraacevedo13@gmail.com"}],"homepage":"https://github.com/Aquiles-ai/Renderize#readme","bugs":{"url":"https://github.com/Aquiles-ai/Renderize/issues"},"dist":{"shasum":"0b7fbdb2b11a650b69ebb1fda371deabf7e23d4e","tarball":"https://registry.npmjs.org/@aquiles-ai/renderize/-/renderize-1.3.0.tgz","fileCount":11,"integrity":"sha512-CdD/PxpawK9+kLsEvqGke4Xhbx/T0tSP/+1LmLVkSUayDOe7DDmtxW7SsZdpofEL0bJ7omgzMmNKDrEoFOXOhQ==","signatures":[{"sig":"MEYCIQDpwqnSpb9KuucgEGldXKdZ65fB+sEmbU1Yf/g+lbKBnQIhAMWHS+yqiDWdKVWfq3cvPjLl+6aWQKWk+YqkcOeetU6l","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":35942},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.mjs","gitHead":"dbaa947bdd15fc13694418f21200470735dfe718","scripts":{"dev":"tsup src/index.ts --format cjs,esm --dts --external react react-dom --watch","build":"tsup src/index.ts --format cjs,esm --dts --external react react-dom"},"_npmUser":{"name":"f4k3r22","email":"fredyriveraacevedo13@gmail.com"},"repository":{"url":"git+https://github.com/Aquiles-ai/Renderize.git","type":"git"},"_npmVersion":"11.8.0","description":"Drop-in sandbox component that executes AI-generated React code with zero configuration.","directories":{},"_nodeVersion":"22.15.0","dependencies":{"tsup":"^8.5.1","react":"^19.2.4","react-dom":"^19.2.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","typescript":"^5.9.3","@types/node":"^25.3.5","@types/react":"^19.2.14"},"_npmOperationalInternal":{"tmp":"tmp/renderize_1.3.0_1772772241587_0.04459491478946531","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"@aquiles-ai/renderize","version":"1.4.0","keywords":["react","sandbox","generative-ui","radix-ui","tailwind","iframe","ai"],"author":{"name":"Fredy Rivera / Aquiles-ai"},"license":"Apache-2.0","_id":"@aquiles-ai/renderize@1.4.0","maintainers":[{"name":"f4k3r22","email":"fredyriveraacevedo13@gmail.com"}],"homepage":"https://github.com/Aquiles-ai/Renderize#readme","bugs":{"url":"https://github.com/Aquiles-ai/Renderize/issues"},"dist":{"shasum":"7aca083d010a0f60983f0329051910debc805950","tarball":"https://registry.npmjs.org/@aquiles-ai/renderize/-/renderize-1.4.0.tgz","fileCount":11,"integrity":"sha512-4xXOdtUg7RpQdDdHH4hx1Zu0ogwVPPMffmbMjtCUvFZeloRDFHryCc0iF0qBmWKSZA7arUlvN/3hlkvwE3MFLA==","signatures":[{"sig":"MEQCIGOFtVQuqT+UE2ZPLpKSjt5rSkXOG9Fb0GaJTCzdnQh0AiAgKD0yQs7Eok0ku5RZLbzh0hy3RiIcqjJGRc32YODFHg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":35942},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.mjs","gitHead":"dbaa947bdd15fc13694418f21200470735dfe718","scripts":{"dev":"tsup src/index.ts --format cjs,esm --dts --external react react-dom --watch","build":"tsup src/index.ts --format cjs,esm --dts --external react react-dom"},"_npmUser":{"name":"f4k3r22","email":"fredyriveraacevedo13@gmail.com"},"repository":{"url":"git+https://github.com/Aquiles-ai/Renderize.git","type":"git"},"_npmVersion":"11.8.0","description":"Drop-in sandbox component that executes AI-generated React code with zero configuration.","directories":{},"_nodeVersion":"22.15.0","dependencies":{"tsup":"^8.5.1","react":"^19.2.4","react-dom":"^19.2.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","typescript":"^5.9.3","@types/node":"^25.3.5","@types/react":"^19.2.14"},"_npmOperationalInternal":{"tmp":"tmp/renderize_1.4.0_1772772330302_0.8598465560210629","host":"s3://npm-registry-packages-npm-production"}},"1.5.0":{"name":"@aquiles-ai/renderize","version":"1.5.0","keywords":["react","sandbox","generative-ui","radix-ui","tailwind","iframe","ai"],"author":{"name":"Fredy Rivera / Aquiles-ai"},"license":"Apache-2.0","_id":"@aquiles-ai/renderize@1.5.0","maintainers":[{"name":"f4k3r22","email":"fredyriveraacevedo13@gmail.com"}],"homepage":"https://github.com/Aquiles-ai/Renderize#readme","bugs":{"url":"https://github.com/Aquiles-ai/Renderize/issues"},"dist":{"shasum":"53d1542cd2df8fd651686ca0473dfb5ce3a5e637","tarball":"https://registry.npmjs.org/@aquiles-ai/renderize/-/renderize-1.5.0.tgz","fileCount":11,"integrity":"sha512-0wHGedK8bJWPQVipK/qZhwyBOGYaHamDXWooNrG2eCKQsvSf9MWfHQU9yukdz4FKy5xbIIesfbqNaHQ3lM2KmQ==","signatures":[{"sig":"MEUCIQD0Qmc54lPdL8A1nXrgZOHMrxIBgwIsHujarFvOJCvaIwIgaXvcfADWkvdnU/711T/nx7e/LdT5O9jzXpyYEbH5z8s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":34489},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.mjs","gitHead":"dbaa947bdd15fc13694418f21200470735dfe718","scripts":{"dev":"tsup src/index.ts --format cjs,esm --dts --external react react-dom --watch","build":"tsup src/index.ts --format cjs,esm --dts --external react react-dom"},"_npmUser":{"name":"f4k3r22","email":"fredyriveraacevedo13@gmail.com"},"repository":{"url":"git+https://github.com/Aquiles-ai/Renderize.git","type":"git"},"_npmVersion":"11.8.0","description":"Drop-in sandbox component that executes AI-generated React code with zero configuration.","directories":{},"_nodeVersion":"22.15.0","dependencies":{"tsup":"^8.5.1","react":"^19.2.4","react-dom":"^19.2.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","typescript":"^5.9.3","@types/node":"^25.3.5","@types/react":"^19.2.14"},"_npmOperationalInternal":{"tmp":"tmp/renderize_1.5.0_1772772593720_0.5744832749870352","host":"s3://npm-registry-packages-npm-production"}},"1.6.0":{"name":"@aquiles-ai/renderize","version":"1.6.0","keywords":["react","sandbox","generative-ui","radix-ui","tailwind","iframe","ai"],"author":{"name":"Fredy Rivera / Aquiles-ai"},"license":"Apache-2.0","_id":"@aquiles-ai/renderize@1.6.0","maintainers":[{"name":"f4k3r22","email":"fredyriveraacevedo13@gmail.com"}],"homepage":"https://github.com/Aquiles-ai/Renderize#readme","bugs":{"url":"https://github.com/Aquiles-ai/Renderize/issues"},"dist":{"shasum":"df1cb80853c7430b48c7408b7427e987c5cf8230","tarball":"https://registry.npmjs.org/@aquiles-ai/renderize/-/renderize-1.6.0.tgz","fileCount":11,"integrity":"sha512-NcciyJby6oQgQZHa0/0YN38LcP0qvcHrfxbYcTqivaIdYrYe95DvwzmppBKct248qqxfWaQdR5Uv3E4o4PeXsA==","signatures":[{"sig":"MEQCIAtwy3jLhpOegSeRcGwPTL5JHLOZKMNJw5UMg5HwSHr7AiBVNIfFNSozlcGwD2MH0ycw4wMkZpCosB9tnrdq94QI3w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":36538},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.mjs","gitHead":"c750c1265b86c91e6ab22c2bb4a464172b6d2077","scripts":{"dev":"tsup src/index.ts --format cjs,esm --dts --external react react-dom --watch","build":"tsup src/index.ts --format cjs,esm --dts --external react react-dom"},"_npmUser":{"name":"f4k3r22","email":"fredyriveraacevedo13@gmail.com"},"repository":{"url":"git+https://github.com/Aquiles-ai/Renderize.git","type":"git"},"_npmVersion":"11.8.0","description":"Drop-in sandbox component that executes AI-generated React code with zero configuration.","directories":{},"_nodeVersion":"22.15.0","dependencies":{"tsup":"^8.5.1","react":"^19.2.4","react-dom":"^19.2.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","typescript":"^5.9.3","@types/node":"^25.3.5","@types/react":"^19.2.14"},"_npmOperationalInternal":{"tmp":"tmp/renderize_1.6.0_1772840423424_0.16383709154871373","host":"s3://npm-registry-packages-npm-production"}},"1.7.0":{"name":"@aquiles-ai/renderize","version":"1.7.0","keywords":["react","sandbox","generative-ui","radix-ui","tailwind","iframe","ai"],"author":{"name":"Fredy Rivera / Aquiles-ai"},"license":"Apache-2.0","_id":"@aquiles-ai/renderize@1.7.0","maintainers":[{"name":"f4k3r22","email":"fredyriveraacevedo13@gmail.com"}],"homepage":"https://github.com/Aquiles-ai/Renderize#readme","bugs":{"url":"https://github.com/Aquiles-ai/Renderize/issues"},"dist":{"shasum":"9b1716f6544e388ae4459a5a8ea50e4642899ca4","tarball":"https://registry.npmjs.org/@aquiles-ai/renderize/-/renderize-1.7.0.tgz","fileCount":11,"integrity":"sha512-AfcSDstf+1mcaKvYuzwnru7dapKIUu+0MeL06gP5Lw5C7o6Az5AJ5smOdhXheeP8oh4GWkyFsMLPNqvK9GbkkA==","signatures":[{"sig":"MEUCICIMoQVKjKvFgQlGYK1ObLYJ18uusI3OidH/q8kye8PvAiEAs4LyiSEK8vTovZzk7mEEdMxWRP0WhvtKpET3VPgvGI0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":36700},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.mjs","gitHead":"5edeaa4508e98c10c20a01bf8e90893ccf90edf8","scripts":{"dev":"tsup src/index.ts --format cjs,esm --dts --external react react-dom --watch","build":"tsup src/index.ts --format cjs,esm --dts --external react react-dom"},"_npmUser":{"name":"f4k3r22","email":"fredyriveraacevedo13@gmail.com"},"repository":{"url":"git+https://github.com/Aquiles-ai/Renderize.git","type":"git"},"_npmVersion":"11.8.0","description":"Drop-in sandbox component that executes AI-generated React code with zero configuration.","directories":{},"_nodeVersion":"22.15.0","dependencies":{"tsup":"^8.5.1","react":"^19.2.4","react-dom":"^19.2.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","typescript":"^5.9.3","@types/node":"^25.3.5","@types/react":"^19.2.14"},"_npmOperationalInternal":{"tmp":"tmp/renderize_1.7.0_1772841102233_0.9026902192578059","host":"s3://npm-registry-packages-npm-production"}},"1.8.0":{"name":"@aquiles-ai/renderize","version":"1.8.0","keywords":["react","sandbox","generative-ui","radix-ui","tailwind","iframe","ai"],"author":{"name":"Fredy Rivera / Aquiles-ai"},"license":"Apache-2.0","_id":"@aquiles-ai/renderize@1.8.0","maintainers":[{"name":"f4k3r22","email":"fredyriveraacevedo13@gmail.com"}],"homepage":"https://github.com/Aquiles-ai/Renderize#readme","bugs":{"url":"https://github.com/Aquiles-ai/Renderize/issues"},"dist":{"shasum":"6b0c8ae8edff2aaa33badfcaeb28307950a786e7","tarball":"https://registry.npmjs.org/@aquiles-ai/renderize/-/renderize-1.8.0.tgz","fileCount":11,"integrity":"sha512-0aUXMfuiizvgsa0M8/gGJhZwgBEXEt2Rv5S854kW4k4cTMtxEyK4ONhRV2E8z8JtZGDAFyatC4wA+r07GPqhIg==","signatures":[{"sig":"MEUCIAvS8zCnNJLKnDGkSY9sXwvVGQs++JCs2M5VHfRGsBDsAiEAq7ByLYGU//PUR4zNL0p+nzGnNbeY0uSsW9TsR7Xsas0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":47610},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.mjs","gitHead":"5edeaa4508e98c10c20a01bf8e90893ccf90edf8","scripts":{"dev":"tsup src/index.ts --format cjs,esm --dts --external react react-dom --watch","build":"tsup src/index.ts --format cjs,esm --dts --external react react-dom"},"_npmUser":{"name":"f4k3r22","email":"fredyriveraacevedo13@gmail.com"},"repository":{"url":"git+https://github.com/Aquiles-ai/Renderize.git","type":"git"},"_npmVersion":"11.8.0","description":"Drop-in sandbox component that executes AI-generated React code with zero configuration.","directories":{},"_nodeVersion":"22.15.0","dependencies":{"tsup":"^8.5.1","react":"^19.2.4","react-dom":"^19.2.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","typescript":"^5.9.3","@types/node":"^25.3.5","@types/react":"^19.2.14"},"_npmOperationalInternal":{"tmp":"tmp/renderize_1.8.0_1772842238028_0.5815332596372089","host":"s3://npm-registry-packages-npm-production"}},"1.85.0":{"name":"@aquiles-ai/renderize","version":"1.85.0","keywords":["react","sandbox","generative-ui","radix-ui","tailwind","iframe","ai"],"author":{"name":"Fredy Rivera / Aquiles-ai"},"license":"Apache-2.0","_id":"@aquiles-ai/renderize@1.85.0","maintainers":[{"name":"f4k3r22","email":"fredyriveraacevedo13@gmail.com"}],"homepage":"https://github.com/Aquiles-ai/Renderize#readme","bugs":{"url":"https://github.com/Aquiles-ai/Renderize/issues"},"dist":{"shasum":"60a6fc1781215471d506108e4c2664ed79105bcb","tarball":"https://registry.npmjs.org/@aquiles-ai/renderize/-/renderize-1.85.0.tgz","fileCount":11,"integrity":"sha512-g7XD3jYyHuvuE2V3QoTzIYdipcuyuwVCmKPQS37o1nydIbkGWY1k4JTnEEubVoeybyc9DoKjuMm6QclGzqiKNA==","signatures":[{"sig":"MEUCIBFy60gmYuLkXKvq9txGe/9SMm7cW8uHW/o2NQMwxgAZAiEA3PLgYXbUfIQMIKeZg7sWp09pULH/56qTxGYrS9ic9nA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":47737},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.mjs","gitHead":"5edeaa4508e98c10c20a01bf8e90893ccf90edf8","scripts":{"dev":"tsup src/index.ts --format cjs,esm --dts --external react react-dom --watch","build":"tsup src/index.ts --format cjs,esm --dts --external react react-dom"},"_npmUser":{"name":"f4k3r22","email":"fredyriveraacevedo13@gmail.com"},"repository":{"url":"git+https://github.com/Aquiles-ai/Renderize.git","type":"git"},"_npmVersion":"11.8.0","description":"Drop-in sandbox component that executes AI-generated React code with zero configuration.","directories":{},"_nodeVersion":"22.15.0","dependencies":{"tsup":"^8.5.1","react":"^19.2.4","react-dom":"^19.2.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","typescript":"^5.9.3","@types/node":"^25.3.5","@types/react":"^19.2.14"},"_npmOperationalInternal":{"tmp":"tmp/renderize_1.85.0_1772842434851_0.9466107184047026","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"@aquiles-ai/renderize","version":"2.0.0","keywords":["react","sandbox","generative-ui","radix-ui","tailwind","iframe","ai"],"author":{"name":"Fredy Rivera / Aquiles-ai"},"license":"Apache-2.0","_id":"@aquiles-ai/renderize@2.0.0","maintainers":[{"name":"f4k3r22","email":"fredyriveraacevedo13@gmail.com"}],"homepage":"https://github.com/Aquiles-ai/Renderize#readme","bugs":{"url":"https://github.com/Aquiles-ai/Renderize/issues"},"dist":{"shasum":"2d9a1bcc25a8051d35c22b241211de78749add2d","tarball":"https://registry.npmjs.org/@aquiles-ai/renderize/-/renderize-2.0.0.tgz","fileCount":12,"integrity":"sha512-10lJsHo4rTAXTvDqFLGBINarc7nMzXKRw8tni9cc5IzqUtD0aSL9wCHCZ6t4VkV33gXc1ug8JOTrAPFjaZJr8g==","signatures":[{"sig":"MEYCIQC3fKY7bDlhug5nK4hZbnegLFsEtRDXDsei7pU8OyAbrwIhAIPoX2NqjKw7B5FhFndoZYCznwL7Umd/o+Ibe92AbvL3","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":75889},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.mjs","gitHead":"f411cb0c8aad5d449c242683ee459bffbe2382f4","scripts":{"dev":"tsup src/index.ts --format cjs,esm --dts --external react react-dom --watch","build":"tsup src/index.ts --format cjs,esm --dts --external react react-dom"},"_npmUser":{"name":"f4k3r22","email":"fredyriveraacevedo13@gmail.com"},"repository":{"url":"git+https://github.com/Aquiles-ai/Renderize.git","type":"git"},"_npmVersion":"11.8.0","description":"Drop-in sandbox component that executes AI-generated React code with zero configuration.","directories":{},"_nodeVersion":"22.15.0","dependencies":{"tsup":"^8.5.1","react":"^19.2.4","react-dom":"^19.2.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","typescript":"^5.9.3","@types/node":"^25.3.5","@types/react":"^19.2.14"},"_npmOperationalInternal":{"tmp":"tmp/renderize_2.0.0_1772920651921_0.5151801904886553","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"name":"@aquiles-ai/renderize","version":"2.1.0","keywords":["react","sandbox","generative-ui","radix-ui","tailwind","iframe","ai"],"author":{"name":"Fredy Rivera / Aquiles-ai"},"license":"Apache-2.0","_id":"@aquiles-ai/renderize@2.1.0","maintainers":[{"name":"f4k3r22","email":"fredyriveraacevedo13@gmail.com"}],"homepage":"https://github.com/Aquiles-ai/Renderize#readme","bugs":{"url":"https://github.com/Aquiles-ai/Renderize/issues"},"dist":{"shasum":"29b4497bb173629d66a8401e319f0fca5d43d469","tarball":"https://registry.npmjs.org/@aquiles-ai/renderize/-/renderize-2.1.0.tgz","fileCount":8,"integrity":"sha512-HZJuOJKYuDRu15HD9J/p9MZvfFO24JU13ICh7FC9QjNlfFiPPEtBk+hfhuezTIlTNQfzNp3Kzv18L48ivOUjYA==","signatures":[{"sig":"MEUCIQDhXrUFuzwxdVE1dJCCroLP4GeT3EwTr0o21vZoWi/HPQIgf/YuIfN8XlcFOqB/zR8Qr4ZdFubxTm6fwaGjKchSOmE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":40836},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.mjs","gitHead":"866cd3ac584f6ff24ed7bd9d77641ed016777457","scripts":{"dev":"tsup src/index.ts --format cjs,esm --dts --external react react-dom --watch","build":"tsup src/index.ts --format cjs,esm --dts --external react react-dom"},"_npmUser":{"name":"f4k3r22","email":"fredyriveraacevedo13@gmail.com"},"repository":{"url":"git+https://github.com/Aquiles-ai/Renderize.git","type":"git"},"_npmVersion":"11.8.0","description":"Drop-in sandbox component that executes AI-generated React code with zero configuration.","directories":{},"_nodeVersion":"22.15.0","dependencies":{"tsup":"^8.5.1","react":"^19.2.4","react-dom":"^19.2.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","typescript":"^5.9.3","@types/node":"^25.3.5","@types/react":"^19.2.14"},"_npmOperationalInternal":{"tmp":"tmp/renderize_2.1.0_1772991185613_0.9126673474401654","host":"s3://npm-registry-packages-npm-production"}},"2.2.0":{"name":"@aquiles-ai/renderize","version":"2.2.0","keywords":["react","sandbox","generative-ui","radix-ui","tailwind","iframe","ai"],"author":{"name":"Fredy Rivera / Aquiles-ai"},"license":"Apache-2.0","_id":"@aquiles-ai/renderize@2.2.0","maintainers":[{"name":"f4k3r22","email":"fredyriveraacevedo13@gmail.com"}],"homepage":"https://github.com/Aquiles-ai/Renderize#readme","bugs":{"url":"https://github.com/Aquiles-ai/Renderize/issues"},"dist":{"shasum":"ec2a479cad1293774c2836d205be7a3b26f38917","tarball":"https://registry.npmjs.org/@aquiles-ai/renderize/-/renderize-2.2.0.tgz","fileCount":12,"integrity":"sha512-dSgetD2kdW+wwJglD+z+AkiIs3E+O0wO4YQyUp1Ppuv62B9QdDCZ083B7Jh5qeNHhuqQSeNwx9/K01a30M5+ww==","signatures":[{"sig":"MEUCIQC/aG1RbR4wJGose3mEIhG+mlfUOMbjcnmzAQltIkO1sQIgb6xyKE9AO2dICp4v4tzy8JDF0es/qdr6oga0dS1L10Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":76383},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.mjs","gitHead":"866cd3ac584f6ff24ed7bd9d77641ed016777457","scripts":{"dev":"tsup src/index.ts --format cjs,esm --dts --external react react-dom --watch","build":"tsup src/index.ts --format cjs,esm --dts --external react react-dom"},"_npmUser":{"name":"f4k3r22","email":"fredyriveraacevedo13@gmail.com"},"repository":{"url":"git+https://github.com/Aquiles-ai/Renderize.git","type":"git"},"_npmVersion":"11.8.0","description":"Drop-in sandbox component that executes AI-generated React code with zero configuration.","directories":{},"_nodeVersion":"22.15.0","dependencies":{"tsup":"^8.5.1","react":"^19.2.4","react-dom":"^19.2.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","typescript":"^5.9.3","@types/node":"^25.3.5","@types/react":"^19.2.14"},"_npmOperationalInternal":{"tmp":"tmp/renderize_2.2.0_1772991223978_0.4311022734377472","host":"s3://npm-registry-packages-npm-production"}},"2.4.0":{"name":"@aquiles-ai/renderize","version":"2.4.0","keywords":["react","sandbox","generative-ui","radix-ui","tailwind","iframe","ai"],"author":{"name":"Fredy Rivera / Aquiles-ai"},"license":"Apache-2.0","_id":"@aquiles-ai/renderize@2.4.0","maintainers":[{"name":"f4k3r22","email":"fredyriveraacevedo13@gmail.com"}],"homepage":"https://github.com/Aquiles-ai/Renderize#readme","bugs":{"url":"https://github.com/Aquiles-ai/Renderize/issues"},"dist":{"shasum":"01e4786ba540594e56335e7d42f816b2aee9e708","tarball":"https://registry.npmjs.org/@aquiles-ai/renderize/-/renderize-2.4.0.tgz","fileCount":7,"integrity":"sha512-qoHUJPQQ+gPa/6w8GlVWutxDs6/2zX+Ja62/a0mHnlvyy35eRjYJObzy8XIkl0LEaeWHO4NaVwjXPvj8c2KU2w==","signatures":[{"sig":"MEYCIQCIzZ45SBoTLRJXHHLTkjedzqMOjvLtBCjT1gbc1iNaUwIhAIvV+jdQVKY+V2qySCIfk0uKClKOcvdZpJYagp7ilPMb","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":67850},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"ed2e5d55d52923380d6145511e9199bdf1ed5f0e","scripts":{"dev":"tsup src/index.ts --format cjs,esm --dts --external react react-dom --watch","build":"tsup src/index.ts --format cjs,esm --dts --external react react-dom"},"_npmUser":{"name":"f4k3r22","email":"fredyriveraacevedo13@gmail.com"},"repository":{"url":"git+https://github.com/Aquiles-ai/Renderize.git","type":"git"},"_npmVersion":"11.13.0","description":"Drop-in sandbox component that executes AI-generated React code with zero configuration.","directories":{},"_nodeVersion":"22.15.0","dependencies":{"tsup":"^8.5.1","react":"^19.2.4","react-dom":"^19.2.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","typescript":"^5.9.3","@types/node":"^25.3.5","@types/react":"^19.2.14"},"_npmOperationalInternal":{"tmp":"tmp/renderize_2.4.0_1785812077589_0.9022262536856247","host":"s3://npm-registry-packages-npm-production"}},"2.5.0":{"name":"@aquiles-ai/renderize","version":"2.5.0","keywords":["react","sandbox","generative-ui","radix-ui","tailwind","iframe","ai"],"author":{"name":"Fredy Rivera / Aquiles-ai"},"license":"Apache-2.0","_id":"@aquiles-ai/renderize@2.5.0","maintainers":[{"name":"f4k3r22","email":"fredyriveraacevedo13@gmail.com"}],"homepage":"https://github.com/Aquiles-ai/Renderize#readme","bugs":{"url":"https://github.com/Aquiles-ai/Renderize/issues"},"dist":{"shasum":"a60b4e99309ae0d6536db25d8e445144611f6aed","tarball":"https://registry.npmjs.org/@aquiles-ai/renderize/-/renderize-2.5.0.tgz","fileCount":7,"integrity":"sha512-3F9ZiyzZK/tWdnAJH/pB3Kb9qBose6fbs6LzXdC3t2wI7Jra1DVTPz+Orhq6FRAxmHjLy4LIM8m/DIpSIHQkDA==","signatures":[{"sig":"MEUCIQCoJr7VJwlhc1dllKdVaZ0PvPLIQA6/CxI3lCGm2Iep3wIgNOMbUONMh/Q5e9Tfn4UnhozB3AZX60qBIzXED4aqeWo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":68846},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"72f44ca07604f2232daa927e0438523c1ab93a6d","scripts":{"dev":"tsup src/index.ts --format cjs,esm --dts --external react react-dom --watch","build":"tsup src/index.ts --format cjs,esm --dts --external react react-dom"},"_npmUser":{"name":"f4k3r22","email":"fredyriveraacevedo13@gmail.com"},"repository":{"url":"git+https://github.com/Aquiles-ai/Renderize.git","type":"git"},"_npmVersion":"11.13.0","description":"Drop-in sandbox component that executes AI-generated React code with zero configuration.","directories":{},"_nodeVersion":"22.15.0","dependencies":{"tsup":"^8.5.1","react":"^19.2.4","react-dom":"^19.2.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","typescript":"^5.9.3","@types/node":"^25.3.5","@types/react":"^19.2.14"},"_npmOperationalInternal":{"tmp":"tmp/renderize_2.5.0_1785872946931_0.6024801040164254","host":"s3://npm-registry-packages-npm-production"}},"2.6.0":{"name":"@aquiles-ai/renderize","version":"2.6.0","description":"Drop-in sandbox component that executes AI-generated React code with zero configuration.","main":"dist/index.cjs","module":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"build":"tsup src/index.ts --format cjs,esm --dts --external react react-dom","dev":"tsup src/index.ts --format cjs,esm --dts --external react react-dom --watch"},"repository":{"type":"git","url":"git+https://github.com/Aquiles-ai/Renderize.git"},"keywords":["react","sandbox","generative-ui","radix-ui","tailwind","iframe","ai"],"author":{"name":"Fredy Rivera / Aquiles-ai"},"license":"Apache-2.0","type":"module","bugs":{"url":"https://github.com/Aquiles-ai/Renderize/issues"},"homepage":"https://github.com/Aquiles-ai/Renderize#readme","devDependencies":{"@types/node":"^25.3.5","@types/react":"^19.2.14","tsx":"^4.21.0","typescript":"^5.9.3"},"dependencies":{"react":"^19.2.4","react-dom":"^19.2.4","tsup":"^8.5.1"},"gitHead":"10bcb53cd689858a3bb6303248dca09e9166f20f","_id":"@aquiles-ai/renderize@2.6.0","_nodeVersion":"22.15.0","_npmVersion":"11.13.0","dist":{"integrity":"sha512-uETboRPrl8SVVocvV3m1RlHSZwnJ960Cl3ISLr09LMW3P+irx3nmoVckcQ9xx/CGpUUvMyMkN/3jQrzmd82mfA==","shasum":"e76b49c81504e27680d389e0fe82704aaebbe44f","tarball":"https://registry.npmjs.org/@aquiles-ai/renderize/-/renderize-2.6.0.tgz","fileCount":7,"unpackedSize":75979,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIB2k9J1dCicgeu604O/Rcfm+0RSCwl/pwrkLHssZHOvJAiEAwqa/EyaWBOVF+RHxj8yVIchWuquEu25HRxCgEQhM49A="}]},"_npmUser":{"name":"f4k3r22","email":"fredyriveraacevedo13@gmail.com"},"directories":{},"maintainers":[{"name":"f4k3r22","email":"fredyriveraacevedo13@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/renderize_2.6.0_1785874223763_0.8554318379520078"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-06T04:26:32.622Z","modified":"2026-08-04T20:10:24.113Z","1.0.0":"2026-03-06T04:26:32.912Z","1.2.0":"2026-03-06T04:39:08.038Z","1.3.0":"2026-03-06T04:44:01.736Z","1.4.0":"2026-03-06T04:45:30.430Z","1.5.0":"2026-03-06T04:49:54.002Z","1.6.0":"2026-03-06T23:40:23.561Z","1.7.0":"2026-03-06T23:51:42.402Z","1.8.0":"2026-03-07T00:10:38.173Z","1.85.0":"2026-03-07T00:13:55.007Z","2.0.0":"2026-03-07T21:57:32.064Z","2.1.0":"2026-03-08T17:33:05.777Z","2.2.0":"2026-03-08T17:33:44.111Z","2.4.0":"2026-08-04T02:54:37.731Z","2.5.0":"2026-08-04T19:49:07.146Z","2.6.0":"2026-08-04T20:10:23.930Z"},"bugs":{"url":"https://github.com/Aquiles-ai/Renderize/issues"},"author":{"name":"Fredy Rivera / Aquiles-ai"},"license":"Apache-2.0","homepage":"https://github.com/Aquiles-ai/Renderize#readme","keywords":["react","sandbox","generative-ui","radix-ui","tailwind","iframe","ai"],"repository":{"type":"git","url":"git+https://github.com/Aquiles-ai/Renderize.git"},"description":"Drop-in sandbox component that executes AI-generated React code with zero configuration.","maintainers":[{"name":"f4k3r22","email":"fredyriveraacevedo13@gmail.com"}],"readme":"<div align=\"center\">\n\n# Renderize\n\n<img src=\"https://res.cloudinary.com/dmtomxyvm/image/upload/v1772919461/renderize_z4qlyx.png\" alt=\"Renderize\" width=\"800\"/>\n\nDrop-in sandbox component that executes AI-generated React code with zero configuration.\n\n```tsx\n<Renderize code={llmGeneratedCode} />\n```\n\n</div>\n\n## How it works\n\nRenderize injects LLM-generated code into a `srcdoc` iframe that comes pre-loaded with React 18, Tailwind CSS, Babel standalone, and a curated set of UI libraries. The iframe runs without `allow-same-origin`, so it can't access the parent page's cookies, storage, or DOM.\n\nA built-in fetch proxy bridges the null-origin restriction: the iframe posts fetch requests to the parent window, which executes them and sends the response back. This means AI-generated code can call external APIs without any CORS configuration.\n\n```\nParent window\n│\n├── <Renderize />                  mounts the iframe, owns the message bus\n│   ├── fetch proxy                relays fetch calls from iframe → real network\n│   └── error forwarding           surfaces runtime errors via onError()\n│\n└── srcdoc iframe (sandboxed)\n    ├── React 18 + ReactDOM\n    ├── Tailwind CSS (CDN)\n    ├── Babel standalone           transpiles JSX + modern JS at runtime\n    ├── dynamic importmap          resolved from the code's own imports\n    ├── radix barrel               compound components like <Dialog.Root>\n    └── App()                      your LLM-generated component\n```\n\n## Installation\n\n```bash\nnpm i @aquiles-ai/renderize\n# or\npnpm add @aquiles-ai/renderize\n```\n\n## Usage\n\n```tsx\nimport { Renderize } from \"@aquiles-ai/renderize\";\n\nexport default function Playground() {\n  const code = `\n    function App() {\n      const [count, setCount] = useState(0);\n      return (\n        <div className=\"flex flex-col items-center gap-4 p-8\">\n          <h1 className=\"text-2xl font-bold\">{count}</h1>\n          <button\n            onClick={() => setCount(c => c + 1)}\n            className=\"px-4 py-2 bg-blue-600 text-white rounded\"\n          >\n            Increment\n          </button>\n        </div>\n      );\n    }\n  `;\n\n  return <Renderize code={code} height={400} />;\n}\n```\n\n<div align=\"center\">\n\n## Example of integration\n\n<img src=\"https://res.cloudinary.com/dmtomxyvm/image/upload/v1772990544/Captura_de_pantalla_2157_ziyjnu.png\" alt=\"Example1\" width=\"600\"/>\n\n<br><br>\n\n<img src=\"https://res.cloudinary.com/dmtomxyvm/image/upload/v1772990545/Captura_de_pantalla_2158_b3e1up.png\" alt=\"Example2\" width=\"600\"/>\n\n<br><br>\n\n<img src=\"https://res.cloudinary.com/dmtomxyvm/image/upload/v1772990556/Captura_de_pantalla_2159_azlagy.png\" alt=\"Example3\" width=\"600\"/>\n\n</div>\n\n## Props\n\n| Prop | Type | Default | Description |\n|------|------|---------|-------------|\n| `code` | `string` | | React code generated by the LLM. Must define a function component named `App`. |\n| `height` | `string \\| number` | `\"100%\"` | Height of the sandbox iframe. |\n| `width` | `string \\| number` | `\"100%\"` | Width of the sandbox iframe. |\n| `className` | `string` | | Class name for the wrapper `<div>`. |\n| `style` | `React.CSSProperties` | | Inline styles for the wrapper `<div>`. |\n| `onError` | `(error: string) => void` | | Called when the sandbox encounters a runtime error. |\n\n## Available libraries\n\nThe model writes plain imports — Renderize resolves them against a catalog and\nbuilds the iframe's importmap dynamically. The catalog is exposed as\n`Renderize.CATALOG` (and each entry is machine-readable), so you can feed it to\nyour LLM's system prompt.\n\n> **Agent hint:** stop models from guessing packages. Print `Renderize.CATALOG`\n> or the README's table into the prompt, and tell them: \"you may import any of\n> the following; importing anything else will fail loudly with the available\n> list, so correct your next attempt.\"\n\n| Package | Description | Example |\n|---------|-------------|---------|\n| `react` `react-dom` | Already loaded — hooks in scope | no import needed |\n| `radix` | All Radix primitives in one namespace (`Dialog`, `Select`, `Tabs`, …) — compound components | `import { Dialog } from \"radix\"; <Dialog.Root>…` |\n| `@radix-ui/react-*` | Full Radix suite (direct imports also work) | `import { Root } from \"@radix-ui/react-dialog\"` |\n| `lucide-react` | Icons | `import { Plus } from \"lucide-react\"` |\n| `clsx` | Class name utility | `import { clsx } from \"clsx\"` |\n| `tailwind-merge` | Tailwind class merging | `import { twMerge } from \"tailwind-merge\"` |\n| `class-variance-authority` | Variant-based styling | `import { cva } from \"class-variance-authority\"` |\n| `recharts` | Charts | `import { LineChart, Line } from \"recharts\"` |\n| `framer-motion` | Animations | `import { motion } from \"framer-motion\"` |\n| `three` | 3D rendering | `import * as THREE from \"three\"` |\n| `zustand` | State management | `import { create } from \"zustand\"` |\n| `date-fns` | Date utilities | `import { format } from \"date-fns\"` |\n| `axios` | HTTP client | `import axios from \"axios\"` |\n| `react-hook-form` | Forms | `import { useForm } from \"react-hook-form\"` |\n| `zod` | Schema validation | `import { z } from \"zod\"` |\n| `@tanstack/react-query` | Data fetching | `import { useQuery } from \"@tanstack/react-query\"` |\n| `sonner` | Toasts | `import { toast } from \"sonner\"` |\n\nImports are **resolved, not stripped**: each catalog package is wired into the\nimportmap as `https://esm.sh/<pkg>…?external=react,react-dom`, which guarantees a\nsingle React instance across all packages (the classic \"invalid hook call\"\ndouble-React trap is handled for you). Subpath resolution is included too\n(`three/examples/jsm/…`), so deep imports also work.\n\n**Fail loud, never silent.** If the code imports a package outside the catalog,\nthe sandbox shows a clear error listing the offending package and the available\nones, and `onError` fires with the same message — so the error can be fed back\nto the model for self-correction on the next attempt.\n\n## LLM system prompt\n\nInstead of assembling prompt rules by hand, feed the model the exported\n`SYSTEM_PROMPT` — it encodes every sandbox rule (catalog packages, in-scope\nhooks, no TypeScript, only-import-what-you-use, fail-loud behavior) and is\ngenerated from the catalog, so it never drifts from what the sandbox supports.\n\n```tsx\nimport { Renderize, SYSTEM_PROMPT } from \"@aquiles-ai/renderize\";\n\nconst messages = [\n  { role: \"system\", content: SYSTEM_PROMPT },\n  { role: \"user\", content: \"A bar chart of quarterly sales\" },\n];\n```\n\n### Radix barrel\n\n`import { Dialog } from \"radix\"` exposes the React built-in *in scope*, no\npackage name memorization needed. Even without an import, using a Radix\ncomponent name like `<Dialog.Root>` is detected and resolved automatically.\n\n```tsx\nimport { Dialog } from \"radix\";\n\nfunction App() {\n  const [open, setOpen] = React.useState(false);\n  return (\n    <Dialog.Root open={open} onOpenChange={setOpen}>\n      <Dialog.Trigger className=\"px-4 py-2 rounded bg-blue-600 text-white\">\n        Open\n      </Dialog.Trigger>\n      <Dialog.Content className=\"fixed inset-0 m-auto h-fit w-96 rounded-lg bg-white p-6\">\n        <Dialog.Title>Hello</Dialog.Title>\n        <Dialog.Description>I work inside the sandbox.</Dialog.Description>\n        <Dialog.Close className=\"mt-4 text-sm text-gray-500\">Close</Dialog.Close>\n      </Dialog.Content>\n    </Dialog.Root>\n  );\n}\n```\n\nReact hooks (`useState`, `useEffect`, `useRef`, `useCallback`, `useMemo`,\n`useReducer`, `useContext`, `createContext`, `forwardRef`, `Fragment`) and\n`React` itself are already in module scope. The LLM does not need to import\nthem.\n\n## Requirements for LLM-generated code\n\nThe component name must be `App`. The template calls `React.createElement(App)` directly, so:\n\n```tsx\n// Correct\nfunction App() { ... }\n\n// Also correct (sanitizeCode will fix these automatically)\nexport default function App() { ... }\nexport default function Dashboard() { ... }\nfunction MyComponent() { ... }  // if it's the only PascalCase component\n```\n\n## Sandbox security\n\nThe iframe uses this `sandbox` attribute:\n\n```\nallow-scripts allow-forms allow-modals allow-popups allow-downloads\n```\n\n`allow-same-origin` is intentionally omitted. This means:\n\n- No access to `localStorage` or `sessionStorage`\n- No access to `document.cookie`\n- No access to `indexedDB`\n- No access to the parent page's DOM\n\nThe fetch proxy is the only bridge between the iframe and the outside world.\n\n\n## License\n\nApache 2.0","readmeFilename":"README.md"}