@multiplatform.one/node-graph 7.7.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +201 -0
- package/README.md +80 -0
- package/css/graph.css +171 -0
- package/demo.ts +14 -0
- package/dist/cjs/NodeGraph.cjs +34 -0
- package/dist/cjs/NodeGraph.native.js +37 -0
- package/dist/cjs/NodeGraph.native.js.map +1 -0
- package/dist/cjs/bench/frameSampler.cjs +290 -0
- package/dist/cjs/bench/frameSampler.native.js +409 -0
- package/dist/cjs/bench/frameSampler.native.js.map +1 -0
- package/dist/cjs/bench/generateGraph.cjs +125 -0
- package/dist/cjs/bench/generateGraph.native.js +128 -0
- package/dist/cjs/bench/generateGraph.native.js.map +1 -0
- package/dist/cjs/diagnostics/GraphDiagnostics.cjs +154 -0
- package/dist/cjs/diagnostics/GraphDiagnostics.native.js +166 -0
- package/dist/cjs/diagnostics/GraphDiagnostics.native.js.map +1 -0
- package/dist/cjs/diagnostics/LiveGraphDiagnostics.cjs +101 -0
- package/dist/cjs/diagnostics/LiveGraphDiagnostics.native.js +106 -0
- package/dist/cjs/diagnostics/LiveGraphDiagnostics.native.js.map +1 -0
- package/dist/cjs/diagnostics/fromWire.cjs +48 -0
- package/dist/cjs/diagnostics/fromWire.native.js +51 -0
- package/dist/cjs/diagnostics/fromWire.native.js.map +1 -0
- package/dist/cjs/diagnostics/lastError.cjs +67 -0
- package/dist/cjs/diagnostics/lastError.native.js +75 -0
- package/dist/cjs/diagnostics/lastError.native.js.map +1 -0
- package/dist/cjs/diagnostics/types.cjs +18 -0
- package/dist/cjs/diagnostics/types.native.js +21 -0
- package/dist/cjs/diagnostics/types.native.js.map +1 -0
- package/dist/cjs/diagnostics/useGraphDiagnostics.cjs +69 -0
- package/dist/cjs/diagnostics/useGraphDiagnostics.native.js +75 -0
- package/dist/cjs/diagnostics/useGraphDiagnostics.native.js.map +1 -0
- package/dist/cjs/dom/GraphDomLayout.cjs +37 -0
- package/dist/cjs/dom/GraphDomLayout.native.js +40 -0
- package/dist/cjs/dom/GraphDomLayout.native.js.map +1 -0
- package/dist/cjs/dom/boot.cjs +100 -0
- package/dist/cjs/dom/boot.native.js +111 -0
- package/dist/cjs/dom/boot.native.js.map +1 -0
- package/dist/cjs/dom/wire.cjs +215 -0
- package/dist/cjs/dom/wire.native.js +274 -0
- package/dist/cjs/dom/wire.native.js.map +1 -0
- package/dist/cjs/edges/GraphEdge.cjs +169 -0
- package/dist/cjs/edges/GraphEdge.native.js +178 -0
- package/dist/cjs/edges/GraphEdge.native.js.map +1 -0
- package/dist/cjs/edges/edgeKinds.cjs +51 -0
- package/dist/cjs/edges/edgeKinds.native.js +54 -0
- package/dist/cjs/edges/edgeKinds.native.js.map +1 -0
- package/dist/cjs/edges/edgeStyle.cjs +94 -0
- package/dist/cjs/edges/edgeStyle.native.js +99 -0
- package/dist/cjs/edges/edgeStyle.native.js.map +1 -0
- package/dist/cjs/index.cjs +197 -0
- package/dist/cjs/index.native.js +200 -0
- package/dist/cjs/index.native.js.map +1 -0
- package/dist/cjs/interaction/lassoIntercept.cjs +54 -0
- package/dist/cjs/interaction/lassoIntercept.native.js +57 -0
- package/dist/cjs/interaction/lassoIntercept.native.js.map +1 -0
- package/dist/cjs/interaction/legalTargets.cjs +75 -0
- package/dist/cjs/interaction/legalTargets.native.js +118 -0
- package/dist/cjs/interaction/legalTargets.native.js.map +1 -0
- package/dist/cjs/interaction/snapAlignment.cjs +165 -0
- package/dist/cjs/interaction/snapAlignment.native.js +245 -0
- package/dist/cjs/interaction/snapAlignment.native.js.map +1 -0
- package/dist/cjs/interaction/snapChanges.cjs +214 -0
- package/dist/cjs/interaction/snapChanges.native.js +269 -0
- package/dist/cjs/interaction/snapChanges.native.js.map +1 -0
- package/dist/cjs/interaction/spatialHash.cjs +97 -0
- package/dist/cjs/interaction/spatialHash.native.js +165 -0
- package/dist/cjs/interaction/spatialHash.native.js.map +1 -0
- package/dist/cjs/interaction/useLassoSelect.cjs +259 -0
- package/dist/cjs/interaction/useLassoSelect.native.js +287 -0
- package/dist/cjs/interaction/useLassoSelect.native.js.map +1 -0
- package/dist/cjs/knobs/KnobEnvelopeProvider.cjs +77 -0
- package/dist/cjs/knobs/KnobEnvelopeProvider.native.js +85 -0
- package/dist/cjs/knobs/KnobEnvelopeProvider.native.js.map +1 -0
- package/dist/cjs/knobs/envelope.cjs +59 -0
- package/dist/cjs/knobs/envelope.native.js +78 -0
- package/dist/cjs/knobs/envelope.native.js.map +1 -0
- package/dist/cjs/knobs/graphKnobs.cjs +39 -0
- package/dist/cjs/knobs/graphKnobs.native.js +43 -0
- package/dist/cjs/knobs/graphKnobs.native.js.map +1 -0
- package/dist/cjs/knobs/useKnobEnvelope.cjs +108 -0
- package/dist/cjs/knobs/useKnobEnvelope.native.js +140 -0
- package/dist/cjs/knobs/useKnobEnvelope.native.js.map +1 -0
- package/dist/cjs/layout/dagre.cjs +125 -0
- package/dist/cjs/layout/dagre.native.js +259 -0
- package/dist/cjs/layout/dagre.native.js.map +1 -0
- package/dist/cjs/layout/layout.cjs +84 -0
- package/dist/cjs/layout/layout.native.js +112 -0
- package/dist/cjs/layout/layout.native.js.map +1 -0
- package/dist/cjs/layout/runner.cjs +194 -0
- package/dist/cjs/layout/runner.native.js +247 -0
- package/dist/cjs/layout/runner.native.js.map +1 -0
- package/dist/cjs/layout/structuredCloneShim.cjs +80 -0
- package/dist/cjs/layout/structuredCloneShim.native.js +160 -0
- package/dist/cjs/layout/structuredCloneShim.native.js.map +1 -0
- package/dist/cjs/layout/types.cjs +18 -0
- package/dist/cjs/layout/types.native.js +21 -0
- package/dist/cjs/layout/types.native.js.map +1 -0
- package/dist/cjs/layout/worker.entry.cjs +58 -0
- package/dist/cjs/layout/worker.entry.native.js +75 -0
- package/dist/cjs/layout/worker.entry.native.js.map +1 -0
- package/dist/cjs/layout/worker.generated.cjs +32 -0
- package/dist/cjs/layout/worker.generated.native.js +35 -0
- package/dist/cjs/layout/worker.generated.native.js.map +1 -0
- package/dist/cjs/model/commands.cjs +235 -0
- package/dist/cjs/model/commands.native.js +317 -0
- package/dist/cjs/model/commands.native.js.map +1 -0
- package/dist/cjs/model/connect.cjs +159 -0
- package/dist/cjs/model/connect.native.js +239 -0
- package/dist/cjs/model/connect.native.js.map +1 -0
- package/dist/cjs/model/document.cjs +18 -0
- package/dist/cjs/model/document.native.js +21 -0
- package/dist/cjs/model/document.native.js.map +1 -0
- package/dist/cjs/model/history.cjs +121 -0
- package/dist/cjs/model/history.native.js +178 -0
- package/dist/cjs/model/history.native.js.map +1 -0
- package/dist/cjs/model/index.cjs +60 -0
- package/dist/cjs/model/index.native.js +63 -0
- package/dist/cjs/model/index.native.js.map +1 -0
- package/dist/cjs/model/schema.cjs +63 -0
- package/dist/cjs/model/schema.native.js +68 -0
- package/dist/cjs/model/schema.native.js.map +1 -0
- package/dist/cjs/model/select.cjs +78 -0
- package/dist/cjs/model/select.native.js +107 -0
- package/dist/cjs/model/select.native.js.map +1 -0
- package/dist/cjs/model/serialize.cjs +332 -0
- package/dist/cjs/model/serialize.native.js +374 -0
- package/dist/cjs/model/serialize.native.js.map +1 -0
- package/dist/cjs/native/DomOnlyStory.cjs +60 -0
- package/dist/cjs/native/DomOnlyStory.native.js +66 -0
- package/dist/cjs/native/DomOnlyStory.native.js.map +1 -0
- package/dist/cjs/native/GraphToolbar.cjs +101 -0
- package/dist/cjs/native/GraphToolbar.native.js +107 -0
- package/dist/cjs/native/GraphToolbar.native.js.map +1 -0
- package/dist/cjs/native/domEntryRegistry.cjs +39 -0
- package/dist/cjs/native/domEntryRegistry.native.js +42 -0
- package/dist/cjs/native/domEntryRegistry.native.js.map +1 -0
- package/dist/cjs/native/graphChildren.cjs +45 -0
- package/dist/cjs/native/graphChildren.native.js +50 -0
- package/dist/cjs/native/graphChildren.native.js.map +1 -0
- package/dist/cjs/nodes/GraphNode.cjs +161 -0
- package/dist/cjs/nodes/GraphNode.native.js +206 -0
- package/dist/cjs/nodes/GraphNode.native.js.map +1 -0
- package/dist/cjs/nodes/GraphPort.cjs +104 -0
- package/dist/cjs/nodes/GraphPort.native.js +108 -0
- package/dist/cjs/nodes/GraphPort.native.js.map +1 -0
- package/dist/cjs/nodes/handleGeometry.cjs +98 -0
- package/dist/cjs/nodes/handleGeometry.native.js +104 -0
- package/dist/cjs/nodes/handleGeometry.native.js.map +1 -0
- package/dist/cjs/nodes/lod.cjs +41 -0
- package/dist/cjs/nodes/lod.native.js +45 -0
- package/dist/cjs/nodes/lod.native.js.map +1 -0
- package/dist/cjs/nodes/nodeMeasure.cjs +108 -0
- package/dist/cjs/nodes/nodeMeasure.native.js +134 -0
- package/dist/cjs/nodes/nodeMeasure.native.js.map +1 -0
- package/dist/cjs/nodes/overviewNode.cjs +74 -0
- package/dist/cjs/nodes/overviewNode.native.js +81 -0
- package/dist/cjs/nodes/overviewNode.native.js.map +1 -0
- package/dist/cjs/react-flow/ConnectionPuck.cjs +122 -0
- package/dist/cjs/react-flow/ConnectionPuck.native.js +143 -0
- package/dist/cjs/react-flow/ConnectionPuck.native.js.map +1 -0
- package/dist/cjs/react-flow/GraphActions.cjs +47 -0
- package/dist/cjs/react-flow/GraphActions.native.js +51 -0
- package/dist/cjs/react-flow/GraphActions.native.js.map +1 -0
- package/dist/cjs/react-flow/GraphCommandBridge.cjs +238 -0
- package/dist/cjs/react-flow/GraphCommandBridge.native.js +272 -0
- package/dist/cjs/react-flow/GraphCommandBridge.native.js.map +1 -0
- package/dist/cjs/react-flow/GraphNodeHost.cjs +77 -0
- package/dist/cjs/react-flow/GraphNodeHost.native.js +89 -0
- package/dist/cjs/react-flow/GraphNodeHost.native.js.map +1 -0
- package/dist/cjs/react-flow/GraphPaintProbe.cjs +60 -0
- package/dist/cjs/react-flow/GraphPaintProbe.native.js +65 -0
- package/dist/cjs/react-flow/GraphPaintProbe.native.js.map +1 -0
- package/dist/cjs/react-flow/GraphZoomVar.cjs +42 -0
- package/dist/cjs/react-flow/GraphZoomVar.native.js +48 -0
- package/dist/cjs/react-flow/GraphZoomVar.native.js.map +1 -0
- package/dist/cjs/react-flow/LassoOverlay.cjs +47 -0
- package/dist/cjs/react-flow/LassoOverlay.native.js +51 -0
- package/dist/cjs/react-flow/LassoOverlay.native.js.map +1 -0
- package/dist/cjs/react-flow/NodeGraphWeb.cjs +386 -0
- package/dist/cjs/react-flow/NodeGraphWeb.native.js +515 -0
- package/dist/cjs/react-flow/NodeGraphWeb.native.js.map +1 -0
- package/dist/cjs/react-flow/SnapGuides.cjs +89 -0
- package/dist/cjs/react-flow/SnapGuides.native.js +114 -0
- package/dist/cjs/react-flow/SnapGuides.native.js.map +1 -0
- package/dist/cjs/react-flow/demoControlBody.cjs +93 -0
- package/dist/cjs/react-flow/demoControlBody.native.js +104 -0
- package/dist/cjs/react-flow/demoControlBody.native.js.map +1 -0
- package/dist/cjs/react-flow/demoNodeBody.cjs +121 -0
- package/dist/cjs/react-flow/demoNodeBody.native.js +131 -0
- package/dist/cjs/react-flow/demoNodeBody.native.js.map +1 -0
- package/dist/cjs/react-flow/fixtures.cjs +215 -0
- package/dist/cjs/react-flow/fixtures.native.js +225 -0
- package/dist/cjs/react-flow/fixtures.native.js.map +1 -0
- package/dist/cjs/react-flow/flowAdapter.cjs +121 -0
- package/dist/cjs/react-flow/flowAdapter.native.js +133 -0
- package/dist/cjs/react-flow/flowAdapter.native.js.map +1 -0
- package/dist/cjs/react-flow/graphHandle.cjs +28 -0
- package/dist/cjs/react-flow/graphHandle.native.js +31 -0
- package/dist/cjs/react-flow/graphHandle.native.js.map +1 -0
- package/dist/cjs/react-flow/nodeCensus.cjs +56 -0
- package/dist/cjs/react-flow/nodeCensus.native.js +80 -0
- package/dist/cjs/react-flow/nodeCensus.native.js.map +1 -0
- package/dist/cjs/react-flow/useGraphController.cjs +297 -0
- package/dist/cjs/react-flow/useGraphController.native.js +393 -0
- package/dist/cjs/react-flow/useGraphController.native.js.map +1 -0
- package/dist/cjs/react-flow/xy.cjs +60 -0
- package/dist/cjs/react-flow/xy.native.js +63 -0
- package/dist/cjs/react-flow/xy.native.js.map +1 -0
- package/dist/cjs/theme/GraphFaces.cjs +114 -0
- package/dist/cjs/theme/GraphFaces.native.js +181 -0
- package/dist/cjs/theme/GraphFaces.native.js.map +1 -0
- package/dist/cjs/theme/GraphVarsStyle.cjs +88 -0
- package/dist/cjs/theme/GraphVarsStyle.native.js +100 -0
- package/dist/cjs/theme/GraphVarsStyle.native.js.map +1 -0
- package/dist/cjs/theme/faces.cjs +121 -0
- package/dist/cjs/theme/faces.generated.cjs +48 -0
- package/dist/cjs/theme/faces.generated.native.js +51 -0
- package/dist/cjs/theme/faces.generated.native.js.map +1 -0
- package/dist/cjs/theme/faces.native.js +133 -0
- package/dist/cjs/theme/faces.native.js.map +1 -0
- package/dist/cjs/theme/graphVars.cjs +318 -0
- package/dist/cjs/theme/graphVars.native.js +351 -0
- package/dist/cjs/theme/graphVars.native.js.map +1 -0
- package/dist/esm/NodeGraph.mjs +9 -0
- package/dist/esm/NodeGraph.mjs.map +1 -0
- package/dist/esm/NodeGraph.native.js +9 -0
- package/dist/esm/NodeGraph.native.js.map +1 -0
- package/dist/esm/bench/frameSampler.mjs +255 -0
- package/dist/esm/bench/frameSampler.mjs.map +1 -0
- package/dist/esm/bench/frameSampler.native.js +371 -0
- package/dist/esm/bench/frameSampler.native.js.map +1 -0
- package/dist/esm/bench/generateGraph.mjs +99 -0
- package/dist/esm/bench/generateGraph.mjs.map +1 -0
- package/dist/esm/bench/generateGraph.native.js +99 -0
- package/dist/esm/bench/generateGraph.native.js.map +1 -0
- package/dist/esm/diagnostics/GraphDiagnostics.mjs +128 -0
- package/dist/esm/diagnostics/GraphDiagnostics.mjs.map +1 -0
- package/dist/esm/diagnostics/GraphDiagnostics.native.js +137 -0
- package/dist/esm/diagnostics/GraphDiagnostics.native.js.map +1 -0
- package/dist/esm/diagnostics/LiveGraphDiagnostics.mjs +76 -0
- package/dist/esm/diagnostics/LiveGraphDiagnostics.mjs.map +1 -0
- package/dist/esm/diagnostics/LiveGraphDiagnostics.native.js +78 -0
- package/dist/esm/diagnostics/LiveGraphDiagnostics.native.js.map +1 -0
- package/dist/esm/diagnostics/fromWire.mjs +23 -0
- package/dist/esm/diagnostics/fromWire.mjs.map +1 -0
- package/dist/esm/diagnostics/fromWire.native.js +23 -0
- package/dist/esm/diagnostics/fromWire.native.js.map +1 -0
- package/dist/esm/diagnostics/lastError.mjs +39 -0
- package/dist/esm/diagnostics/lastError.mjs.map +1 -0
- package/dist/esm/diagnostics/lastError.native.js +44 -0
- package/dist/esm/diagnostics/lastError.native.js.map +1 -0
- package/dist/esm/diagnostics/types.mjs +2 -0
- package/dist/esm/diagnostics/types.mjs.map +1 -0
- package/dist/esm/diagnostics/types.native.js +2 -0
- package/dist/esm/diagnostics/types.native.js.map +1 -0
- package/dist/esm/diagnostics/useGraphDiagnostics.mjs +44 -0
- package/dist/esm/diagnostics/useGraphDiagnostics.mjs.map +1 -0
- package/dist/esm/diagnostics/useGraphDiagnostics.native.js +47 -0
- package/dist/esm/diagnostics/useGraphDiagnostics.native.js.map +1 -0
- package/dist/esm/dom/GraphDomLayout.mjs +11 -0
- package/dist/esm/dom/GraphDomLayout.mjs.map +1 -0
- package/dist/esm/dom/GraphDomLayout.native.js +11 -0
- package/dist/esm/dom/GraphDomLayout.native.js.map +1 -0
- package/dist/esm/dom/boot.mjs +67 -0
- package/dist/esm/dom/boot.mjs.map +1 -0
- package/dist/esm/dom/boot.native.js +75 -0
- package/dist/esm/dom/boot.native.js.map +1 -0
- package/dist/esm/dom/wire.mjs +183 -0
- package/dist/esm/dom/wire.mjs.map +1 -0
- package/dist/esm/dom/wire.native.js +239 -0
- package/dist/esm/dom/wire.native.js.map +1 -0
- package/dist/esm/edges/GraphEdge.mjs +139 -0
- package/dist/esm/edges/GraphEdge.mjs.map +1 -0
- package/dist/esm/edges/GraphEdge.native.js +145 -0
- package/dist/esm/edges/GraphEdge.native.js.map +1 -0
- package/dist/esm/edges/edgeKinds.mjs +25 -0
- package/dist/esm/edges/edgeKinds.mjs.map +1 -0
- package/dist/esm/edges/edgeKinds.native.js +25 -0
- package/dist/esm/edges/edgeKinds.native.js.map +1 -0
- package/dist/esm/edges/edgeStyle.mjs +63 -0
- package/dist/esm/edges/edgeStyle.mjs.map +1 -0
- package/dist/esm/edges/edgeStyle.native.js +65 -0
- package/dist/esm/edges/edgeStyle.native.js.map +1 -0
- package/dist/esm/index.mjs +50 -0
- package/dist/esm/index.mjs.map +1 -0
- package/dist/esm/index.native.js +50 -0
- package/dist/esm/index.native.js.map +1 -0
- package/dist/esm/interaction/lassoIntercept.mjs +29 -0
- package/dist/esm/interaction/lassoIntercept.mjs.map +1 -0
- package/dist/esm/interaction/lassoIntercept.native.js +29 -0
- package/dist/esm/interaction/lassoIntercept.native.js.map +1 -0
- package/dist/esm/interaction/legalTargets.mjs +48 -0
- package/dist/esm/interaction/legalTargets.mjs.map +1 -0
- package/dist/esm/interaction/legalTargets.native.js +88 -0
- package/dist/esm/interaction/legalTargets.native.js.map +1 -0
- package/dist/esm/interaction/snapAlignment.mjs +137 -0
- package/dist/esm/interaction/snapAlignment.mjs.map +1 -0
- package/dist/esm/interaction/snapAlignment.native.js +214 -0
- package/dist/esm/interaction/snapAlignment.native.js.map +1 -0
- package/dist/esm/interaction/snapChanges.mjs +184 -0
- package/dist/esm/interaction/snapChanges.mjs.map +1 -0
- package/dist/esm/interaction/snapChanges.native.js +236 -0
- package/dist/esm/interaction/snapChanges.native.js.map +1 -0
- package/dist/esm/interaction/spatialHash.mjs +71 -0
- package/dist/esm/interaction/spatialHash.mjs.map +1 -0
- package/dist/esm/interaction/spatialHash.native.js +136 -0
- package/dist/esm/interaction/spatialHash.native.js.map +1 -0
- package/dist/esm/interaction/useLassoSelect.mjs +231 -0
- package/dist/esm/interaction/useLassoSelect.mjs.map +1 -0
- package/dist/esm/interaction/useLassoSelect.native.js +256 -0
- package/dist/esm/interaction/useLassoSelect.native.js.map +1 -0
- package/dist/esm/knobs/KnobEnvelopeProvider.mjs +51 -0
- package/dist/esm/knobs/KnobEnvelopeProvider.mjs.map +1 -0
- package/dist/esm/knobs/KnobEnvelopeProvider.native.js +56 -0
- package/dist/esm/knobs/KnobEnvelopeProvider.native.js.map +1 -0
- package/dist/esm/knobs/envelope.mjs +29 -0
- package/dist/esm/knobs/envelope.mjs.map +1 -0
- package/dist/esm/knobs/envelope.native.js +45 -0
- package/dist/esm/knobs/envelope.native.js.map +1 -0
- package/dist/esm/knobs/graphKnobs.mjs +14 -0
- package/dist/esm/knobs/graphKnobs.mjs.map +1 -0
- package/dist/esm/knobs/graphKnobs.native.js +15 -0
- package/dist/esm/knobs/graphKnobs.native.js.map +1 -0
- package/dist/esm/knobs/useKnobEnvelope.mjs +83 -0
- package/dist/esm/knobs/useKnobEnvelope.mjs.map +1 -0
- package/dist/esm/knobs/useKnobEnvelope.native.js +112 -0
- package/dist/esm/knobs/useKnobEnvelope.native.js.map +1 -0
- package/dist/esm/layout/dagre.mjs +99 -0
- package/dist/esm/layout/dagre.mjs.map +1 -0
- package/dist/esm/layout/dagre.native.js +230 -0
- package/dist/esm/layout/dagre.native.js.map +1 -0
- package/dist/esm/layout/layout.mjs +57 -0
- package/dist/esm/layout/layout.mjs.map +1 -0
- package/dist/esm/layout/layout.native.js +82 -0
- package/dist/esm/layout/layout.native.js.map +1 -0
- package/dist/esm/layout/runner.mjs +164 -0
- package/dist/esm/layout/runner.mjs.map +1 -0
- package/dist/esm/layout/runner.native.js +214 -0
- package/dist/esm/layout/runner.native.js.map +1 -0
- package/dist/esm/layout/structuredCloneShim.mjs +54 -0
- package/dist/esm/layout/structuredCloneShim.mjs.map +1 -0
- package/dist/esm/layout/structuredCloneShim.native.js +131 -0
- package/dist/esm/layout/structuredCloneShim.native.js.map +1 -0
- package/dist/esm/layout/types.mjs +2 -0
- package/dist/esm/layout/types.mjs.map +1 -0
- package/dist/esm/layout/types.native.js +2 -0
- package/dist/esm/layout/types.native.js.map +1 -0
- package/dist/esm/layout/worker.entry.mjs +33 -0
- package/dist/esm/layout/worker.entry.mjs.map +1 -0
- package/dist/esm/layout/worker.entry.native.js +47 -0
- package/dist/esm/layout/worker.entry.native.js.map +1 -0
- package/dist/esm/layout/worker.generated.mjs +5 -0
- package/dist/esm/layout/worker.generated.mjs.map +1 -0
- package/dist/esm/layout/worker.generated.native.js +5 -0
- package/dist/esm/layout/worker.generated.native.js.map +1 -0
- package/dist/esm/model/commands.mjs +209 -0
- package/dist/esm/model/commands.mjs.map +1 -0
- package/dist/esm/model/commands.native.js +288 -0
- package/dist/esm/model/commands.native.js.map +1 -0
- package/dist/esm/model/connect.mjs +124 -0
- package/dist/esm/model/connect.mjs.map +1 -0
- package/dist/esm/model/connect.native.js +201 -0
- package/dist/esm/model/connect.native.js.map +1 -0
- package/dist/esm/model/document.mjs +2 -0
- package/dist/esm/model/document.mjs.map +1 -0
- package/dist/esm/model/document.native.js +2 -0
- package/dist/esm/model/document.native.js.map +1 -0
- package/dist/esm/model/history.mjs +96 -0
- package/dist/esm/model/history.mjs.map +1 -0
- package/dist/esm/model/history.native.js +150 -0
- package/dist/esm/model/history.native.js.map +1 -0
- package/dist/esm/model/index.mjs +8 -0
- package/dist/esm/model/index.mjs.map +1 -0
- package/dist/esm/model/index.native.js +8 -0
- package/dist/esm/model/index.native.js.map +1 -0
- package/dist/esm/model/schema.mjs +32 -0
- package/dist/esm/model/schema.mjs.map +1 -0
- package/dist/esm/model/schema.native.js +34 -0
- package/dist/esm/model/schema.native.js.map +1 -0
- package/dist/esm/model/select.mjs +49 -0
- package/dist/esm/model/select.mjs.map +1 -0
- package/dist/esm/model/select.native.js +75 -0
- package/dist/esm/model/select.native.js.map +1 -0
- package/dist/esm/model/serialize.mjs +306 -0
- package/dist/esm/model/serialize.mjs.map +1 -0
- package/dist/esm/model/serialize.native.js +345 -0
- package/dist/esm/model/serialize.native.js.map +1 -0
- package/dist/esm/native/DomOnlyStory.mjs +33 -0
- package/dist/esm/native/DomOnlyStory.mjs.map +1 -0
- package/dist/esm/native/DomOnlyStory.native.js +36 -0
- package/dist/esm/native/DomOnlyStory.native.js.map +1 -0
- package/dist/esm/native/GraphToolbar.mjs +76 -0
- package/dist/esm/native/GraphToolbar.mjs.map +1 -0
- package/dist/esm/native/GraphToolbar.native.js +79 -0
- package/dist/esm/native/GraphToolbar.native.js.map +1 -0
- package/dist/esm/native/domEntryRegistry.mjs +12 -0
- package/dist/esm/native/domEntryRegistry.mjs.map +1 -0
- package/dist/esm/native/domEntryRegistry.native.js +12 -0
- package/dist/esm/native/domEntryRegistry.native.js.map +1 -0
- package/dist/esm/native/graphChildren.mjs +18 -0
- package/dist/esm/native/graphChildren.mjs.map +1 -0
- package/dist/esm/native/graphChildren.native.js +20 -0
- package/dist/esm/native/graphChildren.native.js.map +1 -0
- package/dist/esm/nodes/GraphNode.mjs +136 -0
- package/dist/esm/nodes/GraphNode.mjs.map +1 -0
- package/dist/esm/nodes/GraphNode.native.js +178 -0
- package/dist/esm/nodes/GraphNode.native.js.map +1 -0
- package/dist/esm/nodes/GraphPort.mjs +79 -0
- package/dist/esm/nodes/GraphPort.mjs.map +1 -0
- package/dist/esm/nodes/GraphPort.native.js +80 -0
- package/dist/esm/nodes/GraphPort.native.js.map +1 -0
- package/dist/esm/nodes/handleGeometry.mjs +65 -0
- package/dist/esm/nodes/handleGeometry.mjs.map +1 -0
- package/dist/esm/nodes/handleGeometry.native.js +68 -0
- package/dist/esm/nodes/handleGeometry.native.js.map +1 -0
- package/dist/esm/nodes/lod.mjs +13 -0
- package/dist/esm/nodes/lod.mjs.map +1 -0
- package/dist/esm/nodes/lod.native.js +14 -0
- package/dist/esm/nodes/lod.native.js.map +1 -0
- package/dist/esm/nodes/nodeMeasure.mjs +72 -0
- package/dist/esm/nodes/nodeMeasure.mjs.map +1 -0
- package/dist/esm/nodes/nodeMeasure.native.js +95 -0
- package/dist/esm/nodes/nodeMeasure.native.js.map +1 -0
- package/dist/esm/nodes/overviewNode.mjs +49 -0
- package/dist/esm/nodes/overviewNode.mjs.map +1 -0
- package/dist/esm/nodes/overviewNode.native.js +53 -0
- package/dist/esm/nodes/overviewNode.native.js.map +1 -0
- package/dist/esm/react-flow/ConnectionPuck.mjs +96 -0
- package/dist/esm/react-flow/ConnectionPuck.mjs.map +1 -0
- package/dist/esm/react-flow/ConnectionPuck.native.js +114 -0
- package/dist/esm/react-flow/ConnectionPuck.native.js.map +1 -0
- package/dist/esm/react-flow/GraphActions.mjs +21 -0
- package/dist/esm/react-flow/GraphActions.mjs.map +1 -0
- package/dist/esm/react-flow/GraphActions.native.js +22 -0
- package/dist/esm/react-flow/GraphActions.native.js.map +1 -0
- package/dist/esm/react-flow/GraphCommandBridge.mjs +213 -0
- package/dist/esm/react-flow/GraphCommandBridge.mjs.map +1 -0
- package/dist/esm/react-flow/GraphCommandBridge.native.js +244 -0
- package/dist/esm/react-flow/GraphCommandBridge.native.js.map +1 -0
- package/dist/esm/react-flow/GraphNodeHost.mjs +50 -0
- package/dist/esm/react-flow/GraphNodeHost.mjs.map +1 -0
- package/dist/esm/react-flow/GraphNodeHost.native.js +59 -0
- package/dist/esm/react-flow/GraphNodeHost.native.js.map +1 -0
- package/dist/esm/react-flow/GraphPaintProbe.mjs +35 -0
- package/dist/esm/react-flow/GraphPaintProbe.mjs.map +1 -0
- package/dist/esm/react-flow/GraphPaintProbe.native.js +37 -0
- package/dist/esm/react-flow/GraphPaintProbe.native.js.map +1 -0
- package/dist/esm/react-flow/GraphZoomVar.mjs +16 -0
- package/dist/esm/react-flow/GraphZoomVar.mjs.map +1 -0
- package/dist/esm/react-flow/GraphZoomVar.native.js +19 -0
- package/dist/esm/react-flow/GraphZoomVar.native.js.map +1 -0
- package/dist/esm/react-flow/LassoOverlay.mjs +22 -0
- package/dist/esm/react-flow/LassoOverlay.mjs.map +1 -0
- package/dist/esm/react-flow/LassoOverlay.native.js +23 -0
- package/dist/esm/react-flow/LassoOverlay.native.js.map +1 -0
- package/dist/esm/react-flow/NodeGraphWeb.mjs +359 -0
- package/dist/esm/react-flow/NodeGraphWeb.mjs.map +1 -0
- package/dist/esm/react-flow/NodeGraphWeb.native.js +485 -0
- package/dist/esm/react-flow/NodeGraphWeb.native.js.map +1 -0
- package/dist/esm/react-flow/SnapGuides.mjs +60 -0
- package/dist/esm/react-flow/SnapGuides.mjs.map +1 -0
- package/dist/esm/react-flow/SnapGuides.native.js +82 -0
- package/dist/esm/react-flow/SnapGuides.native.js.map +1 -0
- package/dist/esm/react-flow/demoControlBody.mjs +67 -0
- package/dist/esm/react-flow/demoControlBody.mjs.map +1 -0
- package/dist/esm/react-flow/demoControlBody.native.js +75 -0
- package/dist/esm/react-flow/demoControlBody.native.js.map +1 -0
- package/dist/esm/react-flow/demoNodeBody.mjs +91 -0
- package/dist/esm/react-flow/demoNodeBody.mjs.map +1 -0
- package/dist/esm/react-flow/demoNodeBody.native.js +98 -0
- package/dist/esm/react-flow/demoNodeBody.native.js.map +1 -0
- package/dist/esm/react-flow/fixtures.mjs +185 -0
- package/dist/esm/react-flow/fixtures.mjs.map +1 -0
- package/dist/esm/react-flow/fixtures.native.js +192 -0
- package/dist/esm/react-flow/fixtures.native.js.map +1 -0
- package/dist/esm/react-flow/flowAdapter.mjs +94 -0
- package/dist/esm/react-flow/flowAdapter.mjs.map +1 -0
- package/dist/esm/react-flow/flowAdapter.native.js +103 -0
- package/dist/esm/react-flow/flowAdapter.native.js.map +1 -0
- package/dist/esm/react-flow/graphHandle.mjs +3 -0
- package/dist/esm/react-flow/graphHandle.mjs.map +1 -0
- package/dist/esm/react-flow/graphHandle.native.js +3 -0
- package/dist/esm/react-flow/graphHandle.native.js.map +1 -0
- package/dist/esm/react-flow/nodeCensus.mjs +28 -0
- package/dist/esm/react-flow/nodeCensus.mjs.map +1 -0
- package/dist/esm/react-flow/nodeCensus.native.js +49 -0
- package/dist/esm/react-flow/nodeCensus.native.js.map +1 -0
- package/dist/esm/react-flow/useGraphController.mjs +269 -0
- package/dist/esm/react-flow/useGraphController.mjs.map +1 -0
- package/dist/esm/react-flow/useGraphController.native.js +362 -0
- package/dist/esm/react-flow/useGraphController.native.js.map +1 -0
- package/dist/esm/react-flow/xy.mjs +8 -0
- package/dist/esm/react-flow/xy.mjs.map +1 -0
- package/dist/esm/react-flow/xy.native.js +8 -0
- package/dist/esm/react-flow/xy.native.js.map +1 -0
- package/dist/esm/theme/GraphFaces.mjs +88 -0
- package/dist/esm/theme/GraphFaces.mjs.map +1 -0
- package/dist/esm/theme/GraphFaces.native.js +152 -0
- package/dist/esm/theme/GraphFaces.native.js.map +1 -0
- package/dist/esm/theme/GraphVarsStyle.mjs +59 -0
- package/dist/esm/theme/GraphVarsStyle.mjs.map +1 -0
- package/dist/esm/theme/GraphVarsStyle.native.js +68 -0
- package/dist/esm/theme/GraphVarsStyle.native.js.map +1 -0
- package/dist/esm/theme/faces.generated.mjs +23 -0
- package/dist/esm/theme/faces.generated.mjs.map +1 -0
- package/dist/esm/theme/faces.generated.native.js +23 -0
- package/dist/esm/theme/faces.generated.native.js.map +1 -0
- package/dist/esm/theme/faces.mjs +89 -0
- package/dist/esm/theme/faces.mjs.map +1 -0
- package/dist/esm/theme/faces.native.js +98 -0
- package/dist/esm/theme/faces.native.js.map +1 -0
- package/dist/esm/theme/graphVars.mjs +284 -0
- package/dist/esm/theme/graphVars.mjs.map +1 -0
- package/dist/esm/theme/graphVars.native.js +314 -0
- package/dist/esm/theme/graphVars.native.js.map +1 -0
- package/dist/jsx/NodeGraph.mjs +9 -0
- package/dist/jsx/NodeGraph.mjs.map +1 -0
- package/dist/jsx/NodeGraph.native.js +37 -0
- package/dist/jsx/NodeGraph.native.js.map +1 -0
- package/dist/jsx/bench/frameSampler.mjs +255 -0
- package/dist/jsx/bench/frameSampler.mjs.map +1 -0
- package/dist/jsx/bench/frameSampler.native.js +409 -0
- package/dist/jsx/bench/frameSampler.native.js.map +1 -0
- package/dist/jsx/bench/generateGraph.mjs +99 -0
- package/dist/jsx/bench/generateGraph.mjs.map +1 -0
- package/dist/jsx/bench/generateGraph.native.js +128 -0
- package/dist/jsx/bench/generateGraph.native.js.map +1 -0
- package/dist/jsx/diagnostics/GraphDiagnostics.mjs +128 -0
- package/dist/jsx/diagnostics/GraphDiagnostics.mjs.map +1 -0
- package/dist/jsx/diagnostics/GraphDiagnostics.native.js +166 -0
- package/dist/jsx/diagnostics/GraphDiagnostics.native.js.map +1 -0
- package/dist/jsx/diagnostics/LiveGraphDiagnostics.mjs +76 -0
- package/dist/jsx/diagnostics/LiveGraphDiagnostics.mjs.map +1 -0
- package/dist/jsx/diagnostics/LiveGraphDiagnostics.native.js +106 -0
- package/dist/jsx/diagnostics/LiveGraphDiagnostics.native.js.map +1 -0
- package/dist/jsx/diagnostics/fromWire.mjs +23 -0
- package/dist/jsx/diagnostics/fromWire.mjs.map +1 -0
- package/dist/jsx/diagnostics/fromWire.native.js +51 -0
- package/dist/jsx/diagnostics/fromWire.native.js.map +1 -0
- package/dist/jsx/diagnostics/lastError.mjs +39 -0
- package/dist/jsx/diagnostics/lastError.mjs.map +1 -0
- package/dist/jsx/diagnostics/lastError.native.js +75 -0
- package/dist/jsx/diagnostics/lastError.native.js.map +1 -0
- package/dist/jsx/diagnostics/types.mjs +2 -0
- package/dist/jsx/diagnostics/types.mjs.map +1 -0
- package/dist/jsx/diagnostics/types.native.js +21 -0
- package/dist/jsx/diagnostics/types.native.js.map +1 -0
- package/dist/jsx/diagnostics/useGraphDiagnostics.mjs +44 -0
- package/dist/jsx/diagnostics/useGraphDiagnostics.mjs.map +1 -0
- package/dist/jsx/diagnostics/useGraphDiagnostics.native.js +75 -0
- package/dist/jsx/diagnostics/useGraphDiagnostics.native.js.map +1 -0
- package/dist/jsx/dom/GraphDomLayout.mjs +11 -0
- package/dist/jsx/dom/GraphDomLayout.mjs.map +1 -0
- package/dist/jsx/dom/GraphDomLayout.native.js +40 -0
- package/dist/jsx/dom/GraphDomLayout.native.js.map +1 -0
- package/dist/jsx/dom/boot.mjs +67 -0
- package/dist/jsx/dom/boot.mjs.map +1 -0
- package/dist/jsx/dom/boot.native.js +111 -0
- package/dist/jsx/dom/boot.native.js.map +1 -0
- package/dist/jsx/dom/wire.mjs +183 -0
- package/dist/jsx/dom/wire.mjs.map +1 -0
- package/dist/jsx/dom/wire.native.js +274 -0
- package/dist/jsx/dom/wire.native.js.map +1 -0
- package/dist/jsx/edges/GraphEdge.mjs +139 -0
- package/dist/jsx/edges/GraphEdge.mjs.map +1 -0
- package/dist/jsx/edges/GraphEdge.native.js +178 -0
- package/dist/jsx/edges/GraphEdge.native.js.map +1 -0
- package/dist/jsx/edges/edgeKinds.mjs +25 -0
- package/dist/jsx/edges/edgeKinds.mjs.map +1 -0
- package/dist/jsx/edges/edgeKinds.native.js +54 -0
- package/dist/jsx/edges/edgeKinds.native.js.map +1 -0
- package/dist/jsx/edges/edgeStyle.mjs +63 -0
- package/dist/jsx/edges/edgeStyle.mjs.map +1 -0
- package/dist/jsx/edges/edgeStyle.native.js +99 -0
- package/dist/jsx/edges/edgeStyle.native.js.map +1 -0
- package/dist/jsx/index.js +50 -0
- package/dist/jsx/index.js.map +1 -0
- package/dist/jsx/index.mjs +50 -0
- package/dist/jsx/index.mjs.map +1 -0
- package/dist/jsx/index.native.js +200 -0
- package/dist/jsx/index.native.js.map +1 -0
- package/dist/jsx/interaction/lassoIntercept.mjs +29 -0
- package/dist/jsx/interaction/lassoIntercept.mjs.map +1 -0
- package/dist/jsx/interaction/lassoIntercept.native.js +57 -0
- package/dist/jsx/interaction/lassoIntercept.native.js.map +1 -0
- package/dist/jsx/interaction/legalTargets.mjs +48 -0
- package/dist/jsx/interaction/legalTargets.mjs.map +1 -0
- package/dist/jsx/interaction/legalTargets.native.js +118 -0
- package/dist/jsx/interaction/legalTargets.native.js.map +1 -0
- package/dist/jsx/interaction/snapAlignment.mjs +137 -0
- package/dist/jsx/interaction/snapAlignment.mjs.map +1 -0
- package/dist/jsx/interaction/snapAlignment.native.js +245 -0
- package/dist/jsx/interaction/snapAlignment.native.js.map +1 -0
- package/dist/jsx/interaction/snapChanges.mjs +184 -0
- package/dist/jsx/interaction/snapChanges.mjs.map +1 -0
- package/dist/jsx/interaction/snapChanges.native.js +269 -0
- package/dist/jsx/interaction/snapChanges.native.js.map +1 -0
- package/dist/jsx/interaction/spatialHash.mjs +71 -0
- package/dist/jsx/interaction/spatialHash.mjs.map +1 -0
- package/dist/jsx/interaction/spatialHash.native.js +165 -0
- package/dist/jsx/interaction/spatialHash.native.js.map +1 -0
- package/dist/jsx/interaction/useLassoSelect.mjs +231 -0
- package/dist/jsx/interaction/useLassoSelect.mjs.map +1 -0
- package/dist/jsx/interaction/useLassoSelect.native.js +287 -0
- package/dist/jsx/interaction/useLassoSelect.native.js.map +1 -0
- package/dist/jsx/knobs/KnobEnvelopeProvider.mjs +51 -0
- package/dist/jsx/knobs/KnobEnvelopeProvider.mjs.map +1 -0
- package/dist/jsx/knobs/KnobEnvelopeProvider.native.js +85 -0
- package/dist/jsx/knobs/KnobEnvelopeProvider.native.js.map +1 -0
- package/dist/jsx/knobs/envelope.mjs +29 -0
- package/dist/jsx/knobs/envelope.mjs.map +1 -0
- package/dist/jsx/knobs/envelope.native.js +78 -0
- package/dist/jsx/knobs/envelope.native.js.map +1 -0
- package/dist/jsx/knobs/graphKnobs.mjs +14 -0
- package/dist/jsx/knobs/graphKnobs.mjs.map +1 -0
- package/dist/jsx/knobs/graphKnobs.native.js +43 -0
- package/dist/jsx/knobs/graphKnobs.native.js.map +1 -0
- package/dist/jsx/knobs/useKnobEnvelope.mjs +83 -0
- package/dist/jsx/knobs/useKnobEnvelope.mjs.map +1 -0
- package/dist/jsx/knobs/useKnobEnvelope.native.js +140 -0
- package/dist/jsx/knobs/useKnobEnvelope.native.js.map +1 -0
- package/dist/jsx/layout/dagre.mjs +99 -0
- package/dist/jsx/layout/dagre.mjs.map +1 -0
- package/dist/jsx/layout/dagre.native.js +259 -0
- package/dist/jsx/layout/dagre.native.js.map +1 -0
- package/dist/jsx/layout/layout.mjs +57 -0
- package/dist/jsx/layout/layout.mjs.map +1 -0
- package/dist/jsx/layout/layout.native.js +112 -0
- package/dist/jsx/layout/layout.native.js.map +1 -0
- package/dist/jsx/layout/runner.mjs +164 -0
- package/dist/jsx/layout/runner.mjs.map +1 -0
- package/dist/jsx/layout/runner.native.js +247 -0
- package/dist/jsx/layout/runner.native.js.map +1 -0
- package/dist/jsx/layout/structuredCloneShim.mjs +54 -0
- package/dist/jsx/layout/structuredCloneShim.mjs.map +1 -0
- package/dist/jsx/layout/structuredCloneShim.native.js +160 -0
- package/dist/jsx/layout/structuredCloneShim.native.js.map +1 -0
- package/dist/jsx/layout/types.mjs +2 -0
- package/dist/jsx/layout/types.mjs.map +1 -0
- package/dist/jsx/layout/types.native.js +21 -0
- package/dist/jsx/layout/types.native.js.map +1 -0
- package/dist/jsx/layout/worker.entry.mjs +33 -0
- package/dist/jsx/layout/worker.entry.mjs.map +1 -0
- package/dist/jsx/layout/worker.entry.native.js +75 -0
- package/dist/jsx/layout/worker.entry.native.js.map +1 -0
- package/dist/jsx/layout/worker.generated.mjs +5 -0
- package/dist/jsx/layout/worker.generated.mjs.map +1 -0
- package/dist/jsx/layout/worker.generated.native.js +35 -0
- package/dist/jsx/layout/worker.generated.native.js.map +1 -0
- package/dist/jsx/model/commands.mjs +209 -0
- package/dist/jsx/model/commands.mjs.map +1 -0
- package/dist/jsx/model/commands.native.js +317 -0
- package/dist/jsx/model/commands.native.js.map +1 -0
- package/dist/jsx/model/connect.mjs +124 -0
- package/dist/jsx/model/connect.mjs.map +1 -0
- package/dist/jsx/model/connect.native.js +239 -0
- package/dist/jsx/model/connect.native.js.map +1 -0
- package/dist/jsx/model/document.mjs +2 -0
- package/dist/jsx/model/document.mjs.map +1 -0
- package/dist/jsx/model/document.native.js +21 -0
- package/dist/jsx/model/document.native.js.map +1 -0
- package/dist/jsx/model/history.mjs +96 -0
- package/dist/jsx/model/history.mjs.map +1 -0
- package/dist/jsx/model/history.native.js +178 -0
- package/dist/jsx/model/history.native.js.map +1 -0
- package/dist/jsx/model/index.mjs +8 -0
- package/dist/jsx/model/index.mjs.map +1 -0
- package/dist/jsx/model/index.native.js +63 -0
- package/dist/jsx/model/index.native.js.map +1 -0
- package/dist/jsx/model/schema.mjs +32 -0
- package/dist/jsx/model/schema.mjs.map +1 -0
- package/dist/jsx/model/schema.native.js +68 -0
- package/dist/jsx/model/schema.native.js.map +1 -0
- package/dist/jsx/model/select.mjs +49 -0
- package/dist/jsx/model/select.mjs.map +1 -0
- package/dist/jsx/model/select.native.js +107 -0
- package/dist/jsx/model/select.native.js.map +1 -0
- package/dist/jsx/model/serialize.mjs +306 -0
- package/dist/jsx/model/serialize.mjs.map +1 -0
- package/dist/jsx/model/serialize.native.js +374 -0
- package/dist/jsx/model/serialize.native.js.map +1 -0
- package/dist/jsx/native/DomOnlyStory.mjs +33 -0
- package/dist/jsx/native/DomOnlyStory.mjs.map +1 -0
- package/dist/jsx/native/DomOnlyStory.native.js +66 -0
- package/dist/jsx/native/DomOnlyStory.native.js.map +1 -0
- package/dist/jsx/native/GraphToolbar.mjs +76 -0
- package/dist/jsx/native/GraphToolbar.mjs.map +1 -0
- package/dist/jsx/native/GraphToolbar.native.js +107 -0
- package/dist/jsx/native/GraphToolbar.native.js.map +1 -0
- package/dist/jsx/native/domEntryRegistry.mjs +12 -0
- package/dist/jsx/native/domEntryRegistry.mjs.map +1 -0
- package/dist/jsx/native/domEntryRegistry.native.js +42 -0
- package/dist/jsx/native/domEntryRegistry.native.js.map +1 -0
- package/dist/jsx/native/graphChildren.mjs +18 -0
- package/dist/jsx/native/graphChildren.mjs.map +1 -0
- package/dist/jsx/native/graphChildren.native.js +50 -0
- package/dist/jsx/native/graphChildren.native.js.map +1 -0
- package/dist/jsx/nodes/GraphNode.mjs +136 -0
- package/dist/jsx/nodes/GraphNode.mjs.map +1 -0
- package/dist/jsx/nodes/GraphNode.native.js +206 -0
- package/dist/jsx/nodes/GraphNode.native.js.map +1 -0
- package/dist/jsx/nodes/GraphPort.mjs +79 -0
- package/dist/jsx/nodes/GraphPort.mjs.map +1 -0
- package/dist/jsx/nodes/GraphPort.native.js +108 -0
- package/dist/jsx/nodes/GraphPort.native.js.map +1 -0
- package/dist/jsx/nodes/handleGeometry.mjs +65 -0
- package/dist/jsx/nodes/handleGeometry.mjs.map +1 -0
- package/dist/jsx/nodes/handleGeometry.native.js +104 -0
- package/dist/jsx/nodes/handleGeometry.native.js.map +1 -0
- package/dist/jsx/nodes/lod.mjs +13 -0
- package/dist/jsx/nodes/lod.mjs.map +1 -0
- package/dist/jsx/nodes/lod.native.js +45 -0
- package/dist/jsx/nodes/lod.native.js.map +1 -0
- package/dist/jsx/nodes/nodeMeasure.mjs +72 -0
- package/dist/jsx/nodes/nodeMeasure.mjs.map +1 -0
- package/dist/jsx/nodes/nodeMeasure.native.js +134 -0
- package/dist/jsx/nodes/nodeMeasure.native.js.map +1 -0
- package/dist/jsx/nodes/overviewNode.mjs +49 -0
- package/dist/jsx/nodes/overviewNode.mjs.map +1 -0
- package/dist/jsx/nodes/overviewNode.native.js +81 -0
- package/dist/jsx/nodes/overviewNode.native.js.map +1 -0
- package/dist/jsx/react-flow/ConnectionPuck.mjs +96 -0
- package/dist/jsx/react-flow/ConnectionPuck.mjs.map +1 -0
- package/dist/jsx/react-flow/ConnectionPuck.native.js +143 -0
- package/dist/jsx/react-flow/ConnectionPuck.native.js.map +1 -0
- package/dist/jsx/react-flow/GraphActions.mjs +21 -0
- package/dist/jsx/react-flow/GraphActions.mjs.map +1 -0
- package/dist/jsx/react-flow/GraphActions.native.js +51 -0
- package/dist/jsx/react-flow/GraphActions.native.js.map +1 -0
- package/dist/jsx/react-flow/GraphCommandBridge.mjs +213 -0
- package/dist/jsx/react-flow/GraphCommandBridge.mjs.map +1 -0
- package/dist/jsx/react-flow/GraphCommandBridge.native.js +272 -0
- package/dist/jsx/react-flow/GraphCommandBridge.native.js.map +1 -0
- package/dist/jsx/react-flow/GraphNodeHost.mjs +50 -0
- package/dist/jsx/react-flow/GraphNodeHost.mjs.map +1 -0
- package/dist/jsx/react-flow/GraphNodeHost.native.js +89 -0
- package/dist/jsx/react-flow/GraphNodeHost.native.js.map +1 -0
- package/dist/jsx/react-flow/GraphPaintProbe.mjs +35 -0
- package/dist/jsx/react-flow/GraphPaintProbe.mjs.map +1 -0
- package/dist/jsx/react-flow/GraphPaintProbe.native.js +65 -0
- package/dist/jsx/react-flow/GraphPaintProbe.native.js.map +1 -0
- package/dist/jsx/react-flow/GraphZoomVar.mjs +16 -0
- package/dist/jsx/react-flow/GraphZoomVar.mjs.map +1 -0
- package/dist/jsx/react-flow/GraphZoomVar.native.js +48 -0
- package/dist/jsx/react-flow/GraphZoomVar.native.js.map +1 -0
- package/dist/jsx/react-flow/LassoOverlay.mjs +22 -0
- package/dist/jsx/react-flow/LassoOverlay.mjs.map +1 -0
- package/dist/jsx/react-flow/LassoOverlay.native.js +51 -0
- package/dist/jsx/react-flow/LassoOverlay.native.js.map +1 -0
- package/dist/jsx/react-flow/NodeGraphWeb.mjs +359 -0
- package/dist/jsx/react-flow/NodeGraphWeb.mjs.map +1 -0
- package/dist/jsx/react-flow/NodeGraphWeb.native.js +515 -0
- package/dist/jsx/react-flow/NodeGraphWeb.native.js.map +1 -0
- package/dist/jsx/react-flow/SnapGuides.mjs +60 -0
- package/dist/jsx/react-flow/SnapGuides.mjs.map +1 -0
- package/dist/jsx/react-flow/SnapGuides.native.js +114 -0
- package/dist/jsx/react-flow/SnapGuides.native.js.map +1 -0
- package/dist/jsx/react-flow/demoControlBody.mjs +67 -0
- package/dist/jsx/react-flow/demoControlBody.mjs.map +1 -0
- package/dist/jsx/react-flow/demoControlBody.native.js +104 -0
- package/dist/jsx/react-flow/demoControlBody.native.js.map +1 -0
- package/dist/jsx/react-flow/demoNodeBody.mjs +91 -0
- package/dist/jsx/react-flow/demoNodeBody.mjs.map +1 -0
- package/dist/jsx/react-flow/demoNodeBody.native.js +131 -0
- package/dist/jsx/react-flow/demoNodeBody.native.js.map +1 -0
- package/dist/jsx/react-flow/fixtures.mjs +185 -0
- package/dist/jsx/react-flow/fixtures.mjs.map +1 -0
- package/dist/jsx/react-flow/fixtures.native.js +225 -0
- package/dist/jsx/react-flow/fixtures.native.js.map +1 -0
- package/dist/jsx/react-flow/flowAdapter.mjs +94 -0
- package/dist/jsx/react-flow/flowAdapter.mjs.map +1 -0
- package/dist/jsx/react-flow/flowAdapter.native.js +133 -0
- package/dist/jsx/react-flow/flowAdapter.native.js.map +1 -0
- package/dist/jsx/react-flow/graphHandle.mjs +3 -0
- package/dist/jsx/react-flow/graphHandle.mjs.map +1 -0
- package/dist/jsx/react-flow/graphHandle.native.js +31 -0
- package/dist/jsx/react-flow/graphHandle.native.js.map +1 -0
- package/dist/jsx/react-flow/nodeCensus.mjs +28 -0
- package/dist/jsx/react-flow/nodeCensus.mjs.map +1 -0
- package/dist/jsx/react-flow/nodeCensus.native.js +80 -0
- package/dist/jsx/react-flow/nodeCensus.native.js.map +1 -0
- package/dist/jsx/react-flow/useGraphController.mjs +269 -0
- package/dist/jsx/react-flow/useGraphController.mjs.map +1 -0
- package/dist/jsx/react-flow/useGraphController.native.js +393 -0
- package/dist/jsx/react-flow/useGraphController.native.js.map +1 -0
- package/dist/jsx/react-flow/xy.mjs +8 -0
- package/dist/jsx/react-flow/xy.mjs.map +1 -0
- package/dist/jsx/react-flow/xy.native.js +63 -0
- package/dist/jsx/react-flow/xy.native.js.map +1 -0
- package/dist/jsx/theme/GraphFaces.mjs +88 -0
- package/dist/jsx/theme/GraphFaces.mjs.map +1 -0
- package/dist/jsx/theme/GraphFaces.native.js +181 -0
- package/dist/jsx/theme/GraphFaces.native.js.map +1 -0
- package/dist/jsx/theme/GraphVarsStyle.mjs +59 -0
- package/dist/jsx/theme/GraphVarsStyle.mjs.map +1 -0
- package/dist/jsx/theme/GraphVarsStyle.native.js +100 -0
- package/dist/jsx/theme/GraphVarsStyle.native.js.map +1 -0
- package/dist/jsx/theme/faces.generated.mjs +23 -0
- package/dist/jsx/theme/faces.generated.mjs.map +1 -0
- package/dist/jsx/theme/faces.generated.native.js +51 -0
- package/dist/jsx/theme/faces.generated.native.js.map +1 -0
- package/dist/jsx/theme/faces.mjs +89 -0
- package/dist/jsx/theme/faces.mjs.map +1 -0
- package/dist/jsx/theme/faces.native.js +133 -0
- package/dist/jsx/theme/faces.native.js.map +1 -0
- package/dist/jsx/theme/graphVars.mjs +284 -0
- package/dist/jsx/theme/graphVars.mjs.map +1 -0
- package/dist/jsx/theme/graphVars.native.js +351 -0
- package/dist/jsx/theme/graphVars.native.js.map +1 -0
- package/dom-inner.ts +21 -0
- package/metro/index.js +174 -0
- package/metro/index.spec.mjs +235 -0
- package/model.ts +9 -0
- package/package.json +137 -0
- package/src/NodeGraph.native.spec.ts +164 -0
- package/src/NodeGraph.native.tsx +278 -0
- package/src/NodeGraph.tsx +27 -0
- package/src/bench/Perf200.stories.tsx +351 -0
- package/src/bench/frameSampler.spec.ts +467 -0
- package/src/bench/frameSampler.ts +516 -0
- package/src/bench/generateGraph.ts +138 -0
- package/src/diagnostics/GraphDiagnostics.spec.tsx +206 -0
- package/src/diagnostics/GraphDiagnostics.stories.tsx +194 -0
- package/src/diagnostics/GraphDiagnostics.tsx +140 -0
- package/src/diagnostics/LiveGraphDiagnostics.native.tsx +61 -0
- package/src/diagnostics/LiveGraphDiagnostics.tsx +121 -0
- package/src/diagnostics/deliberateBreak.ts +35 -0
- package/src/diagnostics/fromWire.spec.ts +74 -0
- package/src/diagnostics/fromWire.ts +48 -0
- package/src/diagnostics/lastError.ts +91 -0
- package/src/diagnostics/types.ts +103 -0
- package/src/diagnostics/useGraphDiagnostics.spec.tsx +199 -0
- package/src/diagnostics/useGraphDiagnostics.ts +85 -0
- package/src/dom/GraphDomLayout.spec.tsx +56 -0
- package/src/dom/GraphDomLayout.tsx +49 -0
- package/src/dom/NodeGraphDom.ts +43 -0
- package/src/dom/NodeGraphDomInner.tsx +524 -0
- package/src/dom/NodeGraphDomShell.ts +402 -0
- package/src/dom/boot.spec.ts +90 -0
- package/src/dom/boot.ts +153 -0
- package/src/dom/domEntry.spec.ts +481 -0
- package/src/dom/importGraph.spec.ts +287 -0
- package/src/dom/schemaRegistry.spec.tsx +182 -0
- package/src/dom/wire.spec.ts +486 -0
- package/src/dom/wire.ts +493 -0
- package/src/edges/Edges.stories.tsx +271 -0
- package/src/edges/GraphEdge.tsx +198 -0
- package/src/edges/edgeKinds.ts +51 -0
- package/src/edges/edgeStyle.spec.ts +295 -0
- package/src/edges/edgeStyle.ts +124 -0
- package/src/index.native.ts +147 -0
- package/src/index.ts +243 -0
- package/src/interaction/Lasso.stories.tsx +198 -0
- package/src/interaction/Snapping.stories.tsx +189 -0
- package/src/interaction/lassoIntercept.spec.ts +166 -0
- package/src/interaction/lassoIntercept.ts +81 -0
- package/src/interaction/legalTargets.spec.ts +304 -0
- package/src/interaction/legalTargets.ts +91 -0
- package/src/interaction/snapAlignment.spec.ts +412 -0
- package/src/interaction/snapAlignment.ts +209 -0
- package/src/interaction/snapChanges.spec.ts +273 -0
- package/src/interaction/snapChanges.ts +292 -0
- package/src/interaction/spatialHash.spec.ts +168 -0
- package/src/interaction/spatialHash.ts +128 -0
- package/src/interaction/useLassoSelect.spec.tsx +487 -0
- package/src/interaction/useLassoSelect.ts +489 -0
- package/src/knobs/KnobEnvelopeProvider.tsx +110 -0
- package/src/knobs/envelope.spec.tsx +371 -0
- package/src/knobs/envelope.ts +130 -0
- package/src/knobs/envelopeTheme.spec.ts +58 -0
- package/src/knobs/graphKnobs.ts +36 -0
- package/src/knobs/useKnobEnvelope.ts +152 -0
- package/src/layout/AutoLayout.stories.tsx +338 -0
- package/src/layout/dagre.ts +149 -0
- package/src/layout/layout.spec.ts +244 -0
- package/src/layout/layout.ts +121 -0
- package/src/layout/runner.spec.ts +365 -0
- package/src/layout/runner.ts +256 -0
- package/src/layout/structuredCloneShim.spec.ts +103 -0
- package/src/layout/structuredCloneShim.ts +106 -0
- package/src/layout/types.ts +112 -0
- package/src/layout/worker.entry.ts +74 -0
- package/src/layout/worker.generated.spec.ts +157 -0
- package/src/layout/worker.generated.ts +32 -0
- package/src/model/commands.spec.ts +214 -0
- package/src/model/commands.ts +209 -0
- package/src/model/connect.spec.ts +444 -0
- package/src/model/connect.ts +281 -0
- package/src/model/document.ts +121 -0
- package/src/model/history.spec.ts +278 -0
- package/src/model/history.ts +153 -0
- package/src/model/index.ts +74 -0
- package/src/model/schema.ts +177 -0
- package/src/model/select.spec.ts +220 -0
- package/src/model/select.ts +88 -0
- package/src/model/serialize.spec.ts +393 -0
- package/src/model/serialize.ts +395 -0
- package/src/native/DomOnlyStory.tsx +72 -0
- package/src/native/GraphFallback.native.tsx +123 -0
- package/src/native/GraphToolbar.tsx +171 -0
- package/src/native/NodeGraph.native.tsx +505 -0
- package/src/native/domEntryRegistry.spec.ts +66 -0
- package/src/native/domEntryRegistry.ts +45 -0
- package/src/native/graphChildren.spec.ts +67 -0
- package/src/native/graphChildren.ts +62 -0
- package/src/native/graphFallback.spec.ts +49 -0
- package/src/native/graphHandleRemount.spec.tsx +189 -0
- package/src/nodes/GraphNode.spec.tsx +270 -0
- package/src/nodes/GraphNode.stories.tsx +451 -0
- package/src/nodes/GraphNode.tsx +240 -0
- package/src/nodes/GraphPort.spec.tsx +442 -0
- package/src/nodes/GraphPort.stories.tsx +407 -0
- package/src/nodes/GraphPort.tsx +117 -0
- package/src/nodes/Overview.stories.tsx +237 -0
- package/src/nodes/handleGeometry.spec.ts +161 -0
- package/src/nodes/handleGeometry.ts +232 -0
- package/src/nodes/lod.spec.tsx +300 -0
- package/src/nodes/lod.ts +69 -0
- package/src/nodes/nodeMeasure.spec.ts +245 -0
- package/src/nodes/nodeMeasure.ts +216 -0
- package/src/nodes/overviewNode.tsx +71 -0
- package/src/packageShape.spec.ts +145 -0
- package/src/react-flow/ConnectionPuck.spec.tsx +242 -0
- package/src/react-flow/ConnectionPuck.tsx +175 -0
- package/src/react-flow/GraphActions.tsx +64 -0
- package/src/react-flow/GraphCommandBridge.spec.tsx +130 -0
- package/src/react-flow/GraphCommandBridge.tsx +288 -0
- package/src/react-flow/GraphNodeHost.tsx +101 -0
- package/src/react-flow/GraphPaintProbe.spec.tsx +116 -0
- package/src/react-flow/GraphPaintProbe.tsx +65 -0
- package/src/react-flow/GraphZoomVar.tsx +48 -0
- package/src/react-flow/LassoOverlay.tsx +59 -0
- package/src/react-flow/NodeGraphWeb.spec.tsx +441 -0
- package/src/react-flow/NodeGraphWeb.stories.tsx +260 -0
- package/src/react-flow/NodeGraphWeb.tsx +645 -0
- package/src/react-flow/SnapGuides.spec.tsx +161 -0
- package/src/react-flow/SnapGuides.tsx +113 -0
- package/src/react-flow/demoControlBody.tsx +96 -0
- package/src/react-flow/demoNodeBody.tsx +121 -0
- package/src/react-flow/fixtures.ts +185 -0
- package/src/react-flow/flowAdapter.ts +170 -0
- package/src/react-flow/graphHandle.ts +112 -0
- package/src/react-flow/nodeCensus.spec.ts +66 -0
- package/src/react-flow/nodeCensus.ts +69 -0
- package/src/react-flow/useGraphController.spec.tsx +849 -0
- package/src/react-flow/useGraphController.ts +473 -0
- package/src/react-flow/xy.spec.ts +182 -0
- package/src/react-flow/xy.ts +131 -0
- package/src/theme/GraphFaces.spec.tsx +101 -0
- package/src/theme/GraphFaces.tsx +218 -0
- package/src/theme/GraphVarsStyle.tsx +113 -0
- package/src/theme/faces.generated.ts +53 -0
- package/src/theme/faces.spec.ts +228 -0
- package/src/theme/faces.ts +275 -0
- package/src/theme/graphCss.spec.ts +111 -0
- package/src/theme/graphVars.spec.ts +322 -0
- package/src/theme/graphVars.ts +441 -0
- package/types/NodeGraph.d.ts +17 -0
- package/types/NodeGraph.d.ts.map +1 -0
- package/types/NodeGraph.native.d.ts +142 -0
- package/types/NodeGraph.native.d.ts.map +1 -0
- package/types/bench/frameSampler.d.ts +235 -0
- package/types/bench/frameSampler.d.ts.map +1 -0
- package/types/bench/generateGraph.d.ts +43 -0
- package/types/bench/generateGraph.d.ts.map +1 -0
- package/types/diagnostics/GraphDiagnostics.d.ts +30 -0
- package/types/diagnostics/GraphDiagnostics.d.ts.map +1 -0
- package/types/diagnostics/LiveGraphDiagnostics.d.ts +27 -0
- package/types/diagnostics/LiveGraphDiagnostics.d.ts.map +1 -0
- package/types/diagnostics/LiveGraphDiagnostics.native.d.ts +25 -0
- package/types/diagnostics/LiveGraphDiagnostics.native.d.ts.map +1 -0
- package/types/diagnostics/deliberateBreak.d.ts +28 -0
- package/types/diagnostics/deliberateBreak.d.ts.map +1 -0
- package/types/diagnostics/fromWire.d.ts +17 -0
- package/types/diagnostics/fromWire.d.ts.map +1 -0
- package/types/diagnostics/lastError.d.ts +50 -0
- package/types/diagnostics/lastError.d.ts.map +1 -0
- package/types/diagnostics/types.d.ts +101 -0
- package/types/diagnostics/types.d.ts.map +1 -0
- package/types/diagnostics/useGraphDiagnostics.d.ts +23 -0
- package/types/diagnostics/useGraphDiagnostics.d.ts.map +1 -0
- package/types/dom/GraphDomLayout.d.ts +40 -0
- package/types/dom/GraphDomLayout.d.ts.map +1 -0
- package/types/dom/NodeGraphDom.d.ts +4 -0
- package/types/dom/NodeGraphDom.d.ts.map +1 -0
- package/types/dom/NodeGraphDomInner.d.ts +26 -0
- package/types/dom/NodeGraphDomInner.d.ts.map +1 -0
- package/types/dom/NodeGraphDomShell.d.ts +221 -0
- package/types/dom/NodeGraphDomShell.d.ts.map +1 -0
- package/types/dom/boot.d.ts +90 -0
- package/types/dom/boot.d.ts.map +1 -0
- package/types/dom/wire.d.ts +355 -0
- package/types/dom/wire.d.ts.map +1 -0
- package/types/edges/GraphEdge.d.ts +59 -0
- package/types/edges/GraphEdge.d.ts.map +1 -0
- package/types/edges/edgeKinds.d.ts +43 -0
- package/types/edges/edgeKinds.d.ts.map +1 -0
- package/types/edges/edgeStyle.d.ts +79 -0
- package/types/edges/edgeStyle.d.ts.map +1 -0
- package/types/index.d.ts +123 -0
- package/types/index.d.ts.map +1 -0
- package/types/index.native.d.ts +86 -0
- package/types/index.native.d.ts.map +1 -0
- package/types/interaction/lassoIntercept.d.ts +58 -0
- package/types/interaction/lassoIntercept.d.ts.map +1 -0
- package/types/interaction/legalTargets.d.ts +59 -0
- package/types/interaction/legalTargets.d.ts.map +1 -0
- package/types/interaction/snapAlignment.d.ts +85 -0
- package/types/interaction/snapAlignment.d.ts.map +1 -0
- package/types/interaction/snapChanges.d.ts +133 -0
- package/types/interaction/snapChanges.d.ts.map +1 -0
- package/types/interaction/spatialHash.d.ts +37 -0
- package/types/interaction/spatialHash.d.ts.map +1 -0
- package/types/interaction/useLassoSelect.d.ts +151 -0
- package/types/interaction/useLassoSelect.d.ts.map +1 -0
- package/types/knobs/KnobEnvelopeProvider.d.ts +45 -0
- package/types/knobs/KnobEnvelopeProvider.d.ts.map +1 -0
- package/types/knobs/envelope.d.ts +99 -0
- package/types/knobs/envelope.d.ts.map +1 -0
- package/types/knobs/graphKnobs.d.ts +26 -0
- package/types/knobs/graphKnobs.d.ts.map +1 -0
- package/types/knobs/useKnobEnvelope.d.ts +43 -0
- package/types/knobs/useKnobEnvelope.d.ts.map +1 -0
- package/types/layout/dagre.d.ts +39 -0
- package/types/layout/dagre.d.ts.map +1 -0
- package/types/layout/layout.d.ts +58 -0
- package/types/layout/layout.d.ts.map +1 -0
- package/types/layout/runner.d.ts +60 -0
- package/types/layout/runner.d.ts.map +1 -0
- package/types/layout/structuredCloneShim.d.ts +44 -0
- package/types/layout/structuredCloneShim.d.ts.map +1 -0
- package/types/layout/types.d.ts +113 -0
- package/types/layout/types.d.ts.map +1 -0
- package/types/layout/worker.entry.d.ts +34 -0
- package/types/layout/worker.entry.d.ts.map +1 -0
- package/types/layout/worker.generated.d.ts +26 -0
- package/types/layout/worker.generated.d.ts.map +1 -0
- package/types/model/commands.d.ts +49 -0
- package/types/model/commands.d.ts.map +1 -0
- package/types/model/connect.d.ts +83 -0
- package/types/model/connect.d.ts.map +1 -0
- package/types/model/document.d.ts +111 -0
- package/types/model/document.d.ts.map +1 -0
- package/types/model/history.d.ts +40 -0
- package/types/model/history.d.ts.map +1 -0
- package/types/model/index.d.ts +20 -0
- package/types/model/index.d.ts.map +1 -0
- package/types/model/schema.d.ts +136 -0
- package/types/model/schema.d.ts.map +1 -0
- package/types/model/select.d.ts +41 -0
- package/types/model/select.d.ts.map +1 -0
- package/types/model/serialize.d.ts +33 -0
- package/types/model/serialize.d.ts.map +1 -0
- package/types/native/DomOnlyStory.d.ts +49 -0
- package/types/native/DomOnlyStory.d.ts.map +1 -0
- package/types/native/GraphFallback.native.d.ts +41 -0
- package/types/native/GraphFallback.native.d.ts.map +1 -0
- package/types/native/GraphToolbar.d.ts +75 -0
- package/types/native/GraphToolbar.d.ts.map +1 -0
- package/types/native/NodeGraph.native.d.ts +128 -0
- package/types/native/NodeGraph.native.d.ts.map +1 -0
- package/types/native/domEntryRegistry.d.ts +33 -0
- package/types/native/domEntryRegistry.d.ts.map +1 -0
- package/types/native/graphChildren.d.ts +36 -0
- package/types/native/graphChildren.d.ts.map +1 -0
- package/types/nodes/GraphNode.d.ts +48 -0
- package/types/nodes/GraphNode.d.ts.map +1 -0
- package/types/nodes/GraphPort.d.ts +41 -0
- package/types/nodes/GraphPort.d.ts.map +1 -0
- package/types/nodes/handleGeometry.d.ts +183 -0
- package/types/nodes/handleGeometry.d.ts.map +1 -0
- package/types/nodes/lod.d.ts +55 -0
- package/types/nodes/lod.d.ts.map +1 -0
- package/types/nodes/nodeMeasure.d.ts +146 -0
- package/types/nodes/nodeMeasure.d.ts.map +1 -0
- package/types/nodes/overviewNode.d.ts +34 -0
- package/types/nodes/overviewNode.d.ts.map +1 -0
- package/types/react-flow/ConnectionPuck.d.ts +62 -0
- package/types/react-flow/ConnectionPuck.d.ts.map +1 -0
- package/types/react-flow/GraphActions.d.ts +45 -0
- package/types/react-flow/GraphActions.d.ts.map +1 -0
- package/types/react-flow/GraphCommandBridge.d.ts +45 -0
- package/types/react-flow/GraphCommandBridge.d.ts.map +1 -0
- package/types/react-flow/GraphNodeHost.d.ts +32 -0
- package/types/react-flow/GraphNodeHost.d.ts.map +1 -0
- package/types/react-flow/GraphPaintProbe.d.ts +26 -0
- package/types/react-flow/GraphPaintProbe.d.ts.map +1 -0
- package/types/react-flow/GraphZoomVar.d.ts +31 -0
- package/types/react-flow/GraphZoomVar.d.ts.map +1 -0
- package/types/react-flow/LassoOverlay.d.ts +39 -0
- package/types/react-flow/LassoOverlay.d.ts.map +1 -0
- package/types/react-flow/NodeGraphWeb.d.ts +195 -0
- package/types/react-flow/NodeGraphWeb.d.ts.map +1 -0
- package/types/react-flow/SnapGuides.d.ts +49 -0
- package/types/react-flow/SnapGuides.d.ts.map +1 -0
- package/types/react-flow/demoControlBody.d.ts +47 -0
- package/types/react-flow/demoControlBody.d.ts.map +1 -0
- package/types/react-flow/demoNodeBody.d.ts +37 -0
- package/types/react-flow/demoNodeBody.d.ts.map +1 -0
- package/types/react-flow/fixtures.d.ts +107 -0
- package/types/react-flow/fixtures.d.ts.map +1 -0
- package/types/react-flow/flowAdapter.d.ts +56 -0
- package/types/react-flow/flowAdapter.d.ts.map +1 -0
- package/types/react-flow/graphHandle.d.ts +90 -0
- package/types/react-flow/graphHandle.d.ts.map +1 -0
- package/types/react-flow/nodeCensus.d.ts +42 -0
- package/types/react-flow/nodeCensus.d.ts.map +1 -0
- package/types/react-flow/useGraphController.d.ts +93 -0
- package/types/react-flow/useGraphController.d.ts.map +1 -0
- package/types/react-flow/xy.d.ts +84 -0
- package/types/react-flow/xy.d.ts.map +1 -0
- package/types/theme/GraphFaces.d.ts +82 -0
- package/types/theme/GraphFaces.d.ts.map +1 -0
- package/types/theme/GraphVarsStyle.d.ts +56 -0
- package/types/theme/GraphVarsStyle.d.ts.map +1 -0
- package/types/theme/faces.d.ts +152 -0
- package/types/theme/faces.d.ts.map +1 -0
- package/types/theme/faces.generated.d.ts +27 -0
- package/types/theme/faces.generated.d.ts.map +1 -0
- package/types/theme/graphVars.d.ts +155 -0
- package/types/theme/graphVars.d.ts.map +1 -0
|
@@ -0,0 +1,441 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The `--xy-*` token bridge.
|
|
3
|
+
*
|
|
4
|
+
* Every paint in React Flow reads through `var(--xy-thing,
|
|
5
|
+
* var(--xy-thing-default))`. We set the non-default layer from `ResolvedKnobs`
|
|
6
|
+
* plus the Tamagui theme, so the library stylesheet is never edited, never
|
|
7
|
+
* forked, and no specificity war is possible. A designer never touches React
|
|
8
|
+
* Flow CSS — `checkGraphVarsCoverage()` in `public/config/lint.mjs` makes that
|
|
9
|
+
* mechanical rather than aspirational.
|
|
10
|
+
*
|
|
11
|
+
* Scope, honestly: the installed sheet exposes 35 settable names and 7 of them
|
|
12
|
+
* are dead for us. The `--xy-node-*` family binds ONLY to React Flow's built-in
|
|
13
|
+
* node classes (style.css:454-486) and a Tamagui node never carries them; its
|
|
14
|
+
* paint comes from the `knobProps` spread in `GraphNode.tsx`. So this layer
|
|
15
|
+
* paints CHROME: edges, edge labels, handles, minimap, controls, background
|
|
16
|
+
* pattern, selection rect, connection line, resize control.
|
|
17
|
+
*
|
|
18
|
+
* Design: docs/design/node-graph-editor.md section 6.2.
|
|
19
|
+
*/
|
|
20
|
+
|
|
21
|
+
import { MIN_PRESS_TARGET, type ResolvedKnobs, hairlineWidth } from "@multiplatform.one/theme";
|
|
22
|
+
|
|
23
|
+
// ── Theme access ─────────────────────────────────────────────────────────────
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* How a colour is reached, in the two forms this module needs.
|
|
27
|
+
*
|
|
28
|
+
* `css` is what gets emitted for a plain reference. On web it is the Tamagui
|
|
29
|
+
* Variable's own `var(--…)` string, read off the live theme rather than
|
|
30
|
+
* reconstructed from a guessed prefix, so a theme flip repaints without a
|
|
31
|
+
* revision bump. `raw` is the literal value, and exists only because the two
|
|
32
|
+
* BLENDED entries have to be computed in JS: `color-mix()` support in the
|
|
33
|
+
* Android WebView images in play is unchecked, and four values would silently
|
|
34
|
+
* vanish if we leaned on it (design 6.2).
|
|
35
|
+
*/
|
|
36
|
+
export interface GraphThemeAccess {
|
|
37
|
+
/** CSS-ready reference for a theme key, with or without the `$`. */
|
|
38
|
+
readonly css: (key: string) => string | undefined;
|
|
39
|
+
/** Literal value for the same key — `#fff`, `hsl(…)`, `rgb(…)`. */
|
|
40
|
+
readonly raw: (key: string) => string | undefined;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
// ── The 7 that are dead for us ───────────────────────────────────────────────
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* Names React Flow exposes that this package deliberately does not set, each
|
|
47
|
+
* with the reason a reader can check against the installed sheet. The spec
|
|
48
|
+
* re-derives the binding from `@xyflow/react/dist/style.css` rather than
|
|
49
|
+
* trusting these strings, so a version that starts binding one of them to a
|
|
50
|
+
* class we DO render fails the build.
|
|
51
|
+
*/
|
|
52
|
+
export const xyVarAllowlist: Readonly<Record<string, string>> = {
|
|
53
|
+
"--xy-node-background-color":
|
|
54
|
+
"binds only to .react-flow__node-input/-default/-output/-group; a Tamagui GraphNode carries none of those classes and takes its fill from the knobProps spread",
|
|
55
|
+
"--xy-node-border":
|
|
56
|
+
"same four built-in node classes; a GraphNode's border comes from knobProps.controlBorderOutlined / .surface",
|
|
57
|
+
"--xy-node-border-radius":
|
|
58
|
+
"same four built-in node classes; a GraphNode's radius rides the CONTAINER-CAP law in graphNode.ts",
|
|
59
|
+
"--xy-node-color":
|
|
60
|
+
"same four built-in node classes; a GraphNode's text colour comes from knobProps.body",
|
|
61
|
+
"--xy-node-boxshadow-hover":
|
|
62
|
+
"same four built-in node classes, hover only; a GraphNode's elevation comes from knobProps.elevationChrome",
|
|
63
|
+
"--xy-node-boxshadow-selected":
|
|
64
|
+
"same four built-in node classes, selected only; selection chrome is painted by GraphNode itself",
|
|
65
|
+
"--xy-node-group-background-color":
|
|
66
|
+
"binds only to .react-flow__node-group; this package registers no group node type",
|
|
67
|
+
};
|
|
68
|
+
|
|
69
|
+
// ── Value shapes ─────────────────────────────────────────────────────────────
|
|
70
|
+
|
|
71
|
+
/**
|
|
72
|
+
* A var's value, kept structured rather than pre-stringified.
|
|
73
|
+
*
|
|
74
|
+
* Design 6.2 asks the spec to run `isResolvableThemeValue` over "every mapped
|
|
75
|
+
* value", and taken literally that is not satisfiable: two of the 28 are CSS
|
|
76
|
+
* SHORTHANDS (`1px dashed <colour>`, a box-shadow), and the predicate answers
|
|
77
|
+
* "is this a colour a renderer can resolve" — it says no to any shorthand, and
|
|
78
|
+
* to `2px`. So the map carries the ATOMS: every `color`, and every colour
|
|
79
|
+
* inside a `composite`, is put through the predicate; a `length` is a finite
|
|
80
|
+
* number, which the predicate also accepts. Nothing is exempted by hand.
|
|
81
|
+
*/
|
|
82
|
+
export type GraphVarValue =
|
|
83
|
+
| { readonly kind: "color"; readonly color: string }
|
|
84
|
+
| { readonly kind: "length"; readonly px: number }
|
|
85
|
+
| { readonly kind: "composite"; readonly css: string; readonly colors: readonly string[] };
|
|
86
|
+
|
|
87
|
+
export interface GraphCssVarsOptions {
|
|
88
|
+
/**
|
|
89
|
+
* Pointer class the graph is being painted for. Coarse pointers get the
|
|
90
|
+
* 44 px HIG/M3 press floor on the handle HIT region; the painted disc never
|
|
91
|
+
* moves (design 7.1 H1/H3).
|
|
92
|
+
*/
|
|
93
|
+
readonly pointer?: "coarse" | "fine";
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
// ── Mirrored token numbers ───────────────────────────────────────────────────
|
|
97
|
+
|
|
98
|
+
/**
|
|
99
|
+
* Tamagui space tokens as px.
|
|
100
|
+
*
|
|
101
|
+
* `knobProps.gap.gap` and `knobProps.panelPadding.padding` are TOKEN strings
|
|
102
|
+
* (`"$4"`), and a CSS custom property whose value is `$4` is dead — it is
|
|
103
|
+
* exactly the silent no-op the repo's own token lints exist to catch. The
|
|
104
|
+
* numbers are mirrored here the way `resolveKnobs.ts:148-162` mirrors them, and
|
|
105
|
+
* `graphVars.spec.ts` asserts the mirror against the INSTALLED
|
|
106
|
+
* `@tamagui/themes` table, which is the drift check resolveKnobs' own mirror
|
|
107
|
+
* does not have.
|
|
108
|
+
*/
|
|
109
|
+
export const spaceTokenPx: Readonly<Record<string, number>> = {
|
|
110
|
+
$0: 0,
|
|
111
|
+
$1: 2,
|
|
112
|
+
$2: 7,
|
|
113
|
+
$3: 13,
|
|
114
|
+
$4: 18,
|
|
115
|
+
$5: 24,
|
|
116
|
+
$6: 32,
|
|
117
|
+
};
|
|
118
|
+
|
|
119
|
+
/**
|
|
120
|
+
* `animation` token to a complete CSS `transition` shorthand.
|
|
121
|
+
*
|
|
122
|
+
* Mirrored, not imported: `animationConfig` is a platform twin
|
|
123
|
+
* (`animations/index.web.ts` -> `./css` gives these strings, `./reactNative`
|
|
124
|
+
* gives spring objects), and this function runs on the NATIVE host too — it
|
|
125
|
+
* builds the vars that cross into the WebView. `graphVars.spec.ts` asserts the
|
|
126
|
+
* mirror against the web twin.
|
|
127
|
+
*/
|
|
128
|
+
export const graphTransitionCss: Readonly<Record<string, string>> = {
|
|
129
|
+
bouncy: "all ease-in 200ms",
|
|
130
|
+
lazy: "all ease-in 600ms",
|
|
131
|
+
slow: "all ease-in 500ms",
|
|
132
|
+
medium: "all ease-in 300ms",
|
|
133
|
+
quick: "all ease-in 100ms",
|
|
134
|
+
tooltip: "all ease-in 400ms",
|
|
135
|
+
snappy: "all ease-out 80ms",
|
|
136
|
+
gentle: "all ease-in-out 450ms",
|
|
137
|
+
};
|
|
138
|
+
|
|
139
|
+
/** GraphPort painted disc, by the `size` knob (design 11, Size). Never 44 — that is the HIT value. */
|
|
140
|
+
export const handlePaintedPx: Readonly<Record<string, number>> = {
|
|
141
|
+
small: 8,
|
|
142
|
+
medium: 10,
|
|
143
|
+
large: 12,
|
|
144
|
+
};
|
|
145
|
+
|
|
146
|
+
/**
|
|
147
|
+
* Edge ink by the `borderWidth` knob (design 11, Border width): none 1, small
|
|
148
|
+
* 1.5, medium 2, large 3.
|
|
149
|
+
*
|
|
150
|
+
* A remap, not a floor to `hairlineWidth`: an edge is a stroke, not a divider,
|
|
151
|
+
* and `hairline.ts:16-21` scopes that token to dividers only. `none` still
|
|
152
|
+
* paints, because a 0-width edge erases the graph's primary information.
|
|
153
|
+
*
|
|
154
|
+
* Keyed by `knobProps.controlBorderFilled.borderWidth`, NOT by the design's
|
|
155
|
+
* `controlBorderOutlined.borderWidth`. That fragment is
|
|
156
|
+
* `Math.max(borderWidthValue, 1)` (resolveKnobs.ts:599-602), which collapses
|
|
157
|
+
* none / small / medium onto the single value 1 — three of the four stops are
|
|
158
|
+
* not recoverable from it, so a remap off it cannot produce four widths.
|
|
159
|
+
* `controlBorderFilled` carries the unclamped number (0 / 0.5 / 1 / 2) and is
|
|
160
|
+
* the only post-resolution place the stop survives; `ResolvedKnobs` exposes no
|
|
161
|
+
* `borderWidth` string at all.
|
|
162
|
+
*
|
|
163
|
+
* One measured consequence: under `fillStyle: "outlined"` the resolver already
|
|
164
|
+
* promotes `borderWidth: "none"` to `small` (resolveKnobs.ts:530-533), so an
|
|
165
|
+
* outlined graph paints the 1.5 px edge at BOTH stops. That is the resolver's
|
|
166
|
+
* own clamp showing through, not a choice made here.
|
|
167
|
+
*/
|
|
168
|
+
export const edgeStrokeWidthPx: Readonly<Record<string, number>> = {
|
|
169
|
+
"0": 1,
|
|
170
|
+
"0.5": 1.5,
|
|
171
|
+
"1": 2,
|
|
172
|
+
"2": 3,
|
|
173
|
+
};
|
|
174
|
+
|
|
175
|
+
// ── Colour helpers ───────────────────────────────────────────────────────────
|
|
176
|
+
|
|
177
|
+
function clamp255(value: number): number {
|
|
178
|
+
return Math.max(0, Math.min(255, Math.round(value)));
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
function roundAlpha(value: number): number {
|
|
182
|
+
return Math.round(Math.max(0, Math.min(1, value)) * 1000) / 1000;
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
/**
|
|
186
|
+
* The same colour at a different alpha, as `rgba()` / `hsla()`.
|
|
187
|
+
*
|
|
188
|
+
* No `color-mix()` and no hex out: the blends are computed here so the emitted
|
|
189
|
+
* value is one every engine in play already paints. Returns `undefined` when
|
|
190
|
+
* the input is not a literal colour this can read (a `var()` reference, an
|
|
191
|
+
* `oklch()`), so the caller degrades visibly rather than emitting nonsense.
|
|
192
|
+
*/
|
|
193
|
+
export function withAlpha(color: string | undefined, alpha: number): string | undefined {
|
|
194
|
+
if (!color) return undefined;
|
|
195
|
+
const text = color.trim();
|
|
196
|
+
const a = roundAlpha(alpha);
|
|
197
|
+
|
|
198
|
+
const hex = /^#([0-9a-fA-F]{3,8})$/.exec(text);
|
|
199
|
+
if (hex) {
|
|
200
|
+
const digits = hex[1];
|
|
201
|
+
let r: number;
|
|
202
|
+
let g: number;
|
|
203
|
+
let b: number;
|
|
204
|
+
if (digits.length === 3 || digits.length === 4) {
|
|
205
|
+
r = Number.parseInt(digits[0] + digits[0], 16);
|
|
206
|
+
g = Number.parseInt(digits[1] + digits[1], 16);
|
|
207
|
+
b = Number.parseInt(digits[2] + digits[2], 16);
|
|
208
|
+
} else if (digits.length === 6 || digits.length === 8) {
|
|
209
|
+
r = Number.parseInt(digits.slice(0, 2), 16);
|
|
210
|
+
g = Number.parseInt(digits.slice(2, 4), 16);
|
|
211
|
+
b = Number.parseInt(digits.slice(4, 6), 16);
|
|
212
|
+
} else {
|
|
213
|
+
return undefined;
|
|
214
|
+
}
|
|
215
|
+
return `rgba(${clamp255(r)}, ${clamp255(g)}, ${clamp255(b)}, ${a})`;
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
const rgb = /^rgba?\(([^)]+)\)$/.exec(text);
|
|
219
|
+
if (rgb) {
|
|
220
|
+
const parts = rgb[1].split(/[\s,/]+/).filter(Boolean);
|
|
221
|
+
if (parts.length < 3) return undefined;
|
|
222
|
+
return `rgba(${parts[0]}, ${parts[1]}, ${parts[2]}, ${a})`;
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
const hsl = /^hsla?\(([^)]+)\)$/.exec(text);
|
|
226
|
+
if (hsl) {
|
|
227
|
+
const parts = hsl[1]
|
|
228
|
+
.split(/[,/]+/)
|
|
229
|
+
.map((part) => part.trim())
|
|
230
|
+
.filter(Boolean);
|
|
231
|
+
if (parts.length < 3) return undefined;
|
|
232
|
+
return `hsla(${parts[0]}, ${parts[1]}, ${parts[2]}, ${a})`;
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
return undefined;
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
/** `"$color9"` / `"color9"` resolve through the theme; anything else is already CSS. */
|
|
239
|
+
function toCss(value: string | undefined, theme: GraphThemeAccess): string | undefined {
|
|
240
|
+
if (!value) return undefined;
|
|
241
|
+
if (value.startsWith("$")) return theme.css(value.slice(1));
|
|
242
|
+
return value;
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
/**
|
|
246
|
+
* A dev-only notice for a value this module could not compute.
|
|
247
|
+
*
|
|
248
|
+
* Not `devWarn`: its `DevWarnCode` union is closed (public/theme/src/devWarn.ts)
|
|
249
|
+
* and adding a member is a change to the theme package, which this task does
|
|
250
|
+
* not own. The alternative — degrading in silence — is the failure the repo's
|
|
251
|
+
* whole silent-no-op lint family exists to prevent.
|
|
252
|
+
*/
|
|
253
|
+
function warnOnce(message: string): void {
|
|
254
|
+
if (process.env.NODE_ENV === "production") return;
|
|
255
|
+
// oxlint-disable-next-line no-console -- see above: the sink for a degraded var
|
|
256
|
+
console.warn(`[@multiplatform.one/node-graph] ${message}`);
|
|
257
|
+
}
|
|
258
|
+
|
|
259
|
+
/**
|
|
260
|
+
* `knobProps.elevationChrome` as a CSS box-shadow.
|
|
261
|
+
*
|
|
262
|
+
* On web `elevationChrome.style.boxShadow` is already the house shadow string
|
|
263
|
+
* (`resolveKnobs.ts:312-322`, pure `rgba()`), so it is used verbatim. On the
|
|
264
|
+
* NATIVE host that key is absent — `elevationPaint` only sets it under `isWeb`
|
|
265
|
+
* — and the shadow is rebuilt from the paint props, resolving a `$token`
|
|
266
|
+
* shadow colour through the theme. `elevation: "none"` resolves to an empty
|
|
267
|
+
* chrome and emits `none`, which is the right answer rather than a missing one.
|
|
268
|
+
*/
|
|
269
|
+
export function elevationBoxShadow(
|
|
270
|
+
resolved: ResolvedKnobs,
|
|
271
|
+
theme: GraphThemeAccess,
|
|
272
|
+
): { css: string; colors: readonly string[] } {
|
|
273
|
+
const chrome = resolved.knobProps.elevationChrome;
|
|
274
|
+
const fromWeb = chrome.style?.boxShadow;
|
|
275
|
+
if (fromWeb) {
|
|
276
|
+
return { css: fromWeb, colors: fromWeb.match(/rgba?\([^)]*\)/g) ?? [] };
|
|
277
|
+
}
|
|
278
|
+
if (!chrome.shadowColor || chrome.shadowRadius == null) return { css: "none", colors: [] };
|
|
279
|
+
const raw = chrome.shadowColor.startsWith("$")
|
|
280
|
+
? theme.raw(chrome.shadowColor.slice(1))
|
|
281
|
+
: chrome.shadowColor;
|
|
282
|
+
const tinted = withAlpha(raw, chrome.shadowOpacity ?? 0.15);
|
|
283
|
+
if (!tinted) {
|
|
284
|
+
warnOnce(
|
|
285
|
+
`elevation shadow colour ${JSON.stringify(chrome.shadowColor)} is not a literal colour this can blend, so --xy-controls-box-shadow falls back to none`,
|
|
286
|
+
);
|
|
287
|
+
return { css: "none", colors: [] };
|
|
288
|
+
}
|
|
289
|
+
const offsetY = chrome.shadowOffset?.height ?? 0;
|
|
290
|
+
const offsetX = chrome.shadowOffset?.width ?? 0;
|
|
291
|
+
return {
|
|
292
|
+
css: `${offsetX}px ${offsetY}px ${chrome.shadowRadius}px ${tinted}`,
|
|
293
|
+
colors: [tinted],
|
|
294
|
+
};
|
|
295
|
+
}
|
|
296
|
+
|
|
297
|
+
// ── The map ──────────────────────────────────────────────────────────────────
|
|
298
|
+
|
|
299
|
+
function color(value: string | undefined, fallback: string): GraphVarValue {
|
|
300
|
+
return { kind: "color", color: value ?? fallback };
|
|
301
|
+
}
|
|
302
|
+
|
|
303
|
+
/**
|
|
304
|
+
* Every var this package sets, structured. `graphCssVars` is the string form
|
|
305
|
+
* that goes into the sheet; this is the form the spec can reason about.
|
|
306
|
+
*/
|
|
307
|
+
export function graphVarValues(
|
|
308
|
+
resolved: ResolvedKnobs,
|
|
309
|
+
theme: GraphThemeAccess,
|
|
310
|
+
options?: GraphCssVarsOptions,
|
|
311
|
+
): Record<string, GraphVarValue> {
|
|
312
|
+
const { knobProps, control, text } = resolved;
|
|
313
|
+
const themeColor = (key: string, fallback = "currentColor") => theme.css(key) ?? fallback;
|
|
314
|
+
|
|
315
|
+
const outline = themeColor("outlineColor", themeColor("borderColor"));
|
|
316
|
+
const bodyColor = toCss(knobProps.body.color, theme) ?? themeColor("color");
|
|
317
|
+
const hoverBackground = toCss(control.hoverKnobProps?.backgroundColor, theme);
|
|
318
|
+
// Design 6.2 reads this off `control.hoverKnobProps.color`, but
|
|
319
|
+
// `ControlStateProps` carries no colour at all (recipes.ts:7-17) — text
|
|
320
|
+
// colour is `TextStateProps` on the `text` recipe (recipes.ts:19-23), which
|
|
321
|
+
// is where the hover label colour actually lives.
|
|
322
|
+
const hoverColor = toCss(text.hoverKnobProps?.color, theme);
|
|
323
|
+
|
|
324
|
+
const edgeStrokeWidth = edgeStrokeWidthPx[String(knobProps.controlBorderFilled.borderWidth)] ?? 2;
|
|
325
|
+
|
|
326
|
+
const selectionFill = withAlpha(theme.raw("outlineColor") ?? theme.raw("borderColor"), 0.12);
|
|
327
|
+
const maskFill = withAlpha(theme.raw("color1"), 0.7);
|
|
328
|
+
const shadow = elevationBoxShadow(resolved, theme);
|
|
329
|
+
|
|
330
|
+
const handlePainted = handlePaintedPx[knobProps.size] ?? 10;
|
|
331
|
+
const handleHit = options?.pointer === "fine" ? Math.max(handlePainted, 24) : MIN_PRESS_TARGET;
|
|
332
|
+
const nodeGap = spaceTokenPx[knobProps.gap.gap] ?? 18;
|
|
333
|
+
const nodePadding = spaceTokenPx[knobProps.panelPadding.padding] ?? 18;
|
|
334
|
+
|
|
335
|
+
return {
|
|
336
|
+
// ── edges ──
|
|
337
|
+
"--xy-edge-stroke": color(theme.css("color9"), "currentColor"),
|
|
338
|
+
"--xy-edge-stroke-selected": { kind: "color", color: outline },
|
|
339
|
+
"--xy-edge-stroke-width": { kind: "length", px: edgeStrokeWidth },
|
|
340
|
+
"--xy-connectionline-stroke": { kind: "color", color: outline },
|
|
341
|
+
"--xy-connectionline-stroke-width": { kind: "length", px: edgeStrokeWidth + 1 },
|
|
342
|
+
"--xy-edge-label-background-color": color(
|
|
343
|
+
toCss(knobProps.cardSurface.backgroundColor, theme),
|
|
344
|
+
themeColor("color1"),
|
|
345
|
+
),
|
|
346
|
+
"--xy-edge-label-color": { kind: "color", color: bodyColor },
|
|
347
|
+
|
|
348
|
+
// ── handles ──
|
|
349
|
+
"--xy-handle-background-color": color(theme.css("color1"), "transparent"),
|
|
350
|
+
"--xy-handle-border-color": color(theme.css("color8"), themeColor("borderColor")),
|
|
351
|
+
|
|
352
|
+
// ── selection ──
|
|
353
|
+
"--xy-selection-background-color": color(selectionFill, "transparent"),
|
|
354
|
+
"--xy-selection-border": {
|
|
355
|
+
kind: "composite",
|
|
356
|
+
css: `1px dashed ${outline}`,
|
|
357
|
+
colors: [outline],
|
|
358
|
+
},
|
|
359
|
+
|
|
360
|
+
// ── canvas ──
|
|
361
|
+
"--xy-background-color": color(
|
|
362
|
+
toCss(knobProps.surface.backgroundColor, theme),
|
|
363
|
+
themeColor("color1"),
|
|
364
|
+
),
|
|
365
|
+
"--xy-background-pattern-color": color(theme.css("color4"), themeColor("borderColor")),
|
|
366
|
+
|
|
367
|
+
// ── minimap ──
|
|
368
|
+
"--xy-minimap-background-color": color(
|
|
369
|
+
toCss(knobProps.elevatedSurface.backgroundColor, theme),
|
|
370
|
+
themeColor("color1"),
|
|
371
|
+
),
|
|
372
|
+
"--xy-minimap-node-background-color": color(theme.css("color6"), themeColor("borderColor")),
|
|
373
|
+
"--xy-minimap-node-stroke-color": color(theme.css("borderColor"), "currentColor"),
|
|
374
|
+
"--xy-minimap-node-stroke-width": { kind: "length", px: knobProps.surface.borderWidth },
|
|
375
|
+
"--xy-minimap-mask-background-color": color(maskFill, "transparent"),
|
|
376
|
+
"--xy-minimap-mask-stroke-color": { kind: "color", color: outline },
|
|
377
|
+
"--xy-minimap-mask-stroke-width": { kind: "length", px: hairlineWidth },
|
|
378
|
+
|
|
379
|
+
// ── controls ──
|
|
380
|
+
"--xy-controls-button-background-color": color(
|
|
381
|
+
toCss(knobProps.elevatedSurface.backgroundColor, theme),
|
|
382
|
+
themeColor("color1"),
|
|
383
|
+
),
|
|
384
|
+
"--xy-controls-button-background-color-hover": color(
|
|
385
|
+
hoverBackground ?? theme.css("color4"),
|
|
386
|
+
themeColor("borderColor"),
|
|
387
|
+
),
|
|
388
|
+
"--xy-controls-button-color": { kind: "color", color: bodyColor },
|
|
389
|
+
"--xy-controls-button-color-hover": { kind: "color", color: hoverColor ?? bodyColor },
|
|
390
|
+
"--xy-controls-button-border-color": color(theme.css("borderColor"), "currentColor"),
|
|
391
|
+
"--xy-controls-box-shadow": { kind: "composite", css: shadow.css, colors: shadow.colors },
|
|
392
|
+
|
|
393
|
+
// ── attribution / resize ──
|
|
394
|
+
"--xy-attribution-background-color": { kind: "color", color: "transparent" },
|
|
395
|
+
"--xy-resize-background-color": { kind: "color", color: outline },
|
|
396
|
+
|
|
397
|
+
// ── the mpo-owned layer, for what React Flow has no variable for ──
|
|
398
|
+
"--mpo-graph-handle-size": { kind: "length", px: handlePainted },
|
|
399
|
+
"--mpo-graph-handle-hit": { kind: "length", px: handleHit },
|
|
400
|
+
"--mpo-graph-guide-color": { kind: "color", color: outline },
|
|
401
|
+
// hairlineWidth, NOT divided by pixelRatio: CSS px inside a WebView are
|
|
402
|
+
// already density-independent, and dividing would ask for a 0.167 px line
|
|
403
|
+
// on a 3x phone. A guide is a divider, which is what the token is for.
|
|
404
|
+
"--mpo-graph-guide-width": { kind: "length", px: hairlineWidth },
|
|
405
|
+
"--mpo-graph-node-gap": { kind: "length", px: nodeGap },
|
|
406
|
+
"--mpo-graph-node-padding": { kind: "length", px: nodePadding },
|
|
407
|
+
"--mpo-graph-port-spacing": { kind: "length", px: Math.max(handleHit, nodeGap) },
|
|
408
|
+
"--mpo-graph-transition": {
|
|
409
|
+
kind: "composite",
|
|
410
|
+
css: knobProps.transition
|
|
411
|
+
? (graphTransitionCss[String(knobProps.transition)] ?? "none")
|
|
412
|
+
: "none",
|
|
413
|
+
colors: [],
|
|
414
|
+
},
|
|
415
|
+
};
|
|
416
|
+
}
|
|
417
|
+
|
|
418
|
+
/** One var value as it appears in the sheet. */
|
|
419
|
+
export function graphVarCss(value: GraphVarValue): string {
|
|
420
|
+
switch (value.kind) {
|
|
421
|
+
case "color":
|
|
422
|
+
return value.color;
|
|
423
|
+
case "length":
|
|
424
|
+
return `${value.px}px`;
|
|
425
|
+
default:
|
|
426
|
+
return value.css;
|
|
427
|
+
}
|
|
428
|
+
}
|
|
429
|
+
|
|
430
|
+
/** The layer that goes into the envelope and into `<GraphVars>`. */
|
|
431
|
+
export function graphCssVars(
|
|
432
|
+
resolved: ResolvedKnobs,
|
|
433
|
+
theme: GraphThemeAccess,
|
|
434
|
+
options?: GraphCssVarsOptions,
|
|
435
|
+
): Record<string, string> {
|
|
436
|
+
const out: Record<string, string> = {};
|
|
437
|
+
for (const [name, value] of Object.entries(graphVarValues(resolved, theme, options))) {
|
|
438
|
+
out[name] = graphVarCss(value);
|
|
439
|
+
}
|
|
440
|
+
return out;
|
|
441
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `NodeGraph` — the one name a consumer imports.
|
|
3
|
+
*
|
|
4
|
+
* On web it IS `NodeGraphWeb`. On native it becomes the `expo/dom` host in
|
|
5
|
+
* milestone 2, which renders this same web canvas inside a WebView; the split
|
|
6
|
+
* happens at `src/index.native.ts`, never at a `.web.*` twin (MPO-192: one web
|
|
7
|
+
* build, and a `.web.ts` twin is invisible to it).
|
|
8
|
+
*
|
|
9
|
+
* The re-export is a real component rather than `export { NodeGraphWeb as
|
|
10
|
+
* NodeGraph }` so the name in a React devtools tree, an error boundary and a
|
|
11
|
+
* profiler flame is the name the consumer wrote.
|
|
12
|
+
*/
|
|
13
|
+
import type { EdgeKindDefs, NodeKindDefs } from "./model/index";
|
|
14
|
+
import type { NodeGraphWebProps } from "./react-flow/NodeGraphWeb";
|
|
15
|
+
export type NodeGraphProps<N extends NodeKindDefs = NodeKindDefs, E extends EdgeKindDefs = EdgeKindDefs> = NodeGraphWebProps<N, E>;
|
|
16
|
+
export declare function NodeGraph<N extends NodeKindDefs, E extends EdgeKindDefs>(props: NodeGraphProps<N, E>): import("react/jsx-runtime").JSX.Element;
|
|
17
|
+
//# sourceMappingURL=NodeGraph.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NodeGraph.d.ts","sourceRoot":"","sources":["../src/NodeGraph.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAEhE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAEnE,MAAM,MAAM,cAAc,CACxB,CAAC,SAAS,YAAY,GAAG,YAAY,EACrC,CAAC,SAAS,YAAY,GAAG,YAAY,IACnC,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAE5B,wBAAgB,SAAS,CAAC,CAAC,SAAS,YAAY,EAAE,CAAC,SAAS,YAAY,EACtE,KAAK,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,2CAG5B"}
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `NodeGraph` on native — the same NAME and the same PROPS a web consumer
|
|
3
|
+
* writes, resolving to the Expo DOM host instead of the canvas.
|
|
4
|
+
*
|
|
5
|
+
* The split happens HERE, at a `.native.tsx` twin, and never at a `.web.*` one.
|
|
6
|
+
* MPO-192's ruling: a `.web.ts` twin replaces the shared file in One's Vite
|
|
7
|
+
* client build exactly as it does under Metro, which is how the config reader
|
|
8
|
+
* lost `import.meta.env` in the first place.
|
|
9
|
+
*
|
|
10
|
+
* WHY THIS FILE GREW A BODY (MPO-211 task 2.7). It used to forward straight to
|
|
11
|
+
* `NodeGraphNative`, whose props are the BRIDGE's — `documentJson`, `rev`,
|
|
12
|
+
* `envelope`, `schemaId` — because that is what can be JSON. That is the right
|
|
13
|
+
* shape for the host and the wrong shape for a consumer: a story or a screen
|
|
14
|
+
* that writes `<NodeGraph schema={schema} defaultDocument={doc} />` and works on
|
|
15
|
+
* web got a DOM component with `documentJson: undefined` on device, and the
|
|
16
|
+
* watchdog drew the fallback. Found by running it, not by reading it.
|
|
17
|
+
*
|
|
18
|
+
* So the serialization lives here, in the one file whose whole job is to be the
|
|
19
|
+
* same component on both platforms:
|
|
20
|
+
*
|
|
21
|
+
* - the document is serialized once and re-serialized only when the consumer
|
|
22
|
+
* hands down a new one;
|
|
23
|
+
* - `rev` is stamped here, and the canvas's echo gate refuses the document it
|
|
24
|
+
* caused, so a drag does not fight itself (`wire.ts` holds the gate);
|
|
25
|
+
* - a commit comes back as commands, is applied to the host's copy with the
|
|
26
|
+
* package's own `applyCommand`, and is handed to `onDocumentChange` with the
|
|
27
|
+
* same `(document, command)` signature `NodeGraphWeb` uses;
|
|
28
|
+
* - the knob envelope is captured from the LIVE native theme by
|
|
29
|
+
* `useKnobEnvelope`, which is what makes a knob flip in the on-device theme
|
|
30
|
+
* addon reach nodes rendering inside a WebView.
|
|
31
|
+
*
|
|
32
|
+
* `children` is accepted and ignored. React Flow's `<Background />` and
|
|
33
|
+
* `<Controls />` are components, and a component cannot cross the bridge; the
|
|
34
|
+
* canvas mounts its own chrome from `options`. Accepting them keeps ONE story
|
|
35
|
+
* file for both platforms, which is the point.
|
|
36
|
+
*
|
|
37
|
+
* MILESTONE 6 MAKES THAT CONTRACT AUDIBLE. It was true, correct and silent, and
|
|
38
|
+
* silence cost five acceptance criteria: every device-facing control milestones
|
|
39
|
+
* 3-5 built was written as a child here, so on device AutoLayout had no Tidy
|
|
40
|
+
* button, Perf200 had no sampler and `window.__mpoPerf200` appeared zero times
|
|
41
|
+
* in the emitted bundle. Nothing threw. The canvas painted. So a canvas given
|
|
42
|
+
* children now warns ONCE in dev, naming the two places a control may legally
|
|
43
|
+
* go: a native SIBLING on `graphRef`, or a serializable option the DOM bundle
|
|
44
|
+
* renders from. `native/graphChildren.ts` holds the message.
|
|
45
|
+
*/
|
|
46
|
+
import type { ReactNode, Ref } from "react";
|
|
47
|
+
import type { EdgeKindDefs, NodeKindDefs } from "./model/index";
|
|
48
|
+
import type { GraphEventWire, PerfReportWire } from "./dom/wire";
|
|
49
|
+
import type { GraphDiagnosticsWire } from "./dom/wire";
|
|
50
|
+
import type { NodeGraphHandle } from "./react-flow/graphHandle";
|
|
51
|
+
import type { NodeGraphDomEntry } from "./native/domEntryRegistry";
|
|
52
|
+
import type { NodeGraphWebProps } from "./react-flow/NodeGraphWeb";
|
|
53
|
+
/**
|
|
54
|
+
* The web props, minus the four that are web-only by construction.
|
|
55
|
+
*
|
|
56
|
+
* `nodeTypes` and `className` are a React Flow registry and a DOM class, and
|
|
57
|
+
* `onConnectionRefused` takes a verdict object the bridge reports as a code and
|
|
58
|
+
* a message instead. Omitting them rather than accepting-and-dropping means a
|
|
59
|
+
* consumer who needs one fails to compile on native rather than at runtime.
|
|
60
|
+
*/
|
|
61
|
+
export type NodeGraphProps<N extends NodeKindDefs = NodeKindDefs, E extends EdgeKindDefs = EdgeKindDefs> = Omit<NodeGraphWebProps<N, E>, "nodeTypes" | "className" | "onConnectionRefused" | "children"> & {
|
|
62
|
+
/** Accepted so one story file serves both platforms. Never rendered here. */
|
|
63
|
+
readonly children?: ReactNode;
|
|
64
|
+
/** Refusals arrive over the wire as a code and a message, not as a verdict. */
|
|
65
|
+
readonly onConnectionRefused?: (code: string, message: string) => void;
|
|
66
|
+
/** Overridable so a test can make the watchdog fire without waiting four seconds. */
|
|
67
|
+
readonly readyTimeoutMs?: number;
|
|
68
|
+
/**
|
|
69
|
+
* The app's `'use dom'` entry (design §9.3). Native only: on web there is no
|
|
70
|
+
* bridge and `NodeGraphWebProps` has no such prop, so a screen that passes it
|
|
71
|
+
* fails to compile for web rather than silently ignoring it.
|
|
72
|
+
*
|
|
73
|
+
* A story in THIS package cannot supply one — `public/*` may not import an
|
|
74
|
+
* app's config — so the Kitchen Sink registers the app's entry once through
|
|
75
|
+
* `setNodeGraphDomEntry` and every story picks it up.
|
|
76
|
+
*/
|
|
77
|
+
readonly domEntry?: NodeGraphDomEntry;
|
|
78
|
+
/**
|
|
79
|
+
* Design 9.5's record, as the canvas inside the WebView measured it.
|
|
80
|
+
*
|
|
81
|
+
* NATIVE ONLY, and deliberately absent from `NodeGraphWebProps`: on web
|
|
82
|
+
* there is no bridge and no `ready` event to carry one, so a screen that
|
|
83
|
+
* passes this fails to compile for web rather than silently never firing.
|
|
84
|
+
* The web twin of a caller reads `useGraphDiagnostics` directly instead.
|
|
85
|
+
*
|
|
86
|
+
* It exists because the DOM half of AC-3 has nowhere else to land. `faces`
|
|
87
|
+
* carries design 6.3's corrupted-first-family probe, run INSIDE the WebView
|
|
88
|
+
* against a rendered node title, and `nodesMounted` / `nodesInDocument` are
|
|
89
|
+
* the only honest source for how many nodes actually painted — a story on the
|
|
90
|
+
* Hermes side can measure neither. `NodeGraph/Diagnostics` -> `Live` renders
|
|
91
|
+
* this straight into `GraphDiagnostics`.
|
|
92
|
+
*/
|
|
93
|
+
readonly onReady?: (diagnostics: GraphDiagnosticsWire) => void;
|
|
94
|
+
/**
|
|
95
|
+
* The handle a native SIBLING drives the canvas with (milestone 6, §9.1).
|
|
96
|
+
*
|
|
97
|
+
* The same eleven commands `NodeGraphWeb` publishes through its own
|
|
98
|
+
* `graphRef`, so a toolbar written once works on both platforms. This is the
|
|
99
|
+
* legal replacement for the children this component drops, and the warning it
|
|
100
|
+
* emits names it.
|
|
101
|
+
*/
|
|
102
|
+
readonly graphRef?: Ref<NodeGraphHandle>;
|
|
103
|
+
/**
|
|
104
|
+
* Arms design §7.3's long press INSIDE the WebView, where the pane element
|
|
105
|
+
* exists. Serializable, because it crosses the bridge as an option.
|
|
106
|
+
*/
|
|
107
|
+
readonly longPressLasso?: boolean;
|
|
108
|
+
/**
|
|
109
|
+
* A tidy finished: the runner that produced it and its engine milliseconds.
|
|
110
|
+
*
|
|
111
|
+
* A REJECTED relayout arrives here too, carrying `error` with `runner: "none"`
|
|
112
|
+
* and `ms: 0`. Before the m6 device pass a rejection answered with nothing at
|
|
113
|
+
* all, which is why a stuck "laying out…" could not be told apart from a Tidy
|
|
114
|
+
* that never reached the canvas.
|
|
115
|
+
*/
|
|
116
|
+
readonly onLayoutResult?: (result: {
|
|
117
|
+
runner: string;
|
|
118
|
+
ms: number;
|
|
119
|
+
nodeCount: number;
|
|
120
|
+
error?: string;
|
|
121
|
+
}) => void;
|
|
122
|
+
/** A perf run finished. A REJECTED run arrives here too — see `PerfReportWire`. */
|
|
123
|
+
readonly onPerfReport?: (report: PerfReportWire) => void;
|
|
124
|
+
/** The long press armed, selected, or was cancelled. */
|
|
125
|
+
readonly onLasso?: (event: Extract<GraphEventWire, {
|
|
126
|
+
t: "lasso";
|
|
127
|
+
}>) => void;
|
|
128
|
+
/** The canvas painted its first frame. The watchdog's real clock (§9.4). */
|
|
129
|
+
readonly onPaint?: (bootMs: number | null) => void;
|
|
130
|
+
/**
|
|
131
|
+
* EVERY event, undecomposed — the same prop name and the same union
|
|
132
|
+
* `NodeGraphWeb` takes on web.
|
|
133
|
+
*
|
|
134
|
+
* It exists so ONE story file can serve both platforms, which is the point of
|
|
135
|
+
* this whole component. The typed callbacks above are what a real screen
|
|
136
|
+
* wants; a story that has to read a runner on a phone and on a desktop wants
|
|
137
|
+
* one name that means the same thing in both places.
|
|
138
|
+
*/
|
|
139
|
+
readonly onGraphEvent?: (event: GraphEventWire) => void;
|
|
140
|
+
};
|
|
141
|
+
export declare function NodeGraph<N extends NodeKindDefs, E extends EdgeKindDefs>(props: NodeGraphProps<N, E>): import("react/jsx-runtime").JSX.Element;
|
|
142
|
+
//# sourceMappingURL=NodeGraph.native.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NodeGraph.native.d.ts","sourceRoot":"","sources":["../src/NodeGraph.native.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAE5C,OAAO,KAAK,EAAE,YAAY,EAA+B,YAAY,EAAE,MAAM,eAAe,CAAC;AAK7F,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACjE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AACvD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAEnE;;;;;;;GAOG;AACH,MAAM,MAAM,cAAc,CACxB,CAAC,SAAS,YAAY,GAAG,YAAY,EACrC,CAAC,SAAS,YAAY,GAAG,YAAY,IACnC,IAAI,CACN,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,EACvB,WAAW,GAAG,WAAW,GAAG,qBAAqB,GAAG,UAAU,CAC/D,GAAG;IACF,6EAA6E;IAC7E,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC;IAC9B,+EAA+E;IAC/E,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACvE,qFAAqF;IACrF,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC;;;;;;;;OAQG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IACtC;;;;;;;;;;;;;;OAcG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,WAAW,EAAE,oBAAoB,KAAK,IAAI,CAAC;IAC/D;;;;;;;OAOG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,GAAG,CAAC,eAAe,CAAC,CAAC;IACzC;;;OAGG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC;IAClC;;;;;;;OAOG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE;QACjC,MAAM,EAAE,MAAM,CAAC;QACf,EAAE,EAAE,MAAM,CAAC;QACX,SAAS,EAAE,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,KAAK,IAAI,CAAC;IACX,mFAAmF;IACnF,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,cAAc,KAAK,IAAI,CAAC;IACzD,wDAAwD;IACxD,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,cAAc,EAAE;QAAE,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC,KAAK,IAAI,CAAC;IAC5E,4EAA4E;IAC5E,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACnD;;;;;;;;OAQG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,CAAC;CACzD,CAAC;AAEF,wBAAgB,SAAS,CAAC,CAAC,SAAS,YAAY,EAAE,CAAC,SAAS,YAAY,EACtE,KAAK,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,2CA2H5B"}
|