{"_id":"@json-render/react","_rev":"33-1576c66d9888ef722bc259df51d2d33b","name":"@json-render/react","dist-tags":{"latest":"0.21.0"},"versions":{"0.0.1":{"name":"@json-render/react","version":"0.0.1","keywords":["json","ui","react","ai","generative-ui","llm","renderer","streaming","components"],"license":"Apache-2.0","_id":"@json-render/react@0.0.1","maintainers":[{"name":"ctate","email":"chris@studiotate.com"}],"homepage":"https://github.com/vercel-labs/json-render#readme","bugs":{"url":"https://github.com/vercel-labs/json-render/issues"},"dist":{"shasum":"55b5f49ee69fb829cbfc144d7b300f28609ec1f8","tarball":"https://registry.npmjs.org/@json-render/react/-/react-0.0.1.tgz","fileCount":8,"integrity":"sha512-+yy3bM8wb3OuN7tbkLKFlJfeVMLOdgCopgUvhiFOx2pln4vzZoOQ4a8yJX0ip9E8zxDKmuyqjc1Hq/zrf1WUYg==","signatures":[{"sig":"MEYCIQCCL9jsnnjrGPxMJrpaQWAn9uqRLs0V7LBnEHwghK5oDwIhAPnpOdiC2vtjpeVakcj1L52WmRCGiy9cCKexpCmtmteu","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":162482},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"f4654c9782aca572b1395ecbd2e0fd2d173e66ba","scripts":{"dev":"tsup --watch","build":"tsup","typecheck":"tsc --noEmit"},"_npmUser":{"name":"ctate","email":"chris@studiotate.com"},"repository":{"url":"git+https://github.com/vercel-labs/json-render.git","type":"git","directory":"packages/react"},"_npmVersion":"10.9.0","description":"React renderer for @json-render/core. JSON becomes React components.","directories":{},"_nodeVersion":"22.12.0","dependencies":{"@json-render/core":"workspace:*"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.2","typescript":"^5.4.5","@types/react":"19.2.3","@repo/typescript-config":"workspace:*"},"peerDependencies":{"react":"^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react_0.0.1_1768431314033_0.04838934079230439","host":"s3://npm-registry-packages-npm-production"}},"0.1.0":{"name":"@json-render/react","version":"0.1.0","keywords":["json","ui","react","ai","generative-ui","llm","renderer","streaming","components"],"license":"Apache-2.0","_id":"@json-render/react@0.1.0","maintainers":[{"name":"ctate","email":"chris@studiotate.com"}],"homepage":"https://github.com/vercel-labs/json-render#readme","bugs":{"url":"https://github.com/vercel-labs/json-render/issues"},"dist":{"shasum":"e6e0a4b89190723eefbf488437f0727e6d02315f","tarball":"https://registry.npmjs.org/@json-render/react/-/react-0.1.0.tgz","fileCount":8,"integrity":"sha512-jVAIMILLnhuKWziPU/d4J3fmmh0PUcUJN2Vwao8Lt0ow5HvDi9y8a9/P4eOprJ9wD72KDLyH7MY/m6NDH3N6yQ==","signatures":[{"sig":"MEUCIGm6+47deVG6D2XcGVawkL6YmDdwGQAAHbvf4rckGDpSAiEA0ElV4Mwyctk/QpUC06+hsBzwEgbETESzv1yeA5QCh3o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":162528},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"2f9173e3dedb4101fd194e5597136414303a0b9b","scripts":{"dev":"tsup --watch","build":"tsup","typecheck":"tsc --noEmit"},"_npmUser":{"name":"ctate","email":"chris@studiotate.com"},"repository":{"url":"git+https://github.com/vercel-labs/json-render.git","type":"git","directory":"packages/react"},"_npmVersion":"10.9.0","description":"React renderer for @json-render/core. JSON becomes React components.","directories":{},"_nodeVersion":"22.12.0","dependencies":{"@json-render/core":"^0.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.2","typescript":"^5.4.5","@types/react":"19.2.3","@repo/typescript-config":"workspace:*"},"peerDependencies":{"react":"^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react_0.1.0_1768432415175_0.8196000344828689","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@json-render/react","version":"0.2.0","keywords":["json","ui","react","ai","generative-ui","llm","renderer","streaming","components"],"license":"Apache-2.0","_id":"@json-render/react@0.2.0","maintainers":[{"name":"ctate","email":"chris@studiotate.com"}],"homepage":"https://github.com/vercel-labs/json-render#readme","bugs":{"url":"https://github.com/vercel-labs/json-render/issues"},"dist":{"shasum":"dbb512cb048b3ca5e55899b88deaf20c00fa714a","tarball":"https://registry.npmjs.org/@json-render/react/-/react-0.2.0.tgz","fileCount":9,"integrity":"sha512-4tdoMfc3t0Je+DMNsyJguz7aJkqfLhEY8/mvBchL9kweRfJHAZocT7doyqRCGAnCBtIXCKQ8YAbm0sb0Qr9OFw==","signatures":[{"sig":"MEUCIAquNfBuoSECp1lAJxeHw0QhuGc4GbaCBD7rtut5/5b8AiEApCFNcd9yuZenYigV1gkMQ6nJpORR/EWHfb4ScHHac/k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":174921},"main":"./dist/index.js","_from":"file:json-render-react-0.2.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"scripts":{"dev":"tsup --watch","build":"tsup","typecheck":"tsc --noEmit"},"_npmUser":{"name":"ctate","email":"chris@studiotate.com"},"_resolved":"/private/var/folders/bw/l_mkbwg9061dn0frt5258s180000gn/T/569c0a0e928915083e8b07e4960ccf5b/json-render-react-0.2.0.tgz","_integrity":"sha512-4tdoMfc3t0Je+DMNsyJguz7aJkqfLhEY8/mvBchL9kweRfJHAZocT7doyqRCGAnCBtIXCKQ8YAbm0sb0Qr9OFw==","repository":{"url":"git+https://github.com/vercel-labs/json-render.git","type":"git","directory":"packages/react"},"_npmVersion":"10.9.0","description":"React renderer for @json-render/core. JSON becomes React components.","directories":{},"_nodeVersion":"22.12.0","dependencies":{"@json-render/core":"0.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.2","typescript":"^5.4.5","@types/react":"19.2.3","@repo/typescript-config":"0.0.0"},"peerDependencies":{"react":"^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react_0.2.0_1768437886179_0.8716742883024418","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@json-render/react","version":"0.4.0","keywords":["json","ui","react","ai","generative-ui","llm","renderer","streaming","components"],"license":"Apache-2.0","_id":"@json-render/react@0.4.0","maintainers":[{"name":"ctate","email":"chris@studiotate.com"}],"homepage":"https://github.com/vercel-labs/json-render#readme","bugs":{"url":"https://github.com/vercel-labs/json-render/issues"},"dist":{"shasum":"c0cd2a19dfe9abf25aca7db28a2f6b360a52c6b4","tarball":"https://registry.npmjs.org/@json-render/react/-/react-0.4.0.tgz","fileCount":17,"integrity":"sha512-OAXdWdOrAXHEFzpEF7xV+84D00JEmLMKlt5u0wc+C/P+q4q6TnpAWx2j28PBpDB2mpidkW9VnTUM+SCH9J8Lrw==","signatures":[{"sig":"MEQCIA5Y4AY91hBlf0l3T6oY9oBxBB6oHYj2phEuh6bjiP34AiBGB5O1tUYWokAaEdwWhwfwe3vuMRSAB3BEMOB8SmC9LQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":227174},"main":"./dist/index.js","_from":"file:json-render-react-0.4.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./schema":{"types":"./dist/schema.d.ts","import":"./dist/schema.mjs","require":"./dist/schema.js"}},"scripts":{"dev":"tsup --watch","build":"tsup","typecheck":"tsc --noEmit"},"_npmUser":{"name":"ctate","email":"chris@studiotate.com"},"_resolved":"/private/var/folders/bw/l_mkbwg9061dn0frt5258s180000gn/T/657a20c7dab5402e29a471bf83e797f4/json-render-react-0.4.0.tgz","_integrity":"sha512-OAXdWdOrAXHEFzpEF7xV+84D00JEmLMKlt5u0wc+C/P+q4q6TnpAWx2j28PBpDB2mpidkW9VnTUM+SCH9J8Lrw==","repository":{"url":"git+https://github.com/vercel-labs/json-render.git","type":"git","directory":"packages/react"},"_npmVersion":"10.9.0","description":"React renderer for @json-render/core. JSON becomes React components.","directories":{},"_nodeVersion":"22.12.0","dependencies":{"@json-render/core":"0.4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.2","typescript":"^5.4.5","@types/react":"19.2.3","@repo/typescript-config":"0.0.0"},"peerDependencies":{"react":"^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react_0.4.0_1770286698070_0.48085441088079484","host":"s3://npm-registry-packages-npm-production"}},"0.4.2":{"name":"@json-render/react","version":"0.4.2","keywords":["json","ui","react","ai","generative-ui","llm","renderer","streaming","components"],"license":"Apache-2.0","_id":"@json-render/react@0.4.2","maintainers":[{"name":"matt.straka","email":"matt.j.straka@gmail.com"},{"name":"vercel-release-bot","email":"infra+release@vercel.com"},{"name":"ctate","email":"chris@studiotate.com"}],"homepage":"https://github.com/vercel-labs/json-render#readme","bugs":{"url":"https://github.com/vercel-labs/json-render/issues"},"dist":{"shasum":"50e123fbee676db7e967bc080946c85edb17448e","tarball":"https://registry.npmjs.org/@json-render/react/-/react-0.4.2.tgz","fileCount":17,"integrity":"sha512-KFCXED8saQplRZXEJaq2hJ2m7jRd3BfzUQLVtcI782MLVj2FUGFadr0WBD/dNXBH/YUeq0IxPcfIQ/zAj2NoNg==","signatures":[{"sig":"MEYCIQDWvqjYi3titO2Pgs7Qye+Dlq6RknIHgAIUHpV4uMqlhAIhAN+kai8Q+58KXB0Uq1/J9veyFTS05ItYTs65sB5Yjyf1","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":242945},"main":"./dist/index.js","_from":"file:json-render-react-0.4.2.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./schema":{"types":"./dist/schema.d.ts","import":"./dist/schema.mjs","require":"./dist/schema.js"}},"scripts":{"dev":"tsup --watch","build":"tsup","typecheck":"tsc --noEmit"},"_npmUser":{"name":"vercel-release-bot","email":"infra+release@vercel.com"},"_resolved":"/tmp/4cee68217f4144f4a6b79b7ae4e262a6/json-render-react-0.4.2.tgz","_integrity":"sha512-KFCXED8saQplRZXEJaq2hJ2m7jRd3BfzUQLVtcI782MLVj2FUGFadr0WBD/dNXBH/YUeq0IxPcfIQ/zAj2NoNg==","repository":{"url":"git+https://github.com/vercel-labs/json-render.git","type":"git","directory":"packages/react"},"_npmVersion":"10.8.2","description":"React renderer for @json-render/core. JSON becomes React components.","directories":{},"_nodeVersion":"20.20.0","dependencies":{"@json-render/core":"0.4.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.2","typescript":"^5.4.5","@types/react":"19.2.3","@repo/typescript-config":"0.0.0"},"peerDependencies":{"react":"^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react_0.4.2_1770410070206_0.30186997902215684","host":"s3://npm-registry-packages-npm-production"}},"0.4.3":{"name":"@json-render/react","version":"0.4.3","keywords":["json","ui","react","ai","generative-ui","llm","renderer","streaming","components"],"license":"Apache-2.0","_id":"@json-render/react@0.4.3","maintainers":[{"name":"matt.straka","email":"matt.j.straka@gmail.com"},{"name":"vercel-release-bot","email":"infra+release@vercel.com"},{"name":"ctate","email":"chris@studiotate.com"}],"homepage":"https://github.com/vercel-labs/json-render#readme","bugs":{"url":"https://github.com/vercel-labs/json-render/issues"},"dist":{"shasum":"e4a994d849d1d2a8fef496376aad5ccd9155703c","tarball":"https://registry.npmjs.org/@json-render/react/-/react-0.4.3.tgz","fileCount":17,"integrity":"sha512-YeSYtepsX8/ATwuxRBLx0aA+HazxhSXbPSvg4p132Soibb7xeRoOIq1NiD8AbtTEjiow2OYH8VXa90s7bRcKpA==","signatures":[{"sig":"MEUCIQCFAO0TDpdDxVr8CTlz/wKsLqw0h7tRK2AkY6iyZd64wgIgZcYP8rOCGrXTzYs3NGXTWNrEBIe2ndUeQ49oZJnjrEc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":242945},"main":"./dist/index.js","_from":"file:json-render-react-0.4.3.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./schema":{"types":"./dist/schema.d.ts","import":"./dist/schema.mjs","require":"./dist/schema.js"}},"scripts":{"dev":"tsup --watch","build":"tsup","typecheck":"tsc --noEmit"},"_npmUser":{"name":"vercel-release-bot","email":"infra+release@vercel.com"},"_resolved":"/tmp/b6e3961b52c25c0a10d79c99b8ac5e23/json-render-react-0.4.3.tgz","_integrity":"sha512-YeSYtepsX8/ATwuxRBLx0aA+HazxhSXbPSvg4p132Soibb7xeRoOIq1NiD8AbtTEjiow2OYH8VXa90s7bRcKpA==","repository":{"url":"git+https://github.com/vercel-labs/json-render.git","type":"git","directory":"packages/react"},"_npmVersion":"10.8.2","description":"React renderer for @json-render/core. JSON becomes React components.","directories":{},"_nodeVersion":"20.20.0","dependencies":{"@json-render/core":"0.4.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.2","typescript":"^5.4.5","@types/react":"19.2.3","@repo/typescript-config":"0.0.0"},"peerDependencies":{"react":"^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react_0.4.3_1770422615495_0.22137301096974538","host":"s3://npm-registry-packages-npm-production"}},"0.4.4":{"name":"@json-render/react","version":"0.4.4","keywords":["json","ui","react","ai","generative-ui","llm","renderer","streaming","components"],"license":"Apache-2.0","_id":"@json-render/react@0.4.4","maintainers":[{"name":"matt.straka","email":"matt.j.straka@gmail.com"},{"name":"vercel-release-bot","email":"infra+release@vercel.com"},{"name":"ctate","email":"chris@studiotate.com"}],"homepage":"https://github.com/vercel-labs/json-render#readme","bugs":{"url":"https://github.com/vercel-labs/json-render/issues"},"dist":{"shasum":"1f261ba1d2f05782653285a364264b200be57e75","tarball":"https://registry.npmjs.org/@json-render/react/-/react-0.4.4.tgz","fileCount":17,"integrity":"sha512-nDAxzvQMbCeb5KHIbcycFTRXcetkmdFSiWp21nj/pVLkbh/Dxx6RJr6TYk8kpQndKza9t/BN/vTF01iuMRZvZg==","signatures":[{"sig":"MEQCIEgrVQDl+xSHkLSHwhPIw94kRGNVvU0PpbG0HI72anwvAiBwQo5ZBBt4hAZuOGHuLTZ90+1xvqJUnevcxFLKrKA7/A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":247759},"main":"./dist/index.js","_from":"file:json-render-react-0.4.4.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./schema":{"types":"./dist/schema.d.ts","import":"./dist/schema.mjs","require":"./dist/schema.js"}},"scripts":{"dev":"tsup --watch","build":"tsup","typecheck":"tsc --noEmit"},"_npmUser":{"name":"vercel-release-bot","email":"infra+release@vercel.com"},"_resolved":"/tmp/4706b9dfb40dd2879fb72e40b2dea91e/json-render-react-0.4.4.tgz","_integrity":"sha512-nDAxzvQMbCeb5KHIbcycFTRXcetkmdFSiWp21nj/pVLkbh/Dxx6RJr6TYk8kpQndKza9t/BN/vTF01iuMRZvZg==","repository":{"url":"git+https://github.com/vercel-labs/json-render.git","type":"git","directory":"packages/react"},"_npmVersion":"10.8.2","description":"React renderer for @json-render/core. JSON becomes React components.","directories":{},"_nodeVersion":"20.20.0","dependencies":{"@json-render/core":"0.4.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.2","typescript":"^5.4.5","@types/react":"19.2.3","@repo/typescript-config":"0.0.0"},"peerDependencies":{"react":"^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react_0.4.4_1770489134702_0.6072495410716039","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@json-render/react","version":"0.5.0","keywords":["json","ui","react","ai","generative-ui","llm","renderer","streaming","components"],"license":"Apache-2.0","_id":"@json-render/react@0.5.0","maintainers":[{"name":"matt.straka","email":"matt.j.straka@gmail.com"},{"name":"vercel-release-bot","email":"infra+release@vercel.com"},{"name":"ctate","email":"chris@studiotate.com"}],"homepage":"https://github.com/vercel-labs/json-render#readme","bugs":{"url":"https://github.com/vercel-labs/json-render/issues"},"dist":{"shasum":"4ec1b547ab9373f72ad441625e89c583a5635caa","tarball":"https://registry.npmjs.org/@json-render/react/-/react-0.5.0.tgz","fileCount":17,"integrity":"sha512-zV8xZQXHJ1hD1s40KURG+C8zMvp2zw+MtIWsVmB7KhmgJISq0KgD6r6zQkH2vT1MIK44giEW3yG5W0ksuuW4uA==","signatures":[{"sig":"MEUCIAy5ttiD1GpJGwFJ3phfX5AwDDNK7xNJkfflXisFdam4AiEAxSSOdwlkMwHACQCagBwfJcGE0n+g47F573iEejDff+g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":329623},"main":"./dist/index.js","_from":"file:json-render-react-0.5.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./schema":{"types":"./dist/schema.d.ts","import":"./dist/schema.mjs","require":"./dist/schema.js"}},"scripts":{"dev":"tsup --watch","build":"tsup","typecheck":"tsc --noEmit"},"_npmUser":{"name":"vercel-release-bot","email":"infra+release@vercel.com"},"_resolved":"/tmp/70bcfde7adda8fc166048a2e108a2759/json-render-react-0.5.0.tgz","_integrity":"sha512-zV8xZQXHJ1hD1s40KURG+C8zMvp2zw+MtIWsVmB7KhmgJISq0KgD6r6zQkH2vT1MIK44giEW3yG5W0ksuuW4uA==","repository":{"url":"git+https://github.com/vercel-labs/json-render.git","type":"git","directory":"packages/react"},"_npmVersion":"10.8.2","description":"React renderer for @json-render/core. JSON becomes React components.","directories":{},"_nodeVersion":"20.20.0","dependencies":{"@json-render/core":"0.5.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.2","typescript":"^5.4.5","@types/react":"19.2.3","@repo/typescript-config":"0.0.0"},"peerDependencies":{"react":"^19.2.3"},"_npmOperationalInternal":{"tmp":"tmp/react_0.5.0_1770623693693_0.38057317788494593","host":"s3://npm-registry-packages-npm-production"}},"0.5.1":{"name":"@json-render/react","version":"0.5.1","keywords":["json","ui","react","ai","generative-ui","llm","renderer","streaming","components"],"license":"Apache-2.0","_id":"@json-render/react@0.5.1","maintainers":[{"name":"matt.straka","email":"matt.j.straka@gmail.com"},{"name":"vercel-release-bot","email":"infra+release@vercel.com"},{"name":"ctate","email":"chris@studiotate.com"}],"homepage":"https://github.com/vercel-labs/json-render#readme","bugs":{"url":"https://github.com/vercel-labs/json-render/issues"},"dist":{"shasum":"01b9e0d5f55868038ed40312c3198097a17baba0","tarball":"https://registry.npmjs.org/@json-render/react/-/react-0.5.1.tgz","fileCount":17,"integrity":"sha512-Y1ECWGfy+vQEpvt5AgHqg+sE2ulbRsHICUxpL/6cNdb/rGEaIv37YxjajupvZyLHcQlzL7i4jkV6twTX0TCogg==","signatures":[{"sig":"MEUCIQCSSaPVcwOaCsH3fOzJV29djs07MCMWq9sVKURYaG0u4gIgY9Qo9oYEQdklQeJ0RoTfVXupbHcvwji7WbebGyTa4yI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":334440},"main":"./dist/index.js","_from":"file:json-render-react-0.5.1.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./schema":{"types":"./dist/schema.d.ts","import":"./dist/schema.mjs","require":"./dist/schema.js"}},"scripts":{"dev":"tsup --watch","build":"tsup","typecheck":"tsc --noEmit"},"_npmUser":{"name":"vercel-release-bot","email":"infra+release@vercel.com"},"_resolved":"/tmp/b8121665e4de51640a4218fbe504d41e/json-render-react-0.5.1.tgz","_integrity":"sha512-Y1ECWGfy+vQEpvt5AgHqg+sE2ulbRsHICUxpL/6cNdb/rGEaIv37YxjajupvZyLHcQlzL7i4jkV6twTX0TCogg==","repository":{"url":"git+https://github.com/vercel-labs/json-render.git","type":"git","directory":"packages/react"},"_npmVersion":"10.8.2","description":"React renderer for @json-render/core. JSON becomes React components.","directories":{},"_nodeVersion":"20.20.0","dependencies":{"@json-render/core":"0.5.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.2","typescript":"^5.4.5","@types/react":"19.2.3","@repo/typescript-config":"0.0.0"},"peerDependencies":{"react":"^19.2.3"},"_npmOperationalInternal":{"tmp":"tmp/react_0.5.1_1770642647485_0.05731331666969153","host":"s3://npm-registry-packages-npm-production"}},"0.5.2":{"name":"@json-render/react","version":"0.5.2","keywords":["json","ui","react","ai","generative-ui","llm","renderer","streaming","components"],"license":"Apache-2.0","_id":"@json-render/react@0.5.2","maintainers":[{"name":"matt.straka","email":"matt.j.straka@gmail.com"},{"name":"vercel-release-bot","email":"infra+release@vercel.com"},{"name":"ctate","email":"chris@studiotate.com"}],"homepage":"https://github.com/vercel-labs/json-render#readme","bugs":{"url":"https://github.com/vercel-labs/json-render/issues"},"dist":{"shasum":"570b68adf237017a4b0f2bee65f5c72ad3cdf208","tarball":"https://registry.npmjs.org/@json-render/react/-/react-0.5.2.tgz","fileCount":17,"integrity":"sha512-VO6OujdzaXYfVF5jtpW1BQY9p6xVcL1Fbl3LrfU4LjbdEpHCVJqFoRRiJLg10PU8teSs/ndBy0VS3WznCZoZuw==","signatures":[{"sig":"MEUCICbVGw1oGAw3oJXm74nR9ZKXTKxhdDEsd4Yn/Xl5JWoiAiEA2UyAC+j+XtNwF5Dk0mljqcyn7qP18iut/mW6LXTmvrY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":336975},"main":"./dist/index.js","_from":"file:json-render-react-0.5.2.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./schema":{"types":"./dist/schema.d.ts","import":"./dist/schema.mjs","require":"./dist/schema.js"}},"scripts":{"dev":"tsup --watch","build":"tsup","typecheck":"tsc --noEmit"},"_npmUser":{"name":"vercel-release-bot","email":"infra+release@vercel.com"},"_resolved":"/tmp/57f2da2bfb48c296313c6df2fefc9e94/json-render-react-0.5.2.tgz","_integrity":"sha512-VO6OujdzaXYfVF5jtpW1BQY9p6xVcL1Fbl3LrfU4LjbdEpHCVJqFoRRiJLg10PU8teSs/ndBy0VS3WznCZoZuw==","repository":{"url":"git+https://github.com/vercel-labs/json-render.git","type":"git","directory":"packages/react"},"_npmVersion":"10.8.2","description":"React renderer for @json-render/core. JSON becomes React components.","directories":{},"_nodeVersion":"20.20.0","dependencies":{"@json-render/core":"0.5.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.2","typescript":"^5.4.5","@types/react":"19.2.3","@repo/typescript-config":"0.0.0"},"peerDependencies":{"react":"^19.2.3"},"_npmOperationalInternal":{"tmp":"tmp/react_0.5.2_1770648312263_0.7914146954535946","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"@json-render/react","version":"0.6.0","keywords":["json","ui","react","ai","generative-ui","llm","renderer","streaming","components"],"license":"Apache-2.0","_id":"@json-render/react@0.6.0","maintainers":[{"name":"matt.straka","email":"matt.j.straka@gmail.com"},{"name":"vercel-release-bot","email":"infra+release@vercel.com"},{"name":"ctate","email":"chris@studiotate.com"}],"homepage":"https://github.com/vercel-labs/json-render#readme","bugs":{"url":"https://github.com/vercel-labs/json-render/issues"},"dist":{"shasum":"467a5f40c9ec49587b9a302e5645219eff10396d","tarball":"https://registry.npmjs.org/@json-render/react/-/react-0.6.0.tgz","fileCount":17,"integrity":"sha512-lStrFqpI14MVKLxa75cUK23o/TdDin6TKGCXebqYOH3UEUZIdPQR3PQ+CPO54yO2sIW+sVwrc6Q4BUsTeKa4cQ==","signatures":[{"sig":"MEUCIQDNgKvb+/aZ8euB9E0x77py/1dw/cdwnPHABVTjFVqxXAIgWMqCaPgxLmu5z0fSavZ/qvvQZiehmElEBD6kVMz5jzc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":411073},"main":"./dist/index.js","_from":"file:json-render-react-0.6.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./schema":{"types":"./dist/schema.d.ts","import":"./dist/schema.mjs","require":"./dist/schema.js"}},"scripts":{"dev":"tsup --watch","build":"tsup","typecheck":"tsc --noEmit"},"_npmUser":{"name":"vercel-release-bot","email":"infra+release@vercel.com"},"_resolved":"/tmp/c489105c0c0a91c1a9588c9a849e2ac8/json-render-react-0.6.0.tgz","_integrity":"sha512-lStrFqpI14MVKLxa75cUK23o/TdDin6TKGCXebqYOH3UEUZIdPQR3PQ+CPO54yO2sIW+sVwrc6Q4BUsTeKa4cQ==","repository":{"url":"git+https://github.com/vercel-labs/json-render.git","type":"git","directory":"packages/react"},"_npmVersion":"10.8.2","description":"React renderer for @json-render/core. JSON becomes React components.","directories":{},"_nodeVersion":"20.20.0","dependencies":{"@json-render/core":"0.6.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.2","typescript":"^5.4.5","@types/react":"19.2.3","@repo/typescript-config":"0.0.0"},"peerDependencies":{"react":"^19.2.3"},"_npmOperationalInternal":{"tmp":"tmp/react_0.6.0_1771027512323_0.8732705087962589","host":"s3://npm-registry-packages-npm-production"}},"0.6.1":{"name":"@json-render/react","version":"0.6.1","keywords":["json","ui","react","ai","generative-ui","llm","renderer","streaming","components"],"license":"Apache-2.0","_id":"@json-render/react@0.6.1","maintainers":[{"name":"matt.straka","email":"matt.j.straka@gmail.com"},{"name":"vercel-release-bot","email":"infra+release@vercel.com"},{"name":"ctate","email":"chris@studiotate.com"}],"homepage":"https://github.com/vercel-labs/json-render#readme","bugs":{"url":"https://github.com/vercel-labs/json-render/issues"},"dist":{"shasum":"0daf09b0478a0e68f0060d51a1f6c085773eb905","tarball":"https://registry.npmjs.org/@json-render/react/-/react-0.6.1.tgz","fileCount":17,"integrity":"sha512-Lwkb4ijTnKGD+dNPNzAIfCyV0HKqUe98kaUVrEVSja8hKElRl/jkQdCK9/GZMaziaNRNgxuLAhk48s/CTXs8tA==","signatures":[{"sig":"MEYCIQCted+zbxMcd2Gq7oKwyvp++fw4uQt2bE6O47mXtROHMQIhAJw/eM5lmjcJg5RVl8Oh9VtBZ14Aw0BVuEemjipGHKBH","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":413912},"main":"./dist/index.js","_from":"file:json-render-react-0.6.1.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./schema":{"types":"./dist/schema.d.ts","import":"./dist/schema.mjs","require":"./dist/schema.js"}},"scripts":{"dev":"tsup --watch","build":"tsup","typecheck":"tsc --noEmit"},"_npmUser":{"name":"vercel-release-bot","email":"infra+release@vercel.com"},"_resolved":"/tmp/69b599ca0c600057d85558173c2e967a/json-render-react-0.6.1.tgz","_integrity":"sha512-Lwkb4ijTnKGD+dNPNzAIfCyV0HKqUe98kaUVrEVSja8hKElRl/jkQdCK9/GZMaziaNRNgxuLAhk48s/CTXs8tA==","repository":{"url":"git+https://github.com/vercel-labs/json-render.git","type":"git","directory":"packages/react"},"_npmVersion":"10.8.2","description":"React renderer for @json-render/core. JSON becomes React components.","directories":{},"_nodeVersion":"20.20.0","dependencies":{"@json-render/core":"0.6.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.2","typescript":"^5.4.5","@types/react":"19.2.3","@repo/typescript-config":"0.0.0"},"peerDependencies":{"react":"^19.2.3"},"_npmOperationalInternal":{"tmp":"tmp/react_0.6.1_1771168110118_0.1043802237260083","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"@json-render/react","version":"0.7.0","keywords":["json","ui","react","ai","generative-ui","llm","renderer","streaming","components"],"license":"Apache-2.0","_id":"@json-render/react@0.7.0","maintainers":[{"name":"matt.straka","email":"matt.j.straka@gmail.com"},{"name":"vercel-release-bot","email":"infra+release@vercel.com"},{"name":"ctate","email":"chris@studiotate.com"}],"homepage":"https://github.com/vercel-labs/json-render#readme","bugs":{"url":"https://github.com/vercel-labs/json-render/issues"},"dist":{"shasum":"757d63038477d47cd65f2255840bbb91142e561c","tarball":"https://registry.npmjs.org/@json-render/react/-/react-0.7.0.tgz","fileCount":17,"integrity":"sha512-kmYQg60LGjz6+T074LyN8/2XHG42KTzZTVz4E8g5qojZg+axJ1Yv9qLCmA4mnWlBHu3rLCbPB1V5a8GvRTylNg==","signatures":[{"sig":"MEQCIEHYQCqsGKVshd4dFSbX49etbokmt0vE2IKIreg6/IzXAiAO4iTEwdph6BZZuQTO87uvvvz/wp4LXbirSyOjyR98MQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":426414},"main":"./dist/index.js","_from":"file:json-render-react-0.7.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./schema":{"types":"./dist/schema.d.ts","import":"./dist/schema.mjs","require":"./dist/schema.js"}},"scripts":{"dev":"tsup --watch","build":"tsup","typecheck":"tsc --noEmit"},"_npmUser":{"name":"vercel-release-bot","email":"infra+release@vercel.com"},"_resolved":"/tmp/d89807b17f60c2a44ea6dafd037755a5/json-render-react-0.7.0.tgz","_integrity":"sha512-kmYQg60LGjz6+T074LyN8/2XHG42KTzZTVz4E8g5qojZg+axJ1Yv9qLCmA4mnWlBHu3rLCbPB1V5a8GvRTylNg==","repository":{"url":"git+https://github.com/vercel-labs/json-render.git","type":"git","directory":"packages/react"},"_npmVersion":"10.8.2","description":"React renderer for @json-render/core. JSON becomes React components.","directories":{},"_nodeVersion":"20.20.0","dependencies":{"@json-render/core":"0.7.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.2","typescript":"^5.4.5","@types/react":"19.2.3","@repo/typescript-config":"0.0.0"},"peerDependencies":{"react":"^19.2.3"},"_npmOperationalInternal":{"tmp":"tmp/react_0.7.0_1771314094212_0.026902450169629333","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"@json-render/react","version":"0.8.0","keywords":["json","ui","react","ai","generative-ui","llm","renderer","streaming","components"],"license":"Apache-2.0","_id":"@json-render/react@0.8.0","maintainers":[{"name":"matt.straka","email":"matt.j.straka@gmail.com"},{"name":"vercel-release-bot","email":"infra+release@vercel.com"},{"name":"ctate","email":"chris@studiotate.com"}],"homepage":"https://github.com/vercel-labs/json-render#readme","bugs":{"url":"https://github.com/vercel-labs/json-render/issues"},"dist":{"shasum":"8d5924874237e5558ba2207858db7559da5d0f67","tarball":"https://registry.npmjs.org/@json-render/react/-/react-0.8.0.tgz","fileCount":17,"integrity":"sha512-uL3gwnAk6FDz7uiypQYdmTn6LOl7453Bt7UihYHgq8rDz92i0m1DQjE3HVnTTpnSpu60YR58mRKgTHHCCdC03g==","signatures":[{"sig":"MEUCIQDS5FSZstB4OI+8ZKKNng8Gtyo7l/i9aNwLozDoSk82swIgfuYa7+ZjoVlg//uNoxHElLWIQu4H1hjM0MfpS4lqD4U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":428830},"main":"./dist/index.js","_from":"file:json-render-react-0.8.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./schema":{"types":"./dist/schema.d.ts","import":"./dist/schema.mjs","require":"./dist/schema.js"}},"scripts":{"dev":"tsup --watch","build":"tsup","typecheck":"tsc --noEmit"},"_npmUser":{"name":"vercel-release-bot","email":"infra+release@vercel.com"},"_resolved":"/tmp/60843224a9a69b04104cd822b2d5ecda/json-render-react-0.8.0.tgz","_integrity":"sha512-uL3gwnAk6FDz7uiypQYdmTn6LOl7453Bt7UihYHgq8rDz92i0m1DQjE3HVnTTpnSpu60YR58mRKgTHHCCdC03g==","repository":{"url":"git+https://github.com/vercel-labs/json-render.git","type":"git","directory":"packages/react"},"_npmVersion":"10.8.2","description":"React renderer for @json-render/core. JSON becomes React components.","directories":{},"_nodeVersion":"20.20.0","dependencies":{"@json-render/core":"0.8.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.2","typescript":"^5.4.5","@types/react":"19.2.3","@repo/typescript-config":"0.0.0"},"peerDependencies":{"react":"^19.2.3"},"_npmOperationalInternal":{"tmp":"tmp/react_0.8.0_1771575566610_0.5212099040181133","host":"s3://npm-registry-packages-npm-production"}},"0.9.0":{"name":"@json-render/react","version":"0.9.0","keywords":["json","ui","react","ai","generative-ui","llm","renderer","streaming","components"],"license":"Apache-2.0","_id":"@json-render/react@0.9.0","maintainers":[{"name":"matt.straka","email":"matt.j.straka@gmail.com"},{"name":"vercel-release-bot","email":"infra+release@vercel.com"},{"name":"ctate","email":"chris@studiotate.com"}],"homepage":"https://github.com/vercel-labs/json-render#readme","bugs":{"url":"https://github.com/vercel-labs/json-render/issues"},"dist":{"shasum":"de43224b9285d0162be5b9d226cfa56b5ca401dd","tarball":"https://registry.npmjs.org/@json-render/react/-/react-0.9.0.tgz","fileCount":17,"integrity":"sha512-Q3nCi1RGT8QpEzSurN1eFr15dJhMsV+oyOTact6LkUPzpZo2+Khy6V+aJtSLaBEe5JYZPfsU5AleZfQ3v+sxSA==","signatures":[{"sig":"MEUCIQDHKcVJ36PB1G7rkCE2nXXNukJV3JK5vY5ja+febJD6lQIgKaGfEy+RHjXEeVT8pwysn40rYF4UTy0ALaBnRTPm2TQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":415828},"main":"./dist/index.js","_from":"file:json-render-react-0.9.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./schema":{"types":"./dist/schema.d.ts","import":"./dist/schema.mjs","require":"./dist/schema.js"}},"scripts":{"dev":"tsup --watch","build":"tsup","typecheck":"tsc --noEmit"},"_npmUser":{"name":"vercel-release-bot","email":"infra+release@vercel.com"},"_resolved":"/tmp/71f7ee1d1d29f7efcce23e739b0c5d0b/json-render-react-0.9.0.tgz","_integrity":"sha512-Q3nCi1RGT8QpEzSurN1eFr15dJhMsV+oyOTact6LkUPzpZo2+Khy6V+aJtSLaBEe5JYZPfsU5AleZfQ3v+sxSA==","repository":{"url":"git+https://github.com/vercel-labs/json-render.git","type":"git","directory":"packages/react"},"_npmVersion":"10.8.2","description":"React renderer for @json-render/core. JSON becomes React components.","directories":{},"_nodeVersion":"20.20.0","dependencies":{"@json-render/core":"0.9.0","@internal/react-state":"0.8.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.2","typescript":"^5.4.5","@types/react":"19.2.3","@internal/typescript-config":"0.0.0"},"peerDependencies":{"react":"^19.2.3"},"_npmOperationalInternal":{"tmp":"tmp/react_0.9.0_1771918773820_0.38828093851949763","host":"s3://npm-registry-packages-npm-production"}},"0.9.1":{"name":"@json-render/react","version":"0.9.1","keywords":["json","ui","react","ai","generative-ui","llm","renderer","streaming","components"],"license":"Apache-2.0","_id":"@json-render/react@0.9.1","maintainers":[{"name":"matt.straka","email":"matt.j.straka@gmail.com"},{"name":"vercel-release-bot","email":"infra+release@vercel.com"},{"name":"ctate","email":"chris@studiotate.com"}],"homepage":"https://github.com/vercel-labs/json-render#readme","bugs":{"url":"https://github.com/vercel-labs/json-render/issues"},"dist":{"shasum":"b9bc068d6ef4c6c0fb40f997fca7a8ebfde09573","tarball":"https://registry.npmjs.org/@json-render/react/-/react-0.9.1.tgz","fileCount":17,"integrity":"sha512-r4WXuHhywiJjp7fTEpHwwmlyxcqmaoYdVJFkBJWf31BmKebEYd1+t4HiR51VlLpXOAYkcui+nZ2Mr4sJlyVmCA==","signatures":[{"sig":"MEUCIQCHfic8d1elZYepo/Vhe52Y2+tBfDWkDaR57DJSPhVi3QIgERVFHYdgnTqW/kLFGLlbKakuOEFGS3zbj4ujtFxBuMg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":448687},"main":"./dist/index.js","_from":"file:json-render-react-0.9.1.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./schema":{"types":"./dist/schema.d.ts","import":"./dist/schema.mjs","require":"./dist/schema.js"}},"scripts":{"dev":"tsup --watch","build":"tsup","typecheck":"tsc --noEmit"},"_npmUser":{"name":"vercel-release-bot","email":"infra+release@vercel.com"},"_resolved":"/tmp/f201a83c20be94ec47b3076d338dca37/json-render-react-0.9.1.tgz","_integrity":"sha512-r4WXuHhywiJjp7fTEpHwwmlyxcqmaoYdVJFkBJWf31BmKebEYd1+t4HiR51VlLpXOAYkcui+nZ2Mr4sJlyVmCA==","repository":{"url":"git+https://github.com/vercel-labs/json-render.git","type":"git","directory":"packages/react"},"_npmVersion":"10.8.2","description":"React renderer for @json-render/core. JSON becomes React components.","directories":{},"_nodeVersion":"20.20.0","dependencies":{"@json-render/core":"0.9.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.2","typescript":"^5.4.5","@types/react":"19.2.3","@internal/react-state":"0.8.2","@internal/typescript-config":"0.0.0"},"peerDependencies":{"react":"^19.2.3"},"_npmOperationalInternal":{"tmp":"tmp/react_0.9.1_1771936338038_0.48662134306466975","host":"s3://npm-registry-packages-npm-production"}},"0.10.0":{"name":"@json-render/react","version":"0.10.0","keywords":["json","ui","react","ai","generative-ui","llm","renderer","streaming","components"],"license":"Apache-2.0","_id":"@json-render/react@0.10.0","maintainers":[{"name":"matt.straka","email":"matt.j.straka@gmail.com"},{"name":"vercel-release-bot","email":"infra+release@vercel.com"},{"name":"ctate","email":"chris@studiotate.com"}],"homepage":"https://github.com/vercel-labs/json-render#readme","bugs":{"url":"https://github.com/vercel-labs/json-render/issues"},"dist":{"shasum":"1efe23dd4cbd85fd176c8f70b090b0cda4c12275","tarball":"https://registry.npmjs.org/@json-render/react/-/react-0.10.0.tgz","fileCount":17,"integrity":"sha512-gyl3YiZ8CZZauAxvUtL1cYkO2mWnKkWmJEC9naqzxIjJp5oHg5v/4F+4zEx4xH5AeGAcY+g2/C7X9Kz8rWMRFg==","signatures":[{"sig":"MEUCIGibviJG1uSvjBE9//FbUvmaaxANC8cRxZBCRKeRkjajAiEA+FLHFOi6OgYyu0A7bXc/Ql0c5c/Nl+KwS99fZNw6kDM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":479009},"main":"./dist/index.js","_from":"file:json-render-react-0.10.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./schema":{"types":"./dist/schema.d.ts","import":"./dist/schema.mjs","require":"./dist/schema.js"}},"scripts":{"dev":"tsup --watch","build":"tsup","typecheck":"tsc --noEmit"},"_npmUser":{"name":"vercel-release-bot","email":"infra+release@vercel.com"},"_resolved":"/tmp/3dbdbc13dc1c2c6548d0e84d176ff275/json-render-react-0.10.0.tgz","_integrity":"sha512-gyl3YiZ8CZZauAxvUtL1cYkO2mWnKkWmJEC9naqzxIjJp5oHg5v/4F+4zEx4xH5AeGAcY+g2/C7X9Kz8rWMRFg==","repository":{"url":"git+https://github.com/vercel-labs/json-render.git","type":"git","directory":"packages/react"},"_npmVersion":"10.8.2","description":"React renderer for @json-render/core. JSON becomes React components.","directories":{},"_nodeVersion":"20.20.0","dependencies":{"@json-render/core":"0.10.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.2","typescript":"^5.4.5","@types/react":"19.2.3","@internal/react-state":"0.8.3","@internal/typescript-config":"0.0.0"},"peerDependencies":{"react":"^19.2.3"},"_npmOperationalInternal":{"tmp":"tmp/react_0.10.0_1772038743305_0.6071867342486035","host":"s3://npm-registry-packages-npm-production"}},"0.11.0":{"name":"@json-render/react","version":"0.11.0","keywords":["json","ui","react","ai","generative-ui","llm","renderer","streaming","components"],"license":"Apache-2.0","_id":"@json-render/react@0.11.0","maintainers":[{"name":"matt.straka","email":"matt.j.straka@gmail.com"},{"name":"vercel-release-bot","email":"infra+release@vercel.com"},{"name":"ctate","email":"chris@studiotate.com"}],"homepage":"https://github.com/vercel-labs/json-render#readme","bugs":{"url":"https://github.com/vercel-labs/json-render/issues"},"dist":{"shasum":"ca132b067c8242066089593fd9d4c810f01a182a","tarball":"https://registry.npmjs.org/@json-render/react/-/react-0.11.0.tgz","fileCount":17,"integrity":"sha512-PEKXBuOmHF+n+uFoYiwwDA1jUuFZNI43NpTtrDiVGtqKE7JLOZeLNibIsts52Zqd1FyHQk967qBI4MXklBMFMA==","signatures":[{"sig":"MEUCIAWFe80wVB20OLsTbaE7yShdmjAXGq3xoONm9jJar8ZYAiEA9v3X3JPy+g/Fk5idGGWPuYbBOqtxNGvoIeMNXz2BJ08=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":479009},"main":"./dist/index.js","_from":"file:json-render-react-0.11.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./schema":{"types":"./dist/schema.d.ts","import":"./dist/schema.mjs","require":"./dist/schema.js"}},"scripts":{"dev":"tsup --watch","build":"tsup","typecheck":"tsc --noEmit"},"_npmUser":{"name":"vercel-release-bot","email":"infra+release@vercel.com"},"_resolved":"/tmp/063a1945a60072b84911b0c7184c9b1a/json-render-react-0.11.0.tgz","_integrity":"sha512-PEKXBuOmHF+n+uFoYiwwDA1jUuFZNI43NpTtrDiVGtqKE7JLOZeLNibIsts52Zqd1FyHQk967qBI4MXklBMFMA==","repository":{"url":"git+https://github.com/vercel-labs/json-render.git","type":"git","directory":"packages/react"},"_npmVersion":"10.8.2","description":"React renderer for @json-render/core. JSON becomes React components.","directories":{},"_nodeVersion":"20.20.0","dependencies":{"@json-render/core":"0.11.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.2","typescript":"^5.4.5","@types/react":"19.2.3","@internal/react-state":"0.8.4","@internal/typescript-config":"0.0.0"},"peerDependencies":{"react":"^19.2.3"},"_npmOperationalInternal":{"tmp":"tmp/react_0.11.0_1772220732357_0.686727089351066","host":"s3://npm-registry-packages-npm-production"}},"0.12.0":{"name":"@json-render/react","version":"0.12.0","keywords":["json","ui","react","ai","generative-ui","llm","renderer","streaming","components"],"license":"Apache-2.0","_id":"@json-render/react@0.12.0","maintainers":[{"name":"matt.straka","email":"matt.j.straka@gmail.com"},{"name":"vercel-release-bot","email":"infra+release@vercel.com"},{"name":"ctate","email":"chris@studiotate.com"}],"homepage":"https://github.com/vercel-labs/json-render#readme","bugs":{"url":"https://github.com/vercel-labs/json-render/issues"},"dist":{"shasum":"542d77df2e3914ee182f5f763b009cdd3dd4ea2c","tarball":"https://registry.npmjs.org/@json-render/react/-/react-0.12.0.tgz","fileCount":17,"integrity":"sha512-sxsSRk0iozrz2bZwpqIPayH+fN4opDsFwjmwgwJOJTcD0ZobLKGyW4d45zx/LYVWmSpbUkRQWGOhJ5cXANtcWw==","signatures":[{"sig":"MEQCIHAQIEIMQuOBBO041QDl/vManaMKbSToBKOr/+shV6kKAiAZi384ITAZV3NRSTXc66275Ht2xyVN6a+XfzR799oK9A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":479009},"main":"./dist/index.js","_from":"file:json-render-react-0.12.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./schema":{"types":"./dist/schema.d.ts","import":"./dist/schema.mjs","require":"./dist/schema.js"}},"scripts":{"dev":"tsup --watch","build":"tsup","typecheck":"tsc --noEmit"},"_npmUser":{"name":"vercel-release-bot","email":"infra+release@vercel.com"},"_resolved":"/tmp/19f7137aa770759c90d5dd76b5b6cb51/json-render-react-0.12.0.tgz","_integrity":"sha512-sxsSRk0iozrz2bZwpqIPayH+fN4opDsFwjmwgwJOJTcD0ZobLKGyW4d45zx/LYVWmSpbUkRQWGOhJ5cXANtcWw==","repository":{"url":"git+https://github.com/vercel-labs/json-render.git","type":"git","directory":"packages/react"},"_npmVersion":"10.8.2","description":"React renderer for @json-render/core. JSON becomes React components.","directories":{},"_nodeVersion":"20.20.0","dependencies":{"@json-render/core":"0.12.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.2","typescript":"^5.4.5","@types/react":"19.2.3","@internal/react-state":"0.8.5","@internal/typescript-config":"0.0.0"},"peerDependencies":{"react":"^19.2.3"},"_npmOperationalInternal":{"tmp":"tmp/react_0.12.0_1772849154977_0.9680781184093341","host":"s3://npm-registry-packages-npm-production"}},"0.12.1":{"name":"@json-render/react","version":"0.12.1","keywords":["json","ui","react","ai","generative-ui","llm","renderer","streaming","components"],"license":"Apache-2.0","_id":"@json-render/react@0.12.1","maintainers":[{"name":"matt.straka","email":"matt.j.straka@gmail.com"},{"name":"vercel-release-bot","email":"infra+release@vercel.com"},{"name":"ctate","email":"chris@studiotate.com"}],"homepage":"https://json-render.dev","bugs":{"url":"https://github.com/vercel-labs/json-render/issues"},"dist":{"shasum":"8ec81b1d28550d09000a4903d33856cf76382429","tarball":"https://registry.npmjs.org/@json-render/react/-/react-0.12.1.tgz","fileCount":17,"integrity":"sha512-r+cb8yPS2fFSFjfgJvpB+A9UzhiO6Qx93EHjh+CLQ9UuMBwcn7l27j0KuWgjheQCdlnAcCStBN/Om58WT4iMSA==","signatures":[{"sig":"MEUCIQCDM3R4LDKggOTpPqEDygskRWa/kzAB/aOnMPtAp+BXnAIgRJ6tH4aYBEy6NSXuPlP9CON7nLzyieW9P/g6APmS1b8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":478983},"main":"./dist/index.js","_from":"file:json-render-react-0.12.1.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./schema":{"types":"./dist/schema.d.ts","import":"./dist/schema.mjs","require":"./dist/schema.js"}},"scripts":{"dev":"tsup --watch","build":"tsup","typecheck":"tsc --noEmit"},"_npmUser":{"name":"vercel-release-bot","email":"infra+release@vercel.com"},"_resolved":"/tmp/7543302888658dbf6139a06602823c3e/json-render-react-0.12.1.tgz","_integrity":"sha512-r+cb8yPS2fFSFjfgJvpB+A9UzhiO6Qx93EHjh+CLQ9UuMBwcn7l27j0KuWgjheQCdlnAcCStBN/Om58WT4iMSA==","repository":{"url":"git+https://github.com/vercel-labs/json-render.git","type":"git","directory":"packages/react"},"_npmVersion":"10.8.2","description":"React renderer for @json-render/core. JSON becomes React components.","directories":{},"_nodeVersion":"20.20.0","dependencies":{"@json-render/core":"0.12.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.2","typescript":"^5.4.5","@types/react":"19.2.3","@internal/react-state":"0.8.6","@internal/typescript-config":"0.0.0"},"peerDependencies":{"react":"^19.2.3"},"_npmOperationalInternal":{"tmp":"tmp/react_0.12.1_1773213781203_0.12727573819791682","host":"s3://npm-registry-packages-npm-production"}},"0.13.0":{"name":"@json-render/react","version":"0.13.0","keywords":["json","ui","react","ai","generative-ui","llm","renderer","streaming","components"],"license":"Apache-2.0","_id":"@json-render/react@0.13.0","maintainers":[{"name":"matt.straka","email":"matt.j.straka@gmail.com"},{"name":"vercel-release-bot","email":"infra+release@vercel.com"},{"name":"ctate","email":"chris@studiotate.com"}],"homepage":"https://json-render.dev","bugs":{"url":"https://github.com/vercel-labs/json-render/issues"},"dist":{"shasum":"7748f23985ef113fde3de1e2f1f24c5f8e845cbf","tarball":"https://registry.npmjs.org/@json-render/react/-/react-0.13.0.tgz","fileCount":17,"integrity":"sha512-3uXRtQbw+Gq8S1lJHnxd40KW0o4gmUbp0MF/3xyxwrUTn6YiiZfNGT386pCaAhUq/3Jjn7vq1eKvUU3sDD5K7g==","signatures":[{"sig":"MEUCIQDtXuH2yb+kpEXsq6q6ATnY/xctTgdOYVe+VPBnAJ7WGgIgcuc0WrOk3g82Eg3XwCfKdYi16cZksc7aqHarRG2IqSY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":478983},"main":"./dist/index.js","_from":"file:json-render-react-0.13.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./schema":{"types":"./dist/schema.d.ts","import":"./dist/schema.mjs","require":"./dist/schema.js"}},"scripts":{"dev":"tsup --watch","build":"tsup","typecheck":"tsc --noEmit"},"_npmUser":{"name":"vercel-release-bot","email":"infra+release@vercel.com"},"_resolved":"/tmp/39076b98844f5562a2c136e4225103e9/json-render-react-0.13.0.tgz","_integrity":"sha512-3uXRtQbw+Gq8S1lJHnxd40KW0o4gmUbp0MF/3xyxwrUTn6YiiZfNGT386pCaAhUq/3Jjn7vq1eKvUU3sDD5K7g==","repository":{"url":"git+https://github.com/vercel-labs/json-render.git","type":"git","directory":"packages/react"},"_npmVersion":"10.8.2","description":"React renderer for @json-render/core. JSON becomes React components.","directories":{},"_nodeVersion":"20.20.1","dependencies":{"@json-render/core":"0.13.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.2","typescript":"^5.4.5","@types/react":"19.2.3","@internal/react-state":"0.8.7","@internal/typescript-config":"0.0.0"},"peerDependencies":{"react":"^19.2.3"},"_npmOperationalInternal":{"tmp":"tmp/react_0.13.0_1773329092741_0.6554072144720919","host":"s3://npm-registry-packages-npm-production"}},"0.14.0":{"name":"@json-render/react","version":"0.14.0","keywords":["json","ui","react","ai","generative-ui","llm","renderer","streaming","components"],"license":"Apache-2.0","_id":"@json-render/react@0.14.0","maintainers":[{"name":"matt.straka","email":"matt.j.straka@gmail.com"},{"name":"vercel-release-bot","email":"infra+release@vercel.com"},{"name":"ctate","email":"chris@studiotate.com"}],"homepage":"https://json-render.dev","bugs":{"url":"https://github.com/vercel-labs/json-render/issues"},"dist":{"shasum":"13ff7a75f90dc2b14c90f812f16b0e5c8cf0e13c","tarball":"https://registry.npmjs.org/@json-render/react/-/react-0.14.0.tgz","fileCount":17,"integrity":"sha512-1MwvGAOr93bgNauq/s/gLHZfM2uSIpfWINCQOCrpARDfCaDZXH/7k8rvj004izXPMXq099us7ZPR/X3Qf7Yq7w==","signatures":[{"sig":"MEYCIQCOEa+wrgcxPoSbE0cIfF6xak4Y2xN8dTo+ojEwg4pVywIhAJ26FM4oyPsUtfA/Tf69aOgNIBAc83K/ZZ9Hb4iaMjZl","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":478983},"main":"./dist/index.js","_from":"file:json-render-react-0.14.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./schema":{"types":"./dist/schema.d.ts","import":"./dist/schema.mjs","require":"./dist/schema.js"}},"scripts":{"dev":"tsup --watch","build":"tsup","typecheck":"tsc --noEmit"},"_npmUser":{"name":"vercel-release-bot","email":"infra+release@vercel.com"},"_resolved":"/tmp/3274eef9863a77f1dfd64181c566fd43/json-render-react-0.14.0.tgz","_integrity":"sha512-1MwvGAOr93bgNauq/s/gLHZfM2uSIpfWINCQOCrpARDfCaDZXH/7k8rvj004izXPMXq099us7ZPR/X3Qf7Yq7w==","repository":{"url":"git+https://github.com/vercel-labs/json-render.git","type":"git","directory":"packages/react"},"_npmVersion":"10.8.2","description":"React renderer for @json-render/core. JSON becomes React components.","directories":{},"_nodeVersion":"20.20.0","dependencies":{"@json-render/core":"0.14.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.2","typescript":"^5.4.5","@types/react":"19.2.3","@internal/react-state":"0.8.8","@internal/typescript-config":"0.0.0"},"peerDependencies":{"react":"^19.2.3"},"_npmOperationalInternal":{"tmp":"tmp/react_0.14.0_1773439794616_0.05733548709896019","host":"s3://npm-registry-packages-npm-production"}},"0.14.1":{"name":"@json-render/react","version":"0.14.1","keywords":["json","ui","react","ai","generative-ui","llm","renderer","streaming","components"],"license":"Apache-2.0","_id":"@json-render/react@0.14.1","maintainers":[{"name":"matt.straka","email":"matt.j.straka@gmail.com"},{"name":"vercel-release-bot","email":"infra+release@vercel.com"},{"name":"ctate","email":"chris@studiotate.com"}],"homepage":"https://json-render.dev","bugs":{"url":"https://github.com/vercel-labs/json-render/issues"},"dist":{"shasum":"43c89c50e1400ab018b03fe9b80b5bbb648add91","tarball":"https://registry.npmjs.org/@json-render/react/-/react-0.14.1.tgz","fileCount":17,"integrity":"sha512-0LsX4yL+int7CS0cb6EWquQmLYipP0qYaSGdoLALXQ5nu6zEo9a1phGQSqJQ58bhv10/d0a4N3+2bHbVv+VDWw==","signatures":[{"sig":"MEYCIQDRaprO5BrPUOWYnmeFNEW40oo7jUIj2+zTrD81MOzuOQIhAI9ApgmDVemS12T3+BpXHAHoLZEHSoiwPJPDs0QKSXe4","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":478983},"main":"./dist/index.js","_from":"file:json-render-react-0.14.1.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./schema":{"types":"./dist/schema.d.ts","import":"./dist/schema.mjs","require":"./dist/schema.js"}},"scripts":{"dev":"tsup --watch","build":"tsup","typecheck":"tsc --noEmit"},"_npmUser":{"name":"vercel-release-bot","email":"infra+release@vercel.com"},"_resolved":"/tmp/e023540b4b7f41bd3490e2a37a6b28d6/json-render-react-0.14.1.tgz","_integrity":"sha512-0LsX4yL+int7CS0cb6EWquQmLYipP0qYaSGdoLALXQ5nu6zEo9a1phGQSqJQ58bhv10/d0a4N3+2bHbVv+VDWw==","repository":{"url":"git+https://github.com/vercel-labs/json-render.git","type":"git","directory":"packages/react"},"_npmVersion":"10.8.2","description":"React renderer for @json-render/core. JSON becomes React components.","directories":{},"_nodeVersion":"20.20.1","dependencies":{"@json-render/core":"0.14.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.2","typescript":"^5.4.5","@types/react":"19.2.3","@internal/react-state":"0.8.9","@internal/typescript-config":"0.0.0"},"peerDependencies":{"react":"^19.2.3"},"_npmOperationalInternal":{"tmp":"tmp/react_0.14.1_1773787691899_0.7690060650279011","host":"s3://npm-registry-packages-npm-production"}},"0.15.0":{"name":"@json-render/react","version":"0.15.0","keywords":["json","ui","react","ai","generative-ui","llm","renderer","streaming","components"],"license":"Apache-2.0","_id":"@json-render/react@0.15.0","maintainers":[{"name":"matt.straka","email":"matt.j.straka@gmail.com"},{"name":"vercel-release-bot","email":"infra+release@vercel.com"},{"name":"ctate","email":"chris@studiotate.com"}],"homepage":"https://json-render.dev","bugs":{"url":"https://github.com/vercel-labs/json-render/issues"},"dist":{"shasum":"eaec2706e047ba87680729d3ed6b396fb36767fc","tarball":"https://registry.npmjs.org/@json-render/react/-/react-0.15.0.tgz","fileCount":17,"integrity":"sha512-2vfevZ3zRQNqVN6Y/WPFDkOe9/LPpUwDS+W4ViQQRJGO2j1wl0RbfMQtiiPai/bWQkJq0aantoQWIbh1/o8Cew==","signatures":[{"sig":"MEYCIQC3NlLeCkV32hHqWZRYLTSzGWg67s2wqv/0qtukxwP5nQIhAI/zA7IJBTHwoxpnXq+ceWzGmA7GHdAoTrWblcT+1Iyw","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":478984},"main":"./dist/index.js","_from":"file:json-render-react-0.15.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./schema":{"types":"./dist/schema.d.ts","import":"./dist/schema.mjs","require":"./dist/schema.js"}},"scripts":{"dev":"tsup --watch","build":"tsup","typecheck":"tsc --noEmit"},"_npmUser":{"name":"vercel-release-bot","email":"infra+release@vercel.com"},"_resolved":"/tmp/ef871ebcf19633f72d94e06083e611c0/json-render-react-0.15.0.tgz","_integrity":"sha512-2vfevZ3zRQNqVN6Y/WPFDkOe9/LPpUwDS+W4ViQQRJGO2j1wl0RbfMQtiiPai/bWQkJq0aantoQWIbh1/o8Cew==","repository":{"url":"git+https://github.com/vercel-labs/json-render.git","type":"git","directory":"packages/react"},"_npmVersion":"10.8.2","description":"React renderer for @json-render/core. JSON becomes React components.","directories":{},"_nodeVersion":"20.20.1","dependencies":{"@json-render/core":"0.15.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.2","typescript":"^5.4.5","@types/react":"19.2.3","@internal/react-state":"0.8.10","@internal/typescript-config":"0.0.0"},"peerDependencies":{"react":"^19.2.3"},"_npmOperationalInternal":{"tmp":"tmp/react_0.15.0_1774290879089_0.4536162064553644","host":"s3://npm-registry-packages-npm-production"}},"0.16.0":{"name":"@json-render/react","version":"0.16.0","keywords":["json","ui","react","ai","generative-ui","llm","renderer","streaming","components"],"license":"Apache-2.0","_id":"@json-render/react@0.16.0","maintainers":[{"name":"matt.straka","email":"matt.j.straka@gmail.com"},{"name":"vercel-release-bot","email":"infra+release@vercel.com"},{"name":"ctate","email":"chris@studiotate.com"}],"homepage":"https://json-render.dev","bugs":{"url":"https://github.com/vercel-labs/json-render/issues"},"dist":{"shasum":"381049af288028b3e9746fee1427dae5e134e9e0","tarball":"https://registry.npmjs.org/@json-render/react/-/react-0.16.0.tgz","fileCount":17,"integrity":"sha512-PJQjLftGYZ5LNlA1IFww+yNOAJZRW2feEcH/L10u/8M/b/zImr9wfqQVMDyC87myoEzhyucpkQ6joISeZdKxsw==","signatures":[{"sig":"MEYCIQDuH/vuY43AsPf4bDjVIQ3rX946BEdMlw0raQLJNv7HPAIhAMkpMFWIu++jdipKTialjT2wtWrreX30jVI1d8nsKS/X","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":478984},"main":"./dist/index.js","_from":"file:json-render-react-0.16.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./schema":{"types":"./dist/schema.d.ts","import":"./dist/schema.mjs","require":"./dist/schema.js"}},"scripts":{"dev":"tsup --watch","build":"tsup","typecheck":"tsc --noEmit"},"_npmUser":{"name":"vercel-release-bot","email":"infra+release@vercel.com"},"_resolved":"/tmp/10e00b1428bbaa68642d814837647aaf/json-render-react-0.16.0.tgz","_integrity":"sha512-PJQjLftGYZ5LNlA1IFww+yNOAJZRW2feEcH/L10u/8M/b/zImr9wfqQVMDyC87myoEzhyucpkQ6joISeZdKxsw==","repository":{"url":"git+https://github.com/vercel-labs/json-render.git","type":"git","directory":"packages/react"},"_npmVersion":"10.8.2","description":"React renderer for @json-render/core. JSON becomes React components.","directories":{},"_nodeVersion":"20.20.1","dependencies":{"@json-render/core":"0.16.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.2","typescript":"^5.4.5","@types/react":"19.2.3","@internal/react-state":"0.8.11","@internal/typescript-config":"0.0.0"},"peerDependencies":{"react":"^19.2.3"},"_npmOperationalInternal":{"tmp":"tmp/react_0.16.0_1774660915510_0.9880675380729478","host":"s3://npm-registry-packages-npm-production"}},"0.17.0":{"name":"@json-render/react","version":"0.17.0","keywords":["json","ui","react","ai","generative-ui","llm","renderer","streaming","components"],"license":"Apache-2.0","_id":"@json-render/react@0.17.0","maintainers":[{"name":"matt.straka","email":"matt.j.straka@gmail.com"},{"name":"vercel-release-bot","email":"infra+release@vercel.com"},{"name":"ctate","email":"chris@studiotate.com"}],"homepage":"https://json-render.dev","bugs":{"url":"https://github.com/vercel-labs/json-render/issues"},"dist":{"shasum":"3395c0d8224374ae8669b1b28f7b3b91e220ab91","tarball":"https://registry.npmjs.org/@json-render/react/-/react-0.17.0.tgz","fileCount":17,"integrity":"sha512-MEQ+Id5ZpqfgzASvRqFIJnNJJrqsyozve8jDQzsAKasm4kU6dQ4Jrp2q3fAkSS0duk33n4JfgzKlKCqEy2Xr8A==","signatures":[{"sig":"MEUCIQCmyOFsMApqT0Qi1sVCpv+6aKK4xVzHOhEN5TEctzYvQwIgDAGdtAZW0rnzlQR2ztWDHpPxpI6x9n7vdGarA7Cr6TU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":478984},"main":"./dist/index.js","_from":"file:json-render-react-0.17.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./schema":{"types":"./dist/schema.d.ts","import":"./dist/schema.mjs","require":"./dist/schema.js"}},"scripts":{"dev":"tsup --watch","build":"tsup","typecheck":"tsc --noEmit"},"_npmUser":{"name":"vercel-release-bot","email":"infra+release@vercel.com"},"_resolved":"/tmp/c1a6b80ee2a6fd11366c81530757953f/json-render-react-0.17.0.tgz","_integrity":"sha512-MEQ+Id5ZpqfgzASvRqFIJnNJJrqsyozve8jDQzsAKasm4kU6dQ4Jrp2q3fAkSS0duk33n4JfgzKlKCqEy2Xr8A==","repository":{"url":"git+https://github.com/vercel-labs/json-render.git","type":"git","directory":"packages/react"},"_npmVersion":"10.9.7","description":"React renderer for @json-render/core. JSON becomes React components.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"@json-render/core":"0.17.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.2","typescript":"^5.4.5","@types/react":"19.2.3","@internal/react-state":"0.8.11","@internal/typescript-config":"0.0.0"},"peerDependencies":{"react":"^19.2.3"},"_npmOperationalInternal":{"tmp":"tmp/react_0.17.0_1775878871437_0.3941337913056828","host":"s3://npm-registry-packages-npm-production"}},"0.18.0":{"name":"@json-render/react","version":"0.18.0","keywords":["json","ui","react","ai","generative-ui","llm","renderer","streaming","components"],"license":"Apache-2.0","_id":"@json-render/react@0.18.0","maintainers":[{"name":"matt.straka","email":"matt.j.straka@gmail.com"},{"name":"vercel-release-bot","email":"infra+release@vercel.com"},{"name":"ctate","email":"chris@studiotate.com"}],"homepage":"https://json-render.dev","bugs":{"url":"https://github.com/vercel-labs/json-render/issues"},"dist":{"shasum":"b8a4c6292bbad62f0878dc9960e100d552184a6f","tarball":"https://registry.npmjs.org/@json-render/react/-/react-0.18.0.tgz","fileCount":17,"integrity":"sha512-rT0hJ9mK2BGfLxZ/ztS4UF1XqAz/o+FNtFgii7hea7VjD4u0wJYyRphe4a5DetS/dSMZFECXkmida+xi3wKl9A==","signatures":[{"sig":"MEUCIHCSkZmEE+IRzDjcd48etOm3CcETWMpF9N7Uo5q1DWVaAiEA1pHLbnIXesWIh5WVJq9ZKqIfFbMnDYtAWajWdKfJUv8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":487935},"main":"./dist/index.js","_from":"file:json-render-react-0.18.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./schema":{"types":"./dist/schema.d.ts","import":"./dist/schema.mjs","require":"./dist/schema.js"}},"scripts":{"dev":"tsup --watch","build":"tsup","typecheck":"tsc --noEmit"},"_npmUser":{"name":"vercel-release-bot","email":"infra+release@vercel.com"},"_resolved":"/tmp/106cea0547b1827fa38275992718fa4d/json-render-react-0.18.0.tgz","_integrity":"sha512-rT0hJ9mK2BGfLxZ/ztS4UF1XqAz/o+FNtFgii7hea7VjD4u0wJYyRphe4a5DetS/dSMZFECXkmida+xi3wKl9A==","repository":{"url":"git+https://github.com/vercel-labs/json-render.git","type":"git","directory":"packages/react"},"_npmVersion":"10.9.7","description":"React renderer for @json-render/core. JSON becomes React components.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"@json-render/core":"0.18.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.2","typescript":"^5.4.5","@types/react":"19.2.3","@internal/react-state":"0.8.11","@internal/typescript-config":"0.0.0"},"peerDependencies":{"react":"^19.2.3"},"_npmOperationalInternal":{"tmp":"tmp/react_0.18.0_1776455165066_0.7302617568212395","host":"s3://npm-registry-packages-npm-production"}},"0.19.0":{"name":"@json-render/react","version":"0.19.0","keywords":["json","ui","react","ai","generative-ui","llm","renderer","streaming","components"],"license":"Apache-2.0","_id":"@json-render/react@0.19.0","maintainers":[{"name":"matt.straka","email":"matt.j.straka@gmail.com"},{"name":"vercel-release-bot","email":"infra+release@vercel.com"},{"name":"ctate","email":"chris@ctate.dev"}],"homepage":"https://json-render.dev","bugs":{"url":"https://github.com/vercel-labs/json-render/issues"},"dist":{"shasum":"b6acdc39682d46a31ae864fe8decdbcbd7caca33","tarball":"https://registry.npmjs.org/@json-render/react/-/react-0.19.0.tgz","fileCount":17,"integrity":"sha512-kTW6b6cSNRrlEfCUf/69SLoLn+CufC968ruge9tnQlp9pDTGG/SK8pgM541FdgwMFA4zm3s5mpM3G8rdODKc/A==","signatures":[{"sig":"MEUCIQCzDGl++Vj1dgO+smbWIFeWeOU2/ijXSWPvdqYX9I7FrQIgAhtTy6meSMnDf1PzPo8p+l5F4OkCh54PjG20CMrk3t4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@json-render%2freact@0.19.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":493751},"main":"./dist/index.js","_from":"file:/tmp/json-render-react-0.19.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./schema":{"types":"./dist/schema.d.ts","import":"./dist/schema.mjs","require":"./dist/schema.js"}},"scripts":{"dev":"tsup --watch","build":"tsup","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:91e665a7-14c7-43c0-9d77-f97c71062600"}},"_resolved":"/tmp/json-render-react-0.19.0.tgz","_integrity":"sha512-kTW6b6cSNRrlEfCUf/69SLoLn+CufC968ruge9tnQlp9pDTGG/SK8pgM541FdgwMFA4zm3s5mpM3G8rdODKc/A==","repository":{"url":"git+https://github.com/vercel-labs/json-render.git","type":"git","directory":"packages/react"},"_npmVersion":"11.11.0","description":"React renderer for @json-render/core. JSON becomes React components.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"@json-render/core":"0.19.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.3.6","tsup":"^8.0.2","typescript":"^5.4.5","@types/react":"19.2.3","@internal/react-state":"0.8.11","@internal/typescript-config":"0.0.0"},"peerDependencies":{"react":"^19.2.3"},"_npmOperationalInternal":{"tmp":"tmp/react_0.19.0_1778131473025_0.9516796692249325","host":"s3://npm-registry-packages-npm-production"}},"0.20.0":{"name":"@json-render/react","version":"0.20.0","keywords":["json","ui","react","ai","generative-ui","llm","renderer","streaming","components"],"license":"Apache-2.0","_id":"@json-render/react@0.20.0","maintainers":[{"name":"matt.straka","email":"matt.j.straka@gmail.com"},{"name":"vercel-release-bot","email":"infra+release@vercel.com"},{"name":"ctate","email":"chris@ctate.dev"}],"homepage":"https://json-render.dev","bugs":{"url":"https://github.com/vercel-labs/json-render/issues"},"dist":{"shasum":"a9162f6bb187dbd5665c05579cd52bfde33584d9","tarball":"https://registry.npmjs.org/@json-render/react/-/react-0.20.0.tgz","fileCount":17,"integrity":"sha512-arRrlf7zeIJYM6i2JHcTBKW5Kl+ErBtoNR29h4i6rG4AtTzLmaWDgPTs35pr3MdSCTp0UxKwY4O3vWMdUihpRQ==","signatures":[{"sig":"MEYCIQCDBTphJvAVJh+iBOEAVsrXFYA9oVnzUIyUELBEUsML9AIhAOu1QIVYcymmu8AsS3dqI3khqd68Esi4C4KdSQUC674i","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@json-render%2freact@0.20.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":521440},"main":"./dist/index.js","_from":"file:/tmp/json-render-react-0.20.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./schema":{"types":"./dist/schema.d.ts","import":"./dist/schema.mjs","require":"./dist/schema.js"}},"scripts":{"dev":"tsup --watch","build":"tsup","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:91e665a7-14c7-43c0-9d77-f97c71062600"}},"_resolved":"/tmp/json-render-react-0.20.0.tgz","_integrity":"sha512-arRrlf7zeIJYM6i2JHcTBKW5Kl+ErBtoNR29h4i6rG4AtTzLmaWDgPTs35pr3MdSCTp0UxKwY4O3vWMdUihpRQ==","repository":{"url":"git+https://github.com/vercel-labs/json-render.git","type":"git","directory":"packages/react"},"_npmVersion":"11.17.0","description":"React renderer for @json-render/core. JSON becomes React components.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"@json-render/core":"0.20.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.3.6","tsup":"^8.0.2","typescript":"^5.4.5","@types/react":"19.2.3","@internal/react-state":"0.8.11","@internal/typescript-config":"0.0.0"},"peerDependencies":{"react":"^19.2.3"},"_npmOperationalInternal":{"tmp":"tmp/react_0.20.0_1786888502098_0.2514355956646024","host":"s3://npm-registry-packages-npm-production"}},"0.21.0":{"_id":"@json-render/react@0.21.0","bugs":{"url":"https://github.com/vercel-labs/json-render/issues"},"dist":{"shasum":"a2f4773c9782988767f58c84af93418bf36d8571","tarball":"https://registry.npmjs.org/@json-render/react/-/react-0.21.0.tgz","fileCount":17,"integrity":"sha512-z/fZg0L8fJe2dnnQjWkmMw409iBclSWcOqdjoBy8eLHeBr/7F7VipzkY1CfgA2Fa5uW+zxZ54OvWMtdDcsp/yg==","signatures":[{"sig":"MEUCIHuyrRZUGdHLuqpgkukelM0E6ZlvbvG6SdSbY8oYs4SLAiEAhQEjs/lwfU4zIV3dijLFszByIEX7sTzUMjzyq1CFvqE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQC+SlbicOX0fN6PkvmWNbAwdRMR/D7h/97IGEPyS6xdwAIhALLji52MOSi3LGxs1WTXzDpxvO4EO3ued4C0qUdmktBp"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@json-render%2freact@0.21.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":565183},"main":"./dist/index.js","name":"@json-render/react","_from":"file:/tmp/json-render-react-0.21.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./schema":{"types":"./dist/schema.d.ts","import":"./dist/schema.mjs","require":"./dist/schema.js"}},"license":"Apache-2.0","scripts":{"dev":"tsup --watch","build":"tsup","typecheck":"tsc --noEmit"},"version":"0.21.0","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:91e665a7-14c7-43c0-9d77-f97c71062600"}},"homepage":"https://json-render.dev","keywords":["json","ui","react","ai","generative-ui","llm","renderer","streaming","components"],"_resolved":"/tmp/json-render-react-0.21.0.tgz","_integrity":"sha512-z/fZg0L8fJe2dnnQjWkmMw409iBclSWcOqdjoBy8eLHeBr/7F7VipzkY1CfgA2Fa5uW+zxZ54OvWMtdDcsp/yg==","repository":{"url":"git+https://github.com/vercel-labs/json-render.git","type":"git","directory":"packages/react"},"_npmVersion":"11.19.0","description":"React renderer for @json-render/core. JSON becomes React components.","directories":{},"maintainers":[{"name":"matt.straka","email":"matt.j.straka@gmail.com"},{"name":"vercel-release-bot","email":"infra+release@vercel.com"},{"name":"ctate","email":"chris@ctate.dev"}],"_nodeVersion":"24.20.0","dependencies":{"@json-render/core":"0.21.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.3.6","tsup":"^8.0.2","typescript":"^5.4.5","@types/react":"19.2.3","@internal/react-state":"0.8.11","@internal/typescript-config":"0.0.0"},"peerDependencies":{"react":"^19.2.3"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/react_0.21.0_1789757748973_0.29998271587748704"}}},"time":{"created":"2026-01-14T22:55:13.934Z","modified":"2026-09-18T18:55:49.443Z","0.0.1":"2026-01-14T22:55:14.189Z","0.1.0":"2026-01-14T23:13:35.320Z","0.2.0":"2026-01-15T00:44:46.332Z","0.4.0":"2026-02-05T10:18:18.214Z","0.4.2":"2026-02-06T20:34:30.356Z","0.4.3":"2026-02-07T00:03:35.674Z","0.4.4":"2026-02-07T18:32:14.901Z","0.5.0":"2026-02-09T07:54:53.869Z","0.5.1":"2026-02-09T13:10:47.700Z","0.5.2":"2026-02-09T14:45:12.458Z","0.6.0":"2026-02-14T00:05:12.535Z","0.6.1":"2026-02-15T15:08:30.335Z","0.7.0":"2026-02-17T07:41:34.362Z","0.8.0":"2026-02-20T08:19:26.780Z","0.9.0":"2026-02-24T07:39:33.995Z","0.9.1":"2026-02-24T12:32:18.265Z","0.10.0":"2026-02-25T16:59:03.507Z","0.11.0":"2026-02-27T19:32:12.505Z","0.12.0":"2026-03-07T02:05:55.186Z","0.12.1":"2026-03-11T07:23:01.359Z","0.13.0":"2026-03-12T15:24:52.883Z","0.14.0":"2026-03-13T22:09:54.784Z","0.14.1":"2026-03-17T22:48:12.056Z","0.15.0":"2026-03-23T18:34:39.254Z","0.16.0":"2026-03-28T01:21:55.675Z","0.17.0":"2026-04-11T03:41:11.580Z","0.18.0":"2026-04-17T19:46:05.233Z","0.19.0":"2026-05-07T05:24:33.254Z","0.20.0":"2026-08-16T13:55:02.255Z","0.21.0":"2026-09-18T18:55:49.093Z"},"bugs":{"url":"https://github.com/vercel-labs/json-render/issues"},"license":"Apache-2.0","homepage":"https://json-render.dev","keywords":["json","ui","react","ai","generative-ui","llm","renderer","streaming","components"],"repository":{"url":"git+https://github.com/vercel-labs/json-render.git","type":"git","directory":"packages/react"},"description":"React renderer for @json-render/core. JSON becomes React components.","maintainers":[{"name":"matt.straka","email":"matt.j.straka@gmail.com"},{"name":"vercel-release-bot","email":"infra+release@vercel.com"},{"name":"ctate","email":"chris@ctate.dev"}],"readme":"# @json-render/react\n\nReact renderer for json-render. Turn JSON specs into React components with data binding, visibility, and actions.\n\n## Installation\n\n```bash\nnpm install @json-render/react @json-render/core zod\n```\n\n## Quick Start\n\n### 1. Create a Catalog\n\n```typescript\nimport { defineCatalog } from \"@json-render/core\";\nimport { schema } from \"@json-render/react/schema\";\nimport { z } from \"zod\";\n\nexport const catalog = defineCatalog(schema, {\n  components: {\n    Card: {\n      props: z.object({\n        title: z.string(),\n        description: z.string().nullable(),\n      }),\n      description: \"A card container\",\n    },\n    Button: {\n      props: z.object({\n        label: z.string(),\n        action: z.string(),\n      }),\n      description: \"A clickable button\",\n    },\n    Input: {\n      props: z.object({\n        value: z.union([z.string(), z.record(z.unknown())]).nullable(),\n        label: z.string(),\n        placeholder: z.string().nullable(),\n      }),\n      description: \"Text input field with optional value binding\",\n    },\n  },\n  actions: {\n    submit: { description: \"Submit the form\" },\n    cancel: { description: \"Cancel and close\" },\n  },\n});\n```\n\n### 2. Define Component Implementations\n\n`defineRegistry` conditionally requires the `actions` field only when the catalog declares actions. Catalogs with `actions: {}` can omit it entirely.\n\n```tsx\nimport { defineRegistry, useBoundProp } from \"@json-render/react\";\nimport { catalog } from \"./catalog\";\n\nexport const { registry } = defineRegistry(catalog, {\n  components: {\n    Card: ({ props, children }) => (\n      <div className=\"card\">\n        <h3>{props.title}</h3>\n        {props.description && <p>{props.description}</p>}\n        {children}\n      </div>\n    ),\n    Button: ({ props, emit }) => (\n      <button onClick={() => emit(\"press\")}>{props.label}</button>\n    ),\n    Input: ({ props, bindings }) => {\n      const [value, setValue] = useBoundProp(props.value, bindings?.value);\n      return (\n        <label>\n          {props.label}\n          <input\n            placeholder={props.placeholder ?? \"\"}\n            value={value ?? \"\"}\n            onChange={(e) => setValue(e.target.value)}\n          />\n        </label>\n      );\n    },\n  },\n});\n```\n\n### 3. Render Specs\n\n```tsx\nimport { Renderer, StateProvider, ActionProvider } from \"@json-render/react\";\nimport { registry } from \"./registry\";\n\nfunction App({ spec }) {\n  return (\n    <StateProvider initialState={{ form: { name: \"\" } }}>\n      <ActionProvider\n        handlers={{\n          submit: () => console.log(\"Submit\"),\n        }}\n      >\n        <Renderer spec={spec} registry={registry} />\n      </ActionProvider>\n    </StateProvider>\n  );\n}\n```\n\n## Spec Format\n\nThe React renderer uses a flat element map format:\n\n```typescript\ninterface Spec {\n  root: string; // Key of the root element\n  elements: Record<string, UIElement>; // Flat map of elements by key\n  state?: Record<string, unknown>; // Optional initial state\n}\n\ninterface UIElement {\n  type: string; // Component name from catalog\n  props: Record<string, unknown>; // Component props\n  children?: string[]; // Keys of child elements\n  slots?: Record<string, string[]>; // Named slots mapped to child keys\n  visible?: VisibilityCondition; // Visibility condition\n}\n```\n\nThe `slots` element field is a React renderer feature. Other renderer packages may only use catalog slot declarations for default children.\n\nExample spec:\n\n```json\n{\n  \"root\": \"card-1\",\n  \"elements\": {\n    \"card-1\": {\n      \"type\": \"Card\",\n      \"props\": { \"title\": \"Welcome\" },\n      \"children\": [\"input-1\", \"btn-1\"]\n    },\n    \"input-1\": {\n      \"type\": \"Input\",\n      \"props\": {\n        \"value\": { \"$bindState\": \"/form/name\" },\n        \"label\": \"Name\",\n        \"placeholder\": \"Enter name\"\n      }\n    },\n    \"btn-1\": {\n      \"type\": \"Button\",\n      \"props\": { \"label\": \"Submit\" },\n      \"children\": []\n    }\n  }\n}\n```\n\n## Contexts\n\n### StateProvider\n\nShare data across components with JSON Pointer paths:\n\n```tsx\n<StateProvider initialState={{ user: { name: \"John\" } }}>\n  {children}\n</StateProvider>;\n\n// In components:\nconst { state, get, set } = useStateStore();\nconst name = get(\"/user/name\"); // \"John\"\nset(\"/user/age\", 25);\n```\n\n#### External Store (Controlled Mode)\n\nFor full control over state, pass a `StateStore` to bypass the internal state and wire json-render to any state management library (Redux, Zustand, XState, etc.):\n\n```tsx\nimport { createStateStore, type StateStore } from \"@json-render/react\";\n\n// Option 1: Use the built-in store outside of React\nconst store = createStateStore({ count: 0 });\n\n<StateProvider store={store}>{children}</StateProvider>;\n\n// Mutate from anywhere — React will re-render automatically:\nstore.set(\"/count\", 1);\n\n// Option 2: Implement the StateStore interface with your own backend\nconst zustandStore: StateStore = {\n  get: (path) => getByPath(useStore.getState(), path),\n  set: (path, value) =>\n    useStore.setState((prev) => {\n      /* ... */\n    }),\n  update: (updates) =>\n    useStore.setState((prev) => {\n      /* ... */\n    }),\n  getSnapshot: () => useStore.getState(),\n  subscribe: (listener) => useStore.subscribe(listener),\n};\n```\n\nWhen `store` is provided, `initialState` and `onStateChange` are ignored. The store is the single source of truth. The same `store` prop is available on `createRenderer`, `JSONUIProvider`, and `StateProvider`.\n\n### ActionProvider\n\nHandle actions from components:\n\n```tsx\n<ActionProvider\n  handlers={{\n    submit: (params) => handleSubmit(params),\n    cancel: () => handleCancel(),\n  }}\n>\n  {children}\n</ActionProvider>\n```\n\n### VisibilityProvider\n\nControl element visibility based on data:\n\n```tsx\n<VisibilityProvider>\n  {children}\n</VisibilityProvider>\n\n// Elements can use visibility conditions:\n{\n  \"type\": \"Alert\",\n  \"props\": { \"message\": \"Error!\" },\n  \"visible\": { \"$state\": \"/form/hasError\" }\n}\n```\n\n### ValidationProvider\n\nAdd field validation:\n\n```tsx\n<ValidationProvider>{children}</ValidationProvider>;\n\n// Use validation hooks:\nconst { errors, validate } = useFieldValidation(\"/form/email\", {\n  checks: [\n    { type: \"required\", message: \"Email required\" },\n    { type: \"email\", message: \"Invalid email\" },\n  ],\n});\n```\n\n## Hooks\n\n| Hook                               | Purpose                                                         |\n| ---------------------------------- | --------------------------------------------------------------- |\n| `useStateStore()`                  | Access state context (`state`, `get`, `set`, `update`)          |\n| `useStateValue(path)`              | Get single value from state                                     |\n| `useStateBinding(path)`            | Two-way data binding (returns `[value, setValue]`)              |\n| `useIsVisible(condition)`          | Check if a visibility condition is met                          |\n| `useActions()`                     | Access action context                                           |\n| `useAction(name)`                  | Get a single action dispatch function                           |\n| `useFieldValidation(path, config)` | Field validation state                                          |\n| `useOptionalValidation()`          | Non-throwing validation context (returns `null` if no provider) |\n| `useUIStream(options)`             | Stream specs from an API endpoint                               |\n\n## Visibility Conditions\n\n```typescript\n// Truthiness check\n{ \"$state\": \"/user/isAdmin\" }\n\n// Auth state (use state path)\n{ \"$state\": \"/auth/isSignedIn\" }\n\n// Comparisons (flat style)\n{ \"$state\": \"/status\", \"eq\": \"active\" }\n{ \"$state\": \"/count\", \"gt\": 10 }\n\n// Negation\n{ \"$state\": \"/maintenance\", \"not\": true }\n\n// Multiple conditions (implicit AND)\n[\n  { \"$state\": \"/feature/enabled\" },\n  { \"$state\": \"/maintenance\", \"not\": true }\n]\n\n// Always / never\ntrue   // always visible\nfalse  // never visible\n```\n\nTypeScript helpers from `@json-render/core`:\n\n```typescript\nimport { visibility } from \"@json-render/core\";\n\nvisibility.when(\"/path\"); // { $state: \"/path\" }\nvisibility.unless(\"/path\"); // { $state: \"/path\", not: true }\nvisibility.eq(\"/path\", val); // { $state: \"/path\", eq: val }\nvisibility.neq(\"/path\", val); // { $state: \"/path\", neq: val }\nvisibility.and(cond1, cond2); // { $and: [cond1, cond2] }\nvisibility.always; // true\nvisibility.never; // false\n```\n\n## Dynamic Prop Expressions\n\nAny prop value can use data-driven expressions that resolve at render time. The renderer resolves these transparently before passing props to components.\n\n```json\n{\n  \"type\": \"Badge\",\n  \"props\": {\n    \"label\": { \"$state\": \"/user/role\" },\n    \"color\": {\n      \"$cond\": { \"$state\": \"/user/role\", \"eq\": \"admin\" },\n      \"$then\": \"red\",\n      \"$else\": \"gray\"\n    }\n  }\n}\n```\n\nFor two-way binding, use `{ \"$bindState\": \"/path\" }` on the natural value prop (e.g. `value`, `checked`, `pressed`). Inside repeat scopes, use `{ \"$bindItem\": \"field\" }` instead.\n\nTo render a filtered list (kanban columns, status sections), put `repeat` and an `$item` visibility condition on the same container: `{ \"repeat\": { \"statePath\": \"/tasks\", \"key\": \"id\" }, \"visible\": { \"$item\": \"status\", \"eq\": \"todo\" }, \"children\": [\"task-card\"] }` renders one child per matching item. AND-composed `$state` conjuncts still gate the container itself. Components receive resolved `bindings` with the state path for each bound prop; use `useBoundProp(props.value, bindings?.value)` to get `[value, setValue]`.\n\n### `$template` and `$computed`\n\n```json\n{\n  \"label\": { \"$template\": \"Hello, ${/user/name}!\" },\n  \"fullName\": {\n    \"$computed\": \"fullName\",\n    \"args\": {\n      \"first\": { \"$state\": \"/form/firstName\" },\n      \"last\": { \"$state\": \"/form/lastName\" }\n    }\n  }\n}\n```\n\nRegister functions via the `functions` prop on `JSONUIProvider` or `createRenderer`:\n\n```tsx\n<JSONUIProvider\n  spec={spec}\n  catalog={catalog}\n  functions={{ fullName: (args) => `${args.first} ${args.last}` }}\n>\n```\n\nSee [@json-render/core](../core/README.md) for full expression syntax.\n\n## State Watchers\n\nElements can declare a `watch` field to trigger actions when state values change:\n\n```json\n{\n  \"type\": \"Select\",\n  \"props\": {\n    \"label\": \"Country\",\n    \"value\": { \"$bindState\": \"/form/country\" },\n    \"options\": [\"US\", \"Canada\", \"UK\"]\n  },\n  \"watch\": {\n    \"/form/country\": {\n      \"action\": \"loadCities\",\n      \"params\": { \"country\": { \"$state\": \"/form/country\" } }\n    }\n  },\n  \"children\": []\n}\n```\n\n`watch` is a top-level field on elements (sibling of `type`/`props`/`children`), not inside `props`. Watchers only fire on value changes, not on initial render.\n\n## Built-in Actions\n\nThe `setState`, `pushState`, `removeState`, and `validateForm` actions are built into the React schema and handled automatically by `ActionProvider`. They are injected into AI prompts without needing to be declared in your catalog's `actions`:\n\n```json\n{\n  \"type\": \"Button\",\n  \"props\": { \"label\": \"Switch Tab\" },\n  \"on\": {\n    \"press\": {\n      \"action\": \"setState\",\n      \"params\": { \"statePath\": \"/activeTab\", \"value\": \"settings\" }\n    }\n  },\n  \"children\": []\n}\n```\n\n### `validateForm`\n\nValidate all registered form fields at once and write the result to state:\n\n```json\n{\n  \"type\": \"Button\",\n  \"props\": { \"label\": \"Submit\" },\n  \"on\": {\n    \"press\": [\n      { \"action\": \"validateForm\", \"params\": { \"statePath\": \"/formResult\" } },\n      { \"action\": \"submitForm\" }\n    ]\n  },\n  \"children\": []\n}\n```\n\nWrites `{ valid: boolean, errors: Record<string, string[]> }` to the specified state path (defaults to `/formValidation`).\n\n## Component Props\n\nWhen using `defineRegistry`, components receive these props:\n\n```typescript\ninterface ComponentContext<P> {\n  props: P; // Typed props from the catalog (expressions resolved)\n  children?: React.ReactNode; // Rendered children\n  slots?: Record<string, React.ReactNode>; // Rendered named slots\n  emit: (event: string) => void; // Emit a named event (always defined)\n  on: (event: string) => EventHandle; // Get event handle with metadata\n  loading?: boolean; // Whether the parent is loading\n  bindings?: Record<string, string>; // State paths for $bindState/$bindItem expressions (e.g. bindings.value)\n}\n\ninterface EventHandle {\n  emit: () => void; // Fire the event\n  shouldPreventDefault: boolean; // Whether any binding requested preventDefault\n  bound: boolean; // Whether any handler is bound\n}\n```\n\nUse `children` for the catalog's `\"default\"` slot. Components with additional slots receive them by name:\n\n```tsx\nLayout: ({ children, slots }) => (\n  <div>\n    <header>{slots?.header}</header>\n    <main>{children}</main>\n    <footer>{slots?.footer}</footer>\n  </div>\n),\n```\n\nUse `emit(\"press\")` for simple event firing. Use `on(\"click\")` when you need to check metadata like `shouldPreventDefault` or `bound`:\n\n```tsx\nLink: ({ props, on }) => {\n  const click = on(\"click\");\n  return (\n    <a\n      href={props.href}\n      onClick={(e) => {\n        if (click.shouldPreventDefault) e.preventDefault();\n        click.emit();\n      }}\n    >\n      {props.label}\n    </a>\n  );\n},\n```\n\nUse `bindings?.value`, `bindings?.checked`, etc. with `useBoundProp()` for two-way bound form components.\n\n### `BaseComponentProps`\n\nFor building reusable component libraries that are not tied to a specific catalog (e.g. `@json-render/shadcn`), use the catalog-agnostic `BaseComponentProps` type:\n\n```typescript\nimport type { BaseComponentProps } from \"@json-render/react\";\n\nconst Card = ({ props, children }: BaseComponentProps<{ title?: string }>) => (\n  <div>{props.title}{children}</div>\n);\n```\n\n## Generate AI Prompts\n\n```typescript\nconst systemPrompt = catalog.prompt();\n// Returns detailed prompt with component/action descriptions\n```\n\n## Full Example\n\n```tsx\nimport { defineCatalog } from \"@json-render/core\";\nimport { schema } from \"@json-render/react/schema\";\nimport { defineRegistry, Renderer } from \"@json-render/react\";\nimport { z } from \"zod\";\n\nconst catalog = defineCatalog(schema, {\n  components: {\n    Greeting: {\n      props: z.object({ name: z.string() }),\n      description: \"Displays a greeting\",\n    },\n  },\n  actions: {},\n});\n\nconst { registry } = defineRegistry(catalog, {\n  components: {\n    Greeting: ({ props }) => <h1>Hello, {props.name}!</h1>,\n  },\n});\n\nconst spec = {\n  root: \"greeting-1\",\n  elements: {\n    \"greeting-1\": {\n      type: \"Greeting\",\n      props: { name: \"World\" },\n      children: [],\n    },\n  },\n};\n\nfunction App() {\n  return <Renderer spec={spec} registry={registry} />;\n}\n```\n\n## Key Exports\n\nNested lists can set `repeat.statePath` to `{ \"$item\": \"field\" }` to iterate an array on the enclosing repeat item.\n\n| Export             | Purpose                                                                                                 |\n| ------------------ | ------------------------------------------------------------------------------------------------------- |\n| `defineRegistry`   | Create a type-safe component registry from a catalog                                                    |\n| `Renderer`         | Render a spec using a registry                                                                          |\n| `schema`           | Element tree schema (includes built-in actions: `setState`, `pushState`, `removeState`, `validateForm`) |\n| `useStateStore`    | Access state context                                                                                    |\n| `useStateValue`    | Get single value from state                                                                             |\n| `useBoundProp`     | Two-way binding for `$bindState`/`$bindItem` expressions                                                |\n| `useActions`       | Access actions context                                                                                  |\n| `useAction`        | Get a single action dispatch function                                                                   |\n| `useUIStream`      | Stream specs from an API endpoint                                                                       |\n| `createStateStore` | Create a framework-agnostic in-memory `StateStore`                                                      |\n\n### Types\n\n| Export               | Purpose                                                     |\n| -------------------- | ----------------------------------------------------------- |\n| `ComponentContext`   | Typed component render function context (catalog-aware)     |\n| `BaseComponentProps` | Catalog-agnostic base type for reusable component libraries |\n| `EventHandle`        | Event handle with `emit()`, `shouldPreventDefault`, `bound` |\n| `ComponentFn`        | Component render function type                              |\n| `SetState`           | State setter type                                           |\n| `StateModel`         | State model type                                            |\n| `StateStore`         | Interface for plugging in external state management         |\n","readmeFilename":"README.md"}