@tumaet/apollon 4.9.0 → 5.0.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 +27 -63
- package/dist/assets/style.css +2 -1
- package/dist/export.js +189 -205
- package/dist/exportFonts-B_CLIgms.js +5 -0
- package/dist/exportStyles-ob7cmOn_.js +5 -0
- package/dist/fontStack-BKkvgDI3.js +4 -0
- package/dist/index.d.ts +237 -58
- package/dist/index.js +16850 -36346
- package/dist/internals.d.ts +2 -10
- package/dist/internals.js +28 -46
- package/dist/versionConverter-C-s36Ory.js +4769 -0
- package/package.json +33 -79
- package/dist/exportFonts-DxO9jrR1.js +0 -19
- package/dist/exportStyles-Co-WBqTa.js +0 -5
- package/dist/external/LICENSE-InterFont +0 -92
- package/dist/external/exportFonts-DxO9jrR1.js +0 -19
- package/dist/external/exportStyles-Co-WBqTa.js +0 -5
- package/dist/external/index.js +0 -22191
- package/dist/fontStack-DOtVH2j8.js +0 -5
- package/dist/react/App.d.ts +0 -9
- package/dist/react/LICENSE-InterFont +0 -92
- package/dist/react/apollon-editor.d.ts +0 -184
- package/dist/react/components/AlignmentGuides.d.ts +0 -1
- package/dist/react/components/AssessmentSelectableElement.d.ts +0 -10
- package/dist/react/components/AssessmentSelectionDebug.d.ts +0 -1
- package/dist/react/components/CustomBackground.d.ts +0 -1
- package/dist/react/components/CustomControls.d.ts +0 -8
- package/dist/react/components/CustomMiniMap.d.ts +0 -1
- package/dist/react/components/DraggableGhost.d.ts +0 -13
- package/dist/react/components/Icon/ArrowBackIcon.d.ts +0 -4
- package/dist/react/components/Icon/ArrowForwardIcon.d.ts +0 -4
- package/dist/react/components/Icon/CheckIcon.d.ts +0 -4
- package/dist/react/components/Icon/CrossIcon.d.ts +0 -4
- package/dist/react/components/Icon/DeleteIcon.d.ts +0 -4
- package/dist/react/components/Icon/DragHandleIcon.d.ts +0 -4
- package/dist/react/components/Icon/EditIcon.d.ts +0 -4
- package/dist/react/components/Icon/ExclamationIcon.d.ts +0 -4
- package/dist/react/components/Icon/InfiniteIcon.d.ts +0 -4
- package/dist/react/components/Icon/MapIcon.d.ts +0 -4
- package/dist/react/components/Icon/PaintRollerIcon.d.ts +0 -2
- package/dist/react/components/Icon/RedoIcon.d.ts +0 -2
- package/dist/react/components/Icon/SouthEastArrowIcon.d.ts +0 -4
- package/dist/react/components/Icon/SwapHorizIcon.d.ts +0 -4
- package/dist/react/components/Icon/UndoIcon.d.ts +0 -2
- package/dist/react/components/Icon/index.d.ts +0 -14
- package/dist/react/components/ReconnectConnectionLine.d.ts +0 -2
- package/dist/react/components/ScrollOverlay.d.ts +0 -7
- package/dist/react/components/Sidebar.d.ts +0 -2
- package/dist/react/components/collaboration/CollaborationLayer.d.ts +0 -25
- package/dist/react/components/collaboration/coordinates.d.ts +0 -7
- package/dist/react/components/index.d.ts +0 -18
- package/dist/react/components/popovers/DefaultNodeEditPopover.d.ts +0 -2
- package/dist/react/components/popovers/DefaultNodeGiveFeedbackPopover.d.ts +0 -2
- package/dist/react/components/popovers/DefaultNodeSeeFeedbackPopover.d.ts +0 -2
- package/dist/react/components/popovers/GenericPopover.d.ts +0 -17
- package/dist/react/components/popovers/GiveFeedbackAssessmentBox.d.ts +0 -7
- package/dist/react/components/popovers/PopoverManager.d.ts +0 -10
- package/dist/react/components/popovers/SeeFeedbackAssessmentBox.d.ts +0 -5
- package/dist/react/components/popovers/activityDiagram/ActivitySwimlaneEditPopover.d.ts +0 -2
- package/dist/react/components/popovers/activityDiagram/index.d.ts +0 -1
- package/dist/react/components/popovers/bpmnDiagram/BPMNEndEventEditPopover.d.ts +0 -2
- package/dist/react/components/popovers/bpmnDiagram/BPMNGatewayEditPopover.d.ts +0 -2
- package/dist/react/components/popovers/bpmnDiagram/BPMNIntermediateEventEditPopover.d.ts +0 -2
- package/dist/react/components/popovers/bpmnDiagram/BPMNPoolEditPopover.d.ts +0 -2
- package/dist/react/components/popovers/bpmnDiagram/BPMNStartEventEditPopover.d.ts +0 -2
- package/dist/react/components/popovers/bpmnDiagram/BPMNTaskEditPopover.d.ts +0 -2
- package/dist/react/components/popovers/bpmnDiagram/index.d.ts +0 -6
- package/dist/react/components/popovers/classDiagram/ClassEditPopover.d.ts +0 -2
- package/dist/react/components/popovers/classDiagram/ClassGiveFeedbackPopover.d.ts +0 -2
- package/dist/react/components/popovers/classDiagram/ClassSeeFeedbackPopover.d.ts +0 -2
- package/dist/react/components/popovers/classDiagram/EditableAttributesList.d.ts +0 -6
- package/dist/react/components/popovers/classDiagram/EditableMethodsList.d.ts +0 -6
- package/dist/react/components/popovers/classDiagram/index.d.ts +0 -6
- package/dist/react/components/popovers/communicationDiagram/CommunicationObjectNameEditPopover.d.ts +0 -2
- package/dist/react/components/popovers/communicationDiagram/CommunicationObjectNameGiveFeedbackPopover.d.ts +0 -2
- package/dist/react/components/popovers/communicationDiagram/CommunicationObjectNameSeeFeedbackPopover.d.ts +0 -2
- package/dist/react/components/popovers/communicationDiagram/index.d.ts +0 -3
- package/dist/react/components/popovers/componentDiagram/ComponentEditPopover.d.ts +0 -2
- package/dist/react/components/popovers/componentDiagram/ComponentSubsystemEditPopover.d.ts +0 -2
- package/dist/react/components/popovers/componentDiagram/index.d.ts +0 -2
- package/dist/react/components/popovers/deploymentDiagram/DeploymentComponentEditPopover.d.ts +0 -2
- package/dist/react/components/popovers/deploymentDiagram/DeploymentNodeEditPopover.d.ts +0 -2
- package/dist/react/components/popovers/deploymentDiagram/index.d.ts +0 -2
- package/dist/react/components/popovers/edgePopovers/ActivityDiagramEdgeEditPopover.d.ts +0 -2
- package/dist/react/components/popovers/edgePopovers/BPMNDiagramEdgeEditPopover.d.ts +0 -2
- package/dist/react/components/popovers/edgePopovers/ClassDiagramEdgeEditPopover.d.ts +0 -2
- package/dist/react/components/popovers/edgePopovers/CommunicationDiagramEdgeEditPopover.d.ts +0 -2
- package/dist/react/components/popovers/edgePopovers/ComponentDiagramEdgeEditPopover.d.ts +0 -2
- package/dist/react/components/popovers/edgePopovers/DeploymentDiagramEdgeEditPopover.d.ts +0 -2
- package/dist/react/components/popovers/edgePopovers/EdgeGiveFeedbackPopover.d.ts +0 -2
- package/dist/react/components/popovers/edgePopovers/EdgeSeeFeedbackPopover.d.ts +0 -2
- package/dist/react/components/popovers/edgePopovers/EdgeTypePreviewIcon.d.ts +0 -3
- package/dist/react/components/popovers/edgePopovers/EdgeTypeSelect.d.ts +0 -9
- package/dist/react/components/popovers/edgePopovers/FlowChartEdgeEditPopover.d.ts +0 -2
- package/dist/react/components/popovers/edgePopovers/ObjectDiagramEdgeEditPopover.d.ts +0 -2
- package/dist/react/components/popovers/edgePopovers/PetriNetEdgeEditPopover.d.ts +0 -2
- package/dist/react/components/popovers/edgePopovers/ReachabilityGraphEdgeEditPopover.d.ts +0 -2
- package/dist/react/components/popovers/edgePopovers/SwapEndsButton.d.ts +0 -9
- package/dist/react/components/popovers/edgePopovers/SyntaxTreeEdgeEditPopover.d.ts +0 -2
- package/dist/react/components/popovers/edgePopovers/UseCaseDiagramEdgeEditPopover.d.ts +0 -2
- package/dist/react/components/popovers/edgePopovers/index.d.ts +0 -8
- package/dist/react/components/popovers/index.d.ts +0 -3
- package/dist/react/components/popovers/objectDiagram/ObjectEditPopover.d.ts +0 -2
- package/dist/react/components/popovers/objectDiagram/ObjectGiveFeedbackPopover.d.ts +0 -2
- package/dist/react/components/popovers/objectDiagram/ObjectSeeFeedbackPopover.d.ts +0 -2
- package/dist/react/components/popovers/objectDiagram/index.d.ts +0 -3
- package/dist/react/components/popovers/petriNetDiagram/PetriNetPlaceEditPopover.d.ts +0 -2
- package/dist/react/components/popovers/petriNetDiagram/index.d.ts +0 -1
- package/dist/react/components/popovers/reachabilityGraphDiagram/ReachabilityGraphMarkingEditPopover.d.ts +0 -2
- package/dist/react/components/popovers/reachabilityGraphDiagram/index.d.ts +0 -1
- package/dist/react/components/popovers/sfcDiagram/SfcActionTableEditPopover.d.ts +0 -3
- package/dist/react/components/popovers/sfcDiagram/SfcEdgeEditPopover.d.ts +0 -2
- package/dist/react/components/popovers/sfcDiagram/index.d.ts +0 -2
- package/dist/react/components/popovers/syntaxTreeDiagram/SyntaxTreeNonterminalEditPopover.d.ts +0 -2
- package/dist/react/components/popovers/syntaxTreeDiagram/SyntaxTreeTerminalEditPopover.d.ts +0 -2
- package/dist/react/components/popovers/syntaxTreeDiagram/index.d.ts +0 -2
- package/dist/react/components/popovers/types.d.ts +0 -6
- package/dist/react/components/react/Apollon.d.ts +0 -50
- package/dist/react/components/react/ApollonControl.d.ts +0 -18
- package/dist/react/components/react/context.d.ts +0 -16
- package/dist/react/components/react/useApollonSubscription.d.ts +0 -17
- package/dist/react/components/svgs/AssessmentIcon.d.ts +0 -8
- package/dist/react/components/svgs/StyledElements.d.ts +0 -2
- package/dist/react/components/svgs/edges/InlineMarker.d.ts +0 -70
- package/dist/react/components/svgs/edges/index.d.ts +0 -1
- package/dist/react/components/svgs/index.d.ts +0 -3
- package/dist/react/components/svgs/nodes/CustomText.d.ts +0 -10
- package/dist/react/components/svgs/nodes/HeaderSection.d.ts +0 -14
- package/dist/react/components/svgs/nodes/InterfaceLabel.d.ts +0 -26
- package/dist/react/components/svgs/nodes/MultilineText.d.ts +0 -51
- package/dist/react/components/svgs/nodes/RowBlockSection.d.ts +0 -15
- package/dist/react/components/svgs/nodes/SeparationLine.d.ts +0 -8
- package/dist/react/components/svgs/nodes/StereotypeAndName.d.ts +0 -54
- package/dist/react/components/svgs/nodes/activityDiagram/ActivityActionNodeSVG.d.ts +0 -6
- package/dist/react/components/svgs/nodes/activityDiagram/ActivityFinalNodeSVG.d.ts +0 -2
- package/dist/react/components/svgs/nodes/activityDiagram/ActivityForkNodeHorizontalSVG.d.ts +0 -7
- package/dist/react/components/svgs/nodes/activityDiagram/ActivityForkNodeSVG.d.ts +0 -7
- package/dist/react/components/svgs/nodes/activityDiagram/ActivityInitialNodeSVG.d.ts +0 -2
- package/dist/react/components/svgs/nodes/activityDiagram/ActivityMergeNodeSVG.d.ts +0 -7
- package/dist/react/components/svgs/nodes/activityDiagram/ActivityObjectNodeSVG.d.ts +0 -7
- package/dist/react/components/svgs/nodes/activityDiagram/ActivitySVG.d.ts +0 -6
- package/dist/react/components/svgs/nodes/activityDiagram/ActivitySwimlaneSVG.d.ts +0 -9
- package/dist/react/components/svgs/nodes/activityDiagram/index.d.ts +0 -9
- package/dist/react/components/svgs/nodes/bpmnDiagram/BPMNAnnotationNodeSVG.d.ts +0 -7
- package/dist/react/components/svgs/nodes/bpmnDiagram/BPMNDataObjectNodeSVG.d.ts +0 -7
- package/dist/react/components/svgs/nodes/bpmnDiagram/BPMNDataStoreNodeSVG.d.ts +0 -7
- package/dist/react/components/svgs/nodes/bpmnDiagram/BPMNEventNodeSVG.d.ts +0 -8
- package/dist/react/components/svgs/nodes/bpmnDiagram/BPMNGatewayNodeSVG.d.ts +0 -7
- package/dist/react/components/svgs/nodes/bpmnDiagram/BPMNGroupNodeSVG.d.ts +0 -7
- package/dist/react/components/svgs/nodes/bpmnDiagram/BPMNPoolNodeSVG.d.ts +0 -7
- package/dist/react/components/svgs/nodes/bpmnDiagram/BPMNSubprocessNodeSVG.d.ts +0 -8
- package/dist/react/components/svgs/nodes/bpmnDiagram/BPMNTaskNodeSVG.d.ts +0 -6
- package/dist/react/components/svgs/nodes/bpmnDiagram/index.d.ts +0 -9
- package/dist/react/components/svgs/nodes/classDiagram/ClassSVG.d.ts +0 -10
- package/dist/react/components/svgs/nodes/classDiagram/ColorDescriptionSVG.d.ts +0 -10
- package/dist/react/components/svgs/nodes/classDiagram/PackageSVG.d.ts +0 -6
- package/dist/react/components/svgs/nodes/classDiagram/TitleAndDescriptionSVG.d.ts +0 -11
- package/dist/react/components/svgs/nodes/classDiagram/index.d.ts +0 -4
- package/dist/react/components/svgs/nodes/communicationDiagram/CommunicationObjectNameSVG.d.ts +0 -6
- package/dist/react/components/svgs/nodes/communicationDiagram/index.d.ts +0 -1
- package/dist/react/components/svgs/nodes/componentDiagram/ComponentInterfaceNodeSVG.d.ts +0 -9
- package/dist/react/components/svgs/nodes/componentDiagram/ComponentNodeSVG.d.ts +0 -7
- package/dist/react/components/svgs/nodes/componentDiagram/ComponentSubsystemNodeSVG.d.ts +0 -7
- package/dist/react/components/svgs/nodes/componentDiagram/index.d.ts +0 -3
- package/dist/react/components/svgs/nodes/deploymentDiagram/DeploymentArtifactSVG.d.ts +0 -7
- package/dist/react/components/svgs/nodes/deploymentDiagram/DeploymentComponentSVG.d.ts +0 -7
- package/dist/react/components/svgs/nodes/deploymentDiagram/DeploymentInterfaceSVG.d.ts +0 -9
- package/dist/react/components/svgs/nodes/deploymentDiagram/DeploymentNodeSVG.d.ts +0 -7
- package/dist/react/components/svgs/nodes/deploymentDiagram/index.d.ts +0 -4
- package/dist/react/components/svgs/nodes/flowchartDiagram/FlowchartDecisionNodeSVG.d.ts +0 -7
- package/dist/react/components/svgs/nodes/flowchartDiagram/FlowchartFunctionCallNodeSVG.d.ts +0 -7
- package/dist/react/components/svgs/nodes/flowchartDiagram/FlowchartInputOutputNodeSVG.d.ts +0 -7
- package/dist/react/components/svgs/nodes/flowchartDiagram/FlowchartProcessNodeSVG.d.ts +0 -7
- package/dist/react/components/svgs/nodes/flowchartDiagram/FlowchartTerminalNodeSVG.d.ts +0 -7
- package/dist/react/components/svgs/nodes/flowchartDiagram/index.d.ts +0 -5
- package/dist/react/components/svgs/nodes/index.d.ts +0 -13
- package/dist/react/components/svgs/nodes/objectDiagram/ObjectNameSVG.d.ts +0 -7
- package/dist/react/components/svgs/nodes/objectDiagram/index.d.ts +0 -1
- package/dist/react/components/svgs/nodes/petriNetDiagram/PetriNetPlaceSVG.d.ts +0 -7
- package/dist/react/components/svgs/nodes/petriNetDiagram/PetriNetTransitionSVG.d.ts +0 -7
- package/dist/react/components/svgs/nodes/petriNetDiagram/index.d.ts +0 -2
- package/dist/react/components/svgs/nodes/reachabilityGraphDiagram/ReachabilityGraphMarkingSVG.d.ts +0 -7
- package/dist/react/components/svgs/nodes/reachabilityGraphDiagram/index.d.ts +0 -1
- package/dist/react/components/svgs/nodes/sfcDiagram/SfcActionTableNodeSVG.d.ts +0 -7
- package/dist/react/components/svgs/nodes/sfcDiagram/SfcJumpNodeSVG.d.ts +0 -7
- package/dist/react/components/svgs/nodes/sfcDiagram/SfcStartNodeSVG.d.ts +0 -7
- package/dist/react/components/svgs/nodes/sfcDiagram/SfcStepNodeSVG.d.ts +0 -7
- package/dist/react/components/svgs/nodes/sfcDiagram/SfcTransitionBranchNodeSVG.d.ts +0 -7
- package/dist/react/components/svgs/nodes/sfcDiagram/index.d.ts +0 -5
- package/dist/react/components/svgs/nodes/syntaxTreeDiagram/SyntaxTreeNonterminalNodeSVG.d.ts +0 -7
- package/dist/react/components/svgs/nodes/syntaxTreeDiagram/SyntaxTreeTerminalNodeSVG.d.ts +0 -7
- package/dist/react/components/svgs/nodes/syntaxTreeDiagram/index.d.ts +0 -2
- package/dist/react/components/svgs/nodes/useCaseDiagram/UseCaseActorNodeSVG.d.ts +0 -7
- package/dist/react/components/svgs/nodes/useCaseDiagram/UseCaseNodeSVG.d.ts +0 -7
- package/dist/react/components/svgs/nodes/useCaseDiagram/UseCaseSystemNodeSVG.d.ts +0 -7
- package/dist/react/components/svgs/nodes/useCaseDiagram/index.d.ts +0 -3
- package/dist/react/components/toolbars/NodeToolbar.d.ts +0 -7
- package/dist/react/components/toolbars/edgeToolBar/CustomEdgeToolBar.d.ts +0 -12
- package/dist/react/components/toolbars/edgeToolBar/index.d.ts +0 -1
- package/dist/react/components/toolbars/index.d.ts +0 -1
- package/dist/react/components/ui/DividerLine.d.ts +0 -9
- package/dist/react/components/ui/HeaderSwitchElement.d.ts +0 -7
- package/dist/react/components/ui/PrimaryButton.d.ts +0 -8
- package/dist/react/components/ui/StereotypeButtonGroup.d.ts +0 -8
- package/dist/react/components/ui/StyleEditor/ColorButtons.d.ts +0 -11
- package/dist/react/components/ui/StyleEditor/EdgeStyleEditor.d.ts +0 -11
- package/dist/react/components/ui/StyleEditor/NodeStyleEditor.d.ts +0 -22
- package/dist/react/components/ui/StyleEditor/index.d.ts +0 -2
- package/dist/react/components/ui/TextField.d.ts +0 -3
- package/dist/react/components/ui/Typography.d.ts +0 -3
- package/dist/react/components/ui/index.d.ts +0 -7
- package/dist/react/components/wrapper/AssessmentSelectableWrapper.d.ts +0 -11
- package/dist/react/components/wrapper/FeedbackDropzone.d.ts +0 -10
- package/dist/react/components/wrapper/index.d.ts +0 -2
- package/dist/react/constants.d.ts +0 -261
- package/dist/react/edges/Connection.d.ts +0 -36
- package/dist/react/edges/EdgeProps.d.ts +0 -24
- package/dist/react/edges/GenericEdge.d.ts +0 -78
- package/dist/react/edges/edgeTypes/ActivityDiagramEdge.d.ts +0 -2
- package/dist/react/edges/edgeTypes/BPMNDiagramEdge.d.ts +0 -2
- package/dist/react/edges/edgeTypes/ClassDiagramEdge.d.ts +0 -2
- package/dist/react/edges/edgeTypes/CommunicationDiagramEdge.d.ts +0 -2
- package/dist/react/edges/edgeTypes/ComponentDiagramEdge.d.ts +0 -2
- package/dist/react/edges/edgeTypes/DeploymentDiagramEdge.d.ts +0 -2
- package/dist/react/edges/edgeTypes/FlowChartEdge.d.ts +0 -2
- package/dist/react/edges/edgeTypes/ObjectDiagramEdge.d.ts +0 -2
- package/dist/react/edges/edgeTypes/PetriNetEdge.d.ts +0 -2
- package/dist/react/edges/edgeTypes/ReachabilityGraphArc.d.ts +0 -2
- package/dist/react/edges/edgeTypes/SfcDiagramEdge.d.ts +0 -2
- package/dist/react/edges/edgeTypes/SyntaxTreeEdge.d.ts +0 -2
- package/dist/react/edges/edgeTypes/UseCaseDiagramEdge.d.ts +0 -2
- package/dist/react/edges/edgeTypes/index.d.ts +0 -6
- package/dist/react/edges/index.d.ts +0 -3
- package/dist/react/edges/labelTypes/EdgeEndLabels.d.ts +0 -19
- package/dist/react/edges/labelTypes/EdgeIncludeExtendLabel.d.ts +0 -10
- package/dist/react/edges/labelTypes/EdgeMiddleLabels.d.ts +0 -18
- package/dist/react/edges/labelTypes/EdgeMultipleLabels.d.ts +0 -14
- package/dist/react/edges/labelTypes/messageLayout.d.ts +0 -51
- package/dist/react/edges/types.d.ts +0 -153
- package/dist/react/enums/Quadrant.d.ts +0 -6
- package/dist/react/enums/index.d.ts +0 -1
- package/dist/react/export/exportErrors.d.ts +0 -10
- package/dist/react/export/index.d.ts +0 -13
- package/dist/react/export/normalizeExportSvg.d.ts +0 -16
- package/dist/react/export/preProcessSvgForPdf.d.ts +0 -20
- package/dist/react/export/svgToPdf.d.ts +0 -17
- package/dist/react/export/svgToPng.d.ts +0 -38
- package/dist/react/exportFonts-DSRUaduf.js +0 -20
- package/dist/react/exportStyles-yVX7Dykt.js +0 -6
- package/dist/react/fontStack.d.ts +0 -14
- package/dist/react/hooks/index.d.ts +0 -18
- package/dist/react/hooks/useAssessmentSelection.d.ts +0 -13
- package/dist/react/hooks/useConnect.d.ts +0 -7
- package/dist/react/hooks/useDiagramModifiable.d.ts +0 -1
- package/dist/react/hooks/useDragOver.d.ts +0 -2
- package/dist/react/hooks/useDropFeedback.d.ts +0 -7
- package/dist/react/hooks/useEdgeConfig.d.ts +0 -83
- package/dist/react/hooks/useEdgeLineJumps.d.ts +0 -27
- package/dist/react/hooks/useEdgeToolbar.d.ts +0 -6
- package/dist/react/hooks/useEdges.d.ts +0 -9
- package/dist/react/hooks/useElementInteractions.d.ts +0 -6
- package/dist/react/hooks/useGoToNextAssessment.d.ts +0 -1
- package/dist/react/hooks/useHandleDelete.d.ts +0 -1
- package/dist/react/hooks/useHandleFinder.d.ts +0 -11
- package/dist/react/hooks/useHandleOnResize.d.ts +0 -4
- package/dist/react/hooks/useIsOnlyThisElementSelected.d.ts +0 -1
- package/dist/react/hooks/useKeyboardShortcuts.d.ts +0 -1
- package/dist/react/hooks/useNodeDrag.d.ts +0 -2
- package/dist/react/hooks/useNodeDragStop.d.ts +0 -2
- package/dist/react/hooks/usePaneClicked.d.ts +0 -3
- package/dist/react/hooks/usePopoverAnchor.d.ts +0 -26
- package/dist/react/hooks/useReactiveElement.d.ts +0 -10
- package/dist/react/hooks/useReconnect.d.ts +0 -2
- package/dist/react/hooks/useRemoteDraggingNodes.d.ts +0 -20
- package/dist/react/hooks/useSelectionForCopyPaste.d.ts +0 -10
- package/dist/react/hooks/useStepPathEdge.d.ts +0 -62
- package/dist/react/hooks/useStraightPathEdge.d.ts +0 -23
- package/dist/react/hooks/useViewPointCenter.d.ts +0 -2
- package/dist/react/index.d.ts +0 -9
- package/dist/react/internals.d.ts +0 -5
- package/dist/react/logger.d.ts +0 -10
- package/dist/react/nodes/TitleAndDescriptionNode.d.ts +0 -7
- package/dist/react/nodes/activityDiagram/Activity.d.ts +0 -3
- package/dist/react/nodes/activityDiagram/ActivityActionNode.d.ts +0 -3
- package/dist/react/nodes/activityDiagram/ActivityFinalNode.d.ts +0 -3
- package/dist/react/nodes/activityDiagram/ActivityForkNode.d.ts +0 -3
- package/dist/react/nodes/activityDiagram/ActivityForkNodeHorizontal.d.ts +0 -3
- package/dist/react/nodes/activityDiagram/ActivityInitialNode.d.ts +0 -3
- package/dist/react/nodes/activityDiagram/ActivityMergeNode.d.ts +0 -3
- package/dist/react/nodes/activityDiagram/ActivityObjectNode.d.ts +0 -3
- package/dist/react/nodes/activityDiagram/ActivitySwimlane.d.ts +0 -3
- package/dist/react/nodes/activityDiagram/index.d.ts +0 -9
- package/dist/react/nodes/bpmn/BPMNAnnotation.d.ts +0 -3
- package/dist/react/nodes/bpmn/BPMNCallActivity.d.ts +0 -3
- package/dist/react/nodes/bpmn/BPMNDataObject.d.ts +0 -3
- package/dist/react/nodes/bpmn/BPMNDataStore.d.ts +0 -3
- package/dist/react/nodes/bpmn/BPMNEndEvent.d.ts +0 -3
- package/dist/react/nodes/bpmn/BPMNGateway.d.ts +0 -3
- package/dist/react/nodes/bpmn/BPMNGroup.d.ts +0 -3
- package/dist/react/nodes/bpmn/BPMNIntermediateEvent.d.ts +0 -3
- package/dist/react/nodes/bpmn/BPMNPool.d.ts +0 -3
- package/dist/react/nodes/bpmn/BPMNStartEvent.d.ts +0 -3
- package/dist/react/nodes/bpmn/BPMNSubprocess.d.ts +0 -3
- package/dist/react/nodes/bpmn/BPMNTask.d.ts +0 -3
- package/dist/react/nodes/bpmn/BPMNTransaction.d.ts +0 -3
- package/dist/react/nodes/bpmn/index.d.ts +0 -13
- package/dist/react/nodes/classDiagram/Class.d.ts +0 -3
- package/dist/react/nodes/classDiagram/ColorDescription.d.ts +0 -3
- package/dist/react/nodes/classDiagram/Package.d.ts +0 -3
- package/dist/react/nodes/classDiagram/index.d.ts +0 -3
- package/dist/react/nodes/communicationDiagram/CommunicationObjectName.d.ts +0 -3
- package/dist/react/nodes/communicationDiagram/index.d.ts +0 -1
- package/dist/react/nodes/componentDiagram/Component.d.ts +0 -3
- package/dist/react/nodes/componentDiagram/ComponentInterface.d.ts +0 -3
- package/dist/react/nodes/componentDiagram/ComponentSubsystem.d.ts +0 -3
- package/dist/react/nodes/componentDiagram/index.d.ts +0 -3
- package/dist/react/nodes/deploymentDiagram/DeploymentArtifact.d.ts +0 -3
- package/dist/react/nodes/deploymentDiagram/DeploymentComponent.d.ts +0 -3
- package/dist/react/nodes/deploymentDiagram/DeploymentInterface.d.ts +0 -3
- package/dist/react/nodes/deploymentDiagram/DeploymentNode.d.ts +0 -3
- package/dist/react/nodes/deploymentDiagram/index.d.ts +0 -4
- package/dist/react/nodes/flowchart/FlowchartDecision.d.ts +0 -3
- package/dist/react/nodes/flowchart/FlowchartFunctionCall.d.ts +0 -3
- package/dist/react/nodes/flowchart/FlowchartInputOutput.d.ts +0 -3
- package/dist/react/nodes/flowchart/FlowchartProcess.d.ts +0 -3
- package/dist/react/nodes/flowchart/FlowchartTerminal.d.ts +0 -3
- package/dist/react/nodes/flowchart/index.d.ts +0 -5
- package/dist/react/nodes/index.d.ts +0 -8
- package/dist/react/nodes/objectDiagram/ObjectName.d.ts +0 -3
- package/dist/react/nodes/objectDiagram/index.d.ts +0 -1
- package/dist/react/nodes/petriNetDiagram/PetriNetPlace.d.ts +0 -3
- package/dist/react/nodes/petriNetDiagram/PetriNetTransition.d.ts +0 -3
- package/dist/react/nodes/petriNetDiagram/index.d.ts +0 -2
- package/dist/react/nodes/reachabilityGraphDiagram/ReachabilityGraphMarking.d.ts +0 -3
- package/dist/react/nodes/reachabilityGraphDiagram/index.d.ts +0 -1
- package/dist/react/nodes/sfcDiagram/SfcActionTable.d.ts +0 -3
- package/dist/react/nodes/sfcDiagram/SfcJump.d.ts +0 -3
- package/dist/react/nodes/sfcDiagram/SfcStart.d.ts +0 -3
- package/dist/react/nodes/sfcDiagram/SfcStep.d.ts +0 -3
- package/dist/react/nodes/sfcDiagram/SfcTransitionBranch.d.ts +0 -3
- package/dist/react/nodes/sfcDiagram/index.d.ts +0 -5
- package/dist/react/nodes/syntaxTreeDiagram/SyntaxTreeNonterminal.d.ts +0 -3
- package/dist/react/nodes/syntaxTreeDiagram/SyntaxTreeTerminal.d.ts +0 -3
- package/dist/react/nodes/types.d.ts +0 -73
- package/dist/react/nodes/useCaseDiagram/UseCase.d.ts +0 -3
- package/dist/react/nodes/useCaseDiagram/UseCaseActor.d.ts +0 -3
- package/dist/react/nodes/useCaseDiagram/UseCaseSystem.d.ts +0 -3
- package/dist/react/nodes/useCaseDiagram/index.d.ts +0 -3
- package/dist/react/nodes/wrappers/DefaultNodeWrapper.d.ts +0 -49
- package/dist/react/nodes/wrappers/index.d.ts +0 -1
- package/dist/react/overlay/OverlayLayer.d.ts +0 -8
- package/dist/react/overlay/RegionMount.d.ts +0 -10
- package/dist/react/overlay/overlayStore.d.ts +0 -20
- package/dist/react/overlay/types.d.ts +0 -48
- package/dist/react/react.d.ts +0 -5
- package/dist/react/react.js +0 -28177
- package/dist/react/services/migration/EdgeTransformer.d.ts +0 -11
- package/dist/react/store/alignmentGuidesStore.d.ts +0 -13
- package/dist/react/store/assessmentSelectionStore.d.ts +0 -17
- package/dist/react/store/context.d.ts +0 -22
- package/dist/react/store/diagramStore.d.ts +0 -70
- package/dist/react/store/edgeGeometryStore.d.ts +0 -18
- package/dist/react/store/index.d.ts +0 -7
- package/dist/react/store/metadataStore.d.ts +0 -39
- package/dist/react/store/popoverStore.d.ts +0 -9
- package/dist/react/styles/theme.d.ts +0 -51
- package/dist/react/sync/headless.d.ts +0 -16
- package/dist/react/sync/perfCounters.d.ts +0 -6
- package/dist/react/sync/ydoc.d.ts +0 -9
- package/dist/react/sync/yjsSync.d.ts +0 -63
- package/dist/react/types/DiagramType.d.ts +0 -16
- package/dist/react/types/SVG.d.ts +0 -8
- package/dist/react/types/index.d.ts +0 -3
- package/dist/react/types/locationPopover.d.ts +0 -5
- package/dist/react/types/nodes/DropNodeDate.d.ts +0 -7
- package/dist/react/types/nodes/NodeProps.d.ts +0 -101
- package/dist/react/types/nodes/enums/ClassType.d.ts +0 -5
- package/dist/react/types/nodes/enums/index.d.ts +0 -1
- package/dist/react/types/nodes/index.d.ts +0 -3
- package/dist/react/typings.d.ts +0 -186
- package/dist/react/utils/alignmentUtils.d.ts +0 -32
- package/dist/react/utils/bpmnConstraints.d.ts +0 -5
- package/dist/react/utils/collaboration.d.ts +0 -19
- package/dist/react/utils/copyPasteUtils.d.ts +0 -32
- package/dist/react/utils/deepPartial.d.ts +0 -3
- package/dist/react/utils/diagramTypeUtils.d.ts +0 -6
- package/dist/react/utils/edgeUtils.d.ts +0 -167
- package/dist/react/utils/exportFonts.d.ts +0 -11
- package/dist/react/utils/exportStyles.d.ts +0 -30
- package/dist/react/utils/exportUtils.d.ts +0 -11
- package/dist/react/utils/geometry/bendHandles.d.ts +0 -42
- package/dist/react/utils/geometry/edgeLabelLayout.d.ts +0 -123
- package/dist/react/utils/geometry/interfaceLabelLayout.d.ts +0 -44
- package/dist/react/utils/helpers.d.ts +0 -14
- package/dist/react/utils/index.d.ts +0 -19
- package/dist/react/utils/interactiveUtils.d.ts +0 -6
- package/dist/react/utils/layoutUtils.d.ts +0 -30
- package/dist/react/utils/nodeUtils.d.ts +0 -15
- package/dist/react/utils/paletteLayout.d.ts +0 -70
- package/dist/react/utils/pathParsing.d.ts +0 -54
- package/dist/react/utils/popoverUtils.d.ts +0 -3
- package/dist/react/utils/quadrantUtils.d.ts +0 -3
- package/dist/react/utils/requiredInterfaceUtils.d.ts +0 -18
- package/dist/react/utils/storeUtils.d.ts +0 -1
- package/dist/react/utils/svgTextLayout.d.ts +0 -86
- package/dist/react/utils/swimlaneUtils.d.ts +0 -58
- package/dist/react/utils/textUtils.d.ts +0 -1
- package/dist/react/utils/v3Typings.d.ts +0 -135
- package/dist/react/utils/versionConverter.d.ts +0 -60
- package/dist/yjsSync-BCNFF_EI.js +0 -45418
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
//#endregion
|
|
2
|
+
//#region lib/utils/exportStyles.ts
|
|
3
|
+
var e = ".react-flow{--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:#ffffff80;--xy-minimap-background-color-default:#fff;--xy-minimap-mask-background-color-default:#f0f0f099;--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-border-default:1px solid #bbb;--xy-node-border-selected-default:1px solid #555;--xy-handle-background-color-default:#333;--xy-selection-background-color-default:#9696b41a;--xy-selection-border-default:1px dotted #9b9b9bcc;--xy-resize-background-color-default:#3367d9;direction:ltr}.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:#96969640;--xy-minimap-background-color-default:#141414;--xy-minimap-mask-background-color-default:#3c3c3c99;--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}.react-flow__background{background-color:var(--xy-background-color-props,var(--xy-background-color,var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__pane{z-index:1;touch-action:none}.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{pointer-events:none;position:absolute;overflow:visible}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:.5s linear infinite dashdraw}.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;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:.5s linear infinite dashdraw}svg.react-flow__connectionline{z-index:1001;position:absolute;overflow:visible}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{-webkit-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default;position:absolute}.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:0 0;pointer-events:none}.react-flow__nodesselection-rect{pointer-events:all;cursor:grab;position:absolute}.react-flow__handle{pointer-events:none;background-color:var(--xy-handle-background-color,var(--xy-handle-background-color-default));min-width:5px;min-height:5px;position:absolute}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;bottom:0;left:50%;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__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{z-index:5;margin:15px;position:absolute}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px)translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px)translateY(-50%)}.react-flow__attribution{background:var(--xy-attribution-background-color,var(--xy-attribution-background-color-default));margin:0;padding:2px 3px;font-size:10px}.react-flow__attribution a{color:#999;text-decoration:none}@keyframes dashdraw{0%{stroke-dashoffset:10px}}.react-flow__edgelabel-renderer{pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__viewport-portal{-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.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{flex-direction:column;display:flex}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{justify-content:center;align-items:center;width:26px;height:26px;padding:4px;display:flex}.react-flow__controls-button svg{fill:currentColor;width:100%;max-width:12px;max-height:12px}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{border:var(--xy-node-border,var(--xy-node-border-default));color:var(--xy-node-color,var(--xy-node-color-default))}.react-flow__node-input.selected,.react-flow__node-input:focus,.react-flow__node-input:focus-visible,.react-flow__node-default.selected,.react-flow__node-default:focus,.react-flow__node-default:focus-visible,.react-flow__node-output.selected,.react-flow__node-output:focus,.react-flow__node-output:focus-visible,.react-flow__node-group.selected,.react-flow__node-group:focus,.react-flow__node-group:focus-visible{border:var(--xy-node-border-selected,var(--xy-node-border-selected-default));outline:none}.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__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{background-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border:1px solid #fff;border-radius:1px;width:5px;height:5px;translate:-50% -50%}.react-flow__resize-control.handle.left{top:50%;left:0}.react-flow__resize-control.handle.right{top:50%;left:100%}.react-flow__resize-control.handle.top{top:0;left:50%}.react-flow__resize-control.handle.bottom{top:100%;left:50%}.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-style:solid;border-width:0}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;height:100%;top:0;transform:translate(-50%)}.react-flow__resize-control.line.left{border-left-width:1px;left:0}.react-flow__resize-control.line.right{border-right-width:1px;left:100%}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{width:100%;height:1px;left:0;transform:translateY(-50%)}.react-flow__resize-control.line.top{border-top-width:1px;top:0}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}\n/*! tailwindcss v4.3.1 | MIT License | https://tailwindcss.com */\n@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0}}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--primitive-white:#fff;--primitive-black:#000;--primitive-blue-500:#2e78b6;--primitive-slate-500:#6c757d;--primitive-gray-50:#f8f9fa;--primitive-gray-100:#e9ecef;--primitive-gray-200:#dee2e6;--primitive-gray-700:#495057;--primitive-warning-yellow:#ffc107;--primitive-warning-bg:#fff3cd;--primitive-warning-border:#ffeeba;--primitive-danger-color:#721c24;--primitive-danger-bg:#f8d7da;--primitive-danger-border:#f5c6cb;--primitive-guide-vertical:#d63031;--primitive-guide-horizontal:#0984e3;--primitive-grid:#2427241a;--primitive-surface-raised:#fff;--primitive-surface-raised-hover:#f1f5f9;--primitive-surface-sunken:#eef2f6;--primitive-surface-raised-active:#e2e8f0;--primitive-surface-row-alt:#f8fafc;--primitive-text-primary:#12161f;--primitive-text-secondary:#54606f;--primitive-text-muted:#616c7a;--primitive-border-default:#cdd5df;--primitive-border-strong:#aeb8c5;--primitive-border-subtle:#e3e8ef;--primitive-accent-base:#0f3a66;--primitive-accent-soft:#d3e7fb;--primitive-accent-strong:var(--primitive-accent-base);--primitive-accent-ring:var(--primitive-accent-base);--primitive-accent-contrast:#fff;--primitive-on-accent-bg:#ffffff24;--primitive-on-accent-bg-hover:#ffffff3d;--primitive-on-accent-border:#ffffff38;--primitive-on-accent-text:#fff;--primitive-badge-bg:#c2cfdd;--primitive-badge-fold:#0f3a66;--primitive-text-on-badge:#142334;--primitive-favorite-star:#f2b200;--primitive-tag-type-bg:#d4dce7;--primitive-tag-type-text:#2e4a65;--primitive-tag-local-bg:#e6dfc8;--primitive-tag-local-text:#5a4a28;--primitive-tag-shared-bg:#c5e4e2;--primitive-tag-shared-text:#1d514e;--primitive-shadow-card-hover:#0000001a;--primitive-shadow-overlay:#0000002e;--primitive-shadow-ink:#000;--primitive-banner-warning-bg:#fff7e6;--primitive-banner-warning-border:#f6d28b;--primitive-banner-warning-icon:#b7791f;--primitive-banner-warning-text:#122038;--primitive-banner-warning-muted:#4e5e79;--primitive-banner-warning-btn-bg:#f7faff;--primitive-banner-warning-btn-text:#8c5a10;--primitive-banner-warning-btn-border:#f6d28b;--primitive-banner-warning-btn-hover:#f5e8c8;--primitive-toast-success:#197d4e;--primitive-toast-error:#c33640;--primitive-toast-warning:#b7791f;--primitive-toast-info:#1f5e9e;--primitive-swatch-slate:#64748b;--primitive-swatch-red:#dc2626;--primitive-swatch-orange:#ea580c;--primitive-swatch-amber:#d97706;--primitive-swatch-green:#16a34a;--primitive-swatch-teal:#0d9488;--primitive-swatch-blue:#2563eb;--primitive-swatch-violet:#7c3aed;--primitive-swatch-pink:#db2777;--primitive-interactive-selection:#f39c12;--primitive-dropzone-accent:#0064ff;--primitive-assessment-positive-text:#166534;--primitive-assessment-positive-bg:#dcfce7;--primitive-assessment-negative-text:#991b1b;--primitive-assessment-negative-bg:#fee2e2;--primitive-assessment-zero-text:#1e40af;--primitive-assessment-zero-bg:#dbeafe;--primitive-assessment-ungraded-text:#475569;--primitive-assessment-ungraded-bg:#f1f5f9;--primitive-collab-1:#ffb61e;--primitive-collab-2:#37b24d;--primitive-collab-3:#1c7ed6;--primitive-collab-4:#f03e3e;--primitive-collab-5:#ae3ec9;--primitive-collab-6:#0ca678;--primitive-collab-7:#f76707;--primitive-collab-8:#1098ad;--apollon-primary:var(--primitive-blue-500);--apollon-primary-contrast:var(--primitive-text-primary);--apollon-secondary:var(--primitive-slate-500);--apollon-alert-warning-yellow:var(--primitive-warning-yellow);--apollon-alert-warning-background:var(--primitive-warning-bg);--apollon-alert-warning-border:var(--primitive-warning-border);--apollon-background:var(--primitive-white);--apollon-background-inverse:var(--primitive-black);--apollon-background-variant:var(--primitive-gray-50);--apollon-gray:var(--primitive-gray-100);--apollon-grid:var(--primitive-grid);--apollon-gray-variant:var(--primitive-gray-700);--apollon-alert-danger-color:var(--primitive-danger-color);--apollon-alert-danger-background:var(--primitive-danger-bg);--apollon-alert-danger-border:var(--primitive-danger-border);--apollon-switch-box-border-color:var(--primitive-gray-200);--apollon-list-group-color:var(--primitive-white);--apollon-btn-outline-secondary-color:var(--primitive-slate-500);--apollon-modal-bottom-border:var(--primitive-gray-100);--apollon-guide-vertical:var(--primitive-guide-vertical);--apollon-guide-horizontal:var(--primitive-guide-horizontal);--apollon-surface:var(--primitive-surface-raised);--apollon-surface-sunken:var(--primitive-surface-sunken);--apollon-surface-hover:var(--primitive-surface-raised-hover);--apollon-border:var(--primitive-border-default);--apollon-border-subtle:var(--primitive-border-subtle);--apollon-radius:6px;--apollon-radius-sm:4px;--apollon-radius-md:var(--apollon-radius);--apollon-radius-lg:8px;--apollon-shadow:0 4px 12px var(--primitive-shadow-overlay);--apollon-chrome-surface:var(--apollon-background,#fff);--apollon-chrome-surface-hover:var(--apollon-primary-contrast,#000)}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@supports (color:color-mix(in lab, red, red)){:root{--apollon-chrome-surface-hover:color-mix(in srgb, var(--apollon-primary-contrast,#000) 8%, var(--apollon-background,#fff))}}:root{--apollon-chrome-surface-active:var(--apollon-primary-contrast,#000)}@supports (color:color-mix(in lab, red, red)){:root{--apollon-chrome-surface-active:color-mix(in srgb, var(--apollon-primary-contrast,#000) 14%, var(--apollon-background,#fff))}}:root{--apollon-chrome-border:var(--apollon-primary-contrast,#000)}@supports (color:color-mix(in lab, red, red)){:root{--apollon-chrome-border:color-mix(in srgb, var(--apollon-primary-contrast,#000) 12%, var(--apollon-background,#fff))}}:root{--apollon-chrome-border-strong:var(--apollon-primary-contrast,#000)}@supports (color:color-mix(in lab, red, red)){:root{--apollon-chrome-border-strong:color-mix(in srgb, var(--apollon-primary-contrast,#000) 28%, var(--apollon-background,#fff))}}:root{--apollon-chrome-text:var(--apollon-primary-contrast,#212529);--apollon-chrome-text-muted:var(--apollon-primary-contrast,#000)}@supports (color:color-mix(in lab, red, red)){:root{--apollon-chrome-text-muted:color-mix(in srgb, var(--apollon-primary-contrast,#000) 58%, var(--apollon-background,#fff))}}:root{--apollon-chrome-accent:var(--apollon-primary,#3e8acc);--apollon-chrome-accent-contrast:var(--apollon-on-collaboration-cursor,#fff);--apollon-chrome-radius-sm:6px;--apollon-chrome-radius-md:8px;--apollon-chrome-radius-lg:12px;--apollon-chrome-edge:10px;--apollon-chrome-gap:8px;--apollon-chrome-btn:32px;--apollon-chrome-pad:6px;--apollon-chrome-hit:44px;--apollon-chrome-icon:18px;--apollon-chrome-edge-safe-left:max(var(--apollon-chrome-edge), var(--safe-area-inset-left,0px));--apollon-chrome-edge-safe-right:max(var(--apollon-chrome-edge), var(--safe-area-inset-right,0px));--apollon-chrome-edge-safe-bottom:max(var(--apollon-chrome-edge), var(--safe-area-inset-bottom,0px));--apollon-chrome-island-h:calc(var(--apollon-chrome-btn) + 2 * var(--apollon-chrome-pad) + 2px);--apollon-chrome-shadow-docked:0 1px 2px #0f172a14;--apollon-chrome-shadow-floating:0 0 1px 0 #0f172a33, 0 2px 8px 0 #0f172a1f;--apollon-chrome-inset-hairline:0 0 0 0 transparent;--apollon-chrome-glass:var(--apollon-background,#fff)}@supports (color:color-mix(in lab, red, red)){:root{--apollon-chrome-glass:color-mix(in srgb, var(--apollon-background,#fff) 80%, transparent)}}:root{--apollon-chrome-glass-solid:var(--apollon-background,#fff)}@supports (color:color-mix(in lab, red, red)){:root{--apollon-chrome-glass-solid:color-mix(in srgb, var(--apollon-background,#fff) 92%, transparent)}}:root{--apollon-chrome-glass-blur:saturate(180%) blur(20px);--apollon-chrome-duration-hover:.12s;--apollon-chrome-duration-enter:.22s;--apollon-chrome-ease-standard:cubic-bezier(.2, 0, 0, 1);--apollon-chrome-ease-decelerate:cubic-bezier(.05, .7, .1, 1);--apollon-hover-neutral:var(--apollon-primary-contrast,#000)}@supports (color:color-mix(in lab, red, red)){:root{--apollon-hover-neutral:color-mix(in srgb, var(--apollon-primary-contrast,#000) 7.5%, transparent)}}:root{--apollon-swatch-slate:var(--primitive-swatch-slate);--apollon-swatch-red:var(--primitive-swatch-red);--apollon-swatch-orange:var(--primitive-swatch-orange);--apollon-swatch-amber:var(--primitive-swatch-amber);--apollon-swatch-green:var(--primitive-swatch-green);--apollon-swatch-teal:var(--primitive-swatch-teal);--apollon-swatch-blue:var(--primitive-swatch-blue);--apollon-swatch-violet:var(--primitive-swatch-violet);--apollon-swatch-pink:var(--primitive-swatch-pink);--apollon-interactive-selection:var(--primitive-interactive-selection);--apollon-dropzone-accent:var(--primitive-dropzone-accent);--apollon-dropzone-accent-fill:var(--apollon-dropzone-accent)}@supports (color:color-mix(in lab, red, red)){:root{--apollon-dropzone-accent-fill:color-mix(in srgb, var(--apollon-dropzone-accent) 40%, transparent)}}:root{--apollon-on-collaboration-cursor:var(--primitive-white);--apollon-assessment-positive-text:var(--primitive-assessment-positive-text);--apollon-assessment-positive-bg:var(--primitive-assessment-positive-bg);--apollon-assessment-negative-text:var(--primitive-assessment-negative-text);--apollon-assessment-negative-bg:var(--primitive-assessment-negative-bg);--apollon-assessment-zero-text:var(--primitive-assessment-zero-text);--apollon-assessment-zero-bg:var(--primitive-assessment-zero-bg);--apollon-assessment-ungraded-text:var(--primitive-assessment-ungraded-text);--apollon-assessment-ungraded-bg:var(--primitive-assessment-ungraded-bg);--apollon-collaboration-color-1:var(--primitive-collab-1);--apollon-collaboration-color-2:var(--primitive-collab-2);--apollon-collaboration-color-3:var(--primitive-collab-3);--apollon-collaboration-color-4:var(--primitive-collab-4);--apollon-collaboration-color-5:var(--primitive-collab-5);--apollon-collaboration-color-6:var(--primitive-collab-6);--apollon-collaboration-color-7:var(--primitive-collab-7);--apollon-collaboration-color-8:var(--primitive-collab-8);--home-surface-base:var(--apollon-background);--home-surface-sunken:var(--apollon-surface-sunken);--home-surface-raised:var(--apollon-surface);--home-surface-raised-hover:var(--apollon-surface-hover);--home-surface-raised-active:var(--primitive-surface-raised-active);--home-surface-row-alt:var(--primitive-surface-row-alt);--home-card-surface:var(--apollon-chrome-surface);--home-text-primary:var(--apollon-primary-contrast);--home-text-secondary:var(--primitive-text-secondary);--home-text-strong:var(--apollon-primary-contrast);--home-text-muted:var(--primitive-text-muted);--home-border-default:var(--apollon-border);--home-border-strong:var(--primitive-border-strong);--home-border-subtle:var(--apollon-border-subtle);--home-accent-base:var(--primitive-accent-base);--home-accent-soft:var(--primitive-accent-soft);--home-accent-strong:var(--primitive-accent-strong);--home-accent-ring:var(--primitive-accent-ring);--home-accent-contrast:var(--primitive-accent-contrast);--home-on-accent-bg:var(--primitive-on-accent-bg);--home-on-accent-bg-hover:var(--primitive-on-accent-bg-hover);--home-on-accent-border:var(--primitive-on-accent-border);--home-on-accent-text:var(--primitive-on-accent-text);--home-on-dark-text:#ffffffeb;--home-on-dark-text-muted:#ffffff8c;--home-on-dark-border:#ffffff0f;--home-on-dark-row-hover:#ffffff0f;--home-on-dark-row-selected:#ffffff1a;--home-on-dark-row-disabled:#ffffff1f;--home-badge-bg:var(--primitive-badge-bg);--home-badge-fold:var(--primitive-badge-fold);--home-text-on-badge:var(--primitive-text-on-badge);--home-favorite-star:var(--primitive-favorite-star);--home-tag-type-bg:var(--primitive-tag-type-bg);--home-tag-type-text:var(--primitive-tag-type-text);--home-tag-local-bg:var(--primitive-tag-local-bg);--home-tag-local-text:var(--primitive-tag-local-text);--home-tag-shared-bg:var(--primitive-tag-shared-bg);--home-tag-shared-text:var(--primitive-tag-shared-text);--home-shadow-card-hover:var(--primitive-shadow-card-hover);--home-shadow-overlay:var(--primitive-shadow-overlay);--home-shadow-md:var(--apollon-shadow);--home-shadow-overlay-box:0 8px 20px var(--home-shadow-overlay);--home-radius-sm:2px;--home-radius-md:var(--apollon-radius-md);--home-radius-lg:var(--apollon-radius-lg);--home-radius-xl:15px;--home-banner-warning-bg:var(--primitive-banner-warning-bg);--home-banner-warning-border:var(--primitive-banner-warning-border);--home-banner-warning-icon:var(--primitive-banner-warning-icon);--home-banner-warning-text:var(--primitive-banner-warning-text);--home-banner-warning-muted:var(--primitive-banner-warning-muted);--home-banner-warning-btn-bg:var(--primitive-banner-warning-btn-bg);--home-banner-warning-btn-text:var(--primitive-banner-warning-btn-text);--home-banner-warning-btn-border:var(--primitive-banner-warning-btn-border);--home-banner-warning-btn-hover:var(--primitive-banner-warning-btn-hover);--home-toast-success:var(--primitive-toast-success);--home-toast-error:var(--primitive-toast-error);--home-toast-warning:var(--primitive-toast-warning);--home-toast-info:var(--primitive-toast-info)}:root[data-theme=dark],[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--primitive-slate-500:#888;--primitive-grid:#303530;--primitive-warning-yellow:#fff;--primitive-warning-bg:#f39c12;--primitive-warning-border:#000;--primitive-danger-color:#ef8b80;--primitive-danger-bg:#370b07;--primitive-danger-border:#e43725;--primitive-guide-vertical:#ff7675;--primitive-guide-horizontal:#74b9ff;--primitive-surface-sunken:#0f1216;--primitive-surface-raised:#1a1f27;--primitive-surface-raised-hover:#222934;--primitive-surface-raised-active:#2b3340;--primitive-surface-row-alt:#181c23;--primitive-text-secondary:#a3b0c2;--primitive-text-muted:#8b97a8;--primitive-border-default:#323b48;--primitive-border-strong:#48535f;--primitive-border-subtle:#242b34;--primitive-accent-base:#236ebe;--primitive-accent-soft:#223548;--primitive-accent-strong:#fff;--primitive-accent-ring:var(--primitive-accent-base);--primitive-accent-contrast:#f4f9ff;--primitive-badge-bg:#87868d;--primitive-badge-fold:#c1c0c6;--primitive-text-on-badge:#15161b;--primitive-favorite-star:#ffd47a;--primitive-tag-type-bg:#343740;--primitive-tag-type-text:#9bb3cc;--primitive-tag-local-bg:#3a3628;--primitive-tag-local-text:#c9b47e;--primitive-tag-shared-bg:#1e3434;--primitive-tag-shared-text:#70bab6;--primitive-banner-warning-bg:#3a2f17;--primitive-banner-warning-border:#7a5c18;--primitive-banner-warning-icon:#ffd47a;--primitive-banner-warning-text:#ecf2fb;--primitive-banner-warning-muted:#abb8ce;--primitive-banner-warning-btn-bg:#1c222c;--primitive-banner-warning-btn-text:#ffd47a;--primitive-banner-warning-btn-border:#7a5c18;--primitive-banner-warning-btn-hover:#29313e;--primitive-toast-success:#4cc38a;--primitive-toast-error:#f0747e;--primitive-toast-warning:#ffd47a;--primitive-toast-info:#5aa0e0;--primitive-swatch-slate:#94a3b8;--primitive-swatch-red:#f87171;--primitive-swatch-orange:#fb923c;--primitive-swatch-amber:#fbbf24;--primitive-swatch-green:#4ade80;--primitive-swatch-teal:#2dd4bf;--primitive-swatch-blue:#60a5fa;--primitive-swatch-violet:#a78bfa;--primitive-swatch-pink:#f472b6;--primitive-interactive-selection:#f5b041;--primitive-assessment-positive-text:#86efac;--primitive-assessment-positive-bg:#14532d;--primitive-assessment-negative-text:#fca5a5;--primitive-assessment-negative-bg:#7f1d1d;--primitive-assessment-zero-text:#93c5fd;--primitive-assessment-zero-bg:#1e3a8a;--primitive-assessment-ungraded-text:#cbd5e1;--primitive-assessment-ungraded-bg:#334155;--primitive-collab-1:#ffce5c;--primitive-collab-2:#51cf66;--primitive-collab-3:#4dabf7;--primitive-collab-4:#ff6b6b;--primitive-collab-5:#cc5de8;--primitive-collab-6:#20c997;--primitive-collab-7:#ff922b;--primitive-collab-8:#22b8cf;--apollon-primary-contrast:var(--primitive-white);--apollon-background:#13161c;--apollon-background-inverse:var(--primitive-white);--apollon-background-variant:#303530;--apollon-gray:#242724;--apollon-gray-variant:#f8f9fa;--apollon-switch-box-border-color:#3d423d;--apollon-list-group-color:#303130;--apollon-btn-outline-secondary-color:#b8c0c5;--apollon-modal-bottom-border:#979797;--apollon-chrome-shadow-docked:0 1px 2px #0006;--apollon-chrome-shadow-floating:0 2px 12px 0 #00000080;--apollon-chrome-inset-hairline:inset 0 0 0 1px #ffffff14}@media (pointer:coarse){:root{--apollon-chrome-pad:4px}}@layer base{*,:before,:after{border-color:var(--color-border)}[data-slot],[data-slot] *,[data-slot] :before,[data-slot] :after{box-sizing:border-box}}@layer components{[data-slot=button]{border-radius:var(--home-radius-lg);border-style:var(--tw-border-style);font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));--tw-font-weight:var(--font-weight-medium,500);font-weight:var(--font-weight-medium,500);white-space:nowrap;transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4, 0, .2, 1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s));--tw-outline-style:none;-webkit-user-select:none;user-select:none;background-clip:padding-box;border-width:1px;border-color:#0000;outline-style:none;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}[data-slot=button]:focus-visible{border-color:var(--apollon-primary);--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}[data-slot=button]:focus-visible{--tw-ring-color:var(--apollon-primary)}@supports (color:color-mix(in lab, red, red)){[data-slot=button]:focus-visible{--tw-ring-color:color-mix(in oklab, var(--apollon-primary) 50%, transparent)}}[data-slot=button]:active:not([aria-haspopup]){--tw-translate-y:1px;translate:var(--tw-translate-x) var(--tw-translate-y)}[data-slot=button]:disabled{pointer-events:none;opacity:.5}[data-slot=button][aria-invalid=true]{border-color:var(--apollon-alert-danger-color);--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}[data-slot=button][aria-invalid=true]{--tw-ring-color:var(--apollon-alert-danger-color)}@supports (color:color-mix(in lab, red, red)){[data-slot=button][aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--apollon-alert-danger-color) 20%, transparent)}}[data-slot=button]:where([data-theme=dark],[data-theme=dark] *)[aria-invalid=true]{border-color:var(--apollon-alert-danger-color)}@supports (color:color-mix(in lab, red, red)){[data-slot=button]:where([data-theme=dark],[data-theme=dark] *)[aria-invalid=true]{border-color:color-mix(in oklab, var(--apollon-alert-danger-color) 50%, transparent)}}[data-slot=button]:where([data-theme=dark],[data-theme=dark] *)[aria-invalid=true]{--tw-ring-color:var(--apollon-alert-danger-color)}@supports (color:color-mix(in lab, red, red)){[data-slot=button]:where([data-theme=dark],[data-theme=dark] *)[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--apollon-alert-danger-color) 40%, transparent)}}[data-slot=button] svg{pointer-events:none;flex-shrink:0}[data-slot=button] svg:not([class*=size-]){width:calc(var(--spacing,.25rem) * 4);height:calc(var(--spacing,.25rem) * 4)}[data-slot=button][data-variant=default]{background-color:var(--apollon-primary);color:var(--home-accent-contrast)}@media (hover:hover){[data-slot=button][data-variant=default]:hover{background-color:var(--apollon-primary)}@supports (color:color-mix(in lab, red, red)){[data-slot=button][data-variant=default]:hover{background-color:color-mix(in oklab, var(--apollon-primary) 80%, transparent)}}}[data-slot=button][data-variant=outline]{border-color:var(--home-border-default);background-color:var(--apollon-background)}@media (hover:hover){[data-slot=button][data-variant=outline]:hover{background-color:var(--home-surface-sunken)}}@media (hover:hover){[data-slot=button][data-variant=outline]:hover{color:var(--apollon-primary-contrast)}}[data-slot=button][data-variant=outline][aria-expanded=true]{background-color:var(--home-surface-sunken);color:var(--apollon-primary-contrast)}[data-slot=button][data-variant=outline]:where([data-theme=dark],[data-theme=dark] *){border-color:var(--home-border-default)}[data-slot=button][data-variant=outline]:where([data-theme=dark],[data-theme=dark] *){background-color:var(--home-border-default)}@supports (color:color-mix(in lab, red, red)){[data-slot=button][data-variant=outline]:where([data-theme=dark],[data-theme=dark] *){background-color:color-mix(in oklab, var(--home-border-default) 30%, transparent)}}@media (hover:hover){[data-slot=button][data-variant=outline]:where([data-theme=dark],[data-theme=dark] *):hover{background-color:var(--home-border-default)}@supports (color:color-mix(in lab, red, red)){[data-slot=button][data-variant=outline]:where([data-theme=dark],[data-theme=dark] *):hover{background-color:color-mix(in oklab, var(--home-border-default) 50%, transparent)}}}[data-slot=button][data-variant=secondary]{background-color:var(--home-surface-raised);color:var(--home-text-secondary)}@media (hover:hover){[data-slot=button][data-variant=secondary]:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab, red, red)){[data-slot=button][data-variant=secondary]:hover{background-color:color-mix(in oklch,var(--secondary),var(--foreground) 5%)}}}[data-slot=button][data-variant=secondary][aria-expanded=true]{background-color:var(--home-surface-raised);color:var(--home-text-secondary)}@media (hover:hover){[data-slot=button][data-variant=ghost]:hover{background-color:var(--home-surface-sunken)}}@media (hover:hover){[data-slot=button][data-variant=ghost]:hover{color:var(--apollon-primary-contrast)}}[data-slot=button][data-variant=ghost][aria-expanded=true]{background-color:var(--home-surface-sunken);color:var(--apollon-primary-contrast)}@media (hover:hover){[data-slot=button][data-variant=ghost]:where([data-theme=dark],[data-theme=dark] *):hover{background-color:var(--home-surface-sunken)}@supports (color:color-mix(in lab, red, red)){[data-slot=button][data-variant=ghost]:where([data-theme=dark],[data-theme=dark] *):hover{background-color:color-mix(in oklab, var(--home-surface-sunken) 50%, transparent)}}}[data-slot=button][data-variant=destructive]{background-color:var(--apollon-alert-danger-color)}@supports (color:color-mix(in lab, red, red)){[data-slot=button][data-variant=destructive]{background-color:color-mix(in oklab, var(--apollon-alert-danger-color) 10%, transparent)}}[data-slot=button][data-variant=destructive]{color:var(--apollon-alert-danger-color)}@media (hover:hover){[data-slot=button][data-variant=destructive]:hover{background-color:var(--apollon-alert-danger-color)}@supports (color:color-mix(in lab, red, red)){[data-slot=button][data-variant=destructive]:hover{background-color:color-mix(in oklab, var(--apollon-alert-danger-color) 20%, transparent)}}}[data-slot=button][data-variant=destructive]:focus-visible{border-color:var(--apollon-alert-danger-color)}@supports (color:color-mix(in lab, red, red)){[data-slot=button][data-variant=destructive]:focus-visible{border-color:color-mix(in oklab, var(--apollon-alert-danger-color) 40%, transparent)}}[data-slot=button][data-variant=destructive]:focus-visible{--tw-ring-color:var(--apollon-alert-danger-color)}@supports (color:color-mix(in lab, red, red)){[data-slot=button][data-variant=destructive]:focus-visible{--tw-ring-color:color-mix(in oklab, var(--apollon-alert-danger-color) 20%, transparent)}}[data-slot=button][data-variant=destructive]:where([data-theme=dark],[data-theme=dark] *){background-color:var(--apollon-alert-danger-color)}@supports (color:color-mix(in lab, red, red)){[data-slot=button][data-variant=destructive]:where([data-theme=dark],[data-theme=dark] *){background-color:color-mix(in oklab, var(--apollon-alert-danger-color) 20%, transparent)}}@media (hover:hover){[data-slot=button][data-variant=destructive]:where([data-theme=dark],[data-theme=dark] *):hover{background-color:var(--apollon-alert-danger-color)}@supports (color:color-mix(in lab, red, red)){[data-slot=button][data-variant=destructive]:where([data-theme=dark],[data-theme=dark] *):hover{background-color:color-mix(in oklab, var(--apollon-alert-danger-color) 30%, transparent)}}}[data-slot=button][data-variant=destructive]:where([data-theme=dark],[data-theme=dark] *):focus-visible{--tw-ring-color:var(--apollon-alert-danger-color)}@supports (color:color-mix(in lab, red, red)){[data-slot=button][data-variant=destructive]:where([data-theme=dark],[data-theme=dark] *):focus-visible{--tw-ring-color:color-mix(in oklab, var(--apollon-alert-danger-color) 40%, transparent)}}[data-slot=button][data-variant=link]{color:var(--apollon-primary);text-underline-offset:4px}@media (hover:hover){[data-slot=button][data-variant=link]:hover{text-decoration-line:underline}}[data-slot=button][data-size=default]{height:calc(var(--spacing,.25rem) * 9);gap:calc(var(--spacing,.25rem) * 1.5);padding-inline:calc(var(--spacing,.25rem) * 2.5)}[data-slot=button][data-size=default]:has([data-icon=inline-end]){padding-right:calc(var(--spacing,.25rem) * 2)}[data-slot=button][data-size=default]:has([data-icon=inline-start]){padding-left:calc(var(--spacing,.25rem) * 2)}[data-slot=button][data-size=xs]{height:calc(var(--spacing,.25rem) * 6);gap:var(--spacing,.25rem);border-radius:min(var(--radius-md), 10px);padding-inline:calc(var(--spacing,.25rem) * 2);font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1 / .75)))}:where([data-slot=button-group]) [data-slot=button][data-size=xs]{border-radius:var(--home-radius-lg)}[data-slot=button][data-size=xs]:has([data-icon=inline-end]){padding-right:calc(var(--spacing,.25rem) * 1.5)}[data-slot=button][data-size=xs]:has([data-icon=inline-start]){padding-left:calc(var(--spacing,.25rem) * 1.5)}[data-slot=button][data-size=xs] svg:not([class*=size-]){width:calc(var(--spacing,.25rem) * 3);height:calc(var(--spacing,.25rem) * 3)}[data-slot=button][data-size=sm]{height:calc(var(--spacing,.25rem) * 7);gap:var(--spacing,.25rem);border-radius:min(var(--radius-md), 12px);padding-inline:calc(var(--spacing,.25rem) * 2.5);font-size:.8rem}:where([data-slot=button-group]) [data-slot=button][data-size=sm]{border-radius:var(--home-radius-lg)}[data-slot=button][data-size=sm]:has([data-icon=inline-end]){padding-right:calc(var(--spacing,.25rem) * 1.5)}[data-slot=button][data-size=sm]:has([data-icon=inline-start]){padding-left:calc(var(--spacing,.25rem) * 1.5)}[data-slot=button][data-size=sm] svg:not([class*=size-]){width:calc(var(--spacing,.25rem) * 3.5);height:calc(var(--spacing,.25rem) * 3.5)}[data-slot=button][data-size=lg]{height:calc(var(--spacing,.25rem) * 9);gap:calc(var(--spacing,.25rem) * 1.5);padding-inline:calc(var(--spacing,.25rem) * 2.5)}[data-slot=button][data-size=lg]:has([data-icon=inline-end]){padding-right:calc(var(--spacing,.25rem) * 2)}[data-slot=button][data-size=lg]:has([data-icon=inline-start]){padding-left:calc(var(--spacing,.25rem) * 2)}[data-slot=button][data-size=icon]{width:calc(var(--spacing,.25rem) * 8);height:calc(var(--spacing,.25rem) * 8)}[data-slot=button][data-size=icon-xs]{width:calc(var(--spacing,.25rem) * 6);height:calc(var(--spacing,.25rem) * 6);border-radius:min(var(--radius-md), 10px)}:where([data-slot=button-group]) [data-slot=button][data-size=icon-xs]{border-radius:var(--home-radius-lg)}[data-slot=button][data-size=icon-xs] svg:not([class*=size-]){width:calc(var(--spacing,.25rem) * 3);height:calc(var(--spacing,.25rem) * 3)}[data-slot=button][data-size=icon-sm]{width:calc(var(--spacing,.25rem) * 7);height:calc(var(--spacing,.25rem) * 7);border-radius:min(var(--radius-md), 12px)}:where([data-slot=button-group]) [data-slot=button][data-size=icon-sm]{border-radius:var(--home-radius-lg)}[data-slot=button][data-size=icon-lg]{width:calc(var(--spacing,.25rem) * 9);height:calc(var(--spacing,.25rem) * 9)}[data-slot=icon-button]{border-radius:var(--apollon-radius-sm);cursor:pointer;width:28px;height:28px;color:var(--apollon-primary-contrast);background:0 0;border:none;justify-content:center;align-items:center;padding:0;transition:background-color .12s;display:inline-flex}[data-slot=icon-button]:hover{background-color:var(--apollon-hover-neutral,var(--apollon-primary-contrast))}@supports (color:color-mix(in lab, red, red)){[data-slot=icon-button]:hover{background-color:var(--apollon-hover-neutral,color-mix(in srgb, var(--apollon-primary-contrast) 7.5%, transparent))}}[data-slot=icon-button]:focus-visible{outline:2px solid var(--apollon-primary);outline-offset:2px}[data-slot=icon-button][aria-expanded=true]{background-color:var(--apollon-primary)}@supports (color:color-mix(in lab, red, red)){[data-slot=icon-button][aria-expanded=true]{background-color:color-mix(in srgb, var(--apollon-primary) 20%, transparent)}}[data-slot=input]{height:calc(var(--spacing,.25rem) * 9);border-radius:var(--home-radius-lg);border-style:var(--tw-border-style);border-width:1px;border-color:var(--home-border-default);width:100%;min-width:0;padding-inline:calc(var(--spacing,.25rem) * 2.5);padding-block:var(--spacing,.25rem);font-size:var(--text-base,1rem);line-height:var(--tw-leading,var(--text-base--line-height,calc(1.5 / 1)));transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4, 0, .2, 1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s));--tw-outline-style:none;background-color:#0000;outline-style:none}[data-slot=input]::placeholder{color:var(--home-text-muted)}[data-slot=input]:focus-visible{border-color:var(--apollon-primary);--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}[data-slot=input]:focus-visible{--tw-ring-color:var(--apollon-primary)}@supports (color:color-mix(in lab, red, red)){[data-slot=input]:focus-visible{--tw-ring-color:color-mix(in oklab, var(--apollon-primary) 50%, transparent)}}[data-slot=input]:disabled{pointer-events:none;cursor:not-allowed}[data-slot=input]:disabled{background-color:var(--home-border-default)}@supports (color:color-mix(in lab, red, red)){[data-slot=input]:disabled{background-color:color-mix(in oklab, var(--home-border-default) 50%, transparent)}}[data-slot=input]:disabled{opacity:.5}[data-slot=input][aria-invalid=true]{border-color:var(--apollon-alert-danger-color);--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}[data-slot=input][aria-invalid=true]{--tw-ring-color:var(--apollon-alert-danger-color)}@supports (color:color-mix(in lab, red, red)){[data-slot=input][aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--apollon-alert-danger-color) 20%, transparent)}}@media (width>=48rem){[data-slot=input]{font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)))}}[data-slot=input]:where([data-theme=dark],[data-theme=dark] *){background-color:var(--home-border-default)}@supports (color:color-mix(in lab, red, red)){[data-slot=input]:where([data-theme=dark],[data-theme=dark] *){background-color:color-mix(in oklab, var(--home-border-default) 30%, transparent)}}[data-slot=input]:where([data-theme=dark],[data-theme=dark] *):disabled{background-color:var(--home-border-default)}@supports (color:color-mix(in lab, red, red)){[data-slot=input]:where([data-theme=dark],[data-theme=dark] *):disabled{background-color:color-mix(in oklab, var(--home-border-default) 80%, transparent)}}[data-slot=input]:where([data-theme=dark],[data-theme=dark] *)[aria-invalid=true]{border-color:var(--apollon-alert-danger-color)}@supports (color:color-mix(in lab, red, red)){[data-slot=input]:where([data-theme=dark],[data-theme=dark] *)[aria-invalid=true]{border-color:color-mix(in oklab, var(--apollon-alert-danger-color) 50%, transparent)}}[data-slot=input]:where([data-theme=dark],[data-theme=dark] *)[aria-invalid=true]{--tw-ring-color:var(--apollon-alert-danger-color)}@supports (color:color-mix(in lab, red, red)){[data-slot=input]:where([data-theme=dark],[data-theme=dark] *)[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--apollon-alert-danger-color) 40%, transparent)}}[data-slot=textarea]{field-sizing:content;min-height:calc(var(--spacing,.25rem) * 16);border-radius:var(--home-radius-lg);border-style:var(--tw-border-style);border-width:1px;border-color:var(--home-border-default);width:100%;padding-inline:calc(var(--spacing,.25rem) * 2.5);padding-block:calc(var(--spacing,.25rem) * 2);font-size:var(--text-base,1rem);line-height:var(--tw-leading,var(--text-base--line-height,calc(1.5 / 1)));transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4, 0, .2, 1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s));--tw-outline-style:none;background-color:#0000;outline-style:none;display:flex}[data-slot=textarea]::placeholder{color:var(--home-text-muted)}[data-slot=textarea]:focus-visible{border-color:var(--apollon-primary);--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}[data-slot=textarea]:focus-visible{--tw-ring-color:var(--apollon-primary)}@supports (color:color-mix(in lab, red, red)){[data-slot=textarea]:focus-visible{--tw-ring-color:color-mix(in oklab, var(--apollon-primary) 50%, transparent)}}[data-slot=textarea]:disabled{cursor:not-allowed}[data-slot=textarea]:disabled{background-color:var(--home-border-default)}@supports (color:color-mix(in lab, red, red)){[data-slot=textarea]:disabled{background-color:color-mix(in oklab, var(--home-border-default) 50%, transparent)}}[data-slot=textarea]:disabled{opacity:.5}[data-slot=textarea][aria-invalid=true]{border-color:var(--apollon-alert-danger-color);--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}[data-slot=textarea][aria-invalid=true]{--tw-ring-color:var(--apollon-alert-danger-color)}@supports (color:color-mix(in lab, red, red)){[data-slot=textarea][aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--apollon-alert-danger-color) 20%, transparent)}}@media (width>=48rem){[data-slot=textarea]{font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)))}}[data-slot=textarea]:where([data-theme=dark],[data-theme=dark] *){background-color:var(--home-border-default)}@supports (color:color-mix(in lab, red, red)){[data-slot=textarea]:where([data-theme=dark],[data-theme=dark] *){background-color:color-mix(in oklab, var(--home-border-default) 30%, transparent)}}[data-slot=textarea]:where([data-theme=dark],[data-theme=dark] *):disabled{background-color:var(--home-border-default)}@supports (color:color-mix(in lab, red, red)){[data-slot=textarea]:where([data-theme=dark],[data-theme=dark] *):disabled{background-color:color-mix(in oklab, var(--home-border-default) 80%, transparent)}}[data-slot=textarea]:where([data-theme=dark],[data-theme=dark] *)[aria-invalid=true]{border-color:var(--apollon-alert-danger-color)}@supports (color:color-mix(in lab, red, red)){[data-slot=textarea]:where([data-theme=dark],[data-theme=dark] *)[aria-invalid=true]{border-color:color-mix(in oklab, var(--apollon-alert-danger-color) 50%, transparent)}}[data-slot=textarea]:where([data-theme=dark],[data-theme=dark] *)[aria-invalid=true]{--tw-ring-color:var(--apollon-alert-danger-color)}@supports (color:color-mix(in lab, red, red)){[data-slot=textarea]:where([data-theme=dark],[data-theme=dark] *)[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--apollon-alert-danger-color) 40%, transparent)}}[data-slot=tooltip-positioner]{isolation:isolate;z-index:50}[data-slot=tooltip-content]{z-index:50;width:fit-content;max-width:var(--container-xs,20rem);transform-origin:var(--transform-origin);align-items:center;gap:calc(var(--spacing,.25rem) * 1.5);border-radius:var(--home-radius-md);background-color:var(--apollon-primary-contrast);padding-inline:calc(var(--spacing,.25rem) * 3);padding-block:calc(var(--spacing,.25rem) * 1.5);font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1 / .75)));color:var(--apollon-background);display:inline-flex}[data-slot=tooltip-content] [data-slot=tooltip-arrow]{z-index:50;width:calc(var(--spacing,.25rem) * 2.5);height:calc(var(--spacing,.25rem) * 2.5);--tw-translate-y:calc(-50% - 2px);translate:var(--tw-translate-x) var(--tw-translate-y);background-color:var(--apollon-primary-contrast);fill:var(--apollon-primary-contrast);border-radius:2px;rotate:45deg}[data-slot=tooltip-content] [data-slot=tooltip-arrow][data-side=bottom]{top:var(--spacing,.25rem)}[data-slot=tooltip-content] [data-slot=tooltip-arrow][data-side=inline-end]{left:calc(var(--spacing,.25rem) * -1);--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y);top:50%!important}[data-slot=tooltip-content] [data-slot=tooltip-arrow][data-side=inline-start],[data-slot=tooltip-content] [data-slot=tooltip-arrow][data-side=left]{right:calc(var(--spacing,.25rem) * -1);--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y);top:50%!important}[data-slot=tooltip-content] [data-slot=tooltip-arrow][data-side=right]{left:calc(var(--spacing,.25rem) * -1);--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y);top:50%!important}[data-slot=tooltip-content] [data-slot=tooltip-arrow][data-side=top]{bottom:calc(var(--spacing,.25rem) * -2.5)}}.apollon-glass{background-color:var(--apollon-chrome-glass);-webkit-backdrop-filter:var(--apollon-chrome-glass-blur);border:1px solid var(--apollon-chrome-border);box-shadow:var(--apollon-chrome-shadow-floating), var(--apollon-chrome-inset-hairline);border-radius:var(--apollon-chrome-radius-lg)}@media (prefers-reduced-transparency:reduce){.apollon-glass{background-color:var(--apollon-chrome-surface);-webkit-backdrop-filter:none}}@media (prefers-contrast:more){.apollon-glass{border-color:var(--apollon-chrome-border-strong)}}.apollon-chrome-iconbtn{box-sizing:border-box;width:var(--apollon-chrome-btn);height:var(--apollon-chrome-btn);border-radius:var(--apollon-chrome-radius-sm);color:var(--apollon-chrome-text);cursor:pointer;transition:background-color var(--apollon-chrome-duration-hover) var(--apollon-chrome-ease-standard);background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:inline-flex;position:relative}.apollon-chrome-iconbtn:before{content:\"\";inset:calc((var(--apollon-chrome-btn) - var(--apollon-chrome-hit)) / 2);position:absolute}.apollon-chrome-iconbtn:disabled{opacity:.4;cursor:not-allowed}.apollon-chrome-iconbtn:focus-visible{box-shadow:0 0 0 2px var(--apollon-chrome-accent);outline:none}@supports (color:color-mix(in lab, red, red)){.apollon-chrome-iconbtn:focus-visible{box-shadow:0 0 0 2px color-mix(in srgb, var(--apollon-chrome-accent) 45%, transparent)}}.apollon-chrome-iconbtn:hover:not(:disabled){background:var(--apollon-chrome-surface-hover)}.apollon-chrome-iconbtn:active:not(:disabled){background:var(--apollon-chrome-surface-active)}.apollon-chrome-iconbtn--readout{font-variant-numeric:tabular-nums;width:auto;min-width:48px;padding:0 8px;font-size:13px;font-weight:600}button.apollon-chrome-accent-btn,a.apollon-chrome-accent-btn{background:var(--apollon-chrome-accent);color:var(--apollon-chrome-accent-contrast);transition:background-color var(--apollon-chrome-duration-hover) var(--apollon-chrome-ease-standard)}button.apollon-chrome-accent-btn:hover:not(:disabled),a.apollon-chrome-accent-btn:hover:not(:disabled){background:var(--apollon-chrome-accent)}@supports (color:color-mix(in lab, red, red)){button.apollon-chrome-accent-btn:hover:not(:disabled),a.apollon-chrome-accent-btn:hover:not(:disabled){background:color-mix(in srgb, var(--apollon-chrome-accent) 88%, black)}}button.apollon-chrome-accent-btn:active:not(:disabled),a.apollon-chrome-accent-btn:active:not(:disabled){background:var(--apollon-chrome-accent)}@supports (color:color-mix(in lab, red, red)){button.apollon-chrome-accent-btn:active:not(:disabled),a.apollon-chrome-accent-btn:active:not(:disabled){background:color-mix(in srgb, var(--apollon-chrome-accent) 80%, black)}}.apollon-chrome-title-island:focus-within{border-color:var(--apollon-chrome-accent);box-shadow:0 0 0 2px var(--apollon-chrome-accent), var(--apollon-chrome-shadow-floating)}@supports (color:color-mix(in lab, red, red)){.apollon-chrome-title-island:focus-within{box-shadow:0 0 0 2px color-mix(in srgb, var(--apollon-chrome-accent) 35%, transparent), var(--apollon-chrome-shadow-floating)}}.apollon-chrome-title-input::placeholder{color:var(--apollon-chrome-text-muted);opacity:1}@property --tw-border-style{syntax:\"*\";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:\"*\";inherits:false}@property --tw-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:\"*\";inherits:false}@property --tw-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:\"*\";inherits:false}@property --tw-inset-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:\"*\";inherits:false}@property --tw-ring-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:\"*\";inherits:false}@property --tw-inset-ring-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:\"*\";inherits:false}@property --tw-ring-offset-width{syntax:\"<length>\";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:\"*\";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-translate-x{syntax:\"*\";inherits:false;initial-value:0}@property --tw-translate-y{syntax:\"*\";inherits:false;initial-value:0}@property --tw-translate-z{syntax:\"*\";inherits:false;initial-value:0}\n:root{--safe-area-inset-top:env(safe-area-inset-top,0px);--safe-area-inset-right:env(safe-area-inset-right,0px);--safe-area-inset-bottom:env(safe-area-inset-bottom,0px);--safe-area-inset-left:env(safe-area-inset-left,0px)}.react-flow{--panel-background:var(--apollon-background,#fff);--panel-shadow:var(--apollon-shadow,0 4px 12px #0000002e);--text:var(--apollon-primary-contrast,#000);--xy-edge-stroke:var(--apollon-primary-contrast,#000);--xy-edge-stroke-width:2px;--xy-controls-button-background-color:var(--apollon-background,#fff);--xy-controls-button-border-color:transparent}.apollon-editor{background-color:var(--apollon-background,#fff);color:var(--apollon-primary-contrast,#000);--popover-divider:color-mix(in srgb, var(--apollon-primary-contrast,#000) 10%, transparent);isolation:isolate;--apollon-z-chrome:10005}.apollon-overlay-panel,.apollon-overlay-band{z-index:var(--apollon-z-chrome)}.apollon-canvas{flex:1;min-width:0;height:100%;position:relative;overflow:hidden}.apollon-collaboration-presence-bar{top:calc(10px + var(--apollon-inset-top,0px));right:calc(10px + var(--apollon-inset-right,0px));z-index:10002;pointer-events:auto;align-items:center;display:flex;position:absolute}.apollon-collaboration-presence-bar [role=button]:focus-visible{outline:2px solid var(--apollon-primary,#3e8acc);outline-offset:2px}.apollon-collaboration-follower-badge{box-sizing:border-box;border-radius:var(--apollon-radius-lg,8px);background-color:var(--apollon-background,#fff);min-width:14px;height:14px;color:var(--apollon-primary-contrast,#000);border:2px solid;justify-content:center;align-items:center;padding:0 3px;font-size:8px;font-weight:700;display:flex;position:absolute;bottom:-4px;left:-4px}.apollon-collaboration-follow-frame{pointer-events:none;z-index:10001;position:absolute;inset:0}.apollon-collaboration-follow-banner{background-color:var(--apollon-background,#fff);max-width:min(100% - 32px,420px);color:var(--apollon-primary-contrast,#000);box-shadow:0 2px 12px color-mix(in srgb, var(--apollon-primary-contrast,#000) 22%, transparent);white-space:nowrap;z-index:10004;pointer-events:auto;border:1px solid;border-radius:999px;align-items:center;gap:8px;padding:6px 6px 6px 14px;font-size:13px;font-weight:500;animation:.16s ease-out apollon-collaboration-follow-banner-in;display:flex;position:absolute;top:16px;left:50%;transform:translate(-50%)}@keyframes apollon-collaboration-follow-banner-in{0%{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%)}}@media (prefers-reduced-motion:reduce){.apollon-collaboration-follow-banner{animation:none}}.apollon-collaboration-follow-banner-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.apollon-collaboration-follow-banner-text{text-overflow:ellipsis;overflow:hidden}.apollon-collaboration-follow-banner-stop{appearance:none;cursor:pointer;font:inherit;background-color:var(--apollon-primary-contrast,#000);color:var(--apollon-background,#fff);border:none;border-radius:999px;flex-shrink:0;padding:3px 12px;font-weight:600}.apollon-collaboration-follow-banner-stop:hover{opacity:.85}.apollon-collaboration-follow-banner-stop:focus-visible{outline:2px solid var(--apollon-primary,#3e8acc);outline-offset:2px}.apollon-collaboration-cursors{pointer-events:none;z-index:10003;position:absolute;inset:0;overflow:hidden}.apollon-collaboration-cursor{position:absolute}.apollon-collaboration-cursor-label{border-radius:var(--apollon-radius-md,6px);color:var(--apollon-on-collaboration-cursor,#fff);white-space:nowrap;margin-top:4px;padding:2px 6px;font-size:12px}.react-flow__node.apollon-collaboration-highlighted{box-shadow:0 0 0 4px var(--apollon-collaboration-highlight-color), 0 0 16px 3px var(--apollon-collaboration-highlight-color)!important;border-color:var(--apollon-collaboration-highlight-color)!important}.react-flow__edge.apollon-collaboration-highlighted path{filter:drop-shadow(0 0 4px var(--apollon-collaboration-highlight-color));stroke:var(--apollon-collaboration-highlight-color)!important;stroke-width:4.5px!important}.apollon-palette{box-sizing:border-box;top:calc(var(--safe-area-inset-top,0px) + var(--apollon-chrome-gap) + var(--apollon-inset-top,calc(var(--apollon-chrome-edge) + var(--apollon-chrome-island-h))));left:calc(var(--apollon-chrome-edge-safe-left) + var(--apollon-inset-left,0px));z-index:10000;max-height:calc(100% - var(--safe-area-inset-top,0px) - var(--apollon-chrome-gap) - var(--apollon-inset-top,calc(var(--apollon-chrome-edge) + var(--apollon-chrome-island-h))) - var(--apollon-chrome-edge-safe-bottom) - var(--apollon-chrome-island-h) - var(--apollon-chrome-gap) - var(--apollon-inset-bottom,0px));gap:var(--apollon-chrome-gap);padding:var(--apollon-chrome-pad);overscroll-behavior:contain;background:var(--apollon-chrome-glass);-webkit-backdrop-filter:var(--apollon-chrome-glass-blur);color:var(--apollon-chrome-text);border:1px solid var(--apollon-chrome-border);border-radius:var(--apollon-chrome-radius-lg);box-shadow:var(--apollon-chrome-shadow-floating), var(--apollon-chrome-inset-hairline);flex-direction:column;align-items:center;display:flex;position:absolute;overflow-y:auto}.apollon-palette__entries{justify-content:center;display:grid}.apollon-palette__entry{cursor:grab;border-radius:var(--apollon-chrome-radius-sm);justify-content:center;align-items:center;transition:background-color .12s;display:flex}.apollon-palette__entry:hover{background:var(--apollon-chrome-surface-hover)}.apollon-palette__entry:active{cursor:grabbing}.apollon-palette__view-switch{flex-direction:column;gap:4px;width:100%;display:flex}.apollon-palette__view-button{border-radius:var(--apollon-chrome-radius-md);border:1px solid var(--apollon-chrome-border-strong);color:var(--apollon-chrome-text);cursor:pointer;white-space:nowrap;background:0 0;padding:6px 8px;font-size:13px;font-weight:600}.apollon-palette__view-button:hover{background:var(--apollon-chrome-surface-hover)}.apollon-palette__view-button--active,.apollon-palette__view-button--active:hover{background:var(--apollon-chrome-accent);color:var(--apollon-chrome-accent-contrast);border-color:var(--apollon-chrome-accent)}.apollon-palette__hint{box-sizing:border-box;width:100%;max-width:160px;padding:4px;font-size:13px;line-height:1.4}.react-flow__panel.top.left,.react-flow__panel.top.right{margin-top:calc(var(--apollon-chrome-edge) + var(--safe-area-inset-top,0px))}.react-flow__panel.bottom.left,.react-flow__panel.bottom.right{margin-bottom:var(--apollon-chrome-edge-safe-bottom)}.react-flow__panel.top.left,.react-flow__panel.bottom.left{margin-left:var(--apollon-chrome-edge-safe-left)}.react-flow__panel.top.right,.react-flow__panel.bottom.right{margin-right:var(--apollon-chrome-edge-safe-right)}.apollon-chrome-header-row{align-items:flex-start;gap:var(--apollon-chrome-gap);box-sizing:border-box;width:100%;padding-top:var(--apollon-chrome-edge);padding-left:var(--apollon-chrome-edge-safe-left);padding-right:var(--apollon-chrome-edge-safe-right);pointer-events:none;display:flex}.apollon-chrome-header-row>:not(.apollon-chrome-header-spacer){flex-shrink:0}.apollon-chrome-header-spacer{flex:auto;justify-content:flex-start;min-width:0;display:flex}@media (width<=950px) and (height<=500px){:root{--apollon-chrome-island-h:36px;--apollon-chrome-pad:2px}.apollon-collaboration-presence-bar{right:var(--apollon-chrome-edge-safe-right)}}.react-flow__minimap.apollon-minimap{border-radius:var(--apollon-chrome-radius-lg);padding:0;overflow:hidden}.react-flow__minimap.apollon-minimap .react-flow__minimap-svg{border-radius:inherit;display:block}.apollon-chrome-cluster-divider{background:var(--apollon-chrome-border);align-self:stretch;width:1px;margin:4px 2px}.react-flow__controls-button{width:var(--apollon-chrome-btn);height:var(--apollon-chrome-btn);border-radius:var(--apollon-chrome-radius-sm);color:var(--apollon-chrome-text);transition:background-color var(--apollon-chrome-duration-hover) var(--apollon-chrome-ease-standard);background:0 0;border:0;padding:0;position:relative}.react-flow__controls-button:before{content:\"\";inset:calc((var(--apollon-chrome-btn) - var(--apollon-chrome-hit)) / 2);position:absolute}.react-flow__controls-button:hover{background:var(--apollon-chrome-surface-hover)}.react-flow__controls-button>svg{fill:currentColor;max-width:18px;max-height:18px}.react-flow__panel,.react-flow__node-toolbar{background-color:var(--apollon-chrome-glass);-webkit-backdrop-filter:var(--apollon-chrome-glass-blur);border:1px solid var(--apollon-chrome-border);box-shadow:var(--apollon-chrome-shadow-floating), var(--apollon-chrome-inset-hairline);border-radius:var(--apollon-chrome-radius-lg);padding:var(--apollon-chrome-pad)}.apollon-history-panel{background-color:var(--apollon-chrome-glass-solid)}.apollon-overlay-band,.apollon-overlay-panel{-webkit-backdrop-filter:none;box-shadow:none;background-color:#0000;border:0;border-radius:0;padding:0}.apollon-overlay-panel{margin:var(--apollon-chrome-edge)}@keyframes apollon-island-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.apollon-chrome-island{animation:apollon-island-in var(--apollon-chrome-duration-enter) var(--apollon-chrome-ease-decelerate) both}@media (prefers-reduced-motion:reduce){.apollon-chrome-island{animation:none}}@media (prefers-reduced-transparency:reduce){.react-flow__panel,.react-flow__node-toolbar,.apollon-palette{background-color:var(--apollon-chrome-surface);-webkit-backdrop-filter:none}}@media (prefers-contrast:more){.react-flow__panel,.react-flow__node-toolbar,.apollon-palette{border-color:var(--apollon-chrome-border-strong)}}.react-flow svg{display:block}.react-flow__node-toolbar{gap:8px;display:flex}.react-flow__handle{opacity:0;background-color:#0000}.react-flow__handle.apollon-arc-handle:before{content:\"\";background-color:var(--apollon-primary,#3e8acc);opacity:.4;box-sizing:border-box;pointer-events:all;cursor:crosshair;--arc-long:calc(28px * var(--arc-scale,1));--arc-short:calc(14px * var(--arc-scale,1));--arc-radius:calc(14px * var(--arc-scale,1));position:absolute}.react-flow__handle.apollon-arc-handle--top:before{width:var(--arc-long);height:var(--arc-short);border-radius:var(--arc-radius) var(--arc-radius) 0 0;top:50%;left:50%;transform:translate(-50%,-100%)}.react-flow__handle.apollon-arc-handle--right:before{width:var(--arc-short);height:var(--arc-long);border-radius:0 var(--arc-radius) var(--arc-radius) 0;top:50%;left:50%;transform:translateY(-50%)}.react-flow__handle.apollon-arc-handle--bottom:before{width:var(--arc-long);height:var(--arc-short);border-radius:0 0 var(--arc-radius) var(--arc-radius);top:50%;left:50%;transform:translate(-50%)}.react-flow__handle.apollon-arc-handle--left:before{width:var(--arc-short);height:var(--arc-long);border-radius:var(--arc-radius) 0 0 var(--arc-radius);top:50%;left:50%;transform:translate(-100%,-50%)}.react-flow__resize-control line{z-index:9}.react-flow__resize-control.handle{z-index:20}.react-flow__resize-control{opacity:0;pointer-events:none;transition:opacity .12s}.react-flow__node:hover .react-flow__resize-control,.react-flow__node.selected .react-flow__resize-control{opacity:1;pointer-events:all}.react-flow__node:hover .react-flow__handle,.react-flow__node.selected .react-flow__handle{opacity:1;pointer-events:all;cursor:crosshair;background-color:#0000}.apollon-editor--connection-guidance .react-flow__handle.apollon-arc-handle:before{opacity:0;pointer-events:none}:is(.apollon-editor--connection-guidance .react-flow__node:has(.apollon-connection-guidance-source),.apollon-editor--connection-guidance .react-flow__node:has(.react-flow__handle.connectionindicator.connectingto)){z-index:10001!important}.apollon-editor--connection-guidance .react-flow__handle.connectionindicator{border:2px solid var(--apollon-primary,#3e8acc);background-color:var(--apollon-background,#fff);box-sizing:border-box;border-radius:999px;opacity:1!important;width:10px!important;height:10px!important}.apollon-editor--connection-guidance .react-flow__handle.connectionindicator.connectingfrom,.apollon-editor--connection-guidance .react-flow__handle.apollon-connection-guidance-source{opacity:0!important;pointer-events:none!important;background-color:#0000!important;border-color:#0000!important}.apollon-editor--connection-guidance .react-flow__handle.connectionindicator.valid{background-color:var(--apollon-primary,#3e8acc)!important}.edge-bend-handle{opacity:0;stroke:none;fill:color-mix(in srgb, var(--apollon-primary,#3e8acc) 34%, var(--apollon-background,#fff));vector-effect:non-scaling-stroke;transition:fill .12s,opacity .12s}.edge-endpoint-handle{fill:#0000;stroke:#0000;stroke-width:0;cursor:move;vector-effect:non-scaling-stroke}.edge-endpoint-handle--disabled{cursor:default}.react-flow__edge:hover .edge-bend-handle,.react-flow__edge.selected .edge-bend-handle{opacity:1;fill:var(--apollon-primary,#3e8acc)}.react-flow__edge:hover .edge-bend-handle:hover,.react-flow__edge.selected .edge-bend-handle:hover{fill:color-mix(in srgb, var(--apollon-primary,#3e8acc) 70%, #000)}.react-flow__edge:hover .edge-overlay{opacity:0}.react-flow__edge.selected .edge-overlay{opacity:0;pointer-events:none}.react-flow__edge:hover .react-flow__edge-path,.react-flow__edge:hover [data-inline-marker]{stroke:color-mix(in srgb, var(--apollon-primary,#3e8acc) 70%, #000)!important}.react-flow__edge:hover [data-inline-marker-filled=true]{fill:color-mix(in srgb, var(--apollon-primary,#3e8acc) 70%, #000)!important}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selected [data-inline-marker]{stroke:var(--apollon-primary,#3e8acc)!important}.react-flow__edge.selected [data-inline-marker-filled=true]{fill:var(--apollon-primary,#3e8acc)!important}.react-flow__node:hover,.react-flow__node.selected{opacity:.9;box-shadow:0 0 0 2px var(--apollon-primary,#3e8acc);border-radius:var(--apollon-radius-sm,4px)}.apollon-interactive-selection{--apollon-interactive-selection-color:var(--apollon-interactive-selection,#f39c12)}.apollon-interactive-selection--selected [stroke]:not([stroke=none]){stroke:var(--apollon-interactive-selection-color)}.apollon-interactive-selection--selected .react-flow__edge-path{stroke-width:3px}.apollon-interactive-selection--selected .edge-overlay{opacity:.45;stroke:var(--apollon-interactive-selection-color);stroke-width:15px}.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:var(--apollon-chrome-text-muted);opacity:.15}.prevent-select{-webkit-user-select:none;user-select:none}.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}.apollon-checkbox-label{color:var(--apollon-primary-contrast,#000);cursor:pointer;align-items:center;gap:8px;font-size:.875rem;display:inline-flex}.apollon-checkbox{accent-color:var(--apollon-primary,#3e8acc);cursor:pointer;width:16px;height:16px}[data-slot=checkbox-label]{color:var(--apollon-primary-contrast,#000);cursor:pointer;align-items:center;gap:8px;font-size:.875rem;display:inline-flex}[data-slot=checkbox]{border:1px solid color-mix(in srgb, var(--apollon-primary,#3e8acc) 50%, transparent);border-radius:var(--apollon-radius-sm,4px);width:16px;height:16px;color:var(--apollon-primary-contrast-on-accent,var(--apollon-background,#fff));cursor:pointer;background:0 0;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:background-color .12s,border-color .12s;display:inline-flex}[data-slot=checkbox][data-checked]{background-color:var(--apollon-primary,#3e8acc);border-color:var(--apollon-primary,#3e8acc)}[data-slot=checkbox]:focus-visible{outline:2px solid var(--apollon-primary,#3e8acc);outline-offset:2px}[data-slot=checkbox][data-disabled]{opacity:.5;cursor:not-allowed}[data-slot=checkbox-label]:has([data-slot=checkbox][data-disabled]){cursor:not-allowed}[data-slot=checkbox-indicator]{color:inherit;justify-content:center;align-items:center;display:inline-flex}[data-slot=typography]{color:var(--apollon-primary-contrast,#000)}[data-slot=typography][data-variant=h6]{margin:0;font-size:1.25rem;font-weight:500}[data-slot=typography][data-variant=subtitle1]{margin:0;font-size:1rem;font-weight:400}[data-slot=typography][data-variant=subtitle2]{margin:0;font-size:.875rem;font-weight:500}[data-slot=typography][data-variant=body1]{margin:0;font-size:1rem}[data-slot=typography][data-variant=body2]{margin:0;font-size:.875rem}[data-slot=typography][data-variant=caption]{margin:0;font-size:.75rem}[data-slot=textfield-label]{color:var(--apollon-primary-contrast,#000);margin-bottom:2px;font-size:.75rem}[data-slot=textfield-helper]{color:var(--apollon-gray-variant,#495057);margin-top:2px;font-size:.75rem}[data-slot=textfield-helper][data-error]{color:var(--apollon-alert-danger-color,#721c24)}[data-slot=assessment-score]{border-radius:var(--apollon-radius-md,6px);font-variant-numeric:tabular-nums;align-self:flex-start;align-items:center;gap:6px;padding:2px 10px;font-size:.875rem;font-weight:600;line-height:1.4;display:inline-flex}[data-slot=assessment-score]>svg{flex:none}[data-slot=assessment-score][data-tone=positive]{color:var(--apollon-assessment-positive-text,#166534);background-color:var(--apollon-assessment-positive-bg,#dcfce7)}[data-slot=assessment-score][data-tone=negative]{color:var(--apollon-assessment-negative-text,#991b1b);background-color:var(--apollon-assessment-negative-bg,#fee2e2)}[data-slot=assessment-score][data-tone=zero]{color:var(--apollon-assessment-zero-text,#1e40af);background-color:var(--apollon-assessment-zero-bg,#dbeafe)}[data-slot=assessment-score][data-tone=ungraded]{color:var(--apollon-assessment-ungraded-text,#475569);background-color:var(--apollon-assessment-ungraded-bg,#f1f5f9)}.apollon-assessment-icon{filter:drop-shadow(0 1px 2px color-mix(in srgb, var(--apollon-primary-contrast,#000) 28%, transparent))}[data-slot=assessment-feedback]{color:var(--apollon-primary-contrast,#000);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:.875rem;line-height:1.5}[data-slot=assessment-feedback][data-empty]{color:var(--apollon-gray-variant,#495057);font-style:italic}[data-slot=assessment-name-chip]{border-radius:var(--apollon-radius-sm,4px);white-space:nowrap;background-color:color-mix(in srgb, var(--apollon-primary,#3e8acc) 18%, transparent);color:var(--apollon-primary-contrast,#000);padding:1px 6px;font-weight:600}[data-slot=divider-line]{width:var(--divider-width,100%);height:var(--divider-height,1px);margin:var(--divider-margin,8px 0);background-color:var(--divider-color,var(--apollon-primary-contrast,#000))}.apollon-add-row{align-items:center;gap:4px;display:flex}.apollon-add-row>:first-child{flex:1;min-width:0}.apollon-drag-handle{cursor:grab;color:var(--apollon-gray-variant,#495057)}.apollon-drag-handle:active{cursor:grabbing}.apollon-edge-toolbar{pointer-events:none}.apollon-edge-toolbar>*{pointer-events:auto}.apollon-popover{box-sizing:border-box;background-color:var(--apollon-surface,#fff);color:var(--apollon-primary-contrast,#000);border-radius:var(--apollon-radius-lg,8px);border:1px solid var(--apollon-border,#cdd5df);box-shadow:var(--apollon-shadow,0 4px 12px #0000002e);transform-origin:var(--transform-origin,center);z-index:10003;flex-direction:column;flex:1;padding:10px;transition:opacity .1s,transform .1s;display:flex}.apollon-popover[data-starting-style],.apollon-popover[data-ending-style],.apollon-select-content[data-starting-style],.apollon-select-content[data-ending-style]{opacity:0;transform:scale(.96)}.apollon-select{flex-direction:column;display:inline-flex}.apollon-select-label{color:var(--apollon-primary-contrast,#000);margin-bottom:2px;font-size:.8125rem}.apollon-select-trigger{box-sizing:border-box;text-align:left;width:100%;min-height:36px;color:var(--apollon-primary-contrast,#000);background-color:var(--apollon-surface-sunken,#fff);border:1px solid var(--apollon-border,#cdd5df);border-radius:var(--apollon-radius-md,6px);cursor:pointer;justify-content:space-between;align-items:center;gap:8px;padding:6px 10px;font-family:inherit;font-size:.875rem;display:flex}.apollon-select-trigger:focus-visible{border-color:var(--apollon-primary,#3e8acc);box-shadow:0 0 0 1px var(--apollon-primary,#3e8acc);outline:none}.apollon-select-value{flex:1;min-width:0}.apollon-select-placeholder{color:var(--apollon-gray-variant,#495057);opacity:.7}.apollon-select-icon{color:var(--apollon-primary-contrast,#000);flex:none}.apollon-select-content{background-color:var(--apollon-surface,#fff);color:var(--apollon-primary-contrast,#000);border:1px solid var(--apollon-border,#cdd5df);border-radius:var(--apollon-radius-lg,8px);box-shadow:var(--apollon-shadow,0 4px 12px #0000002e);transform-origin:var(--transform-origin,center);z-index:10004;transition:opacity .1s,transform .1s;overflow:hidden}.apollon-select-listbox{max-height:inherit;-webkit-overflow-scrolling:touch;padding:4px;overflow-y:auto}.apollon-select-option{box-sizing:border-box;text-align:left;width:100%;min-height:40px;color:var(--apollon-primary-contrast,#000);border-radius:var(--apollon-radius-md,6px);cursor:pointer;touch-action:manipulation;background-color:#0000;border:none;align-items:center;padding:8px 10px;font-family:inherit;font-size:.875rem;display:flex}.apollon-select-option:hover,.apollon-select-option:focus-visible{background-color:color-mix(in srgb, var(--apollon-primary,#3e8acc) 14%, transparent);outline:none}.apollon-select-option--selected{background-color:color-mix(in srgb, var(--apollon-primary,#3e8acc) 22%, transparent);font-weight:600}.apollon-color-swatch{border:1px solid var(--apollon-border-subtle,#e3e8ef);cursor:pointer;background-color:var(--swatch-color,transparent);box-sizing:border-box;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;transition:opacity .12s;display:inline-flex;position:relative}.apollon-color-swatch:hover{opacity:.72}.apollon-color-swatch:focus-visible{outline:2px solid var(--apollon-primary,#3e8acc);outline-offset:3px}.apollon-color-swatch[aria-pressed=true],.apollon-color-swatch[data-state=on]{opacity:1}.apollon-color-swatch__icon{pointer-events:none;color:var(--apollon-on-collaboration-cursor,#fff);filter:drop-shadow(0 0 1px #0009)}.apollon-color-picker__popup{box-sizing:border-box;background-color:var(--apollon-surface,#fff);color:var(--apollon-primary-contrast,#000);border:1px solid var(--apollon-border,#cdd5df);border-radius:var(--apollon-radius-lg,8px);box-shadow:var(--apollon-shadow,0 4px 12px #0000002e);z-index:10003;flex-direction:column;gap:10px;padding:12px;display:flex}.apollon-color-picker__grid{grid-template-columns:repeat(5,auto);gap:8px;display:grid}.apollon-color-picker__custom{color:var(--apollon-secondary,#6c757d);justify-content:space-between;align-items:center;gap:8px;font-size:.8125rem;display:flex}.apollon-color-picker__custom input[type=color]{border:1px solid var(--apollon-border,#cdd5df);border-radius:var(--apollon-radius-md,6px);cursor:pointer;background:0 0;width:28px;height:28px;padding:2px}.apollon-color-picker__custom input[type=color][data-custom-active]{outline:2px solid var(--apollon-primary,#3e8acc);outline-offset:1px}.apollon-color-picker__reset{align-self:stretch}.apollon-style-editor{flex-direction:column;width:100%;display:flex}.apollon-style-editor__header{flex-flow:wrap;flex:1;align-items:center;gap:8px;display:flex}.apollon-style-editor__header[data-variant=edge]{flex-wrap:nowrap;justify-content:space-between;gap:5px}.apollon-style-editor__header-actions{flex-shrink:0;align-items:center;gap:8px;margin-left:auto;display:flex}.apollon-style-editor__header[data-variant=edge] .apollon-style-editor__header-actions{margin-left:0}.apollon-style-editor__panel{background-color:var(--apollon-surface,#fff);border:1px solid var(--apollon-border-subtle,#e3e8ef);border-radius:var(--apollon-radius-md,6px);flex-direction:column;margin-top:10px;margin-bottom:10px;display:flex}.apollon-style-editor__row{justify-content:space-between;align-items:center;padding:16px;display:flex}.apollon-stereotype-group[data-slot=toggle-group]{flex-direction:row;align-items:center;width:fit-content;display:inline-flex}.apollon-stereotype-toggle{z-index:1;border:1px solid color-mix(in srgb, var(--apollon-primary,#3e8acc) 38%, transparent);min-height:28px;color:var(--apollon-primary-contrast,#000);font:inherit;white-space:nowrap;cursor:pointer;background:0 0;justify-content:center;align-items:center;padding:0 10px;font-size:.8125rem;line-height:1;transition:background-color .12s,border-color .12s,color .12s;display:inline-flex;position:relative}.apollon-stereotype-group .apollon-stereotype-toggle:not(:first-child){border-left:0}.apollon-stereotype-group .apollon-stereotype-toggle:first-child{border-top-left-radius:var(--apollon-radius-sm,4px);border-bottom-left-radius:var(--apollon-radius-sm,4px)}.apollon-stereotype-group .apollon-stereotype-toggle:last-child{border-top-right-radius:var(--apollon-radius-sm,4px);border-bottom-right-radius:var(--apollon-radius-sm,4px)}.apollon-stereotype-toggle:hover{background-color:var(--apollon-hover-neutral,color-mix(in srgb, var(--apollon-primary-contrast,#000) 7.5%, transparent))}.apollon-stereotype-toggle:focus-visible{outline:2px solid var(--apollon-primary,#3e8acc);outline-offset:2px;z-index:1}.apollon-stereotype-toggle[data-state=on]{background-color:color-mix(in srgb, var(--apollon-primary,#3e8acc) 20%, transparent);border-color:var(--apollon-primary,#3e8acc);color:color-mix(in srgb, var(--apollon-primary,#3e8acc) 70%, var(--apollon-primary-contrast,#000));z-index:1}.scroll-overlay{background-color:var(--apollon-grid,#2427241a);-webkit-backdrop-filter:blur(.5px);backdrop-filter:blur(.5px);z-index:10;cursor:not-allowed;pointer-events:auto;justify-content:center;align-items:center;animation:.2s ease-in-out fadeIn;display:flex;position:absolute;inset:0}.scroll-overlay-hint{z-index:11;position:absolute;bottom:40px;left:50%;transform:translate(-50%)}.scroll-overlay-hint-content{background-color:var(--apollon-surface,#fff);border:2px solid var(--apollon-primary,#3e8acc);border-radius:var(--apollon-radius-lg,8px);box-shadow:0 4px 12px var(--apollon-grid,#2427241a);justify-content:center;align-items:center;padding:16px 24px;display:flex}.scroll-overlay-hint-text{color:var(--apollon-primary,#3e8acc);text-align:center;margin:0;font-size:14px;font-weight:600}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}";
|
|
4
|
+
//#endregion
|
|
5
|
+
export { e as EXPORT_LAYOUT_CSS };
|
package/dist/index.d.ts
CHANGED
|
@@ -5,6 +5,7 @@ import { JSX } from 'react';
|
|
|
5
5
|
import { Node as Node_2 } from '@xyflow/react';
|
|
6
6
|
import { NodeProps } from '@xyflow/react';
|
|
7
7
|
import { ReactNode } from 'react';
|
|
8
|
+
import { Ref } from 'react';
|
|
8
9
|
import { XYPosition } from '@xyflow/react';
|
|
9
10
|
|
|
10
11
|
declare function Activity({ id, width, height, data, parentId, }: NodeProps<Node_2<DefaultNodeProps>>): JSX.Element | null;
|
|
@@ -38,12 +39,14 @@ declare type ActivitySwimlaneProps = DefaultNodeProps & {
|
|
|
38
39
|
lanes: SwimlaneLane[];
|
|
39
40
|
};
|
|
40
41
|
|
|
41
|
-
|
|
42
|
+
/** React wrapper around {@link ApollonEditor}. See `@tumaet/apollon` docs. */
|
|
43
|
+
export declare function Apollon(props: ApollonProps): JSX.Element;
|
|
44
|
+
|
|
45
|
+
declare namespace Apollon_2 {
|
|
42
46
|
export {
|
|
43
47
|
UMLDiagramType,
|
|
44
48
|
DiagramNodeType,
|
|
45
49
|
DiagramEdgeType,
|
|
46
|
-
Styles,
|
|
47
50
|
Unsubscriber,
|
|
48
51
|
Subscribers,
|
|
49
52
|
UMLModelElementType,
|
|
@@ -80,6 +83,24 @@ export declare type ApollonCollaborationOptions = {
|
|
|
80
83
|
showFollow?: boolean;
|
|
81
84
|
};
|
|
82
85
|
|
|
86
|
+
/**
|
|
87
|
+
* Declarative façade over `editor.addControl`. Registers a control that renders
|
|
88
|
+
* a stable host node into the chosen region, and portals `children` into that
|
|
89
|
+
* node — so children render INSIDE the canvas while React owns their
|
|
90
|
+
* reconciliation. Children changes therefore never touch the overlay store; only
|
|
91
|
+
* real option changes (region/inset/order/…) push an update. Returns null in the
|
|
92
|
+
* host tree.
|
|
93
|
+
*/
|
|
94
|
+
export declare function ApollonControl({ children, ...options }: ApollonControlProps): ReactNode;
|
|
95
|
+
|
|
96
|
+
/** Props for {@link ApollonControl}: every {@link OverlayControlOptions} field
|
|
97
|
+
* (id, region, inset, order, …) plus the children to render in-canvas. */
|
|
98
|
+
export declare type ApollonControlProps = OverlayControlOptions & {
|
|
99
|
+
/** Portaled into the control's host node inside the chosen region. Children
|
|
100
|
+
* changes never re-register the control; only real option changes do. */
|
|
101
|
+
children: ReactNode;
|
|
102
|
+
};
|
|
103
|
+
|
|
83
104
|
export declare type ApollonEdge = {
|
|
84
105
|
id: string;
|
|
85
106
|
source: string;
|
|
@@ -102,7 +123,7 @@ export declare class ApollonEditor {
|
|
|
102
123
|
private readonly overlayStore;
|
|
103
124
|
private readonly hostRegionEls;
|
|
104
125
|
private subscribers;
|
|
105
|
-
constructor(element: HTMLElement, options?:
|
|
126
|
+
constructor(element: HTMLElement, options?: Apollon_2.ApollonOptions);
|
|
106
127
|
private setReactFlowInstance;
|
|
107
128
|
getNodes(): Node_2[];
|
|
108
129
|
getEdges(): Edge[];
|
|
@@ -178,19 +199,19 @@ export declare class ApollonEditor {
|
|
|
178
199
|
set diagramType(type: UMLDiagramType);
|
|
179
200
|
destroy(): void;
|
|
180
201
|
/** Renders a model to SVG via a hidden, off-screen mount. */
|
|
181
|
-
static exportModelAsSvg(model:
|
|
202
|
+
static exportModelAsSvg(model: Apollon_2.UMLModel, options?: Apollon_2.ExportOptions): Promise<Apollon_2.SVG>;
|
|
182
203
|
/**
|
|
183
204
|
* exports current model as svg
|
|
184
205
|
* @param options options to change the export behavior (add margin, exclude element ...)
|
|
185
206
|
*/
|
|
186
|
-
exportAsSVG(options?:
|
|
207
|
+
exportAsSVG(options?: Apollon_2.ExportOptions): Promise<Apollon_2.SVG>;
|
|
187
208
|
private getNewSubscriptionId;
|
|
188
|
-
subscribeToModelChange(callback: (state:
|
|
209
|
+
subscribeToModelChange(callback: (state: Apollon_2.UMLModel) => void): number;
|
|
189
210
|
subscribeToDiagramNameChange(callback: (diagramTitle: string) => void): number;
|
|
190
211
|
subscribeToAssessmentSelection(callback: (selectedElementIds: string[]) => void): number;
|
|
191
212
|
subscribeToSelectionChange(callback: (selectedElementIds: string[]) => void): number;
|
|
192
|
-
subscribeToAwarenessChanges(callback: (states: Map<number,
|
|
193
|
-
subscribeToCollaboratorChanges(callback: (collaborators:
|
|
213
|
+
subscribeToAwarenessChanges(callback: (states: Map<number, Apollon_2.CollaborationState>) => void): number;
|
|
214
|
+
subscribeToCollaboratorChanges(callback: (collaborators: Apollon_2.CollaboratorInfo[]) => void): number;
|
|
194
215
|
unsubscribe(subscriberId: number): void;
|
|
195
216
|
sendBroadcastMessage(sendFn: SendBroadcastMessage): void;
|
|
196
217
|
receiveBroadcastedMessage(base64Data: string): void;
|
|
@@ -200,12 +221,12 @@ export declare class ApollonEditor {
|
|
|
200
221
|
* absorbed by the room. See `YjsSync.broadcastFullState`.
|
|
201
222
|
*/
|
|
202
223
|
broadcastFullState(): void;
|
|
203
|
-
setLocalAwarenessUser(user:
|
|
204
|
-
setLocalAwarenessCursor(cursor:
|
|
224
|
+
setLocalAwarenessUser(user: Apollon_2.CollaborationUser): void;
|
|
225
|
+
setLocalAwarenessCursor(cursor: Apollon_2.CollaborationCursor | null): void;
|
|
205
226
|
setLocalAwarenessSelectedElement(selectedElementId: string | null): void;
|
|
206
|
-
setLocalAwarenessState(state: Partial<
|
|
227
|
+
setLocalAwarenessState(state: Partial<Apollon_2.CollaborationState>): void;
|
|
207
228
|
getLocalAwarenessClientId(): number;
|
|
208
|
-
getCollaborators():
|
|
229
|
+
getCollaborators(): Apollon_2.CollaboratorInfo[];
|
|
209
230
|
updateDiagramTitle(name: string): void;
|
|
210
231
|
/**
|
|
211
232
|
* Toggles the editor's read-only state at runtime. Used by hosting apps
|
|
@@ -215,7 +236,7 @@ export declare class ApollonEditor {
|
|
|
215
236
|
*/
|
|
216
237
|
setReadonly(readonly: boolean): void;
|
|
217
238
|
/** Live-toggle modeling vs assessment vs exporting mode. */
|
|
218
|
-
setMode(mode:
|
|
239
|
+
setMode(mode: Apollon_2.ApollonMode): void;
|
|
219
240
|
/** Live-toggle whether the canvas captures page scroll. */
|
|
220
241
|
setScrollLock(scrollLock: boolean): void;
|
|
221
242
|
/**
|
|
@@ -236,20 +257,18 @@ export declare class ApollonEditor {
|
|
|
236
257
|
*/
|
|
237
258
|
setPreviewMode(active: boolean): void;
|
|
238
259
|
toggleInteractiveElementsMode(forceEnabled?: boolean): void;
|
|
239
|
-
getInteractiveForSerialization():
|
|
260
|
+
getInteractiveForSerialization(): Apollon_2.InteractiveElements | undefined;
|
|
240
261
|
getDiagramMetadata(): {
|
|
241
262
|
diagramTitle: string;
|
|
242
263
|
diagramType: "ClassDiagram" | "ObjectDiagram" | "ActivityDiagram" | "UseCaseDiagram" | "CommunicationDiagram" | "ComponentDiagram" | "DeploymentDiagram" | "PetriNet" | "ReachabilityGraph" | "SyntaxTree" | "Flowchart" | "BPMN" | "Sfc";
|
|
243
264
|
};
|
|
244
|
-
get model():
|
|
245
|
-
set model(model:
|
|
265
|
+
get model(): Apollon_2.UMLModel;
|
|
266
|
+
set model(model: Apollon_2.UMLModel);
|
|
246
267
|
/**
|
|
247
268
|
* Host-driven element highlighting. Paints a translucent overlay over each
|
|
248
|
-
* given node / edge / class-member id in the supplied CSS color
|
|
249
|
-
*
|
|
250
|
-
*
|
|
251
|
-
* elements that are missing feedback, or Athena marking elements that have
|
|
252
|
-
* automatic-feedback suggestions.
|
|
269
|
+
* given node / edge / class-member id in the supplied CSS color. Typical
|
|
270
|
+
* hosts: an assessment editor marking elements that are missing feedback, or
|
|
271
|
+
* Athena marking elements that have automatic-feedback suggestions.
|
|
253
272
|
*
|
|
254
273
|
* The highlight is an ephemeral view overlay: it is NOT written into the
|
|
255
274
|
* model, NOT serialized by `get model`, and NOT shared with collaborators.
|
|
@@ -263,9 +282,9 @@ export declare class ApollonEditor {
|
|
|
263
282
|
/** Returns a copy of the current highlight record (id -> CSS color). */
|
|
264
283
|
getElementHighlights(): Record<string, string>;
|
|
265
284
|
getSelectedElements(): string[];
|
|
266
|
-
get view():
|
|
267
|
-
set view(view:
|
|
268
|
-
addOrUpdateAssessment(assessment:
|
|
285
|
+
get view(): Apollon_2.ApollonView;
|
|
286
|
+
set view(view: Apollon_2.ApollonView);
|
|
287
|
+
addOrUpdateAssessment(assessment: Apollon_2.Assessment): void;
|
|
269
288
|
static generateInitialSyncMessage(): string;
|
|
270
289
|
static generateInitialAwarenessSyncMessage(): string;
|
|
271
290
|
}
|
|
@@ -308,30 +327,159 @@ export declare type ApollonOptions = {
|
|
|
308
327
|
collaborationEnabled?: boolean;
|
|
309
328
|
collaboration?: ApollonCollaborationOptions;
|
|
310
329
|
scrollLock?: boolean;
|
|
330
|
+
/**
|
|
331
|
+
* Optional `--apollon-*` CSS custom properties applied to the editor's mount
|
|
332
|
+
* element. Build one with `createApollonTheme(...)`. Fully optional — an
|
|
333
|
+
* un-themed editor falls back to the library's built-in light/dark values.
|
|
334
|
+
*/
|
|
335
|
+
theme?: Partial<Record<`--apollon-${string}`, string>>;
|
|
336
|
+
/**
|
|
337
|
+
* Sets `data-theme` on the mount element. Optional — when omitted the editor
|
|
338
|
+
* keeps any `data-theme` already on the element / inherited from an ancestor.
|
|
339
|
+
* See `library/THEMING.md`.
|
|
340
|
+
*/
|
|
341
|
+
dataTheme?: "light" | "dark";
|
|
311
342
|
};
|
|
312
343
|
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
}
|
|
334
|
-
|
|
344
|
+
/**
|
|
345
|
+
* Props for the {@link Apollon} React component.
|
|
346
|
+
*
|
|
347
|
+
* - `default*` / `availableViews` / `enablePopups` / `collaborationEnabled` /
|
|
348
|
+
* `debug` are **snapshotted on mount** — re-key the component to apply
|
|
349
|
+
* changes against a new editor instance.
|
|
350
|
+
* - `readonly` / `view` / `mode` / `scrollLock` / `previewMode` / `model`
|
|
351
|
+
* are **reactive** — applied via the matching `ApollonEditor` setter when
|
|
352
|
+
* the prop changes. Passing `undefined` leaves the live value untouched;
|
|
353
|
+
* re-key the component to fully reset.
|
|
354
|
+
*/
|
|
355
|
+
export declare interface ApollonProps {
|
|
356
|
+
className?: string;
|
|
357
|
+
/** Inline styles. Needs an explicit non-zero height or the canvas renders blank. */
|
|
358
|
+
style?: CSSProperties;
|
|
359
|
+
/**
|
|
360
|
+
* Optional `--apollon-*` CSS custom properties spread onto the mount node's
|
|
361
|
+
* `style`. Build one with `createApollonTheme(...)`. Fully optional — an
|
|
362
|
+
* un-themed embed falls back to the library's built-in light/dark values.
|
|
363
|
+
*/
|
|
364
|
+
theme?: Partial<Record<`--apollon-${string}`, string>>;
|
|
365
|
+
/**
|
|
366
|
+
* Sets `data-theme` on the mount node. Optional — when omitted the editor
|
|
367
|
+
* inherits whatever `data-theme` an ancestor declares, or the default light
|
|
368
|
+
* values. See `library/THEMING.md`.
|
|
369
|
+
*/
|
|
370
|
+
dataTheme?: "light" | "dark";
|
|
371
|
+
/** Rendered inside the {@link ApollonInstanceContext} provider alongside the canvas. */
|
|
372
|
+
children?: ReactNode;
|
|
373
|
+
defaultModel?: UMLModel;
|
|
374
|
+
defaultType?: UMLDiagramType;
|
|
375
|
+
defaultMode?: ApollonMode;
|
|
376
|
+
defaultView?: ApollonView;
|
|
377
|
+
availableViews?: ApollonView[];
|
|
378
|
+
enablePopups?: boolean;
|
|
379
|
+
collaborationEnabled?: boolean;
|
|
380
|
+
collaboration?: ApollonCollaborationOptions;
|
|
381
|
+
debug?: boolean;
|
|
382
|
+
readonly?: boolean;
|
|
383
|
+
view?: ApollonView;
|
|
384
|
+
mode?: ApollonMode;
|
|
385
|
+
scrollLock?: boolean;
|
|
386
|
+
/** Local-only preview overlay. See {@link ApollonEditor.setPreviewMode}. */
|
|
387
|
+
previewMode?: boolean;
|
|
388
|
+
/**
|
|
389
|
+
* One-way reactive model push — each new value applies via
|
|
390
|
+
* `editor.model = value`. NOT a two-way controlled value: the editor's own
|
|
391
|
+
* edits are not mirrored back, and feeding `subscribeToModelChange` into this
|
|
392
|
+
* prop loops. For save-on-change use `defaultModel` + an `onMount` subscription.
|
|
393
|
+
*/
|
|
394
|
+
model?: UMLModel;
|
|
395
|
+
/**
|
|
396
|
+
* Called once with the instance after mount. The optional returned function
|
|
397
|
+
* runs as cleanup before destroy (React-19-style cleanup return).
|
|
398
|
+
*/
|
|
399
|
+
onMount?: (editor: ApollonEditor) => void | (() => void);
|
|
400
|
+
/**
|
|
401
|
+
* Imperative handle to the underlying {@link ApollonEditor}. Assigned once
|
|
402
|
+
* after mount and cleared on unmount.
|
|
403
|
+
*/
|
|
404
|
+
ref?: Ref<ApollonEditor | null>;
|
|
405
|
+
}
|
|
406
|
+
|
|
407
|
+
/**
|
|
408
|
+
* Make a host-owned {@link ApollonEditor} reachable to descendants via
|
|
409
|
+
* {@link useApollonEditor}. Use when the host constructs the editor directly
|
|
410
|
+
* (non-React adapter, test fixture) instead of rendering {@link Apollon}.
|
|
411
|
+
*/
|
|
412
|
+
export declare function ApollonProvider({ editor, children, }: {
|
|
413
|
+
editor: ApollonEditor;
|
|
414
|
+
children: ReactNode;
|
|
415
|
+
}): JSX.Element;
|
|
416
|
+
|
|
417
|
+
/**
|
|
418
|
+
* The documented, stable subset of the `--apollon-*` editor theming tokens.
|
|
419
|
+
*
|
|
420
|
+
* Every field is optional: provide only the tokens you want to override; the
|
|
421
|
+
* rest fall back to the library's built-in light/dark values. Values are any
|
|
422
|
+
* valid CSS color/length string (e.g. `"#3e8acc"`, `"rgb(62 138 204)"`,
|
|
423
|
+
* `"var(--my-brand)"`).
|
|
424
|
+
*
|
|
425
|
+
* See `library/THEMING.md` for the full variable contract and host patterns.
|
|
426
|
+
*/
|
|
427
|
+
export declare interface ApollonTheme {
|
|
428
|
+
/** Accent / brand color. Maps to `--apollon-primary`. */
|
|
429
|
+
primary?: string;
|
|
430
|
+
/** Foreground used on top of `background`. Maps to `--apollon-primary-contrast`. */
|
|
431
|
+
primaryContrast?: string;
|
|
432
|
+
/** Muted/secondary accent. Maps to `--apollon-secondary`. */
|
|
433
|
+
secondary?: string;
|
|
434
|
+
/** Canvas / surface background. Maps to `--apollon-background`. */
|
|
435
|
+
background?: string;
|
|
436
|
+
/** Inverse of `background` (e.g. tooltips). Maps to `--apollon-background-inverse`. */
|
|
437
|
+
backgroundInverse?: string;
|
|
438
|
+
/** Slightly raised surface variant. Maps to `--apollon-background-variant`. */
|
|
439
|
+
backgroundVariant?: string;
|
|
440
|
+
/** Neutral gray surface. Maps to `--apollon-gray`. */
|
|
441
|
+
gray?: string;
|
|
442
|
+
/** Stronger gray (borders/dividers). Maps to `--apollon-gray-variant`. */
|
|
443
|
+
grayVariant?: string;
|
|
444
|
+
/** Canvas grid line color. Maps to `--apollon-grid`. */
|
|
445
|
+
grid?: string;
|
|
446
|
+
/** Vertical alignment guide color. Maps to `--apollon-guide-vertical`. */
|
|
447
|
+
guideVertical?: string;
|
|
448
|
+
/** Horizontal alignment guide color. Maps to `--apollon-guide-horizontal`. */
|
|
449
|
+
guideHorizontal?: string;
|
|
450
|
+
/** Warning alert accent. Maps to `--apollon-alert-warning-yellow`. */
|
|
451
|
+
warning?: string;
|
|
452
|
+
/** Warning alert background. Maps to `--apollon-alert-warning-background`. */
|
|
453
|
+
warningBackground?: string;
|
|
454
|
+
/** Warning alert border. Maps to `--apollon-alert-warning-border`. */
|
|
455
|
+
warningBorder?: string;
|
|
456
|
+
/** Danger alert text color. Maps to `--apollon-alert-danger-color`. */
|
|
457
|
+
danger?: string;
|
|
458
|
+
/** Danger alert background. Maps to `--apollon-alert-danger-background`. */
|
|
459
|
+
dangerBackground?: string;
|
|
460
|
+
/** Danger alert border. Maps to `--apollon-alert-danger-border`. */
|
|
461
|
+
dangerBorder?: string;
|
|
462
|
+
/** Raised card/popover/menu surface. Maps to `--apollon-surface`. */
|
|
463
|
+
surface?: string;
|
|
464
|
+
/** Sunken/recessed surface (e.g. wells, muted areas). Maps to `--apollon-surface-sunken`. */
|
|
465
|
+
surfaceSunken?: string;
|
|
466
|
+
/** Hover state of the raised surface. Maps to `--apollon-surface-hover`. */
|
|
467
|
+
surfaceHover?: string;
|
|
468
|
+
/** Default border / divider color. Maps to `--apollon-border`. */
|
|
469
|
+
border?: string;
|
|
470
|
+
/** Subtle border / divider color. Maps to `--apollon-border-subtle`. */
|
|
471
|
+
borderSubtle?: string;
|
|
472
|
+
/** Base corner radius for shared primitives (CSS length). Maps to `--apollon-radius`. */
|
|
473
|
+
radius?: string;
|
|
474
|
+
/** Toggle/switch outline. Maps to `--apollon-switch-box-border-color`. */
|
|
475
|
+
switchBoxBorderColor?: string;
|
|
476
|
+
/** List-group surface color. Maps to `--apollon-list-group-color`. */
|
|
477
|
+
listGroupColor?: string;
|
|
478
|
+
/** Outline-secondary button color. Maps to `--apollon-btn-outline-secondary-color`. */
|
|
479
|
+
btnOutlineSecondaryColor?: string;
|
|
480
|
+
/** Modal footer divider. Maps to `--apollon-modal-bottom-border`. */
|
|
481
|
+
modalBottomBorder?: string;
|
|
482
|
+
}
|
|
335
483
|
|
|
336
484
|
export declare enum ApollonView {
|
|
337
485
|
Modelling = "Modelling",
|
|
@@ -487,10 +635,7 @@ declare function ColorDescription({ width, height, data, id, }: NodeProps<Node_2
|
|
|
487
635
|
|
|
488
636
|
declare function CommunicationObjectName({ id, width, height, data, }: NodeProps<Node_2<CommunicationObjectNodeProps>>): JSX.Element;
|
|
489
637
|
|
|
490
|
-
declare type CommunicationObjectNodeProps =
|
|
491
|
-
methods: ClassNodeElement[];
|
|
492
|
-
attributes: ClassNodeElement[];
|
|
493
|
-
} & DefaultNodeProps;
|
|
638
|
+
declare type CommunicationObjectNodeProps = ObjectNodeProps;
|
|
494
639
|
|
|
495
640
|
declare function Component({ id, width, height, data, parentId, }: NodeProps<Node_2<ComponentNodeProps>>): JSX.Element | null;
|
|
496
641
|
|
|
@@ -506,6 +651,23 @@ declare type ComponentSubsystemNodeProps = {
|
|
|
506
651
|
isComponentSubsystemHeaderShown: boolean;
|
|
507
652
|
} & DefaultNodeProps;
|
|
508
653
|
|
|
654
|
+
/**
|
|
655
|
+
* Build a framework-agnostic style object of `--apollon-*` CSS custom
|
|
656
|
+
* properties from a (partial) {@link ApollonTheme}.
|
|
657
|
+
*
|
|
658
|
+
* Only the keys you provide are emitted — undefined fields are skipped so the
|
|
659
|
+
* library's built-in fallbacks stay in effect. The result can be spread onto
|
|
660
|
+
* any `style` object/attribute:
|
|
661
|
+
*
|
|
662
|
+
* ```tsx
|
|
663
|
+
* <Apollon theme={createApollonTheme({ primary: "#ff5722" })} />
|
|
664
|
+
* ```
|
|
665
|
+
*
|
|
666
|
+
* @param theme partial token object; unset tokens fall back to the defaults.
|
|
667
|
+
* @returns a record of `--apollon-*` variables to their string values.
|
|
668
|
+
*/
|
|
669
|
+
export declare function createApollonTheme(theme: ApollonTheme): Record<`--apollon-${string}`, string>;
|
|
670
|
+
|
|
509
671
|
declare type CustomEdgeProps = {
|
|
510
672
|
sourceRole: string | null;
|
|
511
673
|
sourceMultiplicity: string | null;
|
|
@@ -745,11 +907,6 @@ declare interface IPoint {
|
|
|
745
907
|
y: number;
|
|
746
908
|
}
|
|
747
909
|
|
|
748
|
-
declare interface IPoint_2 {
|
|
749
|
-
x: number;
|
|
750
|
-
y: number;
|
|
751
|
-
}
|
|
752
|
-
|
|
753
910
|
export declare enum Locale {
|
|
754
911
|
en = "en",
|
|
755
912
|
de = "de"
|
|
@@ -778,7 +935,7 @@ declare type ObjectNodeProps = {
|
|
|
778
935
|
|
|
779
936
|
export declare interface OrthogonalEdgeData {
|
|
780
937
|
[key: string]: unknown;
|
|
781
|
-
points:
|
|
938
|
+
points: IPoint[];
|
|
782
939
|
}
|
|
783
940
|
|
|
784
941
|
/** The public registration payload (options + renderer). */
|
|
@@ -873,8 +1030,6 @@ declare type SfcTransitionBranchNodeProps = DefaultNodeProps & {
|
|
|
873
1030
|
|
|
874
1031
|
declare type Sink = Pick<Console, "error" | "warn" | "debug">;
|
|
875
1032
|
|
|
876
|
-
export declare type Styles = typeof apollonTheme;
|
|
877
|
-
|
|
878
1033
|
export declare type Subscribers = {
|
|
879
1034
|
[key: number]: Unsubscriber;
|
|
880
1035
|
};
|
|
@@ -945,6 +1100,30 @@ export declare type UMLModelElementType = DiagramNodeType | DiagramEdgeType;
|
|
|
945
1100
|
|
|
946
1101
|
export declare type Unsubscriber = () => void;
|
|
947
1102
|
|
|
1103
|
+
export declare function useApollonEditor(): ApollonEditor | null;
|
|
1104
|
+
|
|
1105
|
+
/** Like {@link useApollonEditor}, but throws when no editor is available. */
|
|
1106
|
+
export declare function useApollonEditorOrThrow(): ApollonEditor;
|
|
1107
|
+
|
|
1108
|
+
/**
|
|
1109
|
+
* Subscribe to a value derived from the {@link ApollonEditor}.
|
|
1110
|
+
*
|
|
1111
|
+
* `getSnapshot` MUST return a referentially stable value when nothing changed;
|
|
1112
|
+
* do not allocate inside it. Returns `undefined` while no editor is mounted
|
|
1113
|
+
* (including during SSR). Pass the value type explicitly —
|
|
1114
|
+
* `useApollonSubscription<string[]>(...)` — it can't be inferred from the
|
|
1115
|
+
* `subscribe` callback (its `value` parameter is a contravariant position).
|
|
1116
|
+
*
|
|
1117
|
+
* @example
|
|
1118
|
+
* ```tsx
|
|
1119
|
+
* const selection = useApollonSubscription<string[]>(
|
|
1120
|
+
* (editor, cb) => editor.subscribeToSelectionChange(cb),
|
|
1121
|
+
* (editor) => editor.getSelectedElements(),
|
|
1122
|
+
* )
|
|
1123
|
+
* ```
|
|
1124
|
+
*/
|
|
1125
|
+
export declare function useApollonSubscription<T>(subscribe: (editor: ApollonEditor, cb: (value: T) => void) => number, getSnapshot: (editor: ApollonEditor) => T): T | undefined;
|
|
1126
|
+
|
|
948
1127
|
declare function UseCase({ id, width, height, data, parentId, }: NodeProps<Node_2<DefaultNodeProps>>): JSX.Element | null;
|
|
949
1128
|
|
|
950
1129
|
declare function UseCaseActor({ id, width, height, data, parentId, }: NodeProps<Node_2<DefaultNodeProps>>): JSX.Element | null;
|