editor-react

@hlang-org/editor-react

React bindings of the Lumen editor for hlang: hooks that connect @hlang-org/editor-core to React Flow. Version 0.1.1, 35 exports.

Interfaces

ClipboardState

Defined in: packages/editor-react/src/hooks/useClipboard.ts:34

Methods

canPaste()
TypeScript
canPaste(): boolean;

Defined in: packages/editor-react/src/hooks/useClipboard.ts:51

Whether the in-memory clipboard holds something to paste.

Returns

boolean

copy()
TypeScript
copy(): void;

Defined in: packages/editor-react/src/hooks/useClipboard.ts:36

Copy the current selection into the clipboard (no graph change).

Returns

void

cut()
TypeScript
cut(): void;

Defined in: packages/editor-react/src/hooks/useClipboard.ts:38

Copy the selection, then delete it as one undo step.

Returns

void

duplicate()
TypeScript
duplicate(): void;

Defined in: packages/editor-react/src/hooks/useClipboard.ts:47

Clone the current selection in place (offset), selecting the clones.

Returns

void

paste()
TypeScript
paste(flowPos?): void;

Defined in: packages/editor-react/src/hooks/useClipboard.ts:45

Paste the clipboard as fresh nodes, selecting them. If flowPos is given (the canvas cursor in flow space), the pasted set is anchored there; else a small fixed offset is used. Prefers the system clipboard (cross-document), falling back to the in-memory copy. Async because it reads the OS clipboard.

Parameters
ParameterType
flowPos?Point
Returns

void

remove()
TypeScript
remove(): void;

Defined in: packages/editor-react/src/hooks/useClipboard.ts:49

Delete the current selection as one undo step.

Returns

void


DiagnosticsState

Defined in: packages/editor-react/src/hooks/useDiagnostics.ts:11

Properties

PropertyModifierTypeDefined in
allreadonlyreadonly Diagnostic[]packages/editor-react/src/hooks/useDiagnostics.ts:12
byNodereadonlyReadonlyMap<string, readonly Diagnostic[]>packages/editor-react/src/hooks/useDiagnostics.ts:13

Methods

worstOf()
TypeScript
worstOf(id): Diagnostic | undefined;

Defined in: packages/editor-react/src/hooks/useDiagnostics.ts:15

The most severe diagnostic on a node (error > warning), or undefined.

Parameters
ParameterType
idstring
Returns

Diagnostic | undefined


EditorProviderProps

Defined in: packages/editor-react/src/context.tsx:15

Properties

PropertyModifierTypeDefined in
childrenreadonlyReactNodepackages/editor-react/src/context.tsx:17
corereadonlyEditorCorepackages/editor-react/src/context.tsx:16

GraphView

Defined in: packages/editor-react/src/hooks/useGraphSync.ts:17

Properties


HistoryState

Defined in: packages/editor-react/src/hooks/useHistory.ts:11

Properties

PropertyModifierTypeDefined in
canRedoreadonlybooleanpackages/editor-react/src/hooks/useHistory.ts:13
canUndoreadonlybooleanpackages/editor-react/src/hooks/useHistory.ts:12

Methods

redo()
TypeScript
redo(): void;

Defined in: packages/editor-react/src/hooks/useHistory.ts:15

Returns

void

undo()
TypeScript
undo(): void;

Defined in: packages/editor-react/src/hooks/useHistory.ts:14

Returns

void


HlangEdgeData

Defined in: packages/editor-react/src/mapping/types.ts:28

Data payload attached to a React Flow edge. Carries the hlang port ids so a custom edge can distinguish, e.g., an error-port edge from a normal one.

Extends

  • Record<string, unknown>

Indexable

TypeScript
[key: string]: unknown

Properties

PropertyModifierTypeDescriptionDefined in
isErrorreadonlybooleanWhether the source port is the @node/error port.packages/editor-react/src/mapping/types.ts:32
sourcePortIdreadonlystring-packages/editor-react/src/mapping/types.ts:29
streamreadonly"live" | "value"The source port's stream mode ('live' default | 'value'), for edge visuals.packages/editor-react/src/mapping/types.ts:34
targetPortIdreadonlystring-packages/editor-react/src/mapping/types.ts:30

HlangFlowProps

Defined in: packages/editor-react/src/hooks/useHlangFlow.ts:40

Properties

PropertyModifierTypeDescriptionDefined in
edgesreadonlyHlangRFEdge[]-packages/editor-react/src/hooks/useHlangFlow.ts:42
isValidConnectionreadonlyIsValidConnection-packages/editor-react/src/hooks/useHlangFlow.ts:46
nodesreadonlyHlangRFNode[]-packages/editor-react/src/hooks/useHlangFlow.ts:41
onConnectreadonly(connection) => void-packages/editor-react/src/hooks/useHlangFlow.ts:45
onEdgesChangereadonly(changes) => void-packages/editor-react/src/hooks/useHlangFlow.ts:44
onNodesChangereadonly(changes) => void-packages/editor-react/src/hooks/useHlangFlow.ts:43
resyncreadonly() => voidForce a full re-derivation from the core. The event-driven reconcile only fires on structural events; a BULK load (model.restore importing a whole IGraph) emits none, so the host calls this once after importing a graph.packages/editor-react/src/hooks/useHlangFlow.ts:52

HlangNodeData

Defined in: packages/editor-react/src/mapping/types.ts:20

Data payload attached to a React Flow node. Carries the full EditorNode so custom node components can render ports, params, kind, etc. The index signature satisfies React Flow's Record<string, unknown> data constraint while keeping our own field strongly typed.

Extends

  • Record<string, unknown>

Indexable

TypeScript
[key: string]: unknown

Properties

PropertyModifierTypeDefined in
editorNodereadonlyEditorNodepackages/editor-react/src/mapping/types.ts:21

NodeBox

Defined in: packages/editor-react/src/hooks/useReconnect.ts:26

A node's live geometry (flow space) supplied by the host for hit-testing.

Properties

PropertyModifierTypeDescriptionDefined in
heightreadonlynumber-packages/editor-react/src/hooks/useReconnect.ts:31
positionreadonlyPointTop-left in flow coords (React Flow's absolute position).packages/editor-react/src/hooks/useReconnect.ts:28
widthreadonlynumberMeasured size in flow units; used to derive the centre + hit tolerance.packages/editor-react/src/hooks/useReconnect.ts:30

NodeViewState

Defined in: packages/editor-react/src/mapping/convert.ts:19

Per-node view flags reflected into React Flow (from editor-core's view-state).

Properties

PropertyModifierTypeDescriptionDefined in
hiddenreadonlyboolean-packages/editor-react/src/mapping/convert.ts:20
lockedreadonlyboolean-packages/editor-react/src/mapping/convert.ts:21
selected?readonlybooleanWhether the node is selected in editor-core's selection service.packages/editor-react/src/mapping/convert.ts:23

ReconnectHandle

Defined in: packages/editor-react/src/hooks/useReconnect.ts:34

Methods

hitTestEdge()
TypeScript
hitTestEdge(nodeId, box): string | undefined;

Defined in: packages/editor-react/src/hooks/useReconnect.ts:43

Given a dragged node's live box, find the nearest edge its centre lands on (within a tolerance derived from the node's own size), or undefined. This owns the geometry (edge iteration + point-to-segment distance) so hosts don't re-implement it. Edges incident to the node itself are ignored.

Parameters
ParameterType
nodeIdstring
boxNodeBox
Returns

string | undefined

insertOnEdge()
TypeScript
insertOnEdge(
   nodeId, 
   edgeId, 
   at?
): boolean;

Defined in: packages/editor-react/src/hooks/useReconnect.ts:48

Splice nodeId onto edgeId (drop-on-edge insert). Returns true if a legal splice happened. Optionally snaps the node to at (e.g. the edge midpoint).

Parameters
ParameterType
nodeIdstring
edgeIdstring
at?Point
Returns

boolean

onReconnect()
TypeScript
onReconnect(oldEdge, connection): void;

Defined in: packages/editor-react/src/hooks/useReconnect.ts:36

RF onReconnect: move an edge's endpoint to a new port (one undo step).

Parameters
ParameterType
oldEdgeHlangRFEdge
connectionConnection
Returns

void


RenameHandle

Defined in: packages/editor-react/src/hooks/useRename.ts:10

Methods

rename()
TypeScript
rename(id, name): void;

Defined in: packages/editor-react/src/hooks/useRename.ts:11

Parameters
ParameterType
idstring
namestring
Returns

void


SelectionState

Defined in: packages/editor-react/src/hooks/useSelection.ts:14

Properties

PropertyModifierTypeDefined in
selectedEdgesreadonlyreadonly string[]packages/editor-react/src/hooks/useSelection.ts:16
selectedNodesreadonlyreadonly string[]packages/editor-react/src/hooks/useSelection.ts:15

Methods

clear()
TypeScript
clear(): void;

Defined in: packages/editor-react/src/hooks/useSelection.ts:20

Returns

void

isSelected()
TypeScript
isSelected(id): boolean;

Defined in: packages/editor-react/src/hooks/useSelection.ts:17

Parameters
ParameterType
idstring
Returns

boolean

selectEdges()
TypeScript
selectEdges(ids, mode): void;

Defined in: packages/editor-react/src/hooks/useSelection.ts:19

Parameters
ParameterType
idsreadonly string[]
modeSelectionMode
Returns

void

selectNodes()
TypeScript
selectNodes(ids, mode): void;

Defined in: packages/editor-react/src/hooks/useSelection.ts:18

Parameters
ParameterType
idsreadonly string[]
modeSelectionMode
Returns

void


ViewStateState

Defined in: packages/editor-react/src/hooks/useViewState.ts:14

Properties

PropertyModifierTypeDefined in
hiddenNodesreadonlyreadonly string[]packages/editor-react/src/hooks/useViewState.ts:15
lockedNodesreadonlyreadonly string[]packages/editor-react/src/hooks/useViewState.ts:16

Methods

clear()
TypeScript
clear(): void;

Defined in: packages/editor-react/src/hooks/useViewState.ts:23

Returns

void

isHidden()
TypeScript
isHidden(id): boolean;

Defined in: packages/editor-react/src/hooks/useViewState.ts:17

Parameters
ParameterType
idstring
Returns

boolean

isLocked()
TypeScript
isLocked(id): boolean;

Defined in: packages/editor-react/src/hooks/useViewState.ts:18

Parameters
ParameterType
idstring
Returns

boolean

setHidden()
TypeScript
setHidden(id, hidden): void;

Defined in: packages/editor-react/src/hooks/useViewState.ts:19

Parameters
ParameterType
idstring
hiddenboolean
Returns

void

setLocked()
TypeScript
setLocked(id, locked): void;

Defined in: packages/editor-react/src/hooks/useViewState.ts:20

Parameters
ParameterType
idstring
lockedboolean
Returns

void

toggleHidden()
TypeScript
toggleHidden(id): void;

Defined in: packages/editor-react/src/hooks/useViewState.ts:21

Parameters
ParameterType
idstring
Returns

void

toggleLocked()
TypeScript
toggleLocked(id): void;

Defined in: packages/editor-react/src/hooks/useViewState.ts:22

Parameters
ParameterType
idstring
Returns

void

Type Aliases

HlangRFEdge

TypeScript
type HlangRFEdge = RFEdge<HlangEdgeData>;

Defined in: packages/editor-react/src/mapping/types.ts:41

A React Flow edge specialized to hlang.


HlangRFNode

TypeScript
type HlangRFNode = RFNode<HlangNodeData, NodeKind>;

Defined in: packages/editor-react/src/mapping/types.ts:38

A React Flow node specialized to hlang. type is the node kind (R/T/W).

Functions

EditorProvider()

TypeScript
function EditorProvider(__namedParameters): ReactElement;

Defined in: packages/editor-react/src/context.tsx:20

@hlang-org/editor-react

React bindings for the hlang visual editor. Hooks and context that connect a headless @hlang-org/editor-core to React Flow (@xyflow/react). This is the ONLY layer that imports React Flow — the core stays framework-agnostic, and design-system styling lives in @hlang-org/editor-ui, not here.

Parameters

ParameterType
__namedParametersEditorProviderProps

Returns

ReactElement


endpointsFromConnection()

TypeScript
function endpointsFromConnection(connection): 
  | {
  source: Endpoint;
  target: Endpoint;
}
  | undefined;

Defined in: packages/editor-react/src/mapping/convert.ts:71

Extract the source (O) and target (I) endpoints from a React Flow connection. Returns undefined when either handle is missing — hlang always wires named ports, so a connection without handles cannot be represented.

Parameters

ParameterType
connectionConnection

Returns

| { source: Endpoint; target: Endpoint; } | undefined


findPort()

TypeScript
function findPort(node, portId): PortDescriptor | undefined;

Defined in: packages/editor-react/src/mapping/types.ts:44

Look up a port descriptor on an editor node by id.

Parameters

ParameterType
nodeEditorNode
portIdstring

Returns

PortDescriptor | undefined


toRFEdge()

TypeScript
function toRFEdge(edge, sourceNode): HlangRFEdge;

Defined in: packages/editor-react/src/mapping/convert.ts:48

Convert an editor edge to a React Flow edge, preserving O->I direction.

Parameters

ParameterType
edgeEditorEdge
sourceNodeEditorNode | undefined

Returns

HlangRFEdge


toRFNode()

TypeScript
function toRFNode(node, view?): HlangRFNode;

Defined in: packages/editor-react/src/mapping/convert.ts:33

Convert an editor node to a React Flow node. Optional view flags map to React Flow's native hidden (removed from the rendered canvas), selected (so programmatic selection like ⌘A reflects on the canvas), and, when locked, draggable/selectable: false (pinned). Kept pure — callers supply the flags from core.viewState/core.selection, so this stays trivially testable.

Parameters

ParameterType
nodeEditorNode
view?NodeViewState

Returns

HlangRFNode


useClipboard()

TypeScript
function useClipboard(core): ClipboardState;

Defined in: packages/editor-react/src/hooks/useClipboard.ts:132

Parameters

ParameterType
coreEditorCore

Returns

ClipboardState


useConnect()

TypeScript
function useConnect(core): (connection) => void;

Defined in: packages/editor-react/src/hooks/useConnect.ts:37

Returns an onConnect handler that commits a validated ConnectCommand.

Parameters

ParameterType
coreEditorCore

Returns

(connection) => void


useDiagnostics()

TypeScript
function useDiagnostics(core): DiagnosticsState;

Defined in: packages/editor-react/src/hooks/useDiagnostics.ts:20

Parameters

ParameterType
coreEditorCore

Returns

DiagnosticsState


useEdgeChanges()

TypeScript
function useEdgeChanges(core): (changes) => void;

Defined in: packages/editor-react/src/hooks/useChanges.ts:52

Parameters

ParameterType
coreEditorCore

Returns

(changes) => void


useEditor()

TypeScript
function useEditor(): EditorCore;

Defined in: packages/editor-react/src/context.tsx:25

Access the EditorCore from context. Throws if used outside a provider.

Returns

EditorCore


useGraphSync()

TypeScript
function useGraphSync(core): GraphView;

Defined in: packages/editor-react/src/hooks/useGraphSync.ts:23

Subscribe to model changes and return the current React Flow view.

Parameters

ParameterType
coreEditorCore

Returns

GraphView


useHistory()

TypeScript
function useHistory(core): HistoryState;

Defined in: packages/editor-react/src/hooks/useHistory.ts:18

Parameters

ParameterType
coreEditorCore

Returns

HistoryState


useHlangFlow()

TypeScript
function useHlangFlow(core): HlangFlowProps;

Defined in: packages/editor-react/src/hooks/useHlangFlow.ts:70

Parameters

ParameterType
coreEditorCore

Returns

HlangFlowProps


useIsValidConnection()

TypeScript
function useIsValidConnection(core): IsValidConnection;

Defined in: packages/editor-react/src/hooks/useConnect.ts:18

Returns an isValidConnection predicate backed by the core validator.

Parameters

ParameterType
coreEditorCore

Returns

IsValidConnection


useNodeChanges()

TypeScript
function useNodeChanges(core): (changes) => void;

Defined in: packages/editor-react/src/hooks/useChanges.ts:24

Parameters

ParameterType
coreEditorCore

Returns

(changes) => void


useReconnect()

TypeScript
function useReconnect(core): ReconnectHandle;

Defined in: packages/editor-react/src/hooks/useReconnect.ts:51

Parameters

ParameterType
coreEditorCore

Returns

ReconnectHandle


useRename()

TypeScript
function useRename(core): RenameHandle;

Defined in: packages/editor-react/src/hooks/useRename.ts:14

Parameters

ParameterType
coreEditorCore

Returns

RenameHandle


useSelection()

TypeScript
function useSelection(core): SelectionState;

Defined in: packages/editor-react/src/hooks/useSelection.ts:23

Parameters

ParameterType
coreEditorCore

Returns

SelectionState


useViewState()

TypeScript
function useViewState(core): ViewStateState;

Defined in: packages/editor-react/src/hooks/useViewState.ts:26

Parameters

ParameterType
coreEditorCore

Returns

ViewStateState

Generated by TypeDoc from packages/editor-react/src at build time.