Compare commits

..
Author SHA1 Message Date
Chris Tate f9d9826e53 fix lock 2026-02-17 00:38:56 -06:00
Chris Tate 357048c701 minor fixes 2026-02-17 00:37:06 -06:00
Chris Tate 6482a4cb97 on arg 2026-02-17 00:27:16 -06:00
Chris Tate a98a33a8bb fixes 2026-02-16 23:45:14 -06:00
Chris Tate 16678cfb67 fix interleave 2026-02-16 23:32:38 -06:00
Chris Tate 9a5e82ab32 stronger types 2026-02-16 23:15:29 -06:00
Chris Tate 558b01a368 fixes 2026-02-16 22:32:46 -06:00
Chris Tate 08417cadc8 improvements 2026-02-16 22:22:16 -06:00
Chris Tate c73acd8ba0 fix CI error 2026-02-16 22:02:18 -06:00
Chris Tate 152d52e5bf fix readme 2026-02-16 22:01:53 -06:00
Chris Tate bd14067e5f fix build error 2026-02-16 21:59:32 -06:00
Chris Tate cd85275979 shadcn 2026-02-16 21:52:06 -06:00
13 changed files with 6 additions and 175 deletions
-1
View File
@@ -6,7 +6,6 @@
[
"@json-render/core",
"@json-render/react",
"@json-render/shadcn",
"@json-render/react-native",
"@json-render/remotion",
"@json-render/codegen"
-7
View File
@@ -1,12 +1,5 @@
# @json-render/codegen
## 0.7.0
### Patch Changes
- Updated dependencies [2d70fab]
- @json-render/core@0.7.0
## 0.6.1
### Patch Changes
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@json-render/codegen",
"version": "0.7.0",
"version": "0.6.1",
"license": "Apache-2.0",
"description": "Utilities for generating code from json-render UI trees",
"keywords": [
-45
View File
@@ -1,50 +1,5 @@
# @json-render/core
## 0.7.0
### Minor Changes
- 2d70fab: New `@json-render/shadcn` package, event handles, built-in actions, and stream improvements.
### New: `@json-render/shadcn` Package
Pre-built [shadcn/ui](https://ui.shadcn.com/) component library for json-render. 30+ components built on Radix UI + Tailwind CSS, ready to use with `defineCatalog` and `defineRegistry`.
- `shadcnComponentDefinitions` — Zod-based catalog definitions for all components (server-safe, no React dependency via `@json-render/shadcn/catalog`)
- `shadcnComponents` — React implementations for all components
- Layout: Card, Stack, Grid, Separator
- Navigation: Tabs, Accordion, Collapsible, Pagination
- Overlay: Dialog, Drawer, Tooltip, Popover, DropdownMenu
- Content: Heading, Text, Image, Avatar, Badge, Alert, Carousel, Table
- Feedback: Progress, Skeleton, Spinner
- Input: Button, Link, Input, Textarea, Select, Checkbox, Radio, Switch, Slider, Toggle, ToggleGroup, ButtonGroup
### New: Event Handles (`on()`)
Components now receive an `on(event)` function in addition to `emit(event)`. The `on()` function returns an `EventHandle` with metadata:
- `emit()` — fire the event
- `shouldPreventDefault` — whether any action binding requested `preventDefault`
- `bound` — whether any handler is bound to this event
### New: `BaseComponentProps`
Catalog-agnostic base type for component render functions. Use when building reusable component libraries (like `@json-render/shadcn`) that are not tied to a specific catalog.
### New: Built-in Actions in Schema
Schemas can now declare `builtInActions` — actions that are always available at runtime and automatically injected into prompts. The React schema declares `setState`, `pushState`, and `removeState` as built-in, so they appear in prompts without needing to be listed in catalog `actions`.
### New: `preventDefault` on `ActionBinding`
Action bindings now support a `preventDefault` boolean field, allowing the LLM to request that default browser behavior (e.g. navigation on links) be prevented.
### Improved: Stream Transform Text Block Splitting
`createJsonRenderTransform()` now properly splits text blocks around spec data by emitting `text-end`/`text-start` pairs. This ensures the AI SDK creates separate text parts, preserving correct interleaving of prose and UI in `message.parts`.
### Improved: `defineRegistry` Actions Requirement
`defineRegistry` now conditionally requires the `actions` field only when the catalog declares actions. Catalogs with no actions (e.g. `actions: {}`) no longer need to pass an empty actions object.
## 0.6.1
## 0.6.1
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@json-render/core",
"version": "0.7.0",
"version": "0.6.1",
"license": "Apache-2.0",
"description": "JSON becomes real things. Define your catalog, register your components, let AI generate.",
"keywords": [
-7
View File
@@ -1,12 +1,5 @@
# @json-render/react-native
## 0.7.0
### Patch Changes
- Updated dependencies [2d70fab]
- @json-render/core@0.7.0
## 0.6.1
### Patch Changes
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@json-render/react-native",
"version": "0.7.0",
"version": "0.6.1",
"license": "Apache-2.0",
"description": "React Native renderer for @json-render/core. JSON becomes React Native components.",
"keywords": [
-50
View File
@@ -1,55 +1,5 @@
# @json-render/react
## 0.7.0
### Minor Changes
- 2d70fab: New `@json-render/shadcn` package, event handles, built-in actions, and stream improvements.
### New: `@json-render/shadcn` Package
Pre-built [shadcn/ui](https://ui.shadcn.com/) component library for json-render. 30+ components built on Radix UI + Tailwind CSS, ready to use with `defineCatalog` and `defineRegistry`.
- `shadcnComponentDefinitions` — Zod-based catalog definitions for all components (server-safe, no React dependency via `@json-render/shadcn/catalog`)
- `shadcnComponents` — React implementations for all components
- Layout: Card, Stack, Grid, Separator
- Navigation: Tabs, Accordion, Collapsible, Pagination
- Overlay: Dialog, Drawer, Tooltip, Popover, DropdownMenu
- Content: Heading, Text, Image, Avatar, Badge, Alert, Carousel, Table
- Feedback: Progress, Skeleton, Spinner
- Input: Button, Link, Input, Textarea, Select, Checkbox, Radio, Switch, Slider, Toggle, ToggleGroup, ButtonGroup
### New: Event Handles (`on()`)
Components now receive an `on(event)` function in addition to `emit(event)`. The `on()` function returns an `EventHandle` with metadata:
- `emit()` — fire the event
- `shouldPreventDefault` — whether any action binding requested `preventDefault`
- `bound` — whether any handler is bound to this event
### New: `BaseComponentProps`
Catalog-agnostic base type for component render functions. Use when building reusable component libraries (like `@json-render/shadcn`) that are not tied to a specific catalog.
### New: Built-in Actions in Schema
Schemas can now declare `builtInActions` — actions that are always available at runtime and automatically injected into prompts. The React schema declares `setState`, `pushState`, and `removeState` as built-in, so they appear in prompts without needing to be listed in catalog `actions`.
### New: `preventDefault` on `ActionBinding`
Action bindings now support a `preventDefault` boolean field, allowing the LLM to request that default browser behavior (e.g. navigation on links) be prevented.
### Improved: Stream Transform Text Block Splitting
`createJsonRenderTransform()` now properly splits text blocks around spec data by emitting `text-end`/`text-start` pairs. This ensures the AI SDK creates separate text parts, preserving correct interleaving of prose and UI in `message.parts`.
### Improved: `defineRegistry` Actions Requirement
`defineRegistry` now conditionally requires the `actions` field only when the catalog declares actions. Catalogs with no actions (e.g. `actions: {}`) no longer need to pass an empty actions object.
### Patch Changes
- Updated dependencies [2d70fab]
- @json-render/core@0.7.0
## 0.6.1
### Patch Changes
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@json-render/react",
"version": "0.7.0",
"version": "0.6.1",
"license": "Apache-2.0",
"description": "React renderer for @json-render/core. JSON becomes React components.",
"keywords": [
-7
View File
@@ -1,12 +1,5 @@
# @json-render/remotion
## 0.7.0
### Patch Changes
- Updated dependencies [2d70fab]
- @json-render/core@0.7.0
## 0.6.1
### Patch Changes
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@json-render/remotion",
"version": "0.7.0",
"version": "0.6.1",
"license": "Apache-2.0",
"description": "Remotion renderer for @json-render/core. JSON becomes video compositions.",
"keywords": [
-52
View File
@@ -1,52 +0,0 @@
# @json-render/shadcn
## 0.7.0
### Minor Changes
- 2d70fab: New `@json-render/shadcn` package, event handles, built-in actions, and stream improvements.
### New: `@json-render/shadcn` Package
Pre-built [shadcn/ui](https://ui.shadcn.com/) component library for json-render. 30+ components built on Radix UI + Tailwind CSS, ready to use with `defineCatalog` and `defineRegistry`.
- `shadcnComponentDefinitions` — Zod-based catalog definitions for all components (server-safe, no React dependency via `@json-render/shadcn/catalog`)
- `shadcnComponents` — React implementations for all components
- Layout: Card, Stack, Grid, Separator
- Navigation: Tabs, Accordion, Collapsible, Pagination
- Overlay: Dialog, Drawer, Tooltip, Popover, DropdownMenu
- Content: Heading, Text, Image, Avatar, Badge, Alert, Carousel, Table
- Feedback: Progress, Skeleton, Spinner
- Input: Button, Link, Input, Textarea, Select, Checkbox, Radio, Switch, Slider, Toggle, ToggleGroup, ButtonGroup
### New: Event Handles (`on()`)
Components now receive an `on(event)` function in addition to `emit(event)`. The `on()` function returns an `EventHandle` with metadata:
- `emit()` — fire the event
- `shouldPreventDefault` — whether any action binding requested `preventDefault`
- `bound` — whether any handler is bound to this event
### New: `BaseComponentProps`
Catalog-agnostic base type for component render functions. Use when building reusable component libraries (like `@json-render/shadcn`) that are not tied to a specific catalog.
### New: Built-in Actions in Schema
Schemas can now declare `builtInActions` — actions that are always available at runtime and automatically injected into prompts. The React schema declares `setState`, `pushState`, and `removeState` as built-in, so they appear in prompts without needing to be listed in catalog `actions`.
### New: `preventDefault` on `ActionBinding`
Action bindings now support a `preventDefault` boolean field, allowing the LLM to request that default browser behavior (e.g. navigation on links) be prevented.
### Improved: Stream Transform Text Block Splitting
`createJsonRenderTransform()` now properly splits text blocks around spec data by emitting `text-end`/`text-start` pairs. This ensures the AI SDK creates separate text parts, preserving correct interleaving of prose and UI in `message.parts`.
### Improved: `defineRegistry` Actions Requirement
`defineRegistry` now conditionally requires the `actions` field only when the catalog declares actions. Catalogs with no actions (e.g. `actions: {}`) no longer need to pass an empty actions object.
### Patch Changes
- Updated dependencies [2d70fab]
- @json-render/core@0.7.0
- @json-render/react@0.7.0
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@json-render/shadcn",
"version": "0.7.0",
"version": "0.0.1",
"license": "Apache-2.0",
"description": "shadcn/ui component library for @json-render/core. JSON becomes beautiful Tailwind-styled React components.",
"keywords": [