Reference

React component API

Current public React surfaces for embedding, editing, inspecting, and styling Wire diagrams.

tsx
"use client";

import "@aigentive/wire-react/styles.css";
import { WireWorkspace, type WireDiagram } from "@aigentive/wire-react";

export function Editor({ diagram, onChange }: {
  diagram: WireDiagram;
  onChange: (diagram: WireDiagram) => void;
}) {
  return (
    <div style={{ height: 640 }}>
      <WireWorkspace diagram={diagram} onChange={onChange} colorMode="system" />
    </div>
  );
}
PropTypeDefaultNotes
diagramWireDiagram—Controlled durable diagram state.
defaultDiagramWireDiagram—Initial uncontrolled diagram.
onChange(diagram, event) => void—Receives updated WireDiagram and change metadata.
onAction(action, result) => void—Observe each WireAction result.
onEvent(event) => void—Receives node, edge, selection, and pane events.
validateOnChangeboolean—Refresh validation after reducer changes.
historyboolean—Enable provider undo/redo tracking.
selection / defaultSelectionWireSelection—Controlled or uncontrolled selected node and edge ids.
viewport / defaultViewportWireViewport—Controlled or uncontrolled pan and zoom state.
mode / defaultModeWireMode—View, edit, connect, or comment mode.
dirty / defaultDirtyboolean—Controlled or uncontrolled dirty state.
PropTypeDefaultNotes
mode"view" | "edit""view"Canvas interaction mode.
fitView / fitViewPaddingboolean / number—Initial bounds fit and padding.
showBackground / showControls / showMiniMapboolean—Built-in canvas chrome.
selectOnNodeClick / inspectOnNodeClickboolean—Default node-click behavior.
selectOnEdgeClick / inspectOnEdgeClickboolean—Default edge-click behavior.
optionCatalogWireOptionCatalog—Runtime option metadata for node forms.
renderNodeCard / renderGroup / renderEdgerenderer function—Custom renderers. Do not serialize renderer functions.
colorMode"light" | "dark" | "system"—Package CSS theme mode.
unstyled / classNames / className / stylestyling props—Style integration without requiring Tailwind.
keyboardA11yboolean—Enable keyboard navigation helpers.
PropTypeDefaultNotes
WireViewerdiagram: WireDiagram—Read-only provider + canvas wrapper. Accepts canvas props except mode.
WireEditordiagram/defaultDiagram + canvas props—Editable provider + canvas wrapper. Accepts provider state props and canvas props.
WireWorkspacediagram/defaultDiagram + shell props—Complete editor shell with sidebar, canvas, inspector, options, validation, and read-only mode.
WireInspectornodeId?, edgeId?, optionCatalog?—Inspector tabs for configure, style, edge, JSON, and validation views.
WireOptionPanelcatalog, nodeId—Standalone option fields for custom sidebars or modals.
WireToolbar / WirePalette / WireNodeList / WireValidationPanelcontext consumers—Use inside WireProvider or WireWorkspace composition.
PropTypeDefaultNotes
WireOptionSpecobject—Runtime option metadata: key, label, type, storage, section, width, options, bounds, and placeholder.
WireOptionCatalogRecord<kind | "*", WireOptionSpec[]>—Runtime catalog grouped by node kind plus shared wildcard options.
storage"node" | "data" | "metadata"—Controls where the serializable option value is written.
readWireOption / patchWireOptionhelpers—Read and patch serializable option values according to storage rules.
NextAPI · wire-core