@tumaet/apollon 4.2.8 → 4.2.9

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.
Files changed (41) hide show
  1. package/dist/assets/style.css +1 -1
  2. package/dist/components/DraggableGhost.d.ts +1 -1
  3. package/dist/components/ScrollOverlay.d.ts +1 -1
  4. package/dist/components/svgs/edges/InlineMarker.d.ts +62 -0
  5. package/dist/components/svgs/edges/index.d.ts +1 -1
  6. package/dist/components/svgs/nodes/classDiagram/ClassSVG.d.ts +1 -1
  7. package/dist/components/svgs/nodes/classDiagram/ColorDescriptionSVG.d.ts +2 -2
  8. package/dist/components/svgs/nodes/classDiagram/TitleAndDescriptionSVG.d.ts +1 -1
  9. package/dist/components/svgs/nodes/communicationDiagram/CommunicationObjectNameSVG.d.ts +1 -1
  10. package/dist/components/svgs/nodes/objectDiagram/ObjectNameSVG.d.ts +1 -1
  11. package/dist/constants.d.ts +176 -0
  12. package/dist/edges/Connection.d.ts +6 -1
  13. package/dist/edges/GenericEdge.d.ts +2 -1
  14. package/dist/edges/edgeTypes/ActivityDiagramEdge.d.ts +1 -1
  15. package/dist/edges/edgeTypes/BPMNDiagramEdge.d.ts +1 -1
  16. package/dist/edges/edgeTypes/ClassDiagramEdge.d.ts +1 -1
  17. package/dist/edges/edgeTypes/CommunicationDiagramEdge.d.ts +1 -1
  18. package/dist/edges/edgeTypes/ComponentDiagramEdge.d.ts +1 -1
  19. package/dist/edges/edgeTypes/DeploymentDiagramEdge.d.ts +1 -1
  20. package/dist/edges/edgeTypes/FlowChartEdge.d.ts +1 -1
  21. package/dist/edges/edgeTypes/ObjectDiagramEdge.d.ts +1 -1
  22. package/dist/edges/edgeTypes/PetriNetEdge.d.ts +1 -1
  23. package/dist/edges/edgeTypes/ReachabilityGraphArc.d.ts +1 -1
  24. package/dist/edges/types.d.ts +28 -28
  25. package/dist/hooks/useStraightPathEdge.d.ts +1 -3
  26. package/dist/index.js +34791 -32538
  27. package/dist/types/SVG.d.ts +1 -1
  28. package/dist/utils/edgeUtils.d.ts +1 -1
  29. package/dist/utils/exportUtils.d.ts +97 -1
  30. package/dist/utils/flatSvgExporter.d.ts +8 -0
  31. package/dist/utils/index.d.ts +1 -0
  32. package/dist/utils/pathParsing.d.ts +54 -0
  33. package/package.json +14 -5
  34. package/dist/components/svgs/edges/markers/SvgMarkers.d.ts +0 -1
  35. package/dist/components/svgs/edges/markers/index.d.ts +0 -1
  36. package/dist/constants/canvasConstants.d.ts +0 -6
  37. package/dist/constants/dropElementConfig.d.ts +0 -14
  38. package/dist/constants/edgeConstants.d.ts +0 -13
  39. package/dist/constants/index.d.ts +0 -4
  40. package/dist/constants/layoutConstants.d.ts +0 -9
  41. package/dist/constants/zindexConstants.d.ts +0 -9
@@ -1 +1 @@
1
- .alignment-guides-svg{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:999}.alignment-guide-line{stroke-width:1;stroke-dasharray:5,5;pointer-events:none;opacity:.8;animation:alignmentPulse .8s ease-in-out infinite}.alignment-guide-vertical{stroke:var(--apollon2-guide-vertical, #d63031)}.alignment-guide-horizontal{stroke:var(--apollon2-guide-horizontal, #0984e3)}@keyframes alignmentPulse{0%,to{opacity:.8}50%{opacity:.5}}.react-flow{direction:ltr;--xy-edge-stroke-default: #b1b1b7;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #555;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(255, 255, 255, .5);--xy-minimap-background-color-default: #fff;--xy-minimap-mask-background-color-default: rgb(240, 240, 240, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #e2e2e2;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: transparent;--xy-background-pattern-dots-color-default: #91919a;--xy-background-pattern-lines-color-default: #eee;--xy-background-pattern-cross-color-default: #e2e2e2;background-color:var(--xy-background-color, var(--xy-background-color-default));--xy-node-color-default: inherit;--xy-node-border-default: 1px solid #1a192b;--xy-node-background-color-default: #fff;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(0, 0, 0, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #1a192b;--xy-node-border-radius-default: 3px;--xy-handle-background-color-default: #1a192b;--xy-handle-border-color-default: #fff;--xy-selection-background-color-default: rgba(0, 89, 220, .08);--xy-selection-border-default: 1px dotted rgba(0, 89, 220, .8);--xy-controls-button-background-color-default: #fefefe;--xy-controls-button-background-color-hover-default: #f4f4f4;--xy-controls-button-color-default: inherit;--xy-controls-button-color-hover-default: inherit;--xy-controls-button-border-color-default: #eee;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #ffffff;--xy-edge-label-color-default: inherit;--xy-resize-background-color-default: #3367d9}.react-flow.dark{--xy-edge-stroke-default: #3e3e3e;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #727272;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(150, 150, 150, .25);--xy-minimap-background-color-default: #141414;--xy-minimap-mask-background-color-default: rgb(60, 60, 60, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #2b2b2b;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: #141414;--xy-background-pattern-dots-color-default: #777;--xy-background-pattern-lines-color-default: #777;--xy-background-pattern-cross-color-default: #777;--xy-node-color-default: #f8f8f8;--xy-node-border-default: 1px solid #3c3c3c;--xy-node-background-color-default: #1e1e1e;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(255, 255, 255, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #999;--xy-handle-background-color-default: #bebebe;--xy-handle-border-color-default: #1e1e1e;--xy-selection-background-color-default: rgba(200, 200, 220, .08);--xy-selection-border-default: 1px dotted rgba(200, 200, 220, .8);--xy-controls-button-background-color-default: #2b2b2b;--xy-controls-button-background-color-hover-default: #3e3e3e;--xy-controls-button-color-default: #f8f8f8;--xy-controls-button-color-hover-default: #fff;--xy-controls-button-border-color-default: #5b5b5b;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #141414;--xy-edge-label-color-default: #f8f8f8}.react-flow__background{background-color:var(--xy-background-color, var(--xy-background-color-props, var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width, var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke, var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width, var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{overflow:visible;position:absolute;pointer-events:none}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected, var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}svg.react-flow__connectionline{z-index:1001;overflow:visible;position:absolute}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background-color:var(--xy-handle-background-color, var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color, var(--xy-handle-border-color-default));border-radius:100%}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:0;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.center{left:50%;transform:translate(-50%)}.react-flow__attribution{font-size:10px;background:var(--xy-attribution-background-color, var(--xy-attribution-background-color-default));padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;left:0;top:0}.react-flow__viewport-portal{position:absolute;width:100%;height:100%;left:0;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__minimap{background:var( --xy-minimap-background-color-props, var(--xy-minimap-background-color, var(--xy-minimap-background-color-default)) )}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var( --xy-minimap-mask-background-color-props, var(--xy-minimap-mask-background-color, var(--xy-minimap-mask-background-color-default)) );stroke:var( --xy-minimap-mask-stroke-color-props, var(--xy-minimap-mask-stroke-color, var(--xy-minimap-mask-stroke-color-default)) );stroke-width:var( --xy-minimap-mask-stroke-width-props, var(--xy-minimap-mask-stroke-width, var(--xy-minimap-mask-stroke-width-default)) )}.react-flow__minimap-node{fill:var( --xy-minimap-node-background-color-props, var(--xy-minimap-node-background-color, var(--xy-minimap-node-background-color-default)) );stroke:var( --xy-minimap-node-stroke-color-props, var(--xy-minimap-node-stroke-color, var(--xy-minimap-node-stroke-color-default)) );stroke-width:var( --xy-minimap-node-stroke-width-props, var(--xy-minimap-node-stroke-width, var(--xy-minimap-node-stroke-width-default)) )}.react-flow__background-pattern.dots{fill:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-dots-color-default)) )}.react-flow__background-pattern.lines{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-lines-color-default)) )}.react-flow__background-pattern.cross{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-cross-color-default)) )}.react-flow__controls{display:flex;flex-direction:column;box-shadow:var(--xy-controls-box-shadow, var(--xy-controls-box-shadow-default))}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{display:flex;justify-content:center;align-items:center;height:26px;width:26px;padding:4px;border:none;background:var(--xy-controls-button-background-color, var(--xy-controls-button-background-color-default));border-bottom:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) );color:var( --xy-controls-button-color-props, var(--xy-controls-button-color, var(--xy-controls-button-color-default)) );cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px;fill:currentColor}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:var(--xy-node-border-radius, var(--xy-node-border-radius-default));width:150px;font-size:12px;color:var(--xy-node-color, var(--xy-node-color-default));text-align:center;border:var(--xy-node-border, var(--xy-node-border-default));background-color:var(--xy-node-background-color, var(--xy-node-background-color-default))}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover, var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected, var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color, var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color, var(--xy-selection-background-color-default));border:var(--xy-selection-border, var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var( --xy-controls-button-background-color-hover-props, var(--xy-controls-button-background-color-hover, var(--xy-controls-button-background-color-hover-default)) );color:var( --xy-controls-button-color-hover-props, var(--xy-controls-button-color-hover, var(--xy-controls-button-color-hover-default)) )}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:4px;height:4px;border:1px solid #fff;border-radius:1px;background-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));transform:translate(-50%,-50%)}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color, var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color, var(--xy-edge-label-color-default))}:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;--apollon2-primary: var(--apollon-primary, #3e8acc);--apollon2-primary-contrast: var(--apollon-primary-contrast, #212529);--apollon2-secondary: var(--apollon-secondary, #6c757d);--apollon2-alert-warning-yellow: var(--apollon-alert-warning-yellow, #ffc107);--apollon2-alert-warning-background: var(--apollon-alert-warning-background, #fff3cd);--apollon2-alert-warning-border: var(--apollon-alert-warning-border, #ffeeba);--apollon2-background: var(--apollon-background, white);--apollon2-background-inverse: var(--apollon-background-inverse, #000000);--apollon2-background-variant: var(--apollon-background-variant, #f8f9fa);--apollon2-gray: var(--apollon-gray, #e9ecef);--apollon2-grid: var(--apollon-grid, rgba(36, 39, 36, .1));--apollon2-gray-variant: var(--apollon-gray-variant, #495057);--apollon2-alert-danger-color: var(--apollon-alert-danger-color, #721c24);--apollon2-alert-danger-background: var(--apollon-alert-danger-background, #f8d7da);--apollon2-alert-danger-border: var(--apollon-alert-danger-border, #f5c6cb);--apollon2-switch-box-border-color: var(--apollon-switch-box-border-color, #dee2e6);--apollon2-list-group-color: var(--apollon-list-group-color, #ffffff);--apollon2-btn-outline-secondary-color: var(--apollon-btn-outline-secondary-color, #6c757d);--apollon2-modal-bottom-border: var(--apollon-modal-bottom-border, #e9ecef);--xy-controls-button-background-color: var(--apollon2-background)}.react-flow{--panel-background: var(--apollon2-background);--panel-shadow: 0 0 4px 0 var(--apollon2-background-variant);--text: var(--apollon2-primary-contrast);--xy-edge-stroke: var(--apollon2-primary-contrast);--xy-minimap-mask-background-color-props: #00000020}.react-flow__controls-button{background:none;border-bottom:none}.react-flow__panel,.react-flow__node-toolbar{background-color:var(--panel-background);box-shadow:var(--panel-shadow);border-radius:8px;padding:8px}.react-flow svg{display:block}.react-flow__node-toolbar{display:flex;gap:8px}.react-flow__controls-button,.react-flow__controls-button:hover{background:var(--panel-background);border-bottom:none}.react-flow__controls-button>svg{fill:var(--text)}.react-flow__handle{opacity:0;background-color:#639af2}.react-flow__resize-control line{z-index:9}.react-flow__resize-control.handle{z-index:20}.react-flow__node:hover .react-flow__handle,.react-flow__node.selected .react-flow__handle{opacity:.6;background-color:#639af2}.edge-circle{opacity:0;background-color:#639af2}.react-flow__edge:hover .edge-circle,.react-flow__edge.selected .edge-circle{opacity:.4;padding:4px;fill:#007bff}.react-flow__edge:hover .edge-overlay,.react-flow__edge:hover .edge-marker-highlight,.react-flow__edge.selected .edge-overlay,.react-flow__edge.selected .edge-marker-highlight{opacity:.4;padding:4px;stroke:#007bff;stroke-width:15px}.react-flow__node:hover,.react-flow__node.selected{opacity:.9}.react-flow__edges{z-index:9999}.react-flow__node{z-index:9998}.react-flow__minimap-mask{fill:"#f2f2f2";opacity:.6}.prevent-select{-webkit-user-select:none;-ms-user-select:none;user-select:none}.control-button{background-color:var(--apollon2-background);border:1px solid var(--apollon2-gray-variant);border-radius:8px;padding:6px 8px;cursor:pointer;opacity:1;display:flex;align-items:center;justify-content:center;min-width:32px;height:32px;font-size:14px;font-weight:700;transition:background-color .2s ease}.control-button:hover:not(.disabled){background-color:var(--apollon2-background-variant)}.control-button.disabled{cursor:not-allowed;opacity:.5}.control-button.disabled:hover{background-color:var(--apollon2-background)}.horizontally-not-resizable .react-flow__resize-control.top.line:hover,.horizontally-not-resizable .react-flow__resize-control.bottom.line:hover,.vertically-not-resizable .react-flow__resize-control.right.line:hover,.vertically-not-resizable .react-flow__resize-control.left.line:hover{cursor:grab}.MuiSelect-select,.MuiFormLabel-root{color:var(--apollon2-primary-contrast)!important}.MuiOutlinedInput-notchedOutline{border-color:var(--apollon2-primary-contrast)!important}.MuiSvgIcon-root{color:var(--apollon2-primary-contrast)!important}.scroll-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background-color:#00000026;-webkit-backdrop-filter:blur(.5px);backdrop-filter:blur(.5px);z-index:10;cursor:not-allowed;animation:fadeIn .2s ease-in-out;display:flex;align-items:center;justify-content:center;pointer-events:auto}.scroll-overlay-hint{position:absolute;bottom:40px;left:50%;transform:translate(-50%);z-index:11}.scroll-overlay-hint-content{background-color:var(--apollon2-background);border:2px solid var(--apollon2-primary);border-radius:8px;padding:16px 24px;box-shadow:0 4px 12px #00000026;display:flex;align-items:center;justify-content:center}.scroll-overlay-hint-text{margin:0;color:var(--apollon2-primary);font-weight:600;font-size:14px;text-align:center}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}
1
+ .alignment-guides-svg{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:999}.alignment-guide-line{stroke-width:1;stroke-dasharray:5,5;pointer-events:none;opacity:.8;animation:alignmentPulse .8s ease-in-out infinite}.alignment-guide-vertical{stroke:var(--apollon2-guide-vertical, #d63031)}.alignment-guide-horizontal{stroke:var(--apollon2-guide-horizontal, #0984e3)}@keyframes alignmentPulse{0%,to{opacity:.8}50%{opacity:.5}}.react-flow{direction:ltr;--xy-edge-stroke-default: #b1b1b7;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #555;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(255, 255, 255, .5);--xy-minimap-background-color-default: #fff;--xy-minimap-mask-background-color-default: rgb(240, 240, 240, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #e2e2e2;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: transparent;--xy-background-pattern-dots-color-default: #91919a;--xy-background-pattern-lines-color-default: #eee;--xy-background-pattern-cross-color-default: #e2e2e2;background-color:var(--xy-background-color, var(--xy-background-color-default));--xy-node-color-default: inherit;--xy-node-border-default: 1px solid #1a192b;--xy-node-background-color-default: #fff;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(0, 0, 0, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #1a192b;--xy-node-border-radius-default: 3px;--xy-handle-background-color-default: #1a192b;--xy-handle-border-color-default: #fff;--xy-selection-background-color-default: rgba(0, 89, 220, .08);--xy-selection-border-default: 1px dotted rgba(0, 89, 220, .8);--xy-controls-button-background-color-default: #fefefe;--xy-controls-button-background-color-hover-default: #f4f4f4;--xy-controls-button-color-default: inherit;--xy-controls-button-color-hover-default: inherit;--xy-controls-button-border-color-default: #eee;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #ffffff;--xy-edge-label-color-default: inherit;--xy-resize-background-color-default: #3367d9}.react-flow.dark{--xy-edge-stroke-default: #3e3e3e;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #727272;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(150, 150, 150, .25);--xy-minimap-background-color-default: #141414;--xy-minimap-mask-background-color-default: rgb(60, 60, 60, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #2b2b2b;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: #141414;--xy-background-pattern-dots-color-default: #777;--xy-background-pattern-lines-color-default: #777;--xy-background-pattern-cross-color-default: #777;--xy-node-color-default: #f8f8f8;--xy-node-border-default: 1px solid #3c3c3c;--xy-node-background-color-default: #1e1e1e;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(255, 255, 255, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #999;--xy-handle-background-color-default: #bebebe;--xy-handle-border-color-default: #1e1e1e;--xy-selection-background-color-default: rgba(200, 200, 220, .08);--xy-selection-border-default: 1px dotted rgba(200, 200, 220, .8);--xy-controls-button-background-color-default: #2b2b2b;--xy-controls-button-background-color-hover-default: #3e3e3e;--xy-controls-button-color-default: #f8f8f8;--xy-controls-button-color-hover-default: #fff;--xy-controls-button-border-color-default: #5b5b5b;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #141414;--xy-edge-label-color-default: #f8f8f8}.react-flow__background{background-color:var(--xy-background-color, var(--xy-background-color-props, var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width, var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke, var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width, var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{overflow:visible;position:absolute;pointer-events:none}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected, var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}svg.react-flow__connectionline{z-index:1001;overflow:visible;position:absolute}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background-color:var(--xy-handle-background-color, var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color, var(--xy-handle-border-color-default));border-radius:100%}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:0;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.center{left:50%;transform:translate(-50%)}.react-flow__attribution{font-size:10px;background:var(--xy-attribution-background-color, var(--xy-attribution-background-color-default));padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;left:0;top:0}.react-flow__viewport-portal{position:absolute;width:100%;height:100%;left:0;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__minimap{background:var( --xy-minimap-background-color-props, var(--xy-minimap-background-color, var(--xy-minimap-background-color-default)) )}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var( --xy-minimap-mask-background-color-props, var(--xy-minimap-mask-background-color, var(--xy-minimap-mask-background-color-default)) );stroke:var( --xy-minimap-mask-stroke-color-props, var(--xy-minimap-mask-stroke-color, var(--xy-minimap-mask-stroke-color-default)) );stroke-width:var( --xy-minimap-mask-stroke-width-props, var(--xy-minimap-mask-stroke-width, var(--xy-minimap-mask-stroke-width-default)) )}.react-flow__minimap-node{fill:var( --xy-minimap-node-background-color-props, var(--xy-minimap-node-background-color, var(--xy-minimap-node-background-color-default)) );stroke:var( --xy-minimap-node-stroke-color-props, var(--xy-minimap-node-stroke-color, var(--xy-minimap-node-stroke-color-default)) );stroke-width:var( --xy-minimap-node-stroke-width-props, var(--xy-minimap-node-stroke-width, var(--xy-minimap-node-stroke-width-default)) )}.react-flow__background-pattern.dots{fill:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-dots-color-default)) )}.react-flow__background-pattern.lines{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-lines-color-default)) )}.react-flow__background-pattern.cross{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-cross-color-default)) )}.react-flow__controls{display:flex;flex-direction:column;box-shadow:var(--xy-controls-box-shadow, var(--xy-controls-box-shadow-default))}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{display:flex;justify-content:center;align-items:center;height:26px;width:26px;padding:4px;border:none;background:var(--xy-controls-button-background-color, var(--xy-controls-button-background-color-default));border-bottom:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) );color:var( --xy-controls-button-color-props, var(--xy-controls-button-color, var(--xy-controls-button-color-default)) );cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px;fill:currentColor}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:var(--xy-node-border-radius, var(--xy-node-border-radius-default));width:150px;font-size:12px;color:var(--xy-node-color, var(--xy-node-color-default));text-align:center;border:var(--xy-node-border, var(--xy-node-border-default));background-color:var(--xy-node-background-color, var(--xy-node-background-color-default))}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover, var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected, var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color, var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color, var(--xy-selection-background-color-default));border:var(--xy-selection-border, var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var( --xy-controls-button-background-color-hover-props, var(--xy-controls-button-background-color-hover, var(--xy-controls-button-background-color-hover-default)) );color:var( --xy-controls-button-color-hover-props, var(--xy-controls-button-color-hover, var(--xy-controls-button-color-hover-default)) )}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:4px;height:4px;border:1px solid #fff;border-radius:1px;background-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));transform:translate(-50%,-50%)}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color, var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color, var(--xy-edge-label-color-default))}:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;--apollon2-primary: var(--apollon-primary, #3e8acc);--apollon2-primary-contrast: var(--apollon-primary-contrast, #000000);--apollon2-secondary: var(--apollon-secondary, #6c757d);--apollon2-alert-warning-yellow: var(--apollon-alert-warning-yellow, #ffc107);--apollon2-alert-warning-background: var( --apollon-alert-warning-background, #fff3cd );--apollon2-alert-warning-border: var(--apollon-alert-warning-border, #ffeeba);--apollon2-background: var(--apollon-background, white);--apollon2-background-inverse: var(--apollon-background-inverse, #000000);--apollon2-background-variant: var(--apollon-background-variant, #f8f9fa);--apollon2-gray: var(--apollon-gray, #e9ecef);--apollon2-grid: var(--apollon-grid, rgba(36, 39, 36, .1));--apollon2-gray-variant: var(--apollon-gray-variant, #495057);--apollon2-alert-danger-color: var(--apollon-alert-danger-color, #721c24);--apollon2-alert-danger-background: var( --apollon-alert-danger-background, #f8d7da );--apollon2-alert-danger-border: var(--apollon-alert-danger-border, #f5c6cb);--apollon2-switch-box-border-color: var( --apollon-switch-box-border-color, #dee2e6 );--apollon2-list-group-color: var(--apollon-list-group-color, #ffffff);--apollon2-btn-outline-secondary-color: var( --apollon-btn-outline-secondary-color, #6c757d );--apollon2-modal-bottom-border: var(--apollon-modal-bottom-border, #e9ecef);--xy-controls-button-background-color: var(--apollon2-background)}.react-flow{--panel-background: var(--apollon2-background);--panel-shadow: 0 0 4px 0 var(--apollon2-background-variant);--text: var(--apollon2-primary-contrast);--xy-edge-stroke: var(--apollon2-primary-contrast);--xy-edge-stroke-width: 2px;--xy-minimap-mask-background-color-props: #00000020}.react-flow__controls-button{background:none;border-bottom:none}.react-flow__panel,.react-flow__node-toolbar{background-color:var(--panel-background);box-shadow:var(--panel-shadow);border-radius:8px;padding:8px}.react-flow svg{display:block}.react-flow__node-toolbar{display:flex;gap:8px}.react-flow__controls-button,.react-flow__controls-button:hover{background:var(--panel-background);border-bottom:none}.react-flow__controls-button>svg{fill:var(--text)}.react-flow__handle{opacity:0;background-color:#639af2}.react-flow__resize-control line{z-index:9}.react-flow__resize-control.handle{z-index:20}.react-flow__node:hover .react-flow__handle,.react-flow__node.selected .react-flow__handle{opacity:.6;background-color:#639af2}.edge-circle{opacity:0;background-color:#639af2}.react-flow__edge:hover .edge-circle,.react-flow__edge.selected .edge-circle{opacity:.4;padding:4px;fill:#007bff}.react-flow__edge:hover .edge-overlay,.react-flow__edge:hover .edge-marker-highlight,.react-flow__edge.selected .edge-overlay,.react-flow__edge.selected .edge-marker-highlight{opacity:.4;padding:4px;stroke:#007bff;stroke-width:15px}.react-flow__node:hover,.react-flow__node.selected{opacity:.9}.react-flow__edges{z-index:9999}.react-flow__node{z-index:9998}svg.react-flow__connectionline{z-index:10000}.react-flow__connection-path{stroke:var(--xy-edge-stroke);stroke-width:var(--xy-edge-stroke-width);opacity:.5}.react-flow__minimap-mask{fill:"#f2f2f2";opacity:.6}.prevent-select{-webkit-user-select:none;-ms-user-select:none;user-select:none}.control-button{background-color:var(--apollon2-background);border:1px solid var(--apollon2-gray-variant);border-radius:8px;padding:6px 8px;cursor:pointer;opacity:1;display:flex;align-items:center;justify-content:center;min-width:32px;height:32px;font-size:14px;font-weight:700;transition:background-color .2s ease}.control-button:hover:not(.disabled){background-color:var(--apollon2-background-variant)}.control-button.disabled{cursor:not-allowed;opacity:.5}.control-button.disabled:hover{background-color:var( --apollon2-background )}.horizontally-not-resizable .react-flow__resize-control.top.line:hover,.horizontally-not-resizable .react-flow__resize-control.bottom.line:hover,.vertically-not-resizable .react-flow__resize-control.right.line:hover,.vertically-not-resizable .react-flow__resize-control.left.line:hover{cursor:grab}.MuiSelect-select,.MuiFormLabel-root{color:var(--apollon2-primary-contrast)!important}.MuiOutlinedInput-notchedOutline{border-color:var(--apollon2-primary-contrast)!important}.MuiSvgIcon-root{color:var(--apollon2-primary-contrast)!important}.scroll-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background-color:#00000026;-webkit-backdrop-filter:blur(.5px);backdrop-filter:blur(.5px);z-index:10;cursor:not-allowed;animation:fadeIn .2s ease-in-out;display:flex;align-items:center;justify-content:center;pointer-events:auto}.scroll-overlay-hint{position:absolute;bottom:40px;left:50%;transform:translate(-50%);z-index:11}.scroll-overlay-hint-content{background-color:var(--apollon2-background);border:2px solid var(--apollon2-primary);border-radius:8px;padding:16px 24px;box-shadow:0 4px 12px #00000026;display:flex;align-items:center;justify-content:center}.scroll-overlay-hint-text{margin:0;color:var(--apollon2-primary);font-weight:600;font-size:14px;text-align:center}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}
@@ -1,5 +1,5 @@
1
1
  import { default as React } from 'react';
2
- import { DropElementConfig } from '../constants/dropElementConfig';
2
+ import { DropElementConfig } from '../constants';
3
3
  interface DraggableGhostProps {
4
4
  children: React.ReactNode;
5
5
  dropElementConfig: DropElementConfig;
@@ -2,6 +2,6 @@ import { default as React } from 'react';
2
2
  /**
3
3
  * ScrollOverlay Component
4
4
  * Displays an overlay when user tries to scroll but scrollLock is enabled.
5
- * Press Space to temporarily unlock scrolling.
5
+ * Press Ctrl or Cmd to temporarily unlock scrolling.
6
6
  */
7
7
  export declare const ScrollOverlay: React.FC;
@@ -0,0 +1,62 @@
1
+ import { extractMarkerId as extractMarkerIdFromParser } from '../../../utils/pathParsing';
2
+ export interface MarkerProps {
3
+ /** The endpoint where the marker should be drawn */
4
+ endPoint: {
5
+ x: number;
6
+ y: number;
7
+ };
8
+ /** The direction angle in radians (from previous point to endpoint) */
9
+ direction: number;
10
+ /** The marker type ID */
11
+ markerId: string;
12
+ /** Optional stroke color override */
13
+ strokeColor?: string;
14
+ }
15
+ /**
16
+ * Extract marker ID from a url() reference.
17
+ * e.g., "url(#black-arrow)" -> "black-arrow"
18
+ *
19
+ * Uses the robust implementation from pathParsing.ts that handles
20
+ * all SVG path commands including relative coordinates.
21
+ */
22
+ export declare const extractMarkerId: typeof extractMarkerIdFromParser;
23
+ /**
24
+ * Calculate endpoint and direction from the last segment of a path.
25
+ *
26
+ * Uses the robust implementation from pathParsing.ts that handles
27
+ * all SVG path commands including relative coordinates and bezier curves.
28
+ */
29
+ export declare function getPathEndInfo(pathD: string): {
30
+ endPoint: {
31
+ x: number;
32
+ y: number;
33
+ };
34
+ direction: number;
35
+ } | null;
36
+ /**
37
+ * Get path start info for marker-start.
38
+ *
39
+ * Uses the robust implementation from pathParsing.ts that handles
40
+ * all SVG path commands including H, V, C, Q, and relative coordinates.
41
+ */
42
+ export declare function getPathStartInfo(pathD: string): {
43
+ startPoint: {
44
+ x: number;
45
+ y: number;
46
+ };
47
+ direction: number;
48
+ } | null;
49
+ /**
50
+ * Renders an inline SVG marker at the given position and direction.
51
+ */
52
+ export declare function InlineMarker({ endPoint, direction, markerId, strokeColor, }: MarkerProps): JSX.Element | null;
53
+ /**
54
+ * Helper component that renders inline markers for an edge path.
55
+ * Use this alongside BaseEdge (without markerEnd/markerStart props).
56
+ */
57
+ export declare function EdgeInlineMarkers({ pathD, markerEnd, markerStart, strokeColor, }: {
58
+ pathD: string;
59
+ markerEnd?: string;
60
+ markerStart?: string;
61
+ strokeColor?: string;
62
+ }): JSX.Element;
@@ -1 +1 @@
1
- export * from './markers';
1
+ export * from './InlineMarker';
@@ -7,4 +7,4 @@ export interface MinSize {
7
7
  export type ClassSVGProps = SVGComponentProps & {
8
8
  data: ClassNodeProps;
9
9
  };
10
- export declare const ClassSVG: ({ id, width, height, transformScale, svgAttributes, showAssessmentResults, data, }: ClassSVGProps) => JSX.Element;
10
+ export declare const ClassSVG: ({ id, width, height, SIDEBAR_PREVIEW_SCALE, svgAttributes, showAssessmentResults, data, }: ClassSVGProps) => JSX.Element;
@@ -4,7 +4,7 @@ export type ColorDescriptionSVGProps = {
4
4
  width: number;
5
5
  height: number;
6
6
  data: DefaultNodeProps;
7
- transformScale?: number;
7
+ SIDEBAR_PREVIEW_SCALE?: number;
8
8
  svgAttributes?: SVGAttributes<SVGElement>;
9
9
  };
10
- export declare function ColorDescriptionSVG({ width, height, data, svgAttributes, transformScale, }: ColorDescriptionSVGProps): JSX.Element;
10
+ export declare function ColorDescriptionSVG({ width, height, data, svgAttributes, SIDEBAR_PREVIEW_SCALE, }: ColorDescriptionSVGProps): JSX.Element;
@@ -4,7 +4,7 @@ interface TitleAndDescriptionSVGProps {
4
4
  height: number;
5
5
  title: string;
6
6
  description: string;
7
- transformScale?: number;
7
+ SIDEBAR_PREVIEW_SCALE?: number;
8
8
  svgAttributes?: SVGAttributes<SVGElement>;
9
9
  }
10
10
  export declare const TitleAndDescriptionSVG: React.FC<TitleAndDescriptionSVGProps>;
@@ -3,4 +3,4 @@ import { SVGComponentProps } from '../../../../types/SVG';
3
3
  export type CommunicationObjectNameSVGProps = SVGComponentProps & {
4
4
  data: CommunicationObjectNodeProps;
5
5
  };
6
- export declare const CommunicationObjectNameSVG: ({ id, width, height, data, transformScale, svgAttributes, showAssessmentResults, }: CommunicationObjectNameSVGProps) => JSX.Element;
6
+ export declare const CommunicationObjectNameSVG: ({ id, width, height, data, SIDEBAR_PREVIEW_SCALE, svgAttributes, showAssessmentResults, }: CommunicationObjectNameSVGProps) => JSX.Element;
@@ -3,5 +3,5 @@ import { SVGComponentProps } from '../../../../types/SVG';
3
3
  interface Props extends SVGComponentProps {
4
4
  data: ObjectNodeProps;
5
5
  }
6
- export declare const ObjectNameSVG: ({ id, width, height, data, transformScale, svgAttributes, showAssessmentResults, }: Props) => JSX.Element;
6
+ export declare const ObjectNameSVG: ({ id, width, height, data, SIDEBAR_PREVIEW_SCALE, svgAttributes, showAssessmentResults, }: Props) => JSX.Element;
7
7
  export {};
@@ -0,0 +1,176 @@
1
+ import { default as React } from 'react';
2
+ import { DiagramNodeType } from './nodes';
3
+ import { UMLDiagramType } from './types';
4
+ export declare const CANVAS: Readonly<{
5
+ readonly MIN_SCALE_TO_ZOOM_OUT: 0.4;
6
+ readonly MAX_SCALE_TO_ZOOM_IN: 2.5;
7
+ readonly MOUSE_UP_OFFSET_PX: 5;
8
+ readonly SNAP_TO_GRID_PX: 10;
9
+ readonly EXTRA_SPACE_FOR_EXTENSION: 10;
10
+ readonly PASTE_OFFSET_PX: 20;
11
+ }>;
12
+ export declare const CSS_VARIABLE_FALLBACKS: Readonly<Record<string, string>>;
13
+ export declare const STROKE_COLOR: string;
14
+ export declare const FILL_COLOR: string;
15
+ export declare const LAYOUT: Readonly<{
16
+ readonly DEFAULT_FONT: "400 16px Inter, system-ui, Avenir, Helvetica, Arial, sans-serif";
17
+ readonly DEFAULT_HEADER_HEIGHT: 40;
18
+ readonly DEFAULT_HEADER_HEIGHT_WITH_STEREOTYPE: 50;
19
+ readonly DEFAULT_ATTRIBUTE_HEIGHT: 30;
20
+ readonly DEFAULT_METHOD_HEIGHT: 30;
21
+ readonly DEFAULT_PADDING: 10;
22
+ readonly LINE_WIDTH: 2;
23
+ readonly LINE_WIDTH_INTERFACE: 2;
24
+ readonly LINE_WIDTH_EDGE: 2;
25
+ readonly ICON_LINE_WIDTH: 1.5;
26
+ }>;
27
+ export declare const INTERFACE: Readonly<{
28
+ readonly SIZE: 30;
29
+ readonly RADIUS: 15;
30
+ readonly STROKE_WIDTH: 2;
31
+ }>;
32
+ export declare const MARKER_BASE_SIZE = 18;
33
+ export declare const BPMN_MARKER_SIZE = 11;
34
+ export declare const EDGES: Readonly<{
35
+ /** Negative padding extends target point to node boundary (React Flow handles are offset 3px) */
36
+ readonly MARKER_PADDING: -3;
37
+ /** Positive padding pulls source point back to node boundary (React Flow handles are offset 3px from node edge) */
38
+ readonly SOURCE_CONNECTION_POINT_PADDING: 3;
39
+ /** Border radius for step-style edge corners */
40
+ readonly STEP_BORDER_RADIUS: 0;
41
+ /** Width of the invisible stroke used for edge selection/highlighting */
42
+ readonly EDGE_HIGHLIGHT_STROKE_WIDTH: 15;
43
+ }>;
44
+ export declare const ZINDEX: Readonly<{
45
+ readonly BASE: 0;
46
+ readonly HEADER_SWITCH: 1;
47
+ readonly DRAGGABLE_GHOST: 2;
48
+ readonly MINIMAP: 5;
49
+ readonly PANEL: 10;
50
+ readonly MODAL: 9998;
51
+ readonly LABEL: 9998;
52
+ readonly DRAGGABLE_ELEMENT: 9999;
53
+ readonly TOOLTIP: 10000;
54
+ }>;
55
+ export type MarkerShape = "triangle" | "arrow" | "rhombus" | "circle" | "semicircle";
56
+ export interface MarkerConfig {
57
+ readonly type: MarkerShape;
58
+ readonly filled: boolean;
59
+ readonly size: number;
60
+ readonly widthFactor: number;
61
+ readonly heightFactor: number;
62
+ readonly arcSpanDegrees?: number;
63
+ }
64
+ export declare const MARKER_CONFIGS: Readonly<{
65
+ readonly "black-rhombus": {
66
+ readonly type: "rhombus";
67
+ readonly filled: true;
68
+ readonly size: 18;
69
+ readonly widthFactor: 1;
70
+ readonly heightFactor: 0.618;
71
+ };
72
+ readonly "white-rhombus": {
73
+ readonly type: "rhombus";
74
+ readonly filled: false;
75
+ readonly size: 18;
76
+ readonly widthFactor: 1;
77
+ readonly heightFactor: 0.618;
78
+ };
79
+ readonly "white-triangle": {
80
+ readonly type: "triangle";
81
+ readonly filled: false;
82
+ readonly size: 18;
83
+ readonly widthFactor: 1;
84
+ readonly heightFactor: 0.866;
85
+ };
86
+ readonly "black-triangle": {
87
+ readonly type: "triangle";
88
+ readonly filled: true;
89
+ readonly size: 18;
90
+ readonly widthFactor: 1;
91
+ readonly heightFactor: 0.866;
92
+ };
93
+ readonly "black-arrow": {
94
+ readonly type: "arrow";
95
+ readonly filled: false;
96
+ readonly size: 18;
97
+ readonly widthFactor: 1;
98
+ readonly heightFactor: 0.866;
99
+ };
100
+ readonly "required-interface": {
101
+ readonly type: "semicircle";
102
+ readonly filled: false;
103
+ readonly size: 15;
104
+ readonly widthFactor: 1;
105
+ readonly heightFactor: 1;
106
+ readonly arcSpanDegrees: 180;
107
+ };
108
+ readonly "required-interface-quarter": {
109
+ readonly type: "semicircle";
110
+ readonly filled: false;
111
+ readonly size: 15;
112
+ readonly widthFactor: 1;
113
+ readonly heightFactor: 1;
114
+ readonly arcSpanDegrees: 90;
115
+ };
116
+ readonly "required-interface-threequarter": {
117
+ readonly type: "semicircle";
118
+ readonly filled: false;
119
+ readonly size: 15;
120
+ readonly widthFactor: 1;
121
+ readonly heightFactor: 1;
122
+ readonly arcSpanDegrees: 270;
123
+ };
124
+ readonly "bpmn-white-triangle": {
125
+ readonly type: "triangle";
126
+ readonly filled: false;
127
+ readonly size: 11;
128
+ readonly widthFactor: 1;
129
+ readonly heightFactor: 0.866;
130
+ };
131
+ readonly "bpmn-black-triangle": {
132
+ readonly type: "triangle";
133
+ readonly filled: true;
134
+ readonly size: 11;
135
+ readonly widthFactor: 1;
136
+ readonly heightFactor: 0.866;
137
+ };
138
+ readonly "bpmn-white-circle": {
139
+ readonly type: "circle";
140
+ readonly filled: false;
141
+ readonly size: 11;
142
+ readonly widthFactor: 1;
143
+ readonly heightFactor: 1;
144
+ };
145
+ readonly "bpmn-arrow": {
146
+ readonly type: "arrow";
147
+ readonly filled: false;
148
+ readonly size: 11;
149
+ readonly widthFactor: 1;
150
+ readonly heightFactor: 0.866;
151
+ };
152
+ }>;
153
+ export type MarkerId = keyof typeof MARKER_CONFIGS;
154
+ export declare const MARKERS: Readonly<{
155
+ readonly STROKE_WIDTH: Readonly<{
156
+ readonly triangle: 1.3;
157
+ readonly arrow: 1.5;
158
+ readonly rhombus: 1.3;
159
+ readonly circle: 1.3;
160
+ readonly semicircle: 2;
161
+ }>;
162
+ }>;
163
+ export declare const DROPS: Readonly<{
164
+ readonly SIDEBAR_PREVIEW_SCALE: 0.8;
165
+ readonly DEFAULT_ELEMENT_WIDTH: 160;
166
+ }>;
167
+ export type DropElementConfig = {
168
+ readonly type: DiagramNodeType;
169
+ readonly width: number;
170
+ readonly height: number;
171
+ readonly defaultData?: Record<string, unknown>;
172
+ readonly svg: React.FC<any>;
173
+ readonly marginTop?: number;
174
+ };
175
+ export declare const dropElementConfigs: Readonly<Record<UMLDiagramType, ReadonlyArray<DropElementConfig>>>;
176
+ export declare const ColorDescriptionConfig: DropElementConfig;
@@ -28,4 +28,9 @@ export declare function tryFindStraightPath(source: {
28
28
  width: number;
29
29
  height: number;
30
30
  direction: Position;
31
- }, targetPadding: number): IPoint[] | null;
31
+ }, targetPadding: number, handleCoords?: {
32
+ sourceX: number;
33
+ sourceY: number;
34
+ targetX: number;
35
+ targetY: number;
36
+ }): IPoint[] | null;
@@ -21,10 +21,11 @@ export declare const useEdgeReconnection: (id: string, source: string, target: s
21
21
  shouldClearPoints: boolean;
22
22
  }, onCustomPointsClear?: () => void) => void;
23
23
  };
24
- export declare const EdgeEndpointMarkers: ({ sourcePoint, targetPoint, isDiagramModifiable, diagramType, pathType, onSourcePointerDown, onTargetPointerDown, }: {
24
+ export declare const EdgeEndpointMarkers: ({ sourcePoint, targetPoint, isDiagramModifiable, selected, diagramType, pathType, onSourcePointerDown, onTargetPointerDown, }: {
25
25
  sourcePoint: IPoint;
26
26
  targetPoint: IPoint;
27
27
  isDiagramModifiable: boolean;
28
+ selected?: boolean;
28
29
  diagramType: string;
29
30
  pathType: string;
30
31
  onSourcePointerDown: (e: React.PointerEvent) => void;
@@ -1,2 +1,2 @@
1
1
  import { BaseEdgeProps } from '../GenericEdge';
2
- export declare const ActivityDiagramEdge: ({ id, type, source, target, sourceX, sourceY, targetX, targetY, sourcePosition, targetPosition, sourceHandleId, targetHandleId, data, }: BaseEdgeProps) => JSX.Element;
2
+ export declare const ActivityDiagramEdge: ({ id, type, source, target, sourceX, sourceY, targetX, targetY, sourcePosition, targetPosition, sourceHandleId, targetHandleId, data, selected, }: BaseEdgeProps) => JSX.Element;
@@ -1,2 +1,2 @@
1
1
  import { BaseEdgeProps } from '../GenericEdge';
2
- export declare const BPMNDiagramEdge: ({ id, type, source, target, sourceX, sourceY, targetX, targetY, sourcePosition, targetPosition, sourceHandleId, targetHandleId, data, }: BaseEdgeProps) => JSX.Element;
2
+ export declare const BPMNDiagramEdge: ({ id, type, source, target, sourceX, sourceY, targetX, targetY, sourcePosition, targetPosition, sourceHandleId, targetHandleId, data, selected, }: BaseEdgeProps) => JSX.Element;
@@ -1,2 +1,2 @@
1
1
  import { BaseEdgeProps } from '../GenericEdge';
2
- export declare const ClassDiagramEdge: ({ id, type, source, target, sourceX, sourceY, targetX, targetY, sourcePosition, targetPosition, sourceHandleId, targetHandleId, data, }: BaseEdgeProps) => JSX.Element;
2
+ export declare const ClassDiagramEdge: ({ id, type, source, target, sourceX, sourceY, targetX, targetY, sourcePosition, targetPosition, sourceHandleId, targetHandleId, data, selected, }: BaseEdgeProps) => JSX.Element;
@@ -1,2 +1,2 @@
1
1
  import { BaseEdgeProps } from '../GenericEdge';
2
- export declare const CommunicationDiagramEdge: ({ id, type, source, target, sourceX, sourceY, targetX, targetY, sourcePosition, targetPosition, sourceHandleId, targetHandleId, data, }: BaseEdgeProps) => JSX.Element;
2
+ export declare const CommunicationDiagramEdge: ({ id, type, source, target, sourceX, sourceY, targetX, targetY, sourcePosition, targetPosition, sourceHandleId, targetHandleId, data, selected, }: BaseEdgeProps) => JSX.Element;
@@ -1,2 +1,2 @@
1
1
  import { BaseEdgeProps } from '../GenericEdge';
2
- export declare const ComponentDiagramEdge: ({ id, type, source, target, sourceX, sourceY, targetX, targetY, sourcePosition, targetPosition, sourceHandleId, targetHandleId, data, }: BaseEdgeProps) => JSX.Element;
2
+ export declare const ComponentDiagramEdge: ({ id, type, source, target, sourceX, sourceY, targetX, targetY, sourcePosition, targetPosition, sourceHandleId, targetHandleId, data, selected, }: BaseEdgeProps) => JSX.Element;
@@ -1,2 +1,2 @@
1
1
  import { BaseEdgeProps } from '../GenericEdge';
2
- export declare const DeploymentDiagramEdge: ({ id, type, source, target, sourceX, sourceY, targetX, targetY, sourcePosition, targetPosition, sourceHandleId, targetHandleId, data, }: BaseEdgeProps) => JSX.Element;
2
+ export declare const DeploymentDiagramEdge: ({ id, type, source, target, sourceX, sourceY, targetX, targetY, sourcePosition, targetPosition, sourceHandleId, targetHandleId, data, selected, }: BaseEdgeProps) => JSX.Element;
@@ -1,2 +1,2 @@
1
1
  import { BaseEdgeProps } from '../GenericEdge';
2
- export declare const FlowChartEdge: ({ id, type, source, target, sourceX, sourceY, targetX, targetY, sourcePosition, targetPosition, sourceHandleId, targetHandleId, data, }: BaseEdgeProps) => JSX.Element;
2
+ export declare const FlowChartEdge: ({ id, type, source, target, sourceX, sourceY, targetX, targetY, sourcePosition, targetPosition, sourceHandleId, targetHandleId, data, selected, }: BaseEdgeProps) => JSX.Element;
@@ -1,2 +1,2 @@
1
1
  import { BaseEdgeProps } from '../GenericEdge';
2
- export declare const ObjectDiagramEdge: ({ id, type, source, target, sourceX, sourceY, targetX, targetY, sourcePosition, targetPosition, sourceHandleId, targetHandleId, data, }: BaseEdgeProps) => JSX.Element;
2
+ export declare const ObjectDiagramEdge: ({ id, type, source, target, sourceX, sourceY, targetX, targetY, sourcePosition, targetPosition, sourceHandleId, targetHandleId, data, selected, }: BaseEdgeProps) => JSX.Element;
@@ -1,2 +1,2 @@
1
1
  import { BaseEdgeProps } from '../GenericEdge';
2
- export declare const PetriNetEdge: ({ id, type, source, target, sourceX, sourceY, targetX, targetY, sourcePosition, targetPosition, sourceHandleId, targetHandleId, data, }: BaseEdgeProps) => JSX.Element;
2
+ export declare const PetriNetEdge: ({ id, type, source, target, sourceX, sourceY, targetX, targetY, sourcePosition, targetPosition, sourceHandleId, targetHandleId, data, selected, }: BaseEdgeProps) => JSX.Element;
@@ -1,2 +1,2 @@
1
1
  import { BaseEdgeProps } from '../GenericEdge';
2
- export declare const ReachabilityGraphEdge: ({ id, type, source, target, sourceX, sourceY, targetX, targetY, sourcePosition, targetPosition, sourceHandleId, targetHandleId, data, }: BaseEdgeProps) => JSX.Element;
2
+ export declare const ReachabilityGraphEdge: ({ id, type, source, target, sourceX, sourceY, targetX, targetY, sourcePosition, targetPosition, sourceHandleId, targetHandleId, data, selected, }: BaseEdgeProps) => JSX.Element;
@@ -1,38 +1,38 @@
1
1
  export declare const diagramEdgeTypes: {
2
- ClassAggregation: ({ id, type, source, target, sourceX, sourceY, targetX, targetY, sourcePosition, targetPosition, sourceHandleId, targetHandleId, data, }: import('./GenericEdge').BaseEdgeProps) => JSX.Element;
3
- ClassInheritance: ({ id, type, source, target, sourceX, sourceY, targetX, targetY, sourcePosition, targetPosition, sourceHandleId, targetHandleId, data, }: import('./GenericEdge').BaseEdgeProps) => JSX.Element;
4
- ClassRealization: ({ id, type, source, target, sourceX, sourceY, targetX, targetY, sourcePosition, targetPosition, sourceHandleId, targetHandleId, data, }: import('./GenericEdge').BaseEdgeProps) => JSX.Element;
5
- ClassComposition: ({ id, type, source, target, sourceX, sourceY, targetX, targetY, sourcePosition, targetPosition, sourceHandleId, targetHandleId, data, }: import('./GenericEdge').BaseEdgeProps) => JSX.Element;
6
- ClassBidirectional: ({ id, type, source, target, sourceX, sourceY, targetX, targetY, sourcePosition, targetPosition, sourceHandleId, targetHandleId, data, }: import('./GenericEdge').BaseEdgeProps) => JSX.Element;
7
- ClassUnidirectional: ({ id, type, source, target, sourceX, sourceY, targetX, targetY, sourcePosition, targetPosition, sourceHandleId, targetHandleId, data, }: import('./GenericEdge').BaseEdgeProps) => JSX.Element;
8
- ClassDependency: ({ id, type, source, target, sourceX, sourceY, targetX, targetY, sourcePosition, targetPosition, sourceHandleId, targetHandleId, data, }: import('./GenericEdge').BaseEdgeProps) => JSX.Element;
9
- ActivityControlFlow: ({ id, type, source, target, sourceX, sourceY, targetX, targetY, sourcePosition, targetPosition, sourceHandleId, targetHandleId, data, }: import('./GenericEdge').BaseEdgeProps) => JSX.Element;
10
- ObjectLink: ({ id, type, source, target, sourceX, sourceY, targetX, targetY, sourcePosition, targetPosition, sourceHandleId, targetHandleId, data, }: import('./GenericEdge').BaseEdgeProps) => JSX.Element;
11
- FlowChartFlowline: ({ id, type, source, target, sourceX, sourceY, targetX, targetY, sourcePosition, targetPosition, sourceHandleId, targetHandleId, data, }: import('./GenericEdge').BaseEdgeProps) => JSX.Element;
2
+ ClassAggregation: ({ id, type, source, target, sourceX, sourceY, targetX, targetY, sourcePosition, targetPosition, sourceHandleId, targetHandleId, data, selected, }: import('./GenericEdge').BaseEdgeProps) => JSX.Element;
3
+ ClassInheritance: ({ id, type, source, target, sourceX, sourceY, targetX, targetY, sourcePosition, targetPosition, sourceHandleId, targetHandleId, data, selected, }: import('./GenericEdge').BaseEdgeProps) => JSX.Element;
4
+ ClassRealization: ({ id, type, source, target, sourceX, sourceY, targetX, targetY, sourcePosition, targetPosition, sourceHandleId, targetHandleId, data, selected, }: import('./GenericEdge').BaseEdgeProps) => JSX.Element;
5
+ ClassComposition: ({ id, type, source, target, sourceX, sourceY, targetX, targetY, sourcePosition, targetPosition, sourceHandleId, targetHandleId, data, selected, }: import('./GenericEdge').BaseEdgeProps) => JSX.Element;
6
+ ClassBidirectional: ({ id, type, source, target, sourceX, sourceY, targetX, targetY, sourcePosition, targetPosition, sourceHandleId, targetHandleId, data, selected, }: import('./GenericEdge').BaseEdgeProps) => JSX.Element;
7
+ ClassUnidirectional: ({ id, type, source, target, sourceX, sourceY, targetX, targetY, sourcePosition, targetPosition, sourceHandleId, targetHandleId, data, selected, }: import('./GenericEdge').BaseEdgeProps) => JSX.Element;
8
+ ClassDependency: ({ id, type, source, target, sourceX, sourceY, targetX, targetY, sourcePosition, targetPosition, sourceHandleId, targetHandleId, data, selected, }: import('./GenericEdge').BaseEdgeProps) => JSX.Element;
9
+ ActivityControlFlow: ({ id, type, source, target, sourceX, sourceY, targetX, targetY, sourcePosition, targetPosition, sourceHandleId, targetHandleId, data, selected, }: import('./GenericEdge').BaseEdgeProps) => JSX.Element;
10
+ ObjectLink: ({ id, type, source, target, sourceX, sourceY, targetX, targetY, sourcePosition, targetPosition, sourceHandleId, targetHandleId, data, selected, }: import('./GenericEdge').BaseEdgeProps) => JSX.Element;
11
+ FlowChartFlowline: ({ id, type, source, target, sourceX, sourceY, targetX, targetY, sourcePosition, targetPosition, sourceHandleId, targetHandleId, data, selected, }: import('./GenericEdge').BaseEdgeProps) => JSX.Element;
12
12
  SyntaxTreeLink: ({ id, type, source, target, sourceX, sourceY, targetX, targetY, sourcePosition, targetPosition, sourceHandleId, targetHandleId, data, }: import('./GenericEdge').BaseEdgeProps) => JSX.Element;
13
- CommunicationLink: ({ id, type, source, target, sourceX, sourceY, targetX, targetY, sourcePosition, targetPosition, sourceHandleId, targetHandleId, data, }: import('./GenericEdge').BaseEdgeProps) => JSX.Element;
14
- PetriNetArc: ({ id, type, source, target, sourceX, sourceY, targetX, targetY, sourcePosition, targetPosition, sourceHandleId, targetHandleId, data, }: import('./GenericEdge').BaseEdgeProps) => JSX.Element;
13
+ CommunicationLink: ({ id, type, source, target, sourceX, sourceY, targetX, targetY, sourcePosition, targetPosition, sourceHandleId, targetHandleId, data, selected, }: import('./GenericEdge').BaseEdgeProps) => JSX.Element;
14
+ PetriNetArc: ({ id, type, source, target, sourceX, sourceY, targetX, targetY, sourcePosition, targetPosition, sourceHandleId, targetHandleId, data, selected, }: import('./GenericEdge').BaseEdgeProps) => JSX.Element;
15
15
  UseCaseAssociation: ({ id, type, source, target, sourceX, sourceY, targetX, targetY, sourcePosition, targetPosition, sourceHandleId, targetHandleId, data, }: import('./GenericEdge').BaseEdgeProps) => JSX.Element;
16
16
  UseCaseInclude: ({ id, type, source, target, sourceX, sourceY, targetX, targetY, sourcePosition, targetPosition, sourceHandleId, targetHandleId, data, }: import('./GenericEdge').BaseEdgeProps) => JSX.Element;
17
17
  UseCaseExtend: ({ id, type, source, target, sourceX, sourceY, targetX, targetY, sourcePosition, targetPosition, sourceHandleId, targetHandleId, data, }: import('./GenericEdge').BaseEdgeProps) => JSX.Element;
18
18
  UseCaseGeneralization: ({ id, type, source, target, sourceX, sourceY, targetX, targetY, sourcePosition, targetPosition, sourceHandleId, targetHandleId, data, }: import('./GenericEdge').BaseEdgeProps) => JSX.Element;
19
- ComponentDependency: ({ id, type, source, target, sourceX, sourceY, targetX, targetY, sourcePosition, targetPosition, sourceHandleId, targetHandleId, data, }: import('./GenericEdge').BaseEdgeProps) => JSX.Element;
20
- ComponentProvidedInterface: ({ id, type, source, target, sourceX, sourceY, targetX, targetY, sourcePosition, targetPosition, sourceHandleId, targetHandleId, data, }: import('./GenericEdge').BaseEdgeProps) => JSX.Element;
21
- ComponentRequiredInterface: ({ id, type, source, target, sourceX, sourceY, targetX, targetY, sourcePosition, targetPosition, sourceHandleId, targetHandleId, data, }: import('./GenericEdge').BaseEdgeProps) => JSX.Element;
22
- ComponentRequiredThreeQuarterInterface: ({ id, type, source, target, sourceX, sourceY, targetX, targetY, sourcePosition, targetPosition, sourceHandleId, targetHandleId, data, }: import('./GenericEdge').BaseEdgeProps) => JSX.Element;
23
- ComponentRequiredQuarterInterface: ({ id, type, source, target, sourceX, sourceY, targetX, targetY, sourcePosition, targetPosition, sourceHandleId, targetHandleId, data, }: import('./GenericEdge').BaseEdgeProps) => JSX.Element;
24
- DeploymentAssociation: ({ id, type, source, target, sourceX, sourceY, targetX, targetY, sourcePosition, targetPosition, sourceHandleId, targetHandleId, data, }: import('./GenericEdge').BaseEdgeProps) => JSX.Element;
25
- DeploymentDependency: ({ id, type, source, target, sourceX, sourceY, targetX, targetY, sourcePosition, targetPosition, sourceHandleId, targetHandleId, data, }: import('./GenericEdge').BaseEdgeProps) => JSX.Element;
26
- DeploymentProvidedInterface: ({ id, type, source, target, sourceX, sourceY, targetX, targetY, sourcePosition, targetPosition, sourceHandleId, targetHandleId, data, }: import('./GenericEdge').BaseEdgeProps) => JSX.Element;
27
- DeploymentRequiredInterface: ({ id, type, source, target, sourceX, sourceY, targetX, targetY, sourcePosition, targetPosition, sourceHandleId, targetHandleId, data, }: import('./GenericEdge').BaseEdgeProps) => JSX.Element;
28
- DeploymentRequiredThreeQuarterInterface: ({ id, type, source, target, sourceX, sourceY, targetX, targetY, sourcePosition, targetPosition, sourceHandleId, targetHandleId, data, }: import('./GenericEdge').BaseEdgeProps) => JSX.Element;
29
- DeploymentRequiredQuarterInterface: ({ id, type, source, target, sourceX, sourceY, targetX, targetY, sourcePosition, targetPosition, sourceHandleId, targetHandleId, data, }: import('./GenericEdge').BaseEdgeProps) => JSX.Element;
19
+ ComponentDependency: ({ id, type, source, target, sourceX, sourceY, targetX, targetY, sourcePosition, targetPosition, sourceHandleId, targetHandleId, data, selected, }: import('./GenericEdge').BaseEdgeProps) => JSX.Element;
20
+ ComponentProvidedInterface: ({ id, type, source, target, sourceX, sourceY, targetX, targetY, sourcePosition, targetPosition, sourceHandleId, targetHandleId, data, selected, }: import('./GenericEdge').BaseEdgeProps) => JSX.Element;
21
+ ComponentRequiredInterface: ({ id, type, source, target, sourceX, sourceY, targetX, targetY, sourcePosition, targetPosition, sourceHandleId, targetHandleId, data, selected, }: import('./GenericEdge').BaseEdgeProps) => JSX.Element;
22
+ ComponentRequiredThreeQuarterInterface: ({ id, type, source, target, sourceX, sourceY, targetX, targetY, sourcePosition, targetPosition, sourceHandleId, targetHandleId, data, selected, }: import('./GenericEdge').BaseEdgeProps) => JSX.Element;
23
+ ComponentRequiredQuarterInterface: ({ id, type, source, target, sourceX, sourceY, targetX, targetY, sourcePosition, targetPosition, sourceHandleId, targetHandleId, data, selected, }: import('./GenericEdge').BaseEdgeProps) => JSX.Element;
24
+ DeploymentAssociation: ({ id, type, source, target, sourceX, sourceY, targetX, targetY, sourcePosition, targetPosition, sourceHandleId, targetHandleId, data, selected, }: import('./GenericEdge').BaseEdgeProps) => JSX.Element;
25
+ DeploymentDependency: ({ id, type, source, target, sourceX, sourceY, targetX, targetY, sourcePosition, targetPosition, sourceHandleId, targetHandleId, data, selected, }: import('./GenericEdge').BaseEdgeProps) => JSX.Element;
26
+ DeploymentProvidedInterface: ({ id, type, source, target, sourceX, sourceY, targetX, targetY, sourcePosition, targetPosition, sourceHandleId, targetHandleId, data, selected, }: import('./GenericEdge').BaseEdgeProps) => JSX.Element;
27
+ DeploymentRequiredInterface: ({ id, type, source, target, sourceX, sourceY, targetX, targetY, sourcePosition, targetPosition, sourceHandleId, targetHandleId, data, selected, }: import('./GenericEdge').BaseEdgeProps) => JSX.Element;
28
+ DeploymentRequiredThreeQuarterInterface: ({ id, type, source, target, sourceX, sourceY, targetX, targetY, sourcePosition, targetPosition, sourceHandleId, targetHandleId, data, selected, }: import('./GenericEdge').BaseEdgeProps) => JSX.Element;
29
+ DeploymentRequiredQuarterInterface: ({ id, type, source, target, sourceX, sourceY, targetX, targetY, sourcePosition, targetPosition, sourceHandleId, targetHandleId, data, selected, }: import('./GenericEdge').BaseEdgeProps) => JSX.Element;
30
30
  SfcDiagramEdge: ({ id, type, source, target, sourceX, sourceY, targetX, targetY, sourcePosition, targetPosition, sourceHandleId, targetHandleId, data, }: import('./GenericEdge').BaseEdgeProps) => JSX.Element;
31
- ReachabilityGraphArc: ({ id, type, source, target, sourceX, sourceY, targetX, targetY, sourcePosition, targetPosition, sourceHandleId, targetHandleId, data, }: import('./GenericEdge').BaseEdgeProps) => JSX.Element;
32
- BPMNSequenceFlow: ({ id, type, source, target, sourceX, sourceY, targetX, targetY, sourcePosition, targetPosition, sourceHandleId, targetHandleId, data, }: import('./GenericEdge').BaseEdgeProps) => JSX.Element;
33
- BPMNMessageFlow: ({ id, type, source, target, sourceX, sourceY, targetX, targetY, sourcePosition, targetPosition, sourceHandleId, targetHandleId, data, }: import('./GenericEdge').BaseEdgeProps) => JSX.Element;
34
- BPMNAssociationFlow: ({ id, type, source, target, sourceX, sourceY, targetX, targetY, sourcePosition, targetPosition, sourceHandleId, targetHandleId, data, }: import('./GenericEdge').BaseEdgeProps) => JSX.Element;
35
- BPMNDataAssociationFlow: ({ id, type, source, target, sourceX, sourceY, targetX, targetY, sourcePosition, targetPosition, sourceHandleId, targetHandleId, data, }: import('./GenericEdge').BaseEdgeProps) => JSX.Element;
31
+ ReachabilityGraphArc: ({ id, type, source, target, sourceX, sourceY, targetX, targetY, sourcePosition, targetPosition, sourceHandleId, targetHandleId, data, selected, }: import('./GenericEdge').BaseEdgeProps) => JSX.Element;
32
+ BPMNSequenceFlow: ({ id, type, source, target, sourceX, sourceY, targetX, targetY, sourcePosition, targetPosition, sourceHandleId, targetHandleId, data, selected, }: import('./GenericEdge').BaseEdgeProps) => JSX.Element;
33
+ BPMNMessageFlow: ({ id, type, source, target, sourceX, sourceY, targetX, targetY, sourcePosition, targetPosition, sourceHandleId, targetHandleId, data, selected, }: import('./GenericEdge').BaseEdgeProps) => JSX.Element;
34
+ BPMNAssociationFlow: ({ id, type, source, target, sourceX, sourceY, targetX, targetY, sourcePosition, targetPosition, sourceHandleId, targetHandleId, data, selected, }: import('./GenericEdge').BaseEdgeProps) => JSX.Element;
35
+ BPMNDataAssociationFlow: ({ id, type, source, target, sourceX, sourceY, targetX, targetY, sourcePosition, targetPosition, sourceHandleId, targetHandleId, data, selected, }: import('./GenericEdge').BaseEdgeProps) => JSX.Element;
36
36
  };
37
37
  export declare const edgeConfig: {
38
38
  readonly ClassAggregation: {
@@ -25,9 +25,7 @@ export declare const useStraightPathEdge: ({ id, type, source, target, sourceX,
25
25
  y: number;
26
26
  };
27
27
  isDiagramModifiable: boolean;
28
- isReconnectingRef: import('react').MutableRefObject<boolean> | {
29
- current: boolean;
30
- };
28
+ isReconnectingRef: import('react').MutableRefObject<boolean>;
31
29
  handleEndpointPointerDown: (e: React.PointerEvent, endType: "source" | "target") => void;
32
30
  tempReconnectPath: string | null;
33
31
  };