Skip to content

Choose your packages

A form needs three pieces: @texaryn/core, a schema adapter, and a framework binding. Display documents need the core and a binding, without a schema adapter.

Start in an application that already has the framework installed. For JSON Schema forms, install @texaryn/core and @texaryn/schema-json, then add one binding from this table.

Framework Add this binding Supported peer version Setup
React @texaryn/react React 18.3 or 19 Getting started
Angular @texaryn/angular Angular 20 or newer Angular guide
Vue @texaryn/vue Vue 3.5 or newer Vue guide
Svelte @texaryn/svelte Svelte 5.20 or newer Svelte guide
SolidJS @texaryn/solid SolidJS 1.9 SolidJS guide
Plain JavaScript @texaryn/web-components No framework dependency Web Components guide

For example, in a Vue application:

Terminal window
pnpm add @texaryn/core @texaryn/schema-json @texaryn/vue

The bindings observe the same runtime contracts. Their component APIs and runtime lifetime rules follow their own frameworks; see each setup guide.

  • JSON Schema: use @texaryn/schema-json. It supports Draft 4, Draft 7, 2019-09 and 2020-12. Check support and limits for your keywords and reference patterns.
  • TypeBox: pass its JSON Schema output to @texaryn/schema-json. No separate Texaryn TypeBox package is needed.
  • Zod 4: use @texaryn/schema-zod with zod instead of installing the JSON Schema adapter directly. Zod validates; JSON Schema conversion supplies the field projection. Conversion limits matter for refinements and transforms.

Every binding includes default widgets and accepts a custom registry. React also has Bootstrap 5 and Material UI v9 widget packages. The styling guide covers their setup and styling the default React controls with your own CSS.

Each badge links to the package’s current npm version. Packages version independently: @texaryn/core, @texaryn/schema-json and @texaryn/react are at 1.0. The other packages remain below 1.0 and may introduce breaking changes in minor releases. See the roadmap for the compatibility contract.

Package npm Purpose
@texaryn/core npm version for @texaryn/core Headless form and display runtimes
@texaryn/schema-json npm version for @texaryn/schema-json JSON Schema evaluation, projection and validation
@texaryn/schema-zod npm version for @texaryn/schema-zod Zod 4 validation with JSON Schema projection
@texaryn/react npm version for @texaryn/react React hooks, form and display components
@texaryn/angular npm version for @texaryn/angular Angular signals and standalone components
@texaryn/vue npm version for @texaryn/vue Vue composables, form and display components
@texaryn/svelte npm version for @texaryn/svelte Svelte readable stores and components
@texaryn/solid npm version for @texaryn/solid SolidJS subscriptions and components
@texaryn/web-components npm version for @texaryn/web-components Custom element and DOM mounting functions
@texaryn/react-bootstrap npm version for @texaryn/react-bootstrap Bootstrap 5 form widgets for React
@texaryn/react-mui npm version for @texaryn/react-mui Material UI v9 form widgets for React
@texaryn/collaboration-yjs npm version for @texaryn/collaboration-yjs Shared scalar field edits through Yjs

The Yjs adapter covers shared scalar edits. The host supplies a Y.Doc and provider; concurrent array ordering is outside its contract. See the package README for setup.