system-canvas-standalone 0.2.38 → 0.2.39
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/dist/system-canvas.js
CHANGED
|
@@ -22382,6 +22382,7 @@ var SystemCanvas = (() => {
|
|
|
22382
22382
|
// ../react/dist/components/CollaboratorsOverlay.js
|
|
22383
22383
|
var import_jsx_runtime32 = __toESM(require_jsx_runtime(), 1);
|
|
22384
22384
|
var import_react31 = __toESM(require_react(), 1);
|
|
22385
|
+
var CLIP_GUARD_MARGIN = 100;
|
|
22385
22386
|
var STYLE_ID = "system-canvas-collab-keyframes";
|
|
22386
22387
|
function ensureKeyframes() {
|
|
22387
22388
|
if (typeof document === "undefined")
|
|
@@ -22402,7 +22403,7 @@ var SystemCanvas = (() => {
|
|
|
22402
22403
|
`;
|
|
22403
22404
|
document.head.appendChild(style);
|
|
22404
22405
|
}
|
|
22405
|
-
function CollaboratorsOverlay({ collaborators, viewport, nodeMap, flashNodeIds }) {
|
|
22406
|
+
function CollaboratorsOverlay({ collaborators, viewport, nodeMap, flashNodeIds, containerWidth = Infinity, containerHeight = Infinity }) {
|
|
22406
22407
|
const keyframesInjected = (0, import_react31.useRef)(false);
|
|
22407
22408
|
if (!keyframesInjected.current) {
|
|
22408
22409
|
ensureKeyframes();
|
|
@@ -22460,6 +22461,9 @@ var SystemCanvas = (() => {
|
|
|
22460
22461
|
if (!collab.cursor)
|
|
22461
22462
|
return null;
|
|
22462
22463
|
const screen = canvasToScreen(collab.cursor.x, collab.cursor.y, viewport);
|
|
22464
|
+
if (screen.x < -CLIP_GUARD_MARGIN || screen.x > containerWidth + CLIP_GUARD_MARGIN || screen.y < -CLIP_GUARD_MARGIN || screen.y > containerHeight + CLIP_GUARD_MARGIN) {
|
|
22465
|
+
return null;
|
|
22466
|
+
}
|
|
22463
22467
|
return (0, import_jsx_runtime32.jsxs)("div", { style: {
|
|
22464
22468
|
position: "absolute",
|
|
22465
22469
|
left: screen.x,
|
|
@@ -22912,7 +22916,8 @@ var SystemCanvas = (() => {
|
|
|
22912
22916
|
navigateToRoot: () => {
|
|
22913
22917
|
navigateToBreadcrumbRef.current(0);
|
|
22914
22918
|
},
|
|
22915
|
-
getViewport: () => viewportStateRef.current ?? { x: 0, y: 0, zoom: 1 }
|
|
22919
|
+
getViewport: () => viewportStateRef.current ?? { x: 0, y: 0, zoom: 1 },
|
|
22920
|
+
getSvgElement: () => viewportHandleRef.current?.getSvgElement() ?? null
|
|
22916
22921
|
}), [forwardedRef]);
|
|
22917
22922
|
const [editingId, setEditingId] = (0, import_react33.useState)(null);
|
|
22918
22923
|
const [selectedEdgeId, setSelectedEdgeId] = (0, import_react33.useState)(null);
|
|
@@ -23636,7 +23641,7 @@ var SystemCanvas = (() => {
|
|
|
23636
23641
|
fontFamily: theme.node.fontFamily,
|
|
23637
23642
|
fontSize: 12,
|
|
23638
23643
|
backdropFilter: "blur(8px)"
|
|
23639
|
-
}, children: "Loading..." }), (0, import_jsx_runtime34.jsx)(Viewport, { ref: viewportHandleRef, nodes, edges, nodeMap, theme, edgeStyle, columns: currentCanvas.columns, rows: currentCanvas.rows, canvases, minZoom: effectiveMinZoom, maxZoom: effectiveMaxZoom, defaultViewport, panMode, autoFit, canvasRef: currentCanvasRef, handoffTransform: pendingHandoff, onHandoffApplied: handleHandoffApplied, handoffFadeMs: zoomNavConfig.fadeDuration, onViewportChange: handleViewportChange, onNodeClick: handleNodeClick, onNodeDoubleClick: handleNodeDoubleClick, onNodeNavigate: handleNodeNavigate, onEdgeClick: handleEdgeClick, onEdgeDoubleClick: handleEdgeDoubleClick, onCanvasClick: editable ? handleCanvasClick : void 0, onCanvasContextMenu: handleCanvasContextMenu, onNodeContextMenu: handleNodeContextMenu, onEdgeContextMenu: handleEdgeContextMenu, onNodePointerDown: editable ? onNodePointerDown : void 0, selectedIds: editable ? selectedIds : void 0, marqueeRect: editable ? marqueeRect : null, marqueeActiveRef: editable ? marqueeActiveRef : void 0, editingId: editable ? editingId : null, selectedEdgeId: editable ? selectedEdgeId : null, editingEdgeId: editable ? editingEdgeId : null, dragOverrides, dropTargetId, resizeOverrides, onResizeHandlePointerDown: editable ? onResizeHandlePointerDown : void 0, onEditorCommit: handleEditorCommit, onEditorCancel: handleEditorCancel, onEdgeEditorCommit: handleEdgeEditorCommit, onEdgeEditorCancel: handleEdgeEditorCancel, onEdgeWaypointUpdate: editable ? handleEdgeWaypointUpdate : void 0, pendingEdge: editable ? pendingEdge : null, onConnectionHandlePointerDown: editable ? onConnectionHandlePointerDown : void 0, edgeCreateEnabled: editable, alignmentGuides: editable ? alignmentGuides : void 0, dimmedNodeIds: dimmedIds, highlightedNodeIds: matchingIds, activeMatchNodeId: activeMatchId, viewportState: collaboratorViewport }), collaborators.length > 0 || flashNodeIds.size > 0 ? (0, import_jsx_runtime34.jsx)(CollaboratorsOverlay, { collaborators, viewport: collaboratorViewport, nodeMap, flashNodeIds }) : null, showLaneHeaders && (0, import_jsx_runtime34.jsx)(LaneHeaders, { columns: currentCanvas.columns, rows: currentCanvas.rows, theme, getViewport: getViewportState, width: containerSize.width, height: containerSize.height, pinned: laneHeaders === "pinned" }), editable && showNodeToolbar && selectedIds.size === 1 && selectedResolvedNode && !editingId && (0, import_jsx_runtime34.jsx)(NodeToolbar, { node: selectedResolvedNode, theme, onPatch: (update) => {
|
|
23644
|
+
}, children: "Loading..." }), (0, import_jsx_runtime34.jsx)(Viewport, { ref: viewportHandleRef, nodes, edges, nodeMap, theme, edgeStyle, columns: currentCanvas.columns, rows: currentCanvas.rows, canvases, minZoom: effectiveMinZoom, maxZoom: effectiveMaxZoom, defaultViewport, panMode, autoFit, canvasRef: currentCanvasRef, handoffTransform: pendingHandoff, onHandoffApplied: handleHandoffApplied, handoffFadeMs: zoomNavConfig.fadeDuration, onViewportChange: handleViewportChange, onNodeClick: handleNodeClick, onNodeDoubleClick: handleNodeDoubleClick, onNodeNavigate: handleNodeNavigate, onEdgeClick: handleEdgeClick, onEdgeDoubleClick: handleEdgeDoubleClick, onCanvasClick: editable ? handleCanvasClick : void 0, onCanvasContextMenu: handleCanvasContextMenu, onNodeContextMenu: handleNodeContextMenu, onEdgeContextMenu: handleEdgeContextMenu, onNodePointerDown: editable ? onNodePointerDown : void 0, selectedIds: editable ? selectedIds : void 0, marqueeRect: editable ? marqueeRect : null, marqueeActiveRef: editable ? marqueeActiveRef : void 0, editingId: editable ? editingId : null, selectedEdgeId: editable ? selectedEdgeId : null, editingEdgeId: editable ? editingEdgeId : null, dragOverrides, dropTargetId, resizeOverrides, onResizeHandlePointerDown: editable ? onResizeHandlePointerDown : void 0, onEditorCommit: handleEditorCommit, onEditorCancel: handleEditorCancel, onEdgeEditorCommit: handleEdgeEditorCommit, onEdgeEditorCancel: handleEdgeEditorCancel, onEdgeWaypointUpdate: editable ? handleEdgeWaypointUpdate : void 0, pendingEdge: editable ? pendingEdge : null, onConnectionHandlePointerDown: editable ? onConnectionHandlePointerDown : void 0, edgeCreateEnabled: editable, alignmentGuides: editable ? alignmentGuides : void 0, dimmedNodeIds: dimmedIds, highlightedNodeIds: matchingIds, activeMatchNodeId: activeMatchId, viewportState: collaboratorViewport }), collaborators.length > 0 || flashNodeIds.size > 0 ? (0, import_jsx_runtime34.jsx)(CollaboratorsOverlay, { collaborators, viewport: collaboratorViewport, nodeMap, flashNodeIds, containerWidth: containerSize.width, containerHeight: containerSize.height }) : null, showLaneHeaders && (0, import_jsx_runtime34.jsx)(LaneHeaders, { columns: currentCanvas.columns, rows: currentCanvas.rows, theme, getViewport: getViewportState, width: containerSize.width, height: containerSize.height, pinned: laneHeaders === "pinned" }), editable && showNodeToolbar && selectedIds.size === 1 && selectedResolvedNode && !editingId && (0, import_jsx_runtime34.jsx)(NodeToolbar, { node: selectedResolvedNode, theme, onPatch: (update) => {
|
|
23640
23645
|
wrappedOnNodeUpdate(selectedResolvedNode.id, update, currentCanvasRef);
|
|
23641
23646
|
}, onDelete: () => {
|
|
23642
23647
|
wrappedOnNodeDelete(selectedResolvedNode.id, currentCanvasRef);
|