Skip to content

feat(react): support named slots - #320

Merged
Railly merged 1 commit into
mainfrom
railly/named-slots
Aug 15, 2026
Merged

feat(react): support named slots#320
Railly merged 1 commit into
mainfrom
railly/named-slots

Conversation

@Railly

@Railly Railly commented Aug 13, 2026

Copy link
Copy Markdown
Member

Summary

Rebuilds and supersedes #105 on current main, preserving @wotnak's authorship through commit co-authorship.

  • add UIElement.slots as named structural child references
  • render named slots in @json-render/react through slots?: Record<string, ReactNode>
  • keep children as the default slot and warn on slots.default or unknown slot names
  • preserve slots through validation, autofix, traversal, streaming, nested conversion, code export, playground views, and Devtools navigation
  • expose named slot names in prompts only for schemas that support the element-level field
  • document named slot rendering as React-specific

Named slots render once and do not inherit the repeat scope created by their owning element. Repeat continues to apply only to children.

image

Closes #39.
Supersedes #105.

Verification

  • pnpm test: 1,061 tests across 66 files
  • pnpm type-check: 59/59 packages
  • pnpm lint: 14/14 tasks
  • git diff --check
  • Review Gate deterministic checks: style, surfaces, and exact-HEAD coverage passed

Co-authored-by: wotnak <wotnak@pm.me>
@vercel

vercel Bot commented Aug 13, 2026

Copy link
Copy Markdown
Contributor

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
json-render Ready Ready Preview Aug 13, 2026 8:10pm
json-render-chat-demo Ready Ready Preview Aug 13, 2026 8:10pm
json-render-dashboard-demo Ready Ready Preview Aug 13, 2026 8:10pm
json-render-game-engine-demo Ready Ready Preview Aug 13, 2026 8:10pm
json-render-image-demo Ready Ready Preview Aug 13, 2026 8:10pm
json-render-no-ai Ready Ready Preview Aug 13, 2026 8:10pm
json-render-react-email-demo Ready Ready Preview Aug 13, 2026 8:10pm
json-render-react-pdf-demo Ready Ready Preview Aug 13, 2026 8:10pm
json-render-react-three-fiber-demo Ready Ready Preview Aug 13, 2026 8:10pm
json-render-remotion-demo Ready Ready Preview Aug 13, 2026 8:10pm
json-render-solid-demo Ready Ready Preview Aug 13, 2026 8:10pm
json-render-svelte-chat-demo Ready Ready Preview Aug 13, 2026 8:10pm
json-render-svelte-demo Ready Ready Preview Aug 13, 2026 8:10pm
json-render-vue Ready Ready Preview Aug 13, 2026 8:10pm

@Railly
Railly merged commit 0f6798b into main Aug 15, 2026
22 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add slot (ReactNode prop) support

2 participants