@ng-render/angular
v0.1.0
Published
Angular renderer for @json-render/core — render AI-generated JSON specs as Angular component trees
Maintainers
Readme
@ng-render/angular
Angular renderer for @json-render/core — render AI-generated JSON specs as Angular component trees.
Installation
npm install @ng-render/angular @json-render/coreRequires Angular 21+.
Quick Start
import { defineCatalog } from '@json-render/core';
import { schema, defineRegistry, provideNgRender } from '@ng-render/angular';
import { z } from 'zod';
// Define your catalog
const catalog = defineCatalog(schema, {
components: {
Card: {
props: z.object({ title: z.string() }),
slots: ['default'],
description: 'A card container',
},
},
});
// Register Angular components
const { registry } = defineRegistry(catalog, {
components: { Card: CardComponent },
});
// Provide at app level
export const appConfig = {
providers: [provideNgRender({ registry })],
};<!-- Render a spec -->
<json-renderer [spec]="spec" [loading]="isStreaming" />API
Provider
provideNgRender(options)— Environment-level providerNG_RENDER_REGISTRY— Injection token for component registryNG_RENDER_ACTION_HANDLERS— Injection token for action handlersNG_RENDER_NAVIGATE— Injection token for navigation handlerNG_RENDER_FALLBACK— Injection token for fallback component
Components
JsonRendererComponent— Main<json-renderer>componentElementRendererComponent— Internal per-element rendererChildrenOutletDirective— Slot directive for child compositionConfirmDialogComponent— Action confirmation dialogFallbackComponent— Default unknown-type handler
Hooks
createUIStream()— Streaming spec generation with signalscreateChatUI()— Chat interface with spec messagesboundProp()/injectBoundProp()— Two-way data binding helpersapplyPatch()— JSON Patch application for streamingbuildSpecFromParts()/flatToTree()— Spec construction utilities
Services (per <json-renderer> instance)
SpecStateService— State managementVisibilityService— Conditional visibility resolutionActionDispatcherService— Action execution and confirmationValidationService— Field validation tracking
Credits
Built on @json-render/core by Vercel Labs.
Angular implementation by the ng-render community.
