Components

Json Schema Form

Json Schema Form component with multiple variants and sizes.

Client Only

Installation

pnpm dlx @docyrus/cli add @docyrus/ui-json-schema-form
Required Packages(1 package)
pnpm add @tanstack/react-form
UI Primitives(2 components)
npx shadcn@latest add button card

Usage

import {
  JsonSchemaForm
} from "@docyrus/ui/components/json-schema-form";

<JsonSchemaForm
  mode="create"
  schema={...}
  data={...}
  mode="create"
  disabled
  submitLabel="..."
  onChange={() => {}}
  onSubmit={() => {}}
  emptyState={...}
  ref={...}
/>

Mode

ModeDescription
createCreate — space-y-6
editEdit — space-y-6
viewView — space-y-6

API Reference

PropTypeDefault
mode"create" | "edit" | "view""default"
schemaJsonSchema—
dataJsonSchemaFormData | null—
modeJsonSchemaFormMode—
disabledboolean—
submitLabelstring—
onChange(value: JsonSchemaFormData) => void—
onSubmit(value: JsonSchemaFormData) => void | Promise<void>—
emptyStateReactNode—
refRef<HTMLDivElement>—
classNamestring—

On this page