@tumaet/apollon 4.4.0 → 4.6.0
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/README.md +206 -34
- package/dist/assets/style.css +1 -1
- package/dist/index.d.ts +897 -10
- package/dist/index.js +7726 -77129
- package/dist/internals.d.ts +868 -0
- package/dist/internals.js +40 -0
- package/dist/react/App.d.ts +9 -0
- package/dist/{apollon-editor.d.ts → react/apollon-editor.d.ts} +11 -12
- package/dist/react/components/AlignmentGuides.d.ts +1 -0
- package/dist/react/components/AssessmentSelectionDebug.d.ts +1 -0
- package/dist/react/components/CustomBackground.d.ts +1 -0
- package/dist/react/components/CustomControls.d.ts +1 -0
- package/dist/react/components/CustomMiniMap.d.ts +1 -0
- package/dist/{components → react/components}/Icon/ArrowBackIcon.d.ts +1 -1
- package/dist/{components → react/components}/Icon/ArrowForwardIcon.d.ts +1 -1
- package/dist/{components → react/components}/Icon/CheckIcon.d.ts +1 -1
- package/dist/{components → react/components}/Icon/CrossIcon.d.ts +1 -1
- package/dist/{components → react/components}/Icon/DeleteIcon.d.ts +1 -1
- package/dist/{components → react/components}/Icon/DragHandleIcon.d.ts +1 -1
- package/dist/{components → react/components}/Icon/EditIcon.d.ts +1 -1
- package/dist/{components → react/components}/Icon/ExclamationIcon.d.ts +1 -1
- package/dist/{components → react/components}/Icon/InfiniteIcon.d.ts +1 -1
- package/dist/{components → react/components}/Icon/MapIcon.d.ts +1 -1
- package/dist/{components → react/components}/Icon/PaintRollerIcon.d.ts +1 -1
- package/dist/{components → react/components}/Icon/RedoIcon.d.ts +1 -1
- package/dist/{components → react/components}/Icon/SouthEastArrowIcon.d.ts +1 -1
- package/dist/{components → react/components}/Icon/SwapHorizIcon.d.ts +1 -1
- package/dist/{components → react/components}/Icon/UndoIcon.d.ts +1 -1
- package/dist/react/components/ReconnectConnectionLine.d.ts +2 -0
- package/dist/react/components/Sidebar.d.ts +1 -0
- package/dist/react/components/collaboration/CollaborationLayer.d.ts +25 -0
- package/dist/react/components/collaboration/coordinates.d.ts +7 -0
- package/dist/{components → react/components}/index.d.ts +2 -0
- package/dist/{components → react/components}/popovers/DefaultNodeGiveFeedbackPopover.d.ts +1 -1
- package/dist/{components → react/components}/popovers/DefaultNodeSeeFeedbackPopover.d.ts +1 -1
- package/dist/{components → react/components}/popovers/GiveFeedbackAssessmentBox.d.ts +1 -1
- package/dist/{components → react/components}/popovers/PopoverManager.d.ts +1 -1
- package/dist/{components → react/components}/popovers/SeeFeedbackAssessmentBox.d.ts +1 -1
- package/dist/{components → react/components}/popovers/bpmnDiagram/BPMNPoolEditPopover.d.ts +1 -1
- package/dist/{components → react/components}/popovers/classDiagram/ClassGiveFeedbackPopover.d.ts +1 -1
- package/dist/{components → react/components}/popovers/classDiagram/ClassSeeFeedbackPopover.d.ts +1 -1
- package/dist/{components → react/components}/popovers/communicationDiagram/CommunicationObjectNameGiveFeedbackPopover.d.ts +1 -1
- package/dist/{components → react/components}/popovers/communicationDiagram/CommunicationObjectNameSeeFeedbackPopover.d.ts +1 -1
- package/dist/{components → react/components}/popovers/edgePopovers/EdgeGiveFeedbackPopover.d.ts +1 -1
- package/dist/{components → react/components}/popovers/edgePopovers/EdgeSeeFeedbackPopover.d.ts +1 -1
- package/dist/react/components/popovers/edgePopovers/EdgeTypePreviewIcon.d.ts +3 -0
- package/dist/react/components/popovers/edgePopovers/EdgeTypeSelect.d.ts +9 -0
- package/dist/{components → react/components}/popovers/objectDiagram/ObjectGiveFeedbackPopover.d.ts +1 -1
- package/dist/{components → react/components}/popovers/objectDiagram/ObjectSeeFeedbackPopover.d.ts +1 -1
- package/dist/react/components/react/Apollon.d.ts +45 -0
- package/dist/react/components/react/context.d.ts +16 -0
- package/dist/react/components/react/useApollonSubscription.d.ts +17 -0
- package/dist/{components → react/components}/svgs/edges/InlineMarker.d.ts +10 -2
- package/dist/react/components/svgs/nodes/CustomText.d.ts +10 -0
- package/dist/{components → react/components}/svgs/nodes/classDiagram/ClassSVG.d.ts +1 -1
- package/dist/{components → react/components}/svgs/nodes/classDiagram/ColorDescriptionSVG.d.ts +1 -1
- package/dist/{components → react/components}/svgs/nodes/communicationDiagram/CommunicationObjectNameSVG.d.ts +1 -1
- package/dist/{components → react/components}/svgs/nodes/objectDiagram/ObjectNameSVG.d.ts +1 -1
- package/dist/{components → react/components}/toolbars/edgeToolBar/CustomEdgeToolBar.d.ts +2 -0
- package/dist/{components → react/components}/ui/StyleEditor/ColorButtons.d.ts +1 -1
- package/dist/{constants.d.ts → react/constants.d.ts} +43 -6
- package/dist/react/edges/GenericEdge.d.ts +79 -0
- package/dist/{edges → react/edges}/edgeTypes/ActivityDiagramEdge.d.ts +1 -1
- package/dist/{edges → react/edges}/edgeTypes/BPMNDiagramEdge.d.ts +1 -1
- package/dist/{edges → react/edges}/edgeTypes/ClassDiagramEdge.d.ts +1 -1
- package/dist/{edges → react/edges}/edgeTypes/CommunicationDiagramEdge.d.ts +1 -1
- package/dist/{edges → react/edges}/edgeTypes/ComponentDiagramEdge.d.ts +1 -1
- package/dist/{edges → react/edges}/edgeTypes/DeploymentDiagramEdge.d.ts +1 -1
- package/dist/{edges → react/edges}/edgeTypes/FlowChartEdge.d.ts +1 -1
- package/dist/{edges → react/edges}/edgeTypes/ObjectDiagramEdge.d.ts +1 -1
- package/dist/{edges → react/edges}/edgeTypes/PetriNetEdge.d.ts +1 -1
- package/dist/{edges → react/edges}/edgeTypes/ReachabilityGraphArc.d.ts +1 -1
- package/dist/{edges → react/edges}/edgeTypes/SfcDiagramEdge.d.ts +1 -1
- package/dist/{edges → react/edges}/edgeTypes/SyntaxTreeEdge.d.ts +1 -1
- package/dist/{edges → react/edges}/edgeTypes/UseCaseDiagramEdge.d.ts +1 -1
- package/dist/{edges → react/edges}/labelTypes/EdgeEndLabels.d.ts +1 -1
- package/dist/{edges → react/edges}/labelTypes/EdgeIncludeExtendLabel.d.ts +1 -1
- package/dist/{edges → react/edges}/labelTypes/EdgeMiddleLabels.d.ts +2 -1
- package/dist/{edges → react/edges}/labelTypes/EdgeMultipleLabels.d.ts +2 -2
- package/dist/{edges → react/edges}/types.d.ts +34 -34
- package/dist/react/enums/index.d.ts +1 -0
- package/dist/react/hooks/useEdgeLineJumps.d.ts +25 -0
- package/dist/{hooks → react/hooks}/useHandleFinder.d.ts +1 -0
- package/dist/{hooks → react/hooks}/useReconnect.d.ts +1 -1
- package/dist/{hooks → react/hooks}/useStepPathEdge.d.ts +10 -6
- package/dist/react/hooks/useStraightPathEdge.d.ts +23 -0
- package/dist/react/index.d.ts +7 -0
- package/dist/react/internals.d.ts +5 -0
- package/dist/{nodes → react/nodes}/TitleAndDescriptionNode.d.ts +1 -1
- package/dist/{nodes → react/nodes}/activityDiagram/Activity.d.ts +1 -1
- package/dist/{nodes → react/nodes}/activityDiagram/ActivityActionNode.d.ts +1 -1
- package/dist/{nodes → react/nodes}/activityDiagram/ActivityFinalNode.d.ts +1 -1
- package/dist/{nodes → react/nodes}/activityDiagram/ActivityForkNode.d.ts +1 -1
- package/dist/{nodes → react/nodes}/activityDiagram/ActivityForkNodeHorizontal.d.ts +1 -1
- package/dist/{nodes → react/nodes}/activityDiagram/ActivityInitialNode.d.ts +1 -1
- package/dist/{nodes → react/nodes}/activityDiagram/ActivityMergeNode.d.ts +1 -1
- package/dist/{nodes → react/nodes}/activityDiagram/ActivityObjectNode.d.ts +1 -1
- package/dist/{nodes → react/nodes}/bpmn/BPMNAnnotation.d.ts +1 -1
- package/dist/{nodes → react/nodes}/bpmn/BPMNCallActivity.d.ts +1 -1
- package/dist/{nodes → react/nodes}/bpmn/BPMNDataObject.d.ts +1 -1
- package/dist/{nodes → react/nodes}/bpmn/BPMNDataStore.d.ts +1 -1
- package/dist/{nodes → react/nodes}/bpmn/BPMNEndEvent.d.ts +1 -1
- package/dist/{nodes → react/nodes}/bpmn/BPMNGateway.d.ts +1 -1
- package/dist/{nodes → react/nodes}/bpmn/BPMNGroup.d.ts +1 -1
- package/dist/{nodes → react/nodes}/bpmn/BPMNIntermediateEvent.d.ts +1 -1
- package/dist/{nodes → react/nodes}/bpmn/BPMNPool.d.ts +1 -1
- package/dist/{nodes → react/nodes}/bpmn/BPMNStartEvent.d.ts +1 -1
- package/dist/{nodes → react/nodes}/bpmn/BPMNSubprocess.d.ts +1 -1
- package/dist/{nodes → react/nodes}/bpmn/BPMNTask.d.ts +1 -1
- package/dist/{nodes → react/nodes}/bpmn/BPMNTransaction.d.ts +1 -1
- package/dist/{nodes → react/nodes}/classDiagram/Class.d.ts +1 -1
- package/dist/{nodes → react/nodes}/classDiagram/ColorDescription.d.ts +1 -1
- package/dist/{nodes → react/nodes}/classDiagram/Package.d.ts +1 -1
- package/dist/{nodes → react/nodes}/communicationDiagram/CommunicationObjectName.d.ts +1 -1
- package/dist/{nodes → react/nodes}/componentDiagram/Component.d.ts +1 -1
- package/dist/{nodes → react/nodes}/componentDiagram/ComponentInterface.d.ts +1 -1
- package/dist/{nodes → react/nodes}/componentDiagram/ComponentSubsystem.d.ts +1 -1
- package/dist/{nodes → react/nodes}/deploymentDiagram/DeploymentArtifact.d.ts +1 -1
- package/dist/{nodes → react/nodes}/deploymentDiagram/DeploymentComponent.d.ts +1 -1
- package/dist/{nodes → react/nodes}/deploymentDiagram/DeploymentInterface.d.ts +1 -1
- package/dist/{nodes → react/nodes}/deploymentDiagram/DeploymentNode.d.ts +1 -1
- package/dist/{nodes → react/nodes}/flowchart/FlowchartDecision.d.ts +1 -1
- package/dist/{nodes → react/nodes}/flowchart/FlowchartFunctionCall.d.ts +1 -1
- package/dist/{nodes → react/nodes}/flowchart/FlowchartInputOutput.d.ts +1 -1
- package/dist/{nodes → react/nodes}/flowchart/FlowchartProcess.d.ts +1 -1
- package/dist/{nodes → react/nodes}/flowchart/FlowchartTerminal.d.ts +1 -1
- package/dist/{nodes → react/nodes}/objectDiagram/ObjectName.d.ts +1 -1
- package/dist/{nodes → react/nodes}/petriNetDiagram/PetriNetPlace.d.ts +1 -1
- package/dist/{nodes → react/nodes}/petriNetDiagram/PetriNetTransition.d.ts +1 -1
- package/dist/{nodes → react/nodes}/reachabilityGraphDiagram/ReachabilityGraphMarking.d.ts +1 -1
- package/dist/{nodes → react/nodes}/sfcDiagram/SfcActionTable.d.ts +1 -1
- package/dist/{nodes → react/nodes}/sfcDiagram/SfcJump.d.ts +1 -1
- package/dist/{nodes → react/nodes}/sfcDiagram/SfcStart.d.ts +1 -1
- package/dist/{nodes → react/nodes}/sfcDiagram/SfcStep.d.ts +1 -1
- package/dist/{nodes → react/nodes}/sfcDiagram/SfcTransitionBranch.d.ts +1 -1
- package/dist/{nodes → react/nodes}/syntaxTreeDiagram/SyntaxTreeNonterminal.d.ts +1 -1
- package/dist/{nodes → react/nodes}/syntaxTreeDiagram/SyntaxTreeTerminal.d.ts +1 -1
- package/dist/{nodes → react/nodes}/useCaseDiagram/UseCase.d.ts +1 -1
- package/dist/{nodes → react/nodes}/useCaseDiagram/UseCaseActor.d.ts +1 -1
- package/dist/{nodes → react/nodes}/useCaseDiagram/UseCaseSystem.d.ts +1 -1
- package/dist/react/nodes/wrappers/DefaultNodeWrapper.d.ts +49 -0
- package/dist/react/react.d.ts +4 -0
- package/dist/react/react.js +34679 -0
- package/dist/react/services/migration/EdgeTransformer.d.ts +11 -0
- package/dist/{store → react/store}/context.d.ts +3 -0
- package/dist/react/store/edgeGeometryStore.d.ts +18 -0
- package/dist/{store → react/store}/index.d.ts +2 -1
- package/dist/{store → react/store}/metadataStore.d.ts +11 -0
- package/dist/{sync → react/sync}/headless.d.ts +3 -3
- package/dist/{sync/yjsSyncClass.d.ts → react/sync/yjsSync.d.ts} +5 -2
- package/dist/{typings.d.ts → react/typings.d.ts} +21 -9
- package/dist/{utils → react/utils}/alignmentUtils.d.ts +2 -2
- package/dist/react/utils/collaboration.d.ts +10 -0
- package/dist/react/utils/edgeUtils.d.ts +167 -0
- package/dist/{utils → react/utils}/exportUtils.d.ts +0 -1
- package/dist/react/utils/geometry/bendHandles.d.ts +42 -0
- package/dist/{utils → react/utils}/index.d.ts +2 -2
- package/dist/{utils → react/utils}/interactiveUtils.d.ts +0 -1
- package/dist/{utils → react/utils}/nodeUtils.d.ts +1 -1
- package/dist/react/utils/storeUtils.d.ts +1 -0
- package/dist/react/utils/textUtils.d.ts +1 -0
- package/dist/yjsSync-CK5cmd5z.js +71308 -0
- package/package.json +91 -35
- package/dist/App.d.ts +0 -6
- package/dist/components/AlignmentGuides.d.ts +0 -1
- package/dist/components/AssessmentSelectionDebug.d.ts +0 -1
- package/dist/components/CustomBackground.d.ts +0 -1
- package/dist/components/CustomControls.d.ts +0 -1
- package/dist/components/CustomMiniMap.d.ts +0 -1
- package/dist/components/Sidebar.d.ts +0 -1
- package/dist/components/debug/AssessmentSelectionDebug.d.ts +0 -6
- package/dist/components/svgs/nodes/CustomText.d.ts +0 -16
- package/dist/components/theme/styles.d.ts +0 -22
- package/dist/edges/GenericEdge.d.ts +0 -43
- package/dist/enums/ExportFileFormat.d.ts +0 -6
- package/dist/enums/index.d.ts +0 -2
- package/dist/hooks/useClipboard.d.ts +0 -11
- package/dist/hooks/useDragContext.d.ts +0 -0
- package/dist/hooks/useStraightPathEdge.d.ts +0 -31
- package/dist/initialElements.d.ts +0 -3
- package/dist/nodes/syntaxTreeDiagram/index.d.ts +0 -0
- package/dist/nodes/wrappers/DefaultNodeWrapper.d.ts +0 -33
- package/dist/sync/index.d.ts +0 -1
- package/dist/utils/edgeUtils.d.ts +0 -90
- package/dist/utils/labelUtils.d.ts +0 -16
- package/dist/utils/storeUtils.d.ts +0 -1
- package/dist/utils/textUtils.d.ts +0 -7
- package/dist/utils/v2Typings.d.ts +0 -127
- /package/dist/{components → react/components}/AssessmentSelectableElement.d.ts +0 -0
- /package/dist/{components → react/components}/DraggableGhost.d.ts +0 -0
- /package/dist/{components → react/components}/Icon/index.d.ts +0 -0
- /package/dist/{components → react/components}/ScrollOverlay.d.ts +0 -0
- /package/dist/{components → react/components}/popovers/DefaultNodeEditPopover.d.ts +0 -0
- /package/dist/{components → react/components}/popovers/GenericPopover.d.ts +0 -0
- /package/dist/{components → react/components}/popovers/bpmnDiagram/BPMNEndEventEditPopover.d.ts +0 -0
- /package/dist/{components → react/components}/popovers/bpmnDiagram/BPMNGatewayEditPopover.d.ts +0 -0
- /package/dist/{components → react/components}/popovers/bpmnDiagram/BPMNIntermediateEventEditPopover.d.ts +0 -0
- /package/dist/{components → react/components}/popovers/bpmnDiagram/BPMNStartEventEditPopover.d.ts +0 -0
- /package/dist/{components → react/components}/popovers/bpmnDiagram/BPMNTaskEditPopover.d.ts +0 -0
- /package/dist/{components → react/components}/popovers/bpmnDiagram/index.d.ts +0 -0
- /package/dist/{components → react/components}/popovers/classDiagram/ClassEditPopover.d.ts +0 -0
- /package/dist/{components → react/components}/popovers/classDiagram/EditableAttributesList.d.ts +0 -0
- /package/dist/{components → react/components}/popovers/classDiagram/EditableMethodsList.d.ts +0 -0
- /package/dist/{components → react/components}/popovers/classDiagram/index.d.ts +0 -0
- /package/dist/{components → react/components}/popovers/communicationDiagram/CommunicationObjectNameEditPopover.d.ts +0 -0
- /package/dist/{components → react/components}/popovers/communicationDiagram/index.d.ts +0 -0
- /package/dist/{components → react/components}/popovers/componentDiagram/ComponentEditPopover.d.ts +0 -0
- /package/dist/{components → react/components}/popovers/componentDiagram/ComponentSubsystemEditPopover.d.ts +0 -0
- /package/dist/{components → react/components}/popovers/componentDiagram/index.d.ts +0 -0
- /package/dist/{components → react/components}/popovers/deploymentDiagram/DeploymentComponentEditPopover.d.ts +0 -0
- /package/dist/{components → react/components}/popovers/deploymentDiagram/DeploymentNodeEditPopover.d.ts +0 -0
- /package/dist/{components → react/components}/popovers/deploymentDiagram/index.d.ts +0 -0
- /package/dist/{components → react/components}/popovers/edgePopovers/ActivityDiagramEdgeEditPopover.d.ts +0 -0
- /package/dist/{components → react/components}/popovers/edgePopovers/BPMNDiagramEdgeEditPopover.d.ts +0 -0
- /package/dist/{components → react/components}/popovers/edgePopovers/ClassDiagramEdgeEditPopover.d.ts +0 -0
- /package/dist/{components → react/components}/popovers/edgePopovers/CommunicationDiagramEdgeEditPopover.d.ts +0 -0
- /package/dist/{components → react/components}/popovers/edgePopovers/ComponentDiagramEdgeEditPopover.d.ts +0 -0
- /package/dist/{components → react/components}/popovers/edgePopovers/DeploymentDiagramEdgeEditPopover.d.ts +0 -0
- /package/dist/{components → react/components}/popovers/edgePopovers/FlowChartEdgeEditPopover.d.ts +0 -0
- /package/dist/{components → react/components}/popovers/edgePopovers/ObjectDiagramEdgeEditPopover.d.ts +0 -0
- /package/dist/{components → react/components}/popovers/edgePopovers/PetriNetEdgeEditPopover.d.ts +0 -0
- /package/dist/{components → react/components}/popovers/edgePopovers/ReachabilityGraphEdgeEditPopover.d.ts +0 -0
- /package/dist/{components → react/components}/popovers/edgePopovers/SyntaxTreeEdgeEditPopover.d.ts +0 -0
- /package/dist/{components → react/components}/popovers/edgePopovers/UseCaseDiagramEdgeEditPopover.d.ts +0 -0
- /package/dist/{components → react/components}/popovers/edgePopovers/index.d.ts +0 -0
- /package/dist/{components → react/components}/popovers/index.d.ts +0 -0
- /package/dist/{components → react/components}/popovers/objectDiagram/ObjectEditPopover.d.ts +0 -0
- /package/dist/{components → react/components}/popovers/objectDiagram/index.d.ts +0 -0
- /package/dist/{components → react/components}/popovers/petriNetDiagram/PetriNetPlaceEditPopover.d.ts +0 -0
- /package/dist/{components → react/components}/popovers/petriNetDiagram/index.d.ts +0 -0
- /package/dist/{components → react/components}/popovers/reachabilityGraphDiagram/ReachabilityGraphMarkingEditPopover.d.ts +0 -0
- /package/dist/{components → react/components}/popovers/reachabilityGraphDiagram/index.d.ts +0 -0
- /package/dist/{components → react/components}/popovers/sfcDiagram/SfcActionTableEditPopover.d.ts +0 -0
- /package/dist/{components → react/components}/popovers/sfcDiagram/SfcEdgeEditPopover.d.ts +0 -0
- /package/dist/{components → react/components}/popovers/sfcDiagram/index.d.ts +0 -0
- /package/dist/{components → react/components}/popovers/syntaxTreeDiagram/SyntaxTreeNonterminalEditPopover.d.ts +0 -0
- /package/dist/{components → react/components}/popovers/syntaxTreeDiagram/SyntaxTreeTerminalEditPopover.d.ts +0 -0
- /package/dist/{components → react/components}/popovers/syntaxTreeDiagram/index.d.ts +0 -0
- /package/dist/{components → react/components}/popovers/types.d.ts +0 -0
- /package/dist/{components → react/components}/svgs/AssessmentIcon.d.ts +0 -0
- /package/dist/{components → react/components}/svgs/StyledElements.d.ts +0 -0
- /package/dist/{components → react/components}/svgs/edges/index.d.ts +0 -0
- /package/dist/{components → react/components}/svgs/index.d.ts +0 -0
- /package/dist/{components → react/components}/svgs/nodes/HeaderSection.d.ts +0 -0
- /package/dist/{components → react/components}/svgs/nodes/MultilineText.d.ts +0 -0
- /package/dist/{components → react/components}/svgs/nodes/RowBlockSection.d.ts +0 -0
- /package/dist/{components → react/components}/svgs/nodes/SeparationLine.d.ts +0 -0
- /package/dist/{components → react/components}/svgs/nodes/StereotypeAndName.d.ts +0 -0
- /package/dist/{components → react/components}/svgs/nodes/activityDiagram/ActivityActionNodeSVG.d.ts +0 -0
- /package/dist/{components → react/components}/svgs/nodes/activityDiagram/ActivityFinalNodeSVG.d.ts +0 -0
- /package/dist/{components → react/components}/svgs/nodes/activityDiagram/ActivityForkNodeHorizontalSVG.d.ts +0 -0
- /package/dist/{components → react/components}/svgs/nodes/activityDiagram/ActivityForkNodeSVG.d.ts +0 -0
- /package/dist/{components → react/components}/svgs/nodes/activityDiagram/ActivityInitialNodeSVG.d.ts +0 -0
- /package/dist/{components → react/components}/svgs/nodes/activityDiagram/ActivityMergeNodeSVG.d.ts +0 -0
- /package/dist/{components → react/components}/svgs/nodes/activityDiagram/ActivityObjectNodeSVG.d.ts +0 -0
- /package/dist/{components → react/components}/svgs/nodes/activityDiagram/ActivitySVG.d.ts +0 -0
- /package/dist/{components → react/components}/svgs/nodes/activityDiagram/index.d.ts +0 -0
- /package/dist/{components → react/components}/svgs/nodes/bpmnDiagram/BPMNAnnotationNodeSVG.d.ts +0 -0
- /package/dist/{components → react/components}/svgs/nodes/bpmnDiagram/BPMNDataObjectNodeSVG.d.ts +0 -0
- /package/dist/{components → react/components}/svgs/nodes/bpmnDiagram/BPMNDataStoreNodeSVG.d.ts +0 -0
- /package/dist/{components → react/components}/svgs/nodes/bpmnDiagram/BPMNEventNodeSVG.d.ts +0 -0
- /package/dist/{components → react/components}/svgs/nodes/bpmnDiagram/BPMNGatewayNodeSVG.d.ts +0 -0
- /package/dist/{components → react/components}/svgs/nodes/bpmnDiagram/BPMNGroupNodeSVG.d.ts +0 -0
- /package/dist/{components → react/components}/svgs/nodes/bpmnDiagram/BPMNPoolNodeSVG.d.ts +0 -0
- /package/dist/{components → react/components}/svgs/nodes/bpmnDiagram/BPMNSubprocessNodeSVG.d.ts +0 -0
- /package/dist/{components → react/components}/svgs/nodes/bpmnDiagram/BPMNTaskNodeSVG.d.ts +0 -0
- /package/dist/{components → react/components}/svgs/nodes/bpmnDiagram/index.d.ts +0 -0
- /package/dist/{components → react/components}/svgs/nodes/classDiagram/PackageSVG.d.ts +0 -0
- /package/dist/{components → react/components}/svgs/nodes/classDiagram/TitleAndDescriptionSVG.d.ts +0 -0
- /package/dist/{components → react/components}/svgs/nodes/classDiagram/index.d.ts +0 -0
- /package/dist/{components → react/components}/svgs/nodes/communicationDiagram/index.d.ts +0 -0
- /package/dist/{components → react/components}/svgs/nodes/componentDiagram/ComponentInterfaceNodeSVG.d.ts +0 -0
- /package/dist/{components → react/components}/svgs/nodes/componentDiagram/ComponentNodeSVG.d.ts +0 -0
- /package/dist/{components → react/components}/svgs/nodes/componentDiagram/ComponentSubsystemNodeSVG.d.ts +0 -0
- /package/dist/{components → react/components}/svgs/nodes/componentDiagram/index.d.ts +0 -0
- /package/dist/{components → react/components}/svgs/nodes/deploymentDiagram/DeploymentArtifactSVG.d.ts +0 -0
- /package/dist/{components → react/components}/svgs/nodes/deploymentDiagram/DeploymentComponentSVG.d.ts +0 -0
- /package/dist/{components → react/components}/svgs/nodes/deploymentDiagram/DeploymentInterfaceSVG.d.ts +0 -0
- /package/dist/{components → react/components}/svgs/nodes/deploymentDiagram/DeploymentNodeSVG.d.ts +0 -0
- /package/dist/{components → react/components}/svgs/nodes/deploymentDiagram/index.d.ts +0 -0
- /package/dist/{components → react/components}/svgs/nodes/flowchartDiagram/FlowchartDecisionNodeSVG.d.ts +0 -0
- /package/dist/{components → react/components}/svgs/nodes/flowchartDiagram/FlowchartFunctionCallNodeSVG.d.ts +0 -0
- /package/dist/{components → react/components}/svgs/nodes/flowchartDiagram/FlowchartInputOutputNodeSVG.d.ts +0 -0
- /package/dist/{components → react/components}/svgs/nodes/flowchartDiagram/FlowchartProcessNodeSVG.d.ts +0 -0
- /package/dist/{components → react/components}/svgs/nodes/flowchartDiagram/FlowchartTerminalNodeSVG.d.ts +0 -0
- /package/dist/{components → react/components}/svgs/nodes/flowchartDiagram/index.d.ts +0 -0
- /package/dist/{components → react/components}/svgs/nodes/index.d.ts +0 -0
- /package/dist/{components → react/components}/svgs/nodes/objectDiagram/index.d.ts +0 -0
- /package/dist/{components → react/components}/svgs/nodes/petriNetDiagram/PetriNetPlaceSVG.d.ts +0 -0
- /package/dist/{components → react/components}/svgs/nodes/petriNetDiagram/PetriNetTransitionSVG.d.ts +0 -0
- /package/dist/{components → react/components}/svgs/nodes/petriNetDiagram/index.d.ts +0 -0
- /package/dist/{components → react/components}/svgs/nodes/reachabilityGraphDiagram/ReachabilityGraphMarkingSVG.d.ts +0 -0
- /package/dist/{components → react/components}/svgs/nodes/reachabilityGraphDiagram/index.d.ts +0 -0
- /package/dist/{components → react/components}/svgs/nodes/sfcDiagram/SfcActionTableNodeSVG.d.ts +0 -0
- /package/dist/{components → react/components}/svgs/nodes/sfcDiagram/SfcJumpNodeSVG.d.ts +0 -0
- /package/dist/{components → react/components}/svgs/nodes/sfcDiagram/SfcStartNodeSVG.d.ts +0 -0
- /package/dist/{components → react/components}/svgs/nodes/sfcDiagram/SfcStepNodeSVG.d.ts +0 -0
- /package/dist/{components → react/components}/svgs/nodes/sfcDiagram/SfcTransitionBranchNodeSVG.d.ts +0 -0
- /package/dist/{components → react/components}/svgs/nodes/sfcDiagram/index.d.ts +0 -0
- /package/dist/{components → react/components}/svgs/nodes/syntaxTreeDiagram/SyntaxTreeNonterminalNodeSVG.d.ts +0 -0
- /package/dist/{components → react/components}/svgs/nodes/syntaxTreeDiagram/SyntaxTreeTerminalNodeSVG.d.ts +0 -0
- /package/dist/{components → react/components}/svgs/nodes/syntaxTreeDiagram/index.d.ts +0 -0
- /package/dist/{components → react/components}/svgs/nodes/useCaseDiagram/UseCaseActorNodeSVG.d.ts +0 -0
- /package/dist/{components → react/components}/svgs/nodes/useCaseDiagram/UseCaseNodeSVG.d.ts +0 -0
- /package/dist/{components → react/components}/svgs/nodes/useCaseDiagram/UseCaseSystemNodeSVG.d.ts +0 -0
- /package/dist/{components → react/components}/svgs/nodes/useCaseDiagram/index.d.ts +0 -0
- /package/dist/{components → react/components}/toolbars/NodeToolbar.d.ts +0 -0
- /package/dist/{components → react/components}/toolbars/edgeToolBar/index.d.ts +0 -0
- /package/dist/{components → react/components}/toolbars/index.d.ts +0 -0
- /package/dist/{components → react/components}/ui/DividerLine.d.ts +0 -0
- /package/dist/{components → react/components}/ui/HeaderSwitchElement.d.ts +0 -0
- /package/dist/{components → react/components}/ui/PrimaryButton.d.ts +0 -0
- /package/dist/{components → react/components}/ui/StereotypeButtonGroup.d.ts +0 -0
- /package/dist/{components → react/components}/ui/StyleEditor/EdgeStyleEditor.d.ts +0 -0
- /package/dist/{components → react/components}/ui/StyleEditor/NodeStyleEditor.d.ts +0 -0
- /package/dist/{components → react/components}/ui/StyleEditor/index.d.ts +0 -0
- /package/dist/{components → react/components}/ui/TextField.d.ts +0 -0
- /package/dist/{components → react/components}/ui/Typography.d.ts +0 -0
- /package/dist/{components → react/components}/ui/index.d.ts +0 -0
- /package/dist/{components → react/components}/wrapper/AssessmentSelectableWrapper.d.ts +0 -0
- /package/dist/{components → react/components}/wrapper/FeedbackDropzone.d.ts +0 -0
- /package/dist/{components → react/components}/wrapper/index.d.ts +0 -0
- /package/dist/{edges → react/edges}/Connection.d.ts +0 -0
- /package/dist/{edges → react/edges}/EdgeProps.d.ts +0 -0
- /package/dist/{edges → react/edges}/edgeTypes/index.d.ts +0 -0
- /package/dist/{edges → react/edges}/index.d.ts +0 -0
- /package/dist/{enums → react/enums}/Quadrant.d.ts +0 -0
- /package/dist/{hooks → react/hooks}/index.d.ts +0 -0
- /package/dist/{hooks → react/hooks}/useAssessmentSelection.d.ts +0 -0
- /package/dist/{hooks → react/hooks}/useConnect.d.ts +0 -0
- /package/dist/{hooks → react/hooks}/useDiagramModifiable.d.ts +0 -0
- /package/dist/{hooks → react/hooks}/useDragOver.d.ts +0 -0
- /package/dist/{hooks → react/hooks}/useDropFeedback.d.ts +0 -0
- /package/dist/{hooks → react/hooks}/useEdgeConfig.d.ts +0 -0
- /package/dist/{hooks → react/hooks}/useEdgeToolbar.d.ts +0 -0
- /package/dist/{hooks → react/hooks}/useEdges.d.ts +0 -0
- /package/dist/{hooks → react/hooks}/useElementInteractions.d.ts +0 -0
- /package/dist/{hooks → react/hooks}/useGoToNextAssessment.d.ts +0 -0
- /package/dist/{hooks → react/hooks}/useHandleDelete.d.ts +0 -0
- /package/dist/{hooks → react/hooks}/useHandleOnResize.d.ts +0 -0
- /package/dist/{hooks → react/hooks}/useIsOnlyThisElementSelected.d.ts +0 -0
- /package/dist/{hooks → react/hooks}/useKeyboardShortcuts.d.ts +0 -0
- /package/dist/{hooks → react/hooks}/useMessagePositioning.d.ts +0 -0
- /package/dist/{hooks → react/hooks}/useNodeDrag.d.ts +0 -0
- /package/dist/{hooks → react/hooks}/useNodeDragStop.d.ts +0 -0
- /package/dist/{hooks → react/hooks}/usePaneClicked.d.ts +0 -0
- /package/dist/{hooks → react/hooks}/useSelectionForCopyPaste.d.ts +0 -0
- /package/dist/{hooks → react/hooks}/useViewPointCenter.d.ts +0 -0
- /package/dist/{logger.d.ts → react/logger.d.ts} +0 -0
- /package/dist/{nodes → react/nodes}/activityDiagram/index.d.ts +0 -0
- /package/dist/{nodes → react/nodes}/bpmn/index.d.ts +0 -0
- /package/dist/{nodes → react/nodes}/classDiagram/index.d.ts +0 -0
- /package/dist/{nodes → react/nodes}/communicationDiagram/index.d.ts +0 -0
- /package/dist/{nodes → react/nodes}/componentDiagram/index.d.ts +0 -0
- /package/dist/{nodes → react/nodes}/deploymentDiagram/index.d.ts +0 -0
- /package/dist/{nodes → react/nodes}/flowchart/index.d.ts +0 -0
- /package/dist/{nodes → react/nodes}/index.d.ts +0 -0
- /package/dist/{nodes → react/nodes}/objectDiagram/index.d.ts +0 -0
- /package/dist/{nodes → react/nodes}/petriNetDiagram/index.d.ts +0 -0
- /package/dist/{nodes → react/nodes}/reachabilityGraphDiagram/index.d.ts +0 -0
- /package/dist/{nodes → react/nodes}/sfcDiagram/index.d.ts +0 -0
- /package/dist/{nodes → react/nodes}/types.d.ts +0 -0
- /package/dist/{nodes → react/nodes}/useCaseDiagram/index.d.ts +0 -0
- /package/dist/{nodes → react/nodes}/wrappers/index.d.ts +0 -0
- /package/dist/{store → react/store}/alignmentGuidesStore.d.ts +0 -0
- /package/dist/{store → react/store}/assessmentSelectionStore.d.ts +0 -0
- /package/dist/{store → react/store}/diagramStore.d.ts +0 -0
- /package/dist/{store → react/store}/popoverStore.d.ts +0 -0
- /package/dist/{styles → react/styles}/theme.d.ts +0 -0
- /package/dist/{sync → react/sync}/ydoc.d.ts +0 -0
- /package/dist/{types → react/types}/DiagramType.d.ts +0 -0
- /package/dist/{types → react/types}/SVG.d.ts +0 -0
- /package/dist/{types → react/types}/index.d.ts +0 -0
- /package/dist/{types → react/types}/locationPopover.d.ts +0 -0
- /package/dist/{types → react/types}/nodes/DropNodeDate.d.ts +0 -0
- /package/dist/{types → react/types}/nodes/NodeProps.d.ts +0 -0
- /package/dist/{types → react/types}/nodes/enums/ClassType.d.ts +0 -0
- /package/dist/{types → react/types}/nodes/enums/index.d.ts +0 -0
- /package/dist/{types → react/types}/nodes/index.d.ts +0 -0
- /package/dist/{utils → react/utils}/bpmnConstraints.d.ts +0 -0
- /package/dist/{utils → react/utils}/copyPasteUtils.d.ts +0 -0
- /package/dist/{utils → react/utils}/deepPartial.d.ts +0 -0
- /package/dist/{utils → react/utils}/diagramTypeUtils.d.ts +0 -0
- /package/dist/{utils → react/utils}/helpers.d.ts +0 -0
- /package/dist/{utils → react/utils}/layoutUtils.d.ts +0 -0
- /package/dist/{utils → react/utils}/pathParsing.d.ts +0 -0
- /package/dist/{utils → react/utils}/popoverUtils.d.ts +0 -0
- /package/dist/{utils → react/utils}/quadrantUtils.d.ts +0 -0
- /package/dist/{utils → react/utils}/requiredInterfaceUtils.d.ts +0 -0
- /package/dist/{utils → react/utils}/svgTextLayout.d.ts +0 -0
- /package/dist/{utils → react/utils}/v3Typings.d.ts +0 -0
- /package/dist/{utils → react/utils}/versionConverter.d.ts +0 -0
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { ApollonEdge, UMLModel } from '../../typings';
|
|
2
|
+
/**
|
|
3
|
+
* Returns a new edge whose data is free of stale runtime geometry. Does NOT
|
|
4
|
+
* mutate the input. A null/absent `data` is normalized to an empty object.
|
|
5
|
+
*/
|
|
6
|
+
export declare function hydrateEdgeData(edge: ApollonEdge): ApollonEdge;
|
|
7
|
+
/**
|
|
8
|
+
* Transforms all edges in a `UMLModel`, ensuring every edge satisfies
|
|
9
|
+
* the `OrthogonalEdgeData` interface. Returns a new model object.
|
|
10
|
+
*/
|
|
11
|
+
export declare function transformEdges(model: UMLModel): UMLModel;
|
|
@@ -4,13 +4,16 @@ import { MetadataStore } from './metadataStore';
|
|
|
4
4
|
import { PopoverStore } from './popoverStore';
|
|
5
5
|
import { AssessmentSelectionStore } from './assessmentSelectionStore';
|
|
6
6
|
import { AlignmentGuidesStore } from './alignmentGuidesStore';
|
|
7
|
+
import { EdgeGeometryStore } from './edgeGeometryStore';
|
|
7
8
|
export declare const DiagramStoreContext: import('react').Context<StoreApi<DiagramStore> | null>;
|
|
8
9
|
export declare const MetadataStoreContext: import('react').Context<StoreApi<MetadataStore> | null>;
|
|
9
10
|
export declare const PopoverStoreContext: import('react').Context<StoreApi<PopoverStore> | null>;
|
|
10
11
|
export declare const AssessmentSelectionStoreContext: import('react').Context<StoreApi<AssessmentSelectionStore> | null>;
|
|
11
12
|
export declare const AlignmentGuidesStoreContext: import('react').Context<StoreApi<AlignmentGuidesStore> | null>;
|
|
13
|
+
export declare const EdgeGeometryStoreContext: import('react').Context<StoreApi<EdgeGeometryStore> | null>;
|
|
12
14
|
export declare const useDiagramStore: <T>(selector: (state: DiagramStore) => T) => T;
|
|
13
15
|
export declare const useMetadataStore: <T>(selector: (state: MetadataStore) => T) => T;
|
|
14
16
|
export declare const usePopoverStore: <T>(selector: (state: PopoverStore) => T) => T;
|
|
15
17
|
export declare const useAssessmentSelectionStore: <T>(selector: (state: AssessmentSelectionStore) => T) => T;
|
|
16
18
|
export declare const useAlignmentGuidesStore: <T>(selector: (state: AlignmentGuidesStore) => T) => T;
|
|
19
|
+
export declare const useEdgeGeometryStore: <T>(selector: (state: EdgeGeometryStore) => T) => T;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { StoreApi, UseBoundStore } from 'zustand';
|
|
2
|
+
import { IPoint } from '../edges/Connection';
|
|
3
|
+
/**
|
|
4
|
+
* Runtime-only registry of each edge's ACTUAL rendered polyline (jump-free),
|
|
5
|
+
* keyed by edge id. Line jumps read other edges' geometry from here instead of
|
|
6
|
+
* re-deriving it, so a bridge always centers on the crossing the user actually
|
|
7
|
+
* sees — regardless of edge type, routing (step / straight-path), handle, or
|
|
8
|
+
* container offset. Each edge publishes on render and removes on unmount.
|
|
9
|
+
*
|
|
10
|
+
* Not persisted (Yjs never sees it) — it is ephemeral view geometry, exactly
|
|
11
|
+
* the kind of "computed segments" the model deliberately does not store.
|
|
12
|
+
*/
|
|
13
|
+
export type EdgeGeometryStore = {
|
|
14
|
+
geometryById: Record<string, IPoint[]>;
|
|
15
|
+
publishEdgeGeometry: (id: string, points: IPoint[]) => void;
|
|
16
|
+
removeEdgeGeometry: (id: string) => void;
|
|
17
|
+
};
|
|
18
|
+
export declare const createEdgeGeometryStore: () => UseBoundStore<StoreApi<EdgeGeometryStore>>;
|
|
@@ -3,4 +3,5 @@ export { createMetadataStore } from './metadataStore';
|
|
|
3
3
|
export { createPopoverStore } from './popoverStore';
|
|
4
4
|
export { createAssessmentSelectionStore } from './assessmentSelectionStore';
|
|
5
5
|
export { createAlignmentGuidesStore } from './alignmentGuidesStore';
|
|
6
|
-
export {
|
|
6
|
+
export { createEdgeGeometryStore } from './edgeGeometryStore';
|
|
7
|
+
export { DiagramStoreContext, MetadataStoreContext, PopoverStoreContext, AssessmentSelectionStoreContext, AlignmentGuidesStoreContext, EdgeGeometryStoreContext, useDiagramStore, useMetadataStore, usePopoverStore, useAssessmentSelectionStore, useAlignmentGuidesStore, useEdgeGeometryStore, } from './context';
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { StoreApi, UseBoundStore } from 'zustand';
|
|
2
2
|
import { UMLDiagramType } from '../types';
|
|
3
3
|
import { ApollonMode, ApollonView } from '../typings';
|
|
4
|
+
import { IPoint } from '../edges/Connection';
|
|
4
5
|
import * as Y from "yjs";
|
|
5
6
|
export type MetadataStore = {
|
|
6
7
|
diagramTitle: string;
|
|
@@ -12,12 +13,22 @@ export type MetadataStore = {
|
|
|
12
13
|
debug: boolean;
|
|
13
14
|
scrollLock: boolean;
|
|
14
15
|
scrollEnabled: boolean;
|
|
16
|
+
connectionGuidanceActive: boolean;
|
|
17
|
+
connectionGuidanceSourceNodeId: string | null;
|
|
18
|
+
connectionGuidanceSourceHandleId: string | null;
|
|
19
|
+
reconnectPreviewEdgeId: string | null;
|
|
20
|
+
reconnectPreviewHandleType: "source" | "target" | null;
|
|
21
|
+
reconnectPreviewBasePoints: IPoint[];
|
|
15
22
|
setMode: (mode: ApollonMode) => void;
|
|
16
23
|
setView: (view: ApollonView) => void;
|
|
17
24
|
setAvailableViews: (availableViews: ApollonView[]) => void;
|
|
18
25
|
setReadonly: (readonly: boolean) => void;
|
|
19
26
|
setScrollLock: (scrollLock: boolean) => void;
|
|
20
27
|
setScrollEnabled: (scrollEnabled: boolean) => void;
|
|
28
|
+
startConnectionGuidance: (sourceNodeId: string | null, sourceHandleId: string | null) => void;
|
|
29
|
+
stopConnectionGuidance: () => void;
|
|
30
|
+
startReconnectPreview: (edgeId: string, handleType: "source" | "target", basePoints: IPoint[]) => void;
|
|
31
|
+
stopReconnectPreview: () => void;
|
|
21
32
|
updateDiagramTitle: (diagramTitle: string) => void;
|
|
22
33
|
updateDiagramType: (diagramType: UMLDiagramType) => void;
|
|
23
34
|
updateMetaData: (diagramTitle: string, diagramType: UMLDiagramType) => void;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { YjsSync } from './yjsSync';
|
|
2
2
|
import * as Y from "yjs";
|
|
3
3
|
/**
|
|
4
|
-
* Construct a `
|
|
4
|
+
* Construct a `YjsSync` against minimal stub stores. Intended for
|
|
5
5
|
* tests that exercise the wire protocol (sync/awareness handshake,
|
|
6
6
|
* incremental updates, reconnect behaviour) without dragging the React
|
|
7
7
|
* editor / React-Flow / zustand-with-middleware setup into the harness.
|
|
@@ -12,5 +12,5 @@ import * as Y from "yjs";
|
|
|
12
12
|
*/
|
|
13
13
|
export declare function createHeadlessSync(ydoc?: Y.Doc): {
|
|
14
14
|
ydoc: Y.Doc;
|
|
15
|
-
sync:
|
|
15
|
+
sync: YjsSync;
|
|
16
16
|
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { DiagramStore } from '../store/diagramStore';
|
|
2
2
|
import { MetadataStore } from '../store/metadataStore';
|
|
3
|
-
import { CollaborationState, CollaborationUser, CollaboratorInfo } from '../typings';
|
|
3
|
+
import { CollaborationState, CollaborationUser, CollaborationViewport, CollaboratorInfo } from '../typings';
|
|
4
4
|
import { StoreApi } from 'zustand';
|
|
5
5
|
import * as Y from "yjs";
|
|
6
6
|
export declare enum MessageType {
|
|
@@ -10,7 +10,7 @@ export declare enum MessageType {
|
|
|
10
10
|
AwarenessUpdate = 3
|
|
11
11
|
}
|
|
12
12
|
export type SendBroadcastMessage = (base64data: string) => void;
|
|
13
|
-
export declare class
|
|
13
|
+
export declare class YjsSync {
|
|
14
14
|
private readonly stopYjsObserver;
|
|
15
15
|
private sendBroadcastMessage;
|
|
16
16
|
private readonly ydoc;
|
|
@@ -34,9 +34,12 @@ export declare class YjsSyncClass {
|
|
|
34
34
|
x: number;
|
|
35
35
|
y: number;
|
|
36
36
|
} | null) => void;
|
|
37
|
+
setLocalAwarenessViewport: (viewport: CollaborationViewport | null) => void;
|
|
38
|
+
setLocalAwarenessFollowing: (followingClientId: number | null) => void;
|
|
37
39
|
setLocalAwarenessSelectedElement: (selectedElementId: string | null) => void;
|
|
38
40
|
setLocalAwarenessState: (state: Partial<CollaborationState>) => void;
|
|
39
41
|
subscribeToAwarenessChanges: (callback: (states: Map<number, CollaborationState>) => void) => () => void;
|
|
42
|
+
getAwarenessStates: () => Map<number, CollaborationState>;
|
|
40
43
|
getCollaborators: () => CollaboratorInfo[];
|
|
41
44
|
subscribeToCollaboratorChanges: (callback: (collaborators: CollaboratorInfo[]) => void) => () => void;
|
|
42
45
|
getLocalAwarenessClientId: () => number;
|
|
@@ -2,7 +2,6 @@ import { DiagramEdgeType, IPoint } from './edges/types';
|
|
|
2
2
|
import { DiagramNodeType } from './nodes/types';
|
|
3
3
|
import { UMLDiagramType } from './types/DiagramType';
|
|
4
4
|
import { Styles } from './styles/theme';
|
|
5
|
-
import { DeepPartial } from './utils';
|
|
6
5
|
export { UMLDiagramType, type DiagramNodeType, type DiagramEdgeType };
|
|
7
6
|
export { type Styles };
|
|
8
7
|
export type Unsubscriber = () => void;
|
|
@@ -20,9 +19,16 @@ export type CollaborationCursor = {
|
|
|
20
19
|
x: number;
|
|
21
20
|
y: number;
|
|
22
21
|
};
|
|
22
|
+
export type CollaborationViewport = {
|
|
23
|
+
x: number;
|
|
24
|
+
y: number;
|
|
25
|
+
zoom: number;
|
|
26
|
+
};
|
|
23
27
|
export type CollaborationState = {
|
|
24
28
|
user?: CollaborationUser;
|
|
25
29
|
cursor?: CollaborationCursor | null;
|
|
30
|
+
viewport?: CollaborationViewport | null;
|
|
31
|
+
followingClientId?: number | null;
|
|
26
32
|
selectedElementId?: string | null;
|
|
27
33
|
};
|
|
28
34
|
export type CollaboratorInfo = {
|
|
@@ -33,6 +39,14 @@ export type CollaboratorInfo = {
|
|
|
33
39
|
clientIds: number[];
|
|
34
40
|
isLocal: boolean;
|
|
35
41
|
};
|
|
42
|
+
export type ApollonCollaborationOptions = {
|
|
43
|
+
enabled?: boolean;
|
|
44
|
+
user?: CollaborationUser;
|
|
45
|
+
showPresence?: boolean;
|
|
46
|
+
showCursors?: boolean;
|
|
47
|
+
showSelectionHighlights?: boolean;
|
|
48
|
+
showFollow?: boolean;
|
|
49
|
+
};
|
|
36
50
|
export declare enum Locale {
|
|
37
51
|
en = "en",
|
|
38
52
|
de = "de"
|
|
@@ -60,6 +74,10 @@ export type ApollonNode = {
|
|
|
60
74
|
height: number;
|
|
61
75
|
};
|
|
62
76
|
};
|
|
77
|
+
export interface OrthogonalEdgeData {
|
|
78
|
+
[key: string]: unknown;
|
|
79
|
+
points: IPoint[];
|
|
80
|
+
}
|
|
63
81
|
export type ApollonEdge = {
|
|
64
82
|
id: string;
|
|
65
83
|
source: string;
|
|
@@ -67,10 +85,7 @@ export type ApollonEdge = {
|
|
|
67
85
|
type: DiagramEdgeType;
|
|
68
86
|
sourceHandle: string;
|
|
69
87
|
targetHandle: string;
|
|
70
|
-
data:
|
|
71
|
-
[key: string]: unknown;
|
|
72
|
-
points: IPoint[];
|
|
73
|
-
};
|
|
88
|
+
data: OrthogonalEdgeData;
|
|
74
89
|
};
|
|
75
90
|
export type InteractiveElements = {
|
|
76
91
|
elements: Record<string, boolean>;
|
|
@@ -102,13 +117,10 @@ export type ApollonOptions = {
|
|
|
102
117
|
readonly?: boolean;
|
|
103
118
|
enablePopups?: boolean;
|
|
104
119
|
model?: UMLModel;
|
|
105
|
-
theme?: DeepPartial<Styles>;
|
|
106
120
|
locale?: Locale;
|
|
107
|
-
copyPasteToClipboard?: boolean;
|
|
108
|
-
colorEnabled?: boolean;
|
|
109
|
-
scale?: number;
|
|
110
121
|
debug?: boolean;
|
|
111
122
|
collaborationEnabled?: boolean;
|
|
123
|
+
collaboration?: ApollonCollaborationOptions;
|
|
112
124
|
scrollLock?: boolean;
|
|
113
125
|
};
|
|
114
126
|
export type FeedbackCorrectionStatus = {
|
|
@@ -11,7 +11,7 @@ export type AlignmentInfo = {
|
|
|
11
11
|
/**
|
|
12
12
|
* Get the bounds of a node (considering its position and dimensions)
|
|
13
13
|
*/
|
|
14
|
-
export declare const getNodeBounds: (node: Node) => {
|
|
14
|
+
export declare const getNodeBounds: (node: Node, allNodes?: Node[]) => {
|
|
15
15
|
left: number;
|
|
16
16
|
right: number;
|
|
17
17
|
top: number;
|
|
@@ -26,7 +26,7 @@ export declare const calculateAlignmentGuides: (draggedNode: Node, allNodes: Nod
|
|
|
26
26
|
/**
|
|
27
27
|
* Snap node position to nearby nodes
|
|
28
28
|
*/
|
|
29
|
-
export declare const snapNodeToGuides: (draggedNode: Node, guides: AlignmentGuide[], threshold?: number) => {
|
|
29
|
+
export declare const snapNodeToGuides: (draggedNode: Node, guides: AlignmentGuide[], threshold?: number, allNodes?: Node[]) => {
|
|
30
30
|
x?: number;
|
|
31
31
|
y?: number;
|
|
32
32
|
};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { CollaborationViewport } from '../typings';
|
|
2
|
+
export declare const randomCollabName: () => string;
|
|
3
|
+
export declare const collabColorFromName: (name: string) => string;
|
|
4
|
+
/**
|
|
5
|
+
* Narrow an untrusted, peer-supplied viewport before it reaches React Flow's
|
|
6
|
+
* `setViewport`. A `NaN`/`Infinity`/non-positive zoom corrupts the canvas
|
|
7
|
+
* transform, so every field must be a finite number and zoom must be positive.
|
|
8
|
+
* Returns `null` for anything malformed.
|
|
9
|
+
*/
|
|
10
|
+
export declare const sanitizeCollaborationViewport: (raw: unknown) => CollaborationViewport | null;
|
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
import { IPoint } from '../edges/Connection';
|
|
2
|
+
import { DiagramEdgeType, UMLDiagramType } from '../typings';
|
|
3
|
+
import { Position, Rect, XYPosition, ConnectionLineType } from '@xyflow/react';
|
|
4
|
+
/**
|
|
5
|
+
* Adjusts the target coordinates based on the position and marker padding.
|
|
6
|
+
*/
|
|
7
|
+
export declare const adjustTargetCoordinates: (targetX: number, targetY: number, targetPosition: Position, markerPadding: number) => {
|
|
8
|
+
targetX: number;
|
|
9
|
+
targetY: number;
|
|
10
|
+
};
|
|
11
|
+
/**
|
|
12
|
+
* Adjusts the source coordinates based on the position and marker padding.
|
|
13
|
+
*/
|
|
14
|
+
export declare const adjustSourceCoordinates: (sourceX: number, sourceY: number, sourcePosition: Position, sourcePadding: number) => {
|
|
15
|
+
sourceX: number;
|
|
16
|
+
sourceY: number;
|
|
17
|
+
};
|
|
18
|
+
export declare const calculateDynamicEdgeLabels: (x: number, y: number, direction: string) => {
|
|
19
|
+
roleX: number;
|
|
20
|
+
roleY: number;
|
|
21
|
+
roleTextAnchor: "end";
|
|
22
|
+
multiplicityX: number;
|
|
23
|
+
multiplicityY: number;
|
|
24
|
+
multiplicityTextAnchor: "start";
|
|
25
|
+
} | {
|
|
26
|
+
roleX: number;
|
|
27
|
+
roleY: number;
|
|
28
|
+
roleTextAnchor: "end";
|
|
29
|
+
multiplicityX: number;
|
|
30
|
+
multiplicityY: number;
|
|
31
|
+
multiplicityTextAnchor: "end";
|
|
32
|
+
} | {
|
|
33
|
+
roleX: number;
|
|
34
|
+
roleY: number;
|
|
35
|
+
roleTextAnchor: "start";
|
|
36
|
+
multiplicityX: number;
|
|
37
|
+
multiplicityY: number;
|
|
38
|
+
multiplicityTextAnchor: "start";
|
|
39
|
+
} | {
|
|
40
|
+
roleX: number;
|
|
41
|
+
roleY: number;
|
|
42
|
+
roleTextAnchor: "middle";
|
|
43
|
+
multiplicityX: number;
|
|
44
|
+
multiplicityY: number;
|
|
45
|
+
multiplicityTextAnchor: "middle";
|
|
46
|
+
};
|
|
47
|
+
export interface EdgeMarkerStyles {
|
|
48
|
+
markerEnd?: string;
|
|
49
|
+
markerStart?: string;
|
|
50
|
+
markerPadding?: number;
|
|
51
|
+
strokeDashArray?: string;
|
|
52
|
+
offset?: number;
|
|
53
|
+
}
|
|
54
|
+
export declare function getEdgeMarkerStyles(edgeType: string): EdgeMarkerStyles;
|
|
55
|
+
interface FindClosestHandleParams {
|
|
56
|
+
point: XYPosition;
|
|
57
|
+
rect: Rect;
|
|
58
|
+
useFourHandles?: boolean;
|
|
59
|
+
}
|
|
60
|
+
export declare function getNormalizedHandleOffset(axisLength: number, ratio: number): number;
|
|
61
|
+
export declare function getNormalizedHandleOffsetPercent(axisLength: number, ratio: number): string;
|
|
62
|
+
export type AxisHandlePlan = {
|
|
63
|
+
offsets: [
|
|
64
|
+
number,
|
|
65
|
+
number,
|
|
66
|
+
number,
|
|
67
|
+
number,
|
|
68
|
+
number,
|
|
69
|
+
number,
|
|
70
|
+
number,
|
|
71
|
+
number,
|
|
72
|
+
number
|
|
73
|
+
];
|
|
74
|
+
visibleArcCount: 1 | 3 | 5;
|
|
75
|
+
};
|
|
76
|
+
export declare function getAxisHandlePlan(axisLength: number): AxisHandlePlan;
|
|
77
|
+
/**
|
|
78
|
+
* Reduce how many arcs a side actually shows so adjacent visible arcs never
|
|
79
|
+
* overlap ON SCREEN. The slot offsets stay fixed (handles don't move); we just
|
|
80
|
+
* hide arcs when, at the current zoom, two neighbours would be closer than an
|
|
81
|
+
* arc's on-screen length apart. Arcs counter-scale to a constant on-screen size
|
|
82
|
+
* when zoomed out and grow when zoomed in, so the required flow spacing is
|
|
83
|
+
* ARC_LENGTH_PX / min(zoom, 1): bigger (fewer arcs) when zoomed out, constant
|
|
84
|
+
* at and above 1x.
|
|
85
|
+
*
|
|
86
|
+
* Returns 5, 3, or 1 — always <= the size-based `baseVisibleArcCount`.
|
|
87
|
+
*/
|
|
88
|
+
export declare function reduceVisibleArcCountForZoom(offsets: AxisHandlePlan["offsets"], baseVisibleArcCount: 1 | 3 | 5, zoom: number): 1 | 3 | 5;
|
|
89
|
+
export declare function getDistributedHandleOffsets(axisLength: number): number[];
|
|
90
|
+
export declare function getDistributedHandleOffsetPercents(axisLength: number): [string, string, string, string, string, string, string, string, string];
|
|
91
|
+
type HandleSide = "top" | "right" | "bottom" | "left";
|
|
92
|
+
export declare function getHandleIdForSideSlot(side: HandleSide, slotIndex: number, slotCount: number): string;
|
|
93
|
+
export declare function findClosestHandle({ point, rect, useFourHandles, }: FindClosestHandleParams): string;
|
|
94
|
+
/**
|
|
95
|
+
* Helper function to get handle position on ellipse perimeter
|
|
96
|
+
*/
|
|
97
|
+
export declare function getEllipseHandlePosition(centerX: number, centerY: number, radiusX: number, radiusY: number, handle: string): {
|
|
98
|
+
x: number;
|
|
99
|
+
y: number;
|
|
100
|
+
};
|
|
101
|
+
export type Orientation = "horizontal" | "vertical";
|
|
102
|
+
export type AxisAlignedSegment = {
|
|
103
|
+
index: number;
|
|
104
|
+
start: IPoint;
|
|
105
|
+
end: IPoint;
|
|
106
|
+
orientation: Orientation;
|
|
107
|
+
fixed: number;
|
|
108
|
+
min: number;
|
|
109
|
+
max: number;
|
|
110
|
+
};
|
|
111
|
+
export declare function getAxisAlignedSegments(points: IPoint[], tolerance?: number): AxisAlignedSegment[];
|
|
112
|
+
export type LineJumpHit = {
|
|
113
|
+
segmentIndex: number;
|
|
114
|
+
point: IPoint;
|
|
115
|
+
orientation: Orientation;
|
|
116
|
+
};
|
|
117
|
+
export declare function findLineJumpIntersections(baseSegments: AxisAlignedSegment[], otherSegments: AxisAlignedSegment[], jumpWidth: number, preferredOrientation?: Orientation | "any", tolerance?: number): LineJumpHit[];
|
|
118
|
+
export declare function buildPathWithLineJumps(points: IPoint[], jumps: LineJumpHit[], jumpHeight: number, jumpWidth?: number): string;
|
|
119
|
+
/**
|
|
120
|
+
* Collects the crossings an edge should bridge over. Uses the layout-stable
|
|
121
|
+
* "horizontal hops vertical" convention (yEd / yFiles' `BridgeManager` default
|
|
122
|
+
* `HORIZONTAL_BRIDGES_VERTICAL`): the bridge is always drawn on the HORIZONTAL
|
|
123
|
+
* segment of a crossing. Consequences that make this the right default for a
|
|
124
|
+
* declarative editor:
|
|
125
|
+
* - exactly one edge of any H×V pair hops (the horizontal one),
|
|
126
|
+
* - the assignment is independent of edge array order / z-index, so it never
|
|
127
|
+
* flips when an edge is selected (React Flow's `elevateEdgesOnSelect`) or
|
|
128
|
+
* reordered — unlike a render-order rule.
|
|
129
|
+
* Diagonal segments yield no axis-aligned segments, so they neither hop nor are
|
|
130
|
+
* hopped (line jumps are orthogonal-only, matching mxGraph/ELK/yFiles).
|
|
131
|
+
*
|
|
132
|
+
* @param geometryMap each OTHER edge's actual rendered polyline, keyed by id
|
|
133
|
+
* (from the edge-geometry registry)
|
|
134
|
+
*/
|
|
135
|
+
export declare function computeLineJumpsForEdge(edgeId: string, basePoints: IPoint[], edges: ReadonlyArray<{
|
|
136
|
+
id: string;
|
|
137
|
+
}>, geometryMap: ReadonlyMap<string, IPoint[]>): LineJumpHit[];
|
|
138
|
+
export declare function calculateOverlayPath(sourceX: number, sourceY: number, targetX: number, targetY: number, type: string): string;
|
|
139
|
+
export declare function calculateStraightPath(sourceX: number, sourceY: number, targetX: number, targetY: number, type: string): string;
|
|
140
|
+
export declare function simplifySvgPath(path: string): string;
|
|
141
|
+
export declare function simplifyPoints(points: IPoint[]): IPoint[];
|
|
142
|
+
export declare function parseSvgPath(path: string): IPoint[];
|
|
143
|
+
export declare function removeDuplicatePoints(points: IPoint[]): IPoint[];
|
|
144
|
+
export declare function resolveReconnectPreviewBasePoints(storedPoints: IPoint[] | undefined, localPoints: IPoint[] | undefined, fallbackPoints: IPoint[]): IPoint[];
|
|
145
|
+
/**
|
|
146
|
+
* Returns true when source and target stubs point toward each other and would
|
|
147
|
+
* overlap or leave no room between them. This catches the "narrow U" case —
|
|
148
|
+
* where the two arms of a U-shape almost touch — before the geometry has
|
|
149
|
+
* actually inverted (which hasCollapsingSegments catches too late).
|
|
150
|
+
*
|
|
151
|
+
* Only applies to facing-stub configurations where both stubs exit into the
|
|
152
|
+
* same space and can collide. Diverging pairs are handled by later validation.
|
|
153
|
+
*/
|
|
154
|
+
export declare const stubsWouldOverlap: (sourcePoint: IPoint, targetPoint: IPoint, sourcePosition: Position, targetPosition: Position, stubLength: number) => boolean;
|
|
155
|
+
export declare function isInvalidOrthogonalEdgeRelease(points: IPoint[], sourcePoint: IPoint, targetPoint: IPoint, sourcePosition: Position, targetPosition: Position): boolean;
|
|
156
|
+
export declare function normalizeOrthogonalEdgePoints(points: IPoint[], sourcePoint: IPoint, targetPoint: IPoint, sourcePosition: Position, targetPosition: Position): IPoint[];
|
|
157
|
+
export declare function resolveOrthogonalEdgeReleasePoints(releasedPoints: IPoint[], lastValidPoints: IPoint[], sourcePoint: IPoint, targetPoint: IPoint, sourcePosition: Position, targetPosition: Position): IPoint[];
|
|
158
|
+
export declare function preserveOrthogonalEdgePoints(points: IPoint[], sourcePoint: IPoint, targetPoint: IPoint, sourcePosition: Position, targetPosition: Position): IPoint[];
|
|
159
|
+
export declare function getMarkerSegmentPath(points: IPoint[], offset: number, targetPosition: "top" | "bottom" | "left" | "right"): string;
|
|
160
|
+
export declare const getDefaultEdgeType: (diagramType: UMLDiagramType) => DiagramEdgeType;
|
|
161
|
+
/**
|
|
162
|
+
* Determines the appropriate connection line type based on the diagram type
|
|
163
|
+
* @param diagramType - The type of diagram being rendered
|
|
164
|
+
* @returns The corresponding ConnectionLineType
|
|
165
|
+
*/
|
|
166
|
+
export declare function getConnectionLineType(diagramType: UMLDiagramType): ConnectionLineType;
|
|
167
|
+
export {};
|
|
@@ -34,7 +34,6 @@ declare function getNodeBoundsFromDOM(container: HTMLElement, reactFlow?: ReactF
|
|
|
34
34
|
*/
|
|
35
35
|
declare function getNodeOverflowBoundsFromDOM(container: HTMLElement): Rect | undefined;
|
|
36
36
|
declare function mergeBounds(a: Rect, b: Rect): Rect;
|
|
37
|
-
export declare function getDiagramBounds(reactFlow: ReactFlowInstance<Node, Edge>, container?: HTMLElement | null): Rect;
|
|
38
37
|
export declare function getRenderedDiagramBounds(reactFlow: ReactFlowInstance<Node, Edge>, container: HTMLElement): Rect;
|
|
39
38
|
declare function extractStyles(styleString: string): {
|
|
40
39
|
transform: {
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { Position } from '@xyflow/react';
|
|
2
|
+
import { IPoint } from '../../edges/Connection';
|
|
3
|
+
export declare function collapseCollinearPoints(points: IPoint[]): IPoint[];
|
|
4
|
+
export type SegmentKind = "source-terminal" | "target-terminal" | "inner";
|
|
5
|
+
export interface BendHandle {
|
|
6
|
+
segmentIndex: number;
|
|
7
|
+
position: IPoint;
|
|
8
|
+
orientation: "H" | "V";
|
|
9
|
+
kind: SegmentKind;
|
|
10
|
+
}
|
|
11
|
+
export declare function hasArmCollapse(points: IPoint[], proximityPx: number): boolean;
|
|
12
|
+
export declare function getSegmentOrientation(points: IPoint[], segmentIndex: number): "H" | "V";
|
|
13
|
+
export declare function getSegmentKind(segmentIndex: number, totalPoints: number): SegmentKind;
|
|
14
|
+
export declare function getSegmentEffectiveLength(points: IPoint[], segmentIndex: number, stubLength: number): number;
|
|
15
|
+
/**
|
|
16
|
+
* Whether a flow-space length is long enough to host an interactive handle,
|
|
17
|
+
* judged by its ON-SCREEN size. Screen-based so the rule matches what the user
|
|
18
|
+
* sees: zooming in always reveals more handles (a short segment becomes
|
|
19
|
+
* editable once it is `minScreenLength` px long on screen) and never hides
|
|
20
|
+
* them. `minScreenLength` is a screen-px budget (handle size + clearance).
|
|
21
|
+
*/
|
|
22
|
+
export declare function isLengthEditableAtZoom(canvasLength: number, minScreenLength: number, zoom: number): boolean;
|
|
23
|
+
export declare function getStubExit(nodePoint: IPoint, position: Position, stubLength: number): IPoint;
|
|
24
|
+
export declare function getBendHandlePosition(points: IPoint[], segmentIndex: number): IPoint;
|
|
25
|
+
/**
|
|
26
|
+
* Bend handles for every segment with enough ON-SCREEN room to host one.
|
|
27
|
+
*
|
|
28
|
+
* The "safe area" next to each node (`safeAreaPx`) is excluded: a terminal
|
|
29
|
+
* segment loses that length at its node end, both for deciding whether a handle
|
|
30
|
+
* fits AND for where the handle sits. The handle is placed at the midpoint of
|
|
31
|
+
* the *bendable* region (past the safe area), never inside the locked stub —
|
|
32
|
+
* so dragging always grabs a real, bendable slice instead of a detached sliver
|
|
33
|
+
* hugging the node.
|
|
34
|
+
*
|
|
35
|
+
* Availability is judged on the bendable region's ON-SCREEN length
|
|
36
|
+
* (bendable * zoom >= `minSegmentScreenLength`), so zooming in reveals handles
|
|
37
|
+
* on shorter segments and never hides them.
|
|
38
|
+
*/
|
|
39
|
+
export declare function getBendableSegments(points: IPoint[], _sourcePosition: Position, _targetPosition: Position, safeAreaPx: number, minSegmentScreenLength: number, zoom?: number): BendHandle[];
|
|
40
|
+
export declare function applyInnerSegmentBend(points: IPoint[], segmentIndex: number, delta: IPoint, snapGrid: number): IPoint[];
|
|
41
|
+
export declare function computeToolbarPosition(pathMiddlePosition: IPoint, isMiddlePathHorizontal: boolean): IPoint;
|
|
42
|
+
export declare function applyTerminalSegmentBend(points: IPoint[], handle: BendHandle, delta: IPoint, sourcePosition: Position, targetPosition: Position, stubLength: number, snapGrid: number): IPoint[];
|
|
@@ -10,9 +10,9 @@ export * from './diagramTypeUtils';
|
|
|
10
10
|
export * from './storeUtils';
|
|
11
11
|
export * from './deepPartial';
|
|
12
12
|
export * from './bpmnConstraints';
|
|
13
|
-
export
|
|
14
|
-
export * from './labelUtils';
|
|
13
|
+
export { importDiagram } from './versionConverter';
|
|
15
14
|
export * from './alignmentUtils';
|
|
16
15
|
export * from './requiredInterfaceUtils';
|
|
16
|
+
export * from './collaboration';
|
|
17
17
|
export { wrapTextInRect, layoutTextInEllipse, layoutTextInDiamond, maxLinesForHeight, } from './svgTextLayout';
|
|
18
18
|
export type { WrappedText, ShapeLayout, SvgFontSpec, WhiteSpaceMode, } from './svgTextLayout';
|
|
@@ -3,5 +3,4 @@ type InteractivePruneNode = Pick<ApollonNode, "id"> & Partial<Pick<ApollonNode,
|
|
|
3
3
|
export declare function getNestedNodeElementIds(nodes: InteractivePruneNode[]): Set<string>;
|
|
4
4
|
export declare function pruneInteractiveElements(interactive: InteractiveElements | undefined, nodes: InteractivePruneNode[], edges: Array<Pick<ApollonEdge, "id">>): InteractiveElements | undefined;
|
|
5
5
|
export declare function toggleInteractiveRecord(record: Record<string, boolean>, id: string): Record<string, boolean>;
|
|
6
|
-
export declare function hasInteractiveSelections(interactive: InteractiveElements | undefined): boolean;
|
|
7
6
|
export {};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { XYPosition, Node } from '@xyflow/react';
|
|
2
|
-
export declare const getPositionOnCanvas: (node: Node, allNodes: Node
|
|
2
|
+
export declare const getPositionOnCanvas: (node: Node, allNodes: ReadonlyArray<Node>) => XYPosition;
|
|
3
3
|
export declare const resizeAllParents: (node: Node, allNodes: Node[]) => Node[];
|
|
4
4
|
export declare function sortNodesTopologically(nodes: Node[]): Node[];
|
|
5
5
|
/**
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const deepEqual: (a: unknown, b: unknown) => boolean;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const measureTextWidth: (text: string, font?: string) => number;
|