@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,136 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The schema, design §4.3.
|
|
3
|
+
*
|
|
4
|
+
* The union of node and edge kinds is generic over consumer-supplied kind maps.
|
|
5
|
+
* No declaration merging, no global mutable registry of TYPES — `edge.kind ===
|
|
6
|
+
* "error"` narrows `edge.data` because `E` says so, not because a `.d.ts`
|
|
7
|
+
* somewhere was merged into.
|
|
8
|
+
*
|
|
9
|
+
* `react` appears here as a TYPE-ONLY import. It is erased, so the model still
|
|
10
|
+
* carries no React at runtime, which is what `dom/importGraph.spec.ts` checks
|
|
11
|
+
* and what lets a server or the CI bench import `@multiplatform.one/node-graph/model`.
|
|
12
|
+
*/
|
|
13
|
+
import type { ComponentType } from "react";
|
|
14
|
+
import type { DocumentSchema, EdgeKindDefs, GraphNodeOf, NodeId, NodeKindDefs, PortId } from "./document";
|
|
15
|
+
import type { ConnectionRule, DropOnlyRule } from "./connect";
|
|
16
|
+
export interface PortSpec {
|
|
17
|
+
readonly id: PortId;
|
|
18
|
+
readonly side: "left" | "right" | "top" | "bottom";
|
|
19
|
+
readonly direction: "in" | "out";
|
|
20
|
+
readonly index?: number;
|
|
21
|
+
readonly label?: string;
|
|
22
|
+
/** Consumer-defined payload type name; connection rules read it. */
|
|
23
|
+
readonly dataType?: string;
|
|
24
|
+
/** Default: "many" on out, "one" on in. */
|
|
25
|
+
readonly arity?: "one" | "many";
|
|
26
|
+
}
|
|
27
|
+
/** Default arity, spelled once so the rules and the docs cannot drift apart. */
|
|
28
|
+
export declare function portArity(port: PortSpec): "one" | "many";
|
|
29
|
+
export interface GraphNodeRenderProps<TData> {
|
|
30
|
+
readonly id: NodeId;
|
|
31
|
+
readonly data: TData;
|
|
32
|
+
readonly selected: boolean;
|
|
33
|
+
readonly dragging: boolean;
|
|
34
|
+
/**
|
|
35
|
+
* "overview" below `overviewZoom`. On the prop type from v1 on purpose: it is
|
|
36
|
+
* what stops the merged single-path edge layer being a breaking change for
|
|
37
|
+
* every custom node in v1.1 (design §5).
|
|
38
|
+
*/
|
|
39
|
+
readonly renderMode: "detail" | "overview";
|
|
40
|
+
/** true on a touch surface: fields are display-only, taps route to the sheet. */
|
|
41
|
+
readonly readOnlyFields: boolean;
|
|
42
|
+
readonly ports: readonly PortSpec[];
|
|
43
|
+
/**
|
|
44
|
+
* The kind's own `NodeKindSpec.measure`.
|
|
45
|
+
*
|
|
46
|
+
* On the render props because the canvas seeds React Flow from it before
|
|
47
|
+
* first paint (design §5) and the BODY has to paint the same number. Without
|
|
48
|
+
* it a kind declaring a non-default width was seeded at one width and painted
|
|
49
|
+
* at the per-size default — measured in the MPO-191 knob fuzz, where a 240px
|
|
50
|
+
* kind painted 172 / 190 / 216.
|
|
51
|
+
*/
|
|
52
|
+
readonly measure: {
|
|
53
|
+
readonly width: number;
|
|
54
|
+
readonly minHeight: number;
|
|
55
|
+
};
|
|
56
|
+
readonly setData: (patch: Partial<TData>) => void;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* A field the native inspector edits. The widget set is milestone 2's to settle
|
|
60
|
+
* — this is the minimum `NodeKindSpec.fields` needs to exist.
|
|
61
|
+
*/
|
|
62
|
+
export interface GraphNodeField {
|
|
63
|
+
readonly key: string;
|
|
64
|
+
readonly label?: string;
|
|
65
|
+
readonly type: "text" | "number" | "boolean" | "select";
|
|
66
|
+
readonly options?: readonly {
|
|
67
|
+
readonly value: string;
|
|
68
|
+
readonly label: string;
|
|
69
|
+
}[];
|
|
70
|
+
}
|
|
71
|
+
export interface NodeKindSpec<TData> {
|
|
72
|
+
readonly kind: string;
|
|
73
|
+
readonly render: ComponentType<GraphNodeRenderProps<TData>>;
|
|
74
|
+
/** May be a function of data, so a switch node grows outputs without a new kind. */
|
|
75
|
+
readonly ports: readonly PortSpec[] | ((data: TData) => readonly PortSpec[]);
|
|
76
|
+
readonly defaultData: TData;
|
|
77
|
+
/** Width is fixed per kind; height is knob-driven and re-measured. */
|
|
78
|
+
readonly measure: {
|
|
79
|
+
readonly width: number;
|
|
80
|
+
readonly minHeight: number;
|
|
81
|
+
};
|
|
82
|
+
readonly intent?: string;
|
|
83
|
+
/** Fields the native inspector edits. Absent means no inspector. */
|
|
84
|
+
readonly fields?: readonly GraphNodeField[];
|
|
85
|
+
}
|
|
86
|
+
export interface EdgeKindSpec<TData> {
|
|
87
|
+
readonly kind: string;
|
|
88
|
+
readonly defaultData: TData;
|
|
89
|
+
/**
|
|
90
|
+
* Which painted appearance this kind draws as — one of the four in
|
|
91
|
+
* `src/edges/edgeKinds.ts`. A NAME, not a style: the model stays free of
|
|
92
|
+
* rendering, and one registered React Flow edge type switches on it.
|
|
93
|
+
* Absent falls back to the kind's own name.
|
|
94
|
+
*/
|
|
95
|
+
readonly appearance?: string;
|
|
96
|
+
}
|
|
97
|
+
export interface GraphSchema<N extends NodeKindDefs, E extends EdgeKindDefs> extends DocumentSchema<N, E> {
|
|
98
|
+
readonly id: string;
|
|
99
|
+
readonly nodes: {
|
|
100
|
+
readonly [K in keyof N & string]: NodeKindSpec<N[K]>;
|
|
101
|
+
};
|
|
102
|
+
readonly edges: {
|
|
103
|
+
readonly [K in keyof E & string]: EdgeKindSpec<E[K]>;
|
|
104
|
+
};
|
|
105
|
+
/** The pointer-tick rules. `refuseCycle` cannot go here; that is a type. */
|
|
106
|
+
readonly rules: readonly ConnectionRule<N, E>[];
|
|
107
|
+
/** Rules that run once, on drop. */
|
|
108
|
+
readonly dropRules: readonly DropOnlyRule<N, E>[];
|
|
109
|
+
}
|
|
110
|
+
export interface GraphSchemaSpec<N extends NodeKindDefs, E extends EdgeKindDefs> {
|
|
111
|
+
readonly id: string;
|
|
112
|
+
readonly nodes: {
|
|
113
|
+
readonly [K in keyof N & string]: NodeKindSpec<N[K]>;
|
|
114
|
+
};
|
|
115
|
+
readonly edges: {
|
|
116
|
+
readonly [K in keyof E & string]: EdgeKindSpec<E[K]>;
|
|
117
|
+
};
|
|
118
|
+
readonly rules?: readonly ConnectionRule<N, E>[];
|
|
119
|
+
readonly dropRules?: readonly DropOnlyRule<N, E>[];
|
|
120
|
+
}
|
|
121
|
+
export declare function createGraphSchema<N extends NodeKindDefs, E extends EdgeKindDefs>(spec: GraphSchemaSpec<N, E>): GraphSchema<N, E>;
|
|
122
|
+
/**
|
|
123
|
+
* `schema.id` is what crosses the bridge. A `render` is a `ComponentType` and
|
|
124
|
+
* cannot be JSON, so schemas register by id in a module BOTH the native screen
|
|
125
|
+
* and the DOM entry import. That constraint is what keeps nodes Tamagui: the
|
|
126
|
+
* body is written once, in the consumer's package, and renders inside the
|
|
127
|
+
* WebView against the real config, theme and hook.
|
|
128
|
+
*/
|
|
129
|
+
export declare function registerGraphSchema<N extends NodeKindDefs, E extends EdgeKindDefs>(schema: GraphSchema<N, E>): void;
|
|
130
|
+
export declare function getGraphSchema(id: string): GraphSchema<never, never> | undefined;
|
|
131
|
+
/** Test seam. Registering the same id twice is legal; leaking between specs is not. */
|
|
132
|
+
export declare function clearGraphSchemas(): void;
|
|
133
|
+
export declare function nodeKindSpec<N extends NodeKindDefs, E extends EdgeKindDefs>(schema: GraphSchema<N, E>, kind: string): NodeKindSpec<unknown> | undefined;
|
|
134
|
+
/** Resolves a node's ports, calling the `ports` function when the kind uses one. */
|
|
135
|
+
export declare function resolvePorts<N extends NodeKindDefs, E extends EdgeKindDefs>(schema: GraphSchema<N, E>, node: GraphNodeOf<N>): readonly PortSpec[];
|
|
136
|
+
//# sourceMappingURL=schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/model/schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Marquee selection and union bounds, design §12.2.
|
|
3
|
+
*
|
|
4
|
+
* Rects come in, ids come out. No document, no schema, no sizes guessed —
|
|
5
|
+
* `nodeRects` is the one place that turns a document into rects, and it takes
|
|
6
|
+
* the measurer as an argument, because a node's height is knob-driven and only
|
|
7
|
+
* the renderer knows it.
|
|
8
|
+
*/
|
|
9
|
+
import type { EdgeKindDefs, GraphDocument, NodeId, NodeKindDefs, Rect, Size } from "./document";
|
|
10
|
+
/**
|
|
11
|
+
* "partial" selects anything the marquee overlaps; "full" only what it fully
|
|
12
|
+
* contains. React Flow calls these `SelectionMode.Partial` / `.Full`.
|
|
13
|
+
*/
|
|
14
|
+
export type MarqueeMode = "partial" | "full";
|
|
15
|
+
export interface NodeRect {
|
|
16
|
+
readonly id: NodeId;
|
|
17
|
+
readonly rect: Rect;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Touching edges do not overlap. A marquee whose left edge sits exactly on a
|
|
21
|
+
* node's right edge has covered zero of it, and a brush that swept it up would
|
|
22
|
+
* select a node the user can see it never touched.
|
|
23
|
+
*/
|
|
24
|
+
export declare function rectsOverlap(a: Rect, b: Rect): boolean;
|
|
25
|
+
/** Inclusive: a rect contains itself. */
|
|
26
|
+
export declare function rectContains(outer: Rect, inner: Rect): boolean;
|
|
27
|
+
/** Input order is preserved, so a selection is stable between two identical drags. */
|
|
28
|
+
export declare function selectInMarquee(nodes: readonly NodeRect[], marquee: Rect, mode: MarqueeMode): readonly NodeId[];
|
|
29
|
+
/**
|
|
30
|
+
* `undefined` for an empty selection, not a zero rect at the origin — 0,0 is a
|
|
31
|
+
* real position, and a toolbar centring on it would jump the viewport every
|
|
32
|
+
* time the selection emptied.
|
|
33
|
+
*/
|
|
34
|
+
export declare function unionBounds(rects: readonly Rect[]): Rect | undefined;
|
|
35
|
+
/**
|
|
36
|
+
* A node's `size` is seeded from `NodeKindSpec.measure` plus resolved knobs
|
|
37
|
+
* before first paint (design §5), but a document loaded from JSON may carry no
|
|
38
|
+
* size at all, so `measure` is the fallback rather than a guess baked in here.
|
|
39
|
+
*/
|
|
40
|
+
export declare function nodeRects<N extends NodeKindDefs, E extends EdgeKindDefs>(doc: GraphDocument<N, E>, measure: (kind: string) => Size): readonly NodeRect[];
|
|
41
|
+
//# sourceMappingURL=select.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"select.d.ts","sourceRoot":"","sources":["../../src/model/select.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAEhG;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,MAAM,CAAC;AAE7C,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;CACrB;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,GAAG,OAAO,CAEtD;AAED,yCAAyC;AACzC,wBAAgB,YAAY,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,GAAG,OAAO,CAO9D;AAED,sFAAsF;AACtF,wBAAgB,eAAe,CAC7B,KAAK,EAAE,SAAS,QAAQ,EAAE,EAC1B,OAAO,EAAE,IAAI,EACb,IAAI,EAAE,WAAW,GAChB,SAAS,MAAM,EAAE,CAGnB;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,SAAS,IAAI,EAAE,GAAG,IAAI,GAAG,SAAS,CAapE;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,CAAC,SAAS,YAAY,EAAE,CAAC,SAAS,YAAY,EACtE,GAAG,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,EACxB,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAC9B,SAAS,QAAQ,EAAE,CAQrB"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Serialization, design §4.6.
|
|
3
|
+
*
|
|
4
|
+
* Two properties carry the weight. `parseDocument` NEVER throws: a corrupt
|
|
5
|
+
* document renders an `EmptyState`, never a blank WebView, and on native there
|
|
6
|
+
* is no console to find the exception in. And the output is canonical —
|
|
7
|
+
* geometry rounded to 2 dp, document keys in a declared order, consumer payload
|
|
8
|
+
* keys sorted — so the same graph saved twice produces the same bytes and a
|
|
9
|
+
* change is a readable diff rather than a whole-file rewrite.
|
|
10
|
+
*/
|
|
11
|
+
import type { DocumentProblem, DocumentSchema, EdgeKindDefs, GraphDocument, NodeKindDefs, Result } from "./document";
|
|
12
|
+
export interface ParseOptions {
|
|
13
|
+
/**
|
|
14
|
+
* Drop nodes and edges whose kind the schema does not know, instead of
|
|
15
|
+
* refusing the document. For a read-only viewer that would rather show most
|
|
16
|
+
* of the graph than nothing. Edges left dangling by a dropped node are
|
|
17
|
+
* dropped with it — a graph with an edge pointing at nothing is not a
|
|
18
|
+
* partial render, it is a broken one.
|
|
19
|
+
*/
|
|
20
|
+
readonly dropUnknownKinds?: boolean;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Emits the document's own keys in a declared order and everything below them
|
|
24
|
+
* canonically. `JSON.stringify` walks insertion order, so the order below IS
|
|
25
|
+
* the format.
|
|
26
|
+
*/
|
|
27
|
+
export declare function serializeDocument<N extends NodeKindDefs, E extends EdgeKindDefs>(doc: GraphDocument<N, E>): string;
|
|
28
|
+
/**
|
|
29
|
+
* Never throws. Every path out of this function is a `Result`, including the
|
|
30
|
+
* one where something below it does throw.
|
|
31
|
+
*/
|
|
32
|
+
export declare function parseDocument<N extends NodeKindDefs, E extends EdgeKindDefs>(raw: string | unknown, schema: DocumentSchema<N, E>, options?: ParseOptions): Result<GraphDocument<N, E>, readonly DocumentProblem[]>;
|
|
33
|
+
//# sourceMappingURL=serialize.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serialize.d.ts","sourceRoot":"","sources":["../../src/model/serialize.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EACd,YAAY,EACZ,aAAa,EAIb,YAAY,EACZ,MAAM,EAIP,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,YAAY;IAC3B;;;;;;OAMG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAC;CACrC;AAkCD;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,YAAY,EAAE,CAAC,SAAS,YAAY,EAC9E,GAAG,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,GACvB,MAAM,CAoCR;AAoFD;;;GAGG;AACH,wBAAgB,aAAa,CAAC,CAAC,SAAS,YAAY,EAAE,CAAC,SAAS,YAAY,EAC1E,GAAG,EAAE,MAAM,GAAG,OAAO,EACrB,MAAM,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,EAC5B,OAAO,GAAE,YAAiB,GACzB,MAAM,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,SAAS,eAAe,EAAE,CAAC,CAiBzD"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* What a DOM-only story draws on Hermes (milestone 6, task 6.8).
|
|
3
|
+
*
|
|
4
|
+
* Some stories in this package are about the DOM and nothing else: a `<span>`
|
|
5
|
+
* with a corrupted font stack, a `<style>` element, a React Flow `Handle` — a
|
|
6
|
+
* `div` — mounted OUTSIDE a canvas so the port can be seen off it. React Native
|
|
7
|
+
* answers a lowercase intrinsic it does not know with `View config getter
|
|
8
|
+
* callback for component "div" must be a function` and takes the whole tree
|
|
9
|
+
* down, so on the Kitchen Sink those stories were a red box. Measured on the
|
|
10
|
+
* iPhone 16e at MPO-211 and again on MPO-212's device pass.
|
|
11
|
+
*
|
|
12
|
+
* A red box is the worst of the three possible outcomes. It looks like a defect
|
|
13
|
+
* in the thing being demonstrated, it hides which stories actually work, and it
|
|
14
|
+
* teaches a reader nothing about where the answer IS. `FontProof` had already
|
|
15
|
+
* solved this by hand — it draws a sentence naming `NodeGraph → Diagnostics →
|
|
16
|
+
* Live`, where the probe that ran inside the WebView is rendered. This is that
|
|
17
|
+
* guard, extracted, so the next DOM-only story costs one decorator instead of
|
|
18
|
+
* twenty lines.
|
|
19
|
+
*
|
|
20
|
+
* `hasDomRealm` is a `document` check and not a `Platform.OS` check on purpose:
|
|
21
|
+
* `react-native` is an OPTIONAL peer of this package, and a story file must not
|
|
22
|
+
* be the thing that makes it required. It is also the more honest question —
|
|
23
|
+
* what these stories need is a DOM, and a DOM is exactly what is being tested
|
|
24
|
+
* for.
|
|
25
|
+
*/
|
|
26
|
+
/** True in a browser and inside the canvas's WebView; false on Hermes. */
|
|
27
|
+
export declare const hasDomRealm: boolean;
|
|
28
|
+
export interface DomOnlyStoryProps {
|
|
29
|
+
/** What this story needs a DOM for, in a clause. */
|
|
30
|
+
readonly needs: string;
|
|
31
|
+
/** Where the same thing CAN be read on device. A story title, not a URL. */
|
|
32
|
+
readonly readInstead?: string;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* One line, not an error.
|
|
36
|
+
*
|
|
37
|
+
* Every style is a whole `knobProps.*` fragment spread (AGENTS.md); nothing here
|
|
38
|
+
* cherry-picks a resolved token and nothing here is a literal.
|
|
39
|
+
*/
|
|
40
|
+
export declare function DomOnlyStory({ needs, readInstead }: DomOnlyStoryProps): import("react/jsx-runtime").JSX.Element;
|
|
41
|
+
/**
|
|
42
|
+
* A Storybook decorator, so guarding a whole file is one line in its `meta`.
|
|
43
|
+
*
|
|
44
|
+
* It replaces the story rather than wrapping it: the point is that the tree
|
|
45
|
+
* below must never be constructed, and a wrapper that rendered its child and
|
|
46
|
+
* then apologised would still have thrown on the way.
|
|
47
|
+
*/
|
|
48
|
+
export declare function domOnlyStoryDecorator(props: DomOnlyStoryProps): (Story: () => React.ReactElement) => import("react/jsx-runtime").JSX.Element;
|
|
49
|
+
//# sourceMappingURL=DomOnlyStory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DomOnlyStory.d.ts","sourceRoot":"","sources":["../../src/native/DomOnlyStory.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAKH,0EAA0E;AAC1E,eAAO,MAAM,WAAW,SAA6C,CAAC;AAEtE,MAAM,WAAW,iBAAiB;IAChC,oDAAoD;IACpD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,4EAA4E;IAC5E,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,iBAAiB,2CAcrE;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,iBAAiB,IACpD,OAAO,MAAM,KAAK,CAAC,YAAY,6CAExC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* What the user sees instead of a blank rectangle.
|
|
3
|
+
*
|
|
4
|
+
* Design 9.4 layer 4. The WebView failed, and the one thing worth knowing is
|
|
5
|
+
* HOW FAR it got: `script` means the bundle parsed and nothing else ran,
|
|
6
|
+
* `module` means the tree failed to evaluate, `flow` means React Flow mounted
|
|
7
|
+
* and never painted. Each sends a reader to a different layer, and a spinner
|
|
8
|
+
* that never resolves sends them nowhere.
|
|
9
|
+
*
|
|
10
|
+
* Built from `tamagui` and the real `useResolvedKnobs`, deliberately NOT from
|
|
11
|
+
* `@multiplatform.one/components`' `EmptyState`: components is an OPTIONAL
|
|
12
|
+
* peer, and a fallback that cannot render because its own dependency is absent
|
|
13
|
+
* is not a fallback. The rest of the native shell — toolbar, sheet, inspector —
|
|
14
|
+
* may use components freely.
|
|
15
|
+
*
|
|
16
|
+
* Every style comes from a whole `knobProps.*` fragment spread (AGENTS.md);
|
|
17
|
+
* nothing here cherry-picks a resolved token and nothing here is a literal.
|
|
18
|
+
*/
|
|
19
|
+
import type { BootStage } from "../dom/boot";
|
|
20
|
+
export type GraphFallbackReason = "no-ready" | "no-dom-entry" | "module" | "render" | "runtime";
|
|
21
|
+
export interface GraphFallbackProps {
|
|
22
|
+
/** Whether ANY event arrived from the canvas. A stage-less failure reads differently either way. */
|
|
23
|
+
readonly started?: boolean;
|
|
24
|
+
readonly reason: GraphFallbackReason;
|
|
25
|
+
/** The last stage the WebView stamped, or `null` if it never stamped one. */
|
|
26
|
+
readonly stage?: BootStage | null;
|
|
27
|
+
readonly message?: string;
|
|
28
|
+
/** The watchdog budget that ran out, so the reader knows what "did not finish" cost. */
|
|
29
|
+
readonly waitedMs?: number;
|
|
30
|
+
readonly onRetry?: () => void;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* `stage: null` gets its own sentence rather than the word "null".
|
|
34
|
+
*
|
|
35
|
+
* Nothing stamped at all means the script never executed, which is what a
|
|
36
|
+
* parse error looks like from out here — a different problem from stopping AT
|
|
37
|
+
* `script`, and the two must not read the same.
|
|
38
|
+
*/
|
|
39
|
+
export declare function graphFallbackDetail(stage: BootStage | null | undefined, started?: boolean, reason?: GraphFallbackReason, waitedMs?: number): string;
|
|
40
|
+
export declare function GraphFallback({ message, onRetry, reason, stage, started, waitedMs, }: GraphFallbackProps): import("react/jsx-runtime").JSX.Element;
|
|
41
|
+
//# sourceMappingURL=GraphFallback.native.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GraphFallback.native.d.ts","sourceRoot":"","sources":["../../src/native/GraphFallback.native.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAIH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,MAAM,MAAM,mBAAmB,GAAG,UAAU,GAAG,cAAc,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;AAEhG,MAAM,WAAW,kBAAkB;IACjC,oGAAoG;IACpG,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,mBAAmB,CAAC;IACrC,6EAA6E;IAC7E,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;IAClC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,wFAAwF;IACxF,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CAC/B;AAYD;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,SAAS,GAAG,IAAI,GAAG,SAAS,EACnC,OAAO,CAAC,EAAE,OAAO,EACjB,MAAM,CAAC,EAAE,mBAAmB,EAC5B,QAAQ,CAAC,EAAE,MAAM,GAChB,MAAM,CA4BR;AAED,wBAAgB,aAAa,CAAC,EAC5B,OAAO,EACP,OAAO,EACP,MAAM,EACN,KAAK,EACL,OAAO,EACP,QAAQ,GACT,EAAE,kBAAkB,2CA0BpB"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The toolbar that owns the interaction mode (design §7.3, §7.5; task 3.6).
|
|
3
|
+
*
|
|
4
|
+
* It lives under `src/native/` because the shell it belongs to is the native
|
|
5
|
+
* one — a WebView cannot draw chrome the OS will treat as chrome, and design
|
|
6
|
+
* §7.6 already puts every control outside the canvas. It is NOT a `.native.tsx`
|
|
7
|
+
* twin: it is plain Tamagui and it renders identically on the web canvas, which
|
|
8
|
+
* is what makes the web story a real rehearsal of the phone rather than a
|
|
9
|
+
* different component that happens to look similar.
|
|
10
|
+
*
|
|
11
|
+
* MILESTONE 6 GAVE IT THE REST OF THE CONTROLS. Tidy, Undo and Redo used to
|
|
12
|
+
* live inside `NodeGraph/AutoLayout` as `children` of the canvas, which native
|
|
13
|
+
* drops — so on device the story painted 12 nodes with no way to lay them out,
|
|
14
|
+
* `layoutRunner` read `none` on every host, and MPO-213's device criterion had
|
|
15
|
+
* no way to be attempted. They are here now because here is a SIBLING, and a
|
|
16
|
+
* sibling is one of the two legal places a control can go (design §9.1). Each
|
|
17
|
+
* is rendered only when its handler is given, so a canvas with no auto-layout
|
|
18
|
+
* does not grow three dead buttons.
|
|
19
|
+
*
|
|
20
|
+
* Two decisions worth stating:
|
|
21
|
+
*
|
|
22
|
+
* - `fitView` is a BUTTON and not a double-tap. Design §7.5: a hidden gesture
|
|
23
|
+
* that fights the platform's own double-tap zoom is worse than a visible
|
|
24
|
+
* control. It renders only when a handler is given, so a read-only canvas
|
|
25
|
+
* does not grow a dead button.
|
|
26
|
+
* - selection is shown by DROPPING `chromeless` on the active button and
|
|
27
|
+
* spreading the `textWeight` fragment onto it, never by a colour. Both are
|
|
28
|
+
* Tamagui's own, so the active stop follows whatever theme the envelope
|
|
29
|
+
* resolved and there is no literal here to drift from it. (`themeInverse`
|
|
30
|
+
* would have been the obvious choice and is not a prop in Tamagui 2.7.6;
|
|
31
|
+
* `ThemeProps` carries no `inverse` either, so the pressed state is
|
|
32
|
+
* fill-and-weight rather than a theme flip.)
|
|
33
|
+
*
|
|
34
|
+
* Every style comes from a whole `knobProps.*` fragment spread (AGENTS.md).
|
|
35
|
+
* Built from `tamagui` rather than `@multiplatform.one/components`, which is an
|
|
36
|
+
* optional peer of this package.
|
|
37
|
+
*
|
|
38
|
+
* A11y is expressed with `role` / `aria-*` and not with the React Native
|
|
39
|
+
* `accessibility*` names, matching the house count (113 `aria-label` against 15
|
|
40
|
+
* `accessibilityLabel` under public/components, and `role="toolbar"` in
|
|
41
|
+
* `layouts/toolbar.tsx`). Measured in Chrome: Tamagui's `Button` forwards
|
|
42
|
+
* `accessibilityLabel`, `accessibilityRole` and `accessibilityState` straight to
|
|
43
|
+
* the DOM node, and React logs an error per prop per button. React Native
|
|
44
|
+
* >= 0.71 understands `aria-*` and `role`, so this is the spelling that is
|
|
45
|
+
* correct on both platforms rather than a web-only concession.
|
|
46
|
+
*/
|
|
47
|
+
import type { GraphInteractionMode } from "../interaction/useLassoSelect";
|
|
48
|
+
export interface GraphToolbarProps {
|
|
49
|
+
readonly mode: GraphInteractionMode;
|
|
50
|
+
readonly onModeChange: (mode: GraphInteractionMode) => void;
|
|
51
|
+
/** Design §7.5. Omitted, the button is not rendered. */
|
|
52
|
+
readonly onFitView?: () => void;
|
|
53
|
+
/** Auto-layout, design §8. Omitted, the button is not rendered. */
|
|
54
|
+
readonly onTidy?: () => void;
|
|
55
|
+
readonly onUndo?: () => void;
|
|
56
|
+
readonly onRedo?: () => void;
|
|
57
|
+
/**
|
|
58
|
+
* Undo and Redo are disabled from the HOST's knowledge of the history, not
|
|
59
|
+
* from the canvas's.
|
|
60
|
+
*
|
|
61
|
+
* On native the journal lives on the far side of the bridge and nothing
|
|
62
|
+
* reports `canUndo` across it, so a native shell that has applied commits
|
|
63
|
+
* knows this and the canvas does not. Both default to enabled: a disabled
|
|
64
|
+
* button that should have worked is a worse failure than a press that turns
|
|
65
|
+
* out to be a no-op, and `history.undo` returns the same document when there
|
|
66
|
+
* is nothing to undo.
|
|
67
|
+
*/
|
|
68
|
+
readonly canUndo?: boolean;
|
|
69
|
+
readonly canRedo?: boolean;
|
|
70
|
+
/** True while a relayout is in flight, so Tidy cannot be double-pressed. */
|
|
71
|
+
readonly busy?: boolean;
|
|
72
|
+
readonly disabled?: boolean;
|
|
73
|
+
}
|
|
74
|
+
export declare function GraphToolbar({ busy, canRedo, canUndo, disabled, mode, onFitView, onModeChange, onRedo, onTidy, onUndo, }: GraphToolbarProps): import("react/jsx-runtime").JSX.Element;
|
|
75
|
+
//# sourceMappingURL=GraphToolbar.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GraphToolbar.d.ts","sourceRoot":"","sources":["../../src/native/GraphToolbar.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AAIH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAE1E,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,IAAI,EAAE,oBAAoB,CAAC;IACpC,QAAQ,CAAC,YAAY,EAAE,CAAC,IAAI,EAAE,oBAAoB,KAAK,IAAI,CAAC;IAC5D,wDAAwD;IACxD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IAChC,mEAAmE;IACnE,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IAC7B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IAC7B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IAC7B;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,4EAA4E;IAC5E,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;CAC7B;AASD,wBAAgB,YAAY,CAAC,EAC3B,IAAY,EACZ,OAAc,EACd,OAAc,EACd,QAAQ,EACR,IAAI,EACJ,SAAS,EACT,YAAY,EACZ,MAAM,EACN,MAAM,EACN,MAAM,GACP,EAAE,iBAAiB,2CA0EnB"}
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The native host: the WebView, the watchdog, and the fallback.
|
|
3
|
+
*
|
|
4
|
+
* Design 9.4 layer 4. A DOM component that never comes up is, by default, a
|
|
5
|
+
* blank rectangle — the parse error that caused it happened before any error
|
|
6
|
+
* boundary existed, and there is no console on a phone to find it in. So this
|
|
7
|
+
* file starts a timer at mount and, if no `{ t: "ready" }` arrives inside
|
|
8
|
+
* `readyTimeoutMs`, draws `GraphFallback` naming the last boot stage the
|
|
9
|
+
* WebView managed to stamp.
|
|
10
|
+
*
|
|
11
|
+
* The retry is a REMOUNT under a new key, not a reload: the boot record is a
|
|
12
|
+
* global inside the WebView, and a new key gives boot a fresh one rather than
|
|
13
|
+
* a second attempt reading the first one's stages.
|
|
14
|
+
*
|
|
15
|
+
* The host owns `rev`. Every commit the canvas emits proposes `rev + 1`; this
|
|
16
|
+
* file applies the commands, stamps the new rev and hands the document back.
|
|
17
|
+
* The canvas's own echo gate then refuses the document it caused, so a drag
|
|
18
|
+
* does not fight itself. `wire.ts` holds the gate and the reasoning.
|
|
19
|
+
*
|
|
20
|
+
* WHAT IT NO LONGER OWNS (design §9.3, MPO-211): the `'use dom'` entry. It used
|
|
21
|
+
* to render the package's own, and the package's own can never see a consumer's
|
|
22
|
+
* Tamagui config or schema — both are live objects, so both can only arrive
|
|
23
|
+
* from a module the DOM BUNDLE imports, and a DOM bundle is rooted at the file
|
|
24
|
+
* carrying the directive. Measured on the iPhone 16e simulator and on
|
|
25
|
+
* emulator-5592: `render: Missing theme.`, identically on both platforms,
|
|
26
|
+
* because `getConfig()` threw inside the WebView. So the entry is a PROP now,
|
|
27
|
+
* and a host given none draws `GraphFallback` naming that rather than booting a
|
|
28
|
+
* WebView that is guaranteed to fail four seconds later.
|
|
29
|
+
*/
|
|
30
|
+
import type { Ref } from "react";
|
|
31
|
+
import type { NodeGraphDomOptions, NodeGraphDomProps } from "../dom/NodeGraphDomShell";
|
|
32
|
+
import type { GraphDiagnosticsWire, GraphEventWire, PerfReportWire } from "../dom/wire";
|
|
33
|
+
import type { NodeGraphHandle } from "../react-flow/graphHandle";
|
|
34
|
+
import type { KnobEnvelope } from "../knobs/envelope";
|
|
35
|
+
import type { NodeId, Viewport } from "../model/index";
|
|
36
|
+
import type { NodeGraphDomEntry } from "./domEntryRegistry";
|
|
37
|
+
/**
|
|
38
|
+
* The watchdog budget. Design 9.4 said 4000; this is the measured replacement.
|
|
39
|
+
*
|
|
40
|
+
* 4000 was never measured — the design's own words were that "a cold WKWebView
|
|
41
|
+
* start with a first-run font fetch is comfortably under it". On emulator-5590,
|
|
42
|
+
* rebooted fresh, it was not: the watchdog fired, the fallback blamed a parse
|
|
43
|
+
* error, and Retry rendered the canvas immediately. Nothing had failed. A
|
|
44
|
+
* watchdog cannot tell a dead canvas from a slow one, so the only safe budget
|
|
45
|
+
* is one set from a real cold start with headroom over it.
|
|
46
|
+
*
|
|
47
|
+
* Two things go into the number now:
|
|
48
|
+
*
|
|
49
|
+
* - the cold WebView start itself, which the canvas MEASURES and reports as
|
|
50
|
+
* `bootMs` in design 9.5's panel, so this constant can be re-set from a
|
|
51
|
+
* device instead of from a guess;
|
|
52
|
+
* - `graphReadySettleMs` (1800), which the canvas deliberately waits before
|
|
53
|
+
* stamping `ready` so its own diagnostics are filled in rather than
|
|
54
|
+
* reporting `nodesMounted: 0` and every face `pending`.
|
|
55
|
+
*
|
|
56
|
+
* This MUST stay comfortably above their sum. A watchdog that undercut the
|
|
57
|
+
* settle grace would declare a healthy canvas dead while it was filling in its
|
|
58
|
+
* own panel, which is a worse version of exactly the bug this replaces.
|
|
59
|
+
*/
|
|
60
|
+
export declare const readyTimeoutMs = 12000;
|
|
61
|
+
export interface NodeGraphNativeProps {
|
|
62
|
+
readonly documentJson: string;
|
|
63
|
+
readonly rev: number;
|
|
64
|
+
readonly envelope: KnobEnvelope;
|
|
65
|
+
readonly schemaId: string;
|
|
66
|
+
readonly options?: NodeGraphDomOptions;
|
|
67
|
+
/** Commands the canvas proposes, already JSON. The host applies and re-stamps `rev`. */
|
|
68
|
+
readonly onCommit?: (rev: number, commandsJson: string) => void;
|
|
69
|
+
readonly onSelection?: (ids: readonly NodeId[]) => void;
|
|
70
|
+
readonly onViewport?: (viewport: Viewport) => void;
|
|
71
|
+
readonly onNodeActivate?: (id: NodeId) => void;
|
|
72
|
+
readonly onConnectionRefused?: (code: string, message: string) => void;
|
|
73
|
+
readonly onHaptic?: (kind: "selection" | "impact" | "warning") => void;
|
|
74
|
+
readonly onReady?: (diagnostics: GraphDiagnosticsWire) => void;
|
|
75
|
+
readonly onError?: (event: Extract<GraphEventWire, {
|
|
76
|
+
t: "error";
|
|
77
|
+
}>) => void;
|
|
78
|
+
/**
|
|
79
|
+
* The canvas painted. Milestone 6: this, and not `ready`, is what the
|
|
80
|
+
* watchdog is measured against — see the effect below.
|
|
81
|
+
*/
|
|
82
|
+
readonly onPaint?: (bootMs: number | null) => void;
|
|
83
|
+
readonly onLayoutResult?: (result: {
|
|
84
|
+
runner: string;
|
|
85
|
+
ms: number;
|
|
86
|
+
nodeCount: number;
|
|
87
|
+
/** Present when the engine REJECTED. `runner` is `none` and `ms` is 0 there. */
|
|
88
|
+
error?: string;
|
|
89
|
+
}) => void;
|
|
90
|
+
readonly onPerfReport?: (report: PerfReportWire) => void;
|
|
91
|
+
readonly onLasso?: (event: Extract<GraphEventWire, {
|
|
92
|
+
t: "lasso";
|
|
93
|
+
}>) => void;
|
|
94
|
+
/**
|
|
95
|
+
* EVERY decoded event, before the typed callbacks fire. One name that means
|
|
96
|
+
* the same thing on both platforms, so one story file can serve both.
|
|
97
|
+
*/
|
|
98
|
+
readonly onGraphEvent?: (event: GraphEventWire) => void;
|
|
99
|
+
/**
|
|
100
|
+
* The imperative handle, forwarded to the DOM component. It is the ONLY way a
|
|
101
|
+
* native sibling can drive this canvas, so it is a prop and not an internal
|
|
102
|
+
* ref — which is what it was, and which is why nothing on a device could ever
|
|
103
|
+
* press Tidy.
|
|
104
|
+
*/
|
|
105
|
+
readonly graphRef?: Ref<NodeGraphHandle>;
|
|
106
|
+
/** Overridable so a test can make the watchdog fire without waiting four seconds. */
|
|
107
|
+
readonly readyTimeoutMs?: number;
|
|
108
|
+
/**
|
|
109
|
+
* D1 is unruled. The gate that passed used Expo's OWN DOM WebView, and
|
|
110
|
+
* `@expo/dom-webview` is what this repo carries — `react-native-webview` is in
|
|
111
|
+
* no package.json here. So the default is `useExpoDOMWebView: true`, which is
|
|
112
|
+
* exactly what was proven, and a consumer who adds `react-native-webview` can
|
|
113
|
+
* override the whole `dom` prop.
|
|
114
|
+
*/
|
|
115
|
+
readonly dom?: NonNullable<NodeGraphDomProps["dom"]>;
|
|
116
|
+
/**
|
|
117
|
+
* The app's `'use dom'` entry. Design §9.3: it imports the app's tamagui
|
|
118
|
+
* config and its schema registration and renders `NodeGraphDomShell`, and
|
|
119
|
+
* nothing inside this package can stand in for it.
|
|
120
|
+
*
|
|
121
|
+
* Falls back to `getNodeGraphDomEntry()` so a story that lives in this
|
|
122
|
+
* package — which cannot import an app's config — still gets a canvas once
|
|
123
|
+
* the app has registered one.
|
|
124
|
+
*/
|
|
125
|
+
readonly domEntry?: NodeGraphDomEntry;
|
|
126
|
+
}
|
|
127
|
+
export declare function NodeGraphNative(props: NodeGraphNativeProps): import("react/jsx-runtime").JSX.Element | null;
|
|
128
|
+
//# sourceMappingURL=NodeGraph.native.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NodeGraph.native.d.ts","sourceRoot":"","sources":["../../src/native/NodeGraph.native.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Where an app parks its `'use dom'` entry so the PACKAGE's own stories can
|
|
3
|
+
* reach it (design §9.3).
|
|
4
|
+
*
|
|
5
|
+
* Same move as `registerGraphSchema`, one realm out. A schema registers by id
|
|
6
|
+
* because a `render` is a component and cannot be JSON; a DOM entry registers
|
|
7
|
+
* here because it is a component too — but this side of the bridge, so nothing
|
|
8
|
+
* is serialized and nothing is looked up by string. `NodeGraphNative` takes the
|
|
9
|
+
* entry as a prop first and reads this only when it was given none.
|
|
10
|
+
*
|
|
11
|
+
* It exists for exactly one shape of consumer: a story that lives inside this
|
|
12
|
+
* package and therefore cannot import the app's config. `public/*` may not
|
|
13
|
+
* depend on `@package/themes`, so `NodeGraph/NodeGraph` on device had no way to
|
|
14
|
+
* get a Tamagui config into the WebView at all — which is what it died of.
|
|
15
|
+
* `apps/storybook-expo` calls `setNodeGraphDomEntry` from its Storybook preview,
|
|
16
|
+
* and every story in the gallery then renders against the app's real config.
|
|
17
|
+
*
|
|
18
|
+
* An app with its own screens never needs this: it passes `domEntry` to
|
|
19
|
+
* `<NodeGraph />` and skips the global entirely.
|
|
20
|
+
*/
|
|
21
|
+
import type { ComponentType } from "react";
|
|
22
|
+
import type { NodeGraphDomProps } from "../dom/NodeGraphDomShell";
|
|
23
|
+
/** What a `'use dom'` module's default export looks like from the Hermes side. */
|
|
24
|
+
export type NodeGraphDomEntry = ComponentType<NodeGraphDomProps>;
|
|
25
|
+
/**
|
|
26
|
+
* Last writer wins, deliberately. An app has one entry; a second call is a hot
|
|
27
|
+
* reload replacing the first, not two apps competing.
|
|
28
|
+
*/
|
|
29
|
+
export declare function setNodeGraphDomEntry(entry: NodeGraphDomEntry | null): void;
|
|
30
|
+
export declare function getNodeGraphDomEntry(): NodeGraphDomEntry | null;
|
|
31
|
+
/** Test seam, matching `clearGraphSchemas`. */
|
|
32
|
+
export declare function clearNodeGraphDomEntry(): void;
|
|
33
|
+
//# sourceMappingURL=domEntryRegistry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"domEntryRegistry.d.ts","sourceRoot":"","sources":["../../src/native/domEntryRegistry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAElE,kFAAkF;AAClF,MAAM,MAAM,iBAAiB,GAAG,aAAa,CAAC,iBAAiB,CAAC,CAAC;AAIjE;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,iBAAiB,GAAG,IAAI,GAAG,IAAI,CAE1E;AAED,wBAAgB,oBAAoB,IAAI,iBAAiB,GAAG,IAAI,CAE/D;AAED,+CAA+C;AAC/C,wBAAgB,sBAAsB,IAAI,IAAI,CAE7C"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The rule, as a warning a story author trips over once (milestone 6, task 6.1).
|
|
3
|
+
*
|
|
4
|
+
* `NodeGraph` on native accepts `children` and IGNORES them. That has been the
|
|
5
|
+
* written contract since milestone 2 and it is still right: React Flow's
|
|
6
|
+
* `<Background />` and `<Controls />` are components, a component cannot cross a
|
|
7
|
+
* JSON bridge, and accepting them is what lets ONE story file serve both
|
|
8
|
+
* platforms.
|
|
9
|
+
*
|
|
10
|
+
* What was wrong is that nothing said so at the moment it mattered. Measured
|
|
11
|
+
* across MPO-212, MPO-213 and MPO-214: every device-facing control and readout
|
|
12
|
+
* milestones 3-5 built was written as a child of `<NodeGraph>` — AutoLayout's
|
|
13
|
+
* Tidy button, the Perf200 sampler and its `window.__mpoPerf200`, the Lasso
|
|
14
|
+
* story's interceptor — and on device all of them silently vanished. Five
|
|
15
|
+
* pending acceptance criteria, one cause, and no error anywhere: the canvas
|
|
16
|
+
* painted, so nothing looked broken.
|
|
17
|
+
*
|
|
18
|
+
* So the contract now announces itself, ONCE per process, in dev only. Once
|
|
19
|
+
* because the alternative is a warning per canvas per render, which is how a
|
|
20
|
+
* console becomes something people stop reading. Dev only because in production
|
|
21
|
+
* the author is not there and the message is for the author.
|
|
22
|
+
*
|
|
23
|
+
* It names both legal places rather than only the ban. A rule that says what
|
|
24
|
+
* not to do teaches nothing at 2 a.m.
|
|
25
|
+
*/
|
|
26
|
+
/** Test seam. Nothing in the package calls it. */
|
|
27
|
+
export declare function resetGraphChildrenWarning(): void;
|
|
28
|
+
export declare const graphChildrenWarning: string;
|
|
29
|
+
/**
|
|
30
|
+
* True when it warned. `children` is checked for a value rather than for a
|
|
31
|
+
* count: `null`, `false` and `undefined` are all what a conditional child
|
|
32
|
+
* collapses to, and warning about `{cond && <X/>}` when `cond` is false would
|
|
33
|
+
* be a warning about code that is doing the right thing.
|
|
34
|
+
*/
|
|
35
|
+
export declare function warnOnGraphChildren(children: unknown): boolean;
|
|
36
|
+
//# sourceMappingURL=graphChildren.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graphChildren.d.ts","sourceRoot":"","sources":["../../src/native/graphChildren.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAIH,kDAAkD;AAClD,wBAAgB,yBAAyB,IAAI,IAAI,CAEhD;AAED,eAAO,MAAM,oBAAoB,QAMwD,CAAC;AAE1F;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,OAAO,GAAG,OAAO,CAc9D"}
|