// Flow imperative subsystems extracted from `flow.ts` (#1081 cutover step C4). // // Pointer-paced subsystems that the JSX-native `` component // attaches via a `ref` callback. JSX gives these no leverage — pan/zoom // is owned by `XYPanZoom` (D3-zoom-derived), `setupKeyboardHandlers` // listens at document level, the selection rectangle owns global // pointer capture, and pane-click detection needs a `mousedown`/ // `mouseup` pair to bypass D3's event suppression. // // Calling shape: // //
attachFlowSubsystems(el, store, props)} class="bf-flow"> // ... //
// // `injectDefaultStyles` runs idempotently on first call, so multiple // `` instances on the same page share one `