feat(sdk): add isValidConnection and reactFlowProps to Root#35
Merged
Conversation
Expose two opt-in props on <WorkflowBuilder.Root>: - isValidConnection: validates connections live while the user drags them. Receives the candidate connection plus the resolved source/target nodes, so a rule branches on data.type without touching the store. A rejected drop creates no edge and does not flicker. Fails open when an endpoint cannot be resolved to a node. - reactFlowProps: escape hatch that forwards extra props to the underlying ReactFlow canvas. SDK-owned props (graph data, connection/selection/change handlers, type maps, the connection line) plus colorMode are omitted from the type and spread last, so they always win and the editor cannot be broken from the outside. Theme via the SDK design tokens, not colorMode. Config flows through module-level holders (same pattern as edge-templates), written during Root render so descendants read current values on first paint. Tests cover the holder, the isValidConnection adapter, and the spread-order contract (owned props win, defaults stay overridable). Demo and SDK + site docs updated. Changeset: minor.
lukasz-jazwa
approved these changes
Jun 15, 2026
librowski
approved these changes
Jun 15, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Expose two opt-in props on <WorkflowBuilder.Root>:
Config flows through module-level holders (same pattern as edge-templates), written during Root render so descendants read current values on first paint.
Tests cover the holder, the isValidConnection adapter, and the spread-order contract (owned props win, defaults stay overridable). Demo and SDK + site docs updated. Changeset: minor.