You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Dynamic forms, Vue renderer, XState Store adapter, and computed values.
10
+
11
+
### New: `@json-render/vue` Package
12
+
13
+
Vue 3 renderer for json-render. Full feature parity with `@json-render/react` including data binding, visibility conditions, actions, validation, repeat scopes, and streaming.
14
+
-`defineRegistry` — create type-safe component registries from catalogs
Non-throwing variant of `useValidation()`. Returns `null` when no `ValidationProvider` is present, instead of throwing. Useful in components that may or may not be rendered inside a validation context.
264
+
265
+
```typescript
266
+
const validation =useOptionalValidation();
267
+
// ValidationContextValue | null
268
+
```
269
+
240
270
### useBoundProp
241
271
242
272
Two-way binding helper for `$bindState` / `$bindItem` expressions. Returns `[value, setValue]` where `setValue` writes back to the bound state path.
Vue 3 renderer for json-render with full feature parity with `@json-render/react`. Data binding, visibility conditions, actions, validation, repeat scopes, streaming, and external store support.
See the [Vue API reference](/docs/api/vue) for details.
38
+
39
+
### New: `@json-render/xstate`
40
+
41
+
[XState Store](https://stately.ai/docs/xstate-store) (atom) adapter for json-render's `StateStore` interface. Wire an `@xstate/store` atom as the state backend for any renderer.
`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. See [Watchers](/docs/watchers) for details.
81
+
82
+
### New: Cross-Field Validation
83
+
84
+
New built-in validation functions for cross-field comparisons:
85
+
86
+
-`equalTo` -- alias for `matches` with clearer semantics
87
+
-`lessThan` -- value must be less than another field
88
+
-`greaterThan` -- value must be greater than another field
89
+
-`requiredIf` -- required only when a condition field is truthy
90
+
91
+
Validation check args now resolve through `resolvePropValue`, so `$state` expressions work consistently.
92
+
93
+
### New: `validateForm` Action
94
+
95
+
Built-in action (React) that validates all registered form fields at once and writes `{ valid, errors }` to state:
0 commit comments