@likec4/diagram 1.45.0 → 1.46.2
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/bundle/index.js +2488 -1959
- package/dist/LikeC4Diagram.d.ts +1 -1
- package/dist/LikeC4Diagram.js +8 -7
- package/dist/LikeC4Diagram.props.d.ts +4 -12
- package/dist/LikeC4ProjectsProvider.js +8 -4
- package/dist/LikeC4View.js +1 -5
- package/dist/ReactLikeC4.d.ts +1 -4
- package/dist/StaticLikeC4Diagram.js +0 -2
- package/dist/base-primitives/NodeHandles.d.ts +2 -1
- package/dist/base-primitives/NodeHandles.js +22 -18
- package/dist/base-primitives/compound/CompoundActionButton.js +1 -1
- package/dist/base-primitives/compound/CompoundDetailsButton.js +1 -1
- package/dist/base-primitives/edge/EdgeActionButton.js +1 -1
- package/dist/base-primitives/edge/EdgeContainer.d.ts +1 -1
- package/dist/base-primitives/edge/EdgeContainer.js +2 -3
- package/dist/base-primitives/edge/EdgeLabel.js +16 -16
- package/dist/base-primitives/edge/EdgeLabelContainer.d.ts +1 -1
- package/dist/base-primitives/edge/EdgeLabelContainer.js +5 -4
- package/dist/base-primitives/edge/EdgePath.js +13 -18
- package/dist/base-primitives/element/ElementActionButtons.js +1 -1
- package/dist/base-primitives/element/ElementDetailsButton.js +1 -1
- package/dist/base-primitives/memoNode.js +1 -1
- package/dist/components/ErrorFallback.js +1 -1
- package/dist/components/Link.js +2 -2
- package/dist/context/DiagramEventHandlers.js +0 -1
- package/dist/context/DiagramFeatures.d.ts +1 -1
- package/dist/context/DiagramFeatures.js +1 -0
- package/dist/context/EnsureMantine.js +2 -1
- package/dist/context/IconRenderer.js +6 -6
- package/dist/editor/LikeC4EditorProvider.d.ts +22 -0
- package/dist/editor/LikeC4EditorProvider.js +12 -0
- package/dist/editor/__tests__/fixture.d.ts +205 -0
- package/dist/editor/applyChangesToManualLayout.d.ts +8 -0
- package/dist/editor/applyChangesToManualLayout.js +182 -0
- package/dist/editor/editorActor.actions.d.ts +201 -0
- package/dist/editor/editorActor.actions.js +149 -0
- package/dist/editor/editorActor.d.ts +653 -0
- package/dist/editor/editorActor.js +324 -0
- package/dist/editor/hotkeyActor.d.ts +7 -0
- package/dist/editor/hotkeyActor.js +19 -0
- package/dist/editor/index.d.ts +3 -2
- package/dist/editor/useEditorActorLogic.d.ts +565 -0
- package/dist/editor/useEditorActorLogic.js +54 -0
- package/dist/hooks/safeContext.d.ts +3 -2
- package/dist/hooks/safeContext.js +7 -4
- package/dist/hooks/useDiagram.d.ts +4 -2
- package/dist/hooks/useDiagram.js +19 -8
- package/dist/hooks/useDiagramCompareLayout.d.ts +8 -0
- package/dist/hooks/useDiagramCompareLayout.js +22 -2
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/likec4diagram/DiagramXYFlow.js +1 -2
- package/dist/likec4diagram/custom/edges/EdgeDrifts.js +1 -5
- package/dist/likec4diagram/custom/edges/RelationshipEdge.js +74 -48
- package/dist/likec4diagram/custom/edges/edges.css.d.ts +0 -1
- package/dist/likec4diagram/custom/edges/edges.css.js +30 -24
- package/dist/likec4diagram/custom/edges/useControlPoints.js +2 -2
- package/dist/likec4diagram/custom/nodes/ElementActions.js +2 -2
- package/dist/likec4diagram/custom/nodes/NodeDrifts.js +4 -9
- package/dist/likec4diagram/custom/nodes/nodes.js +3 -6
- package/dist/likec4diagram/custom/nodes/toolbar/ElementToolbar.js +2 -2
- package/dist/likec4diagram/custom/nodes/toolbar/_shared.js +2 -2
- package/dist/likec4diagram/relationship-popover/RelationshipPopover.js +127 -14
- package/dist/likec4diagram/state/DiagramActorProvider.js +63 -71
- package/dist/likec4diagram/state/assign.d.ts +4 -1
- package/dist/likec4diagram/state/assign.js +11 -8
- package/dist/likec4diagram/state/createViewChange.js +13 -9
- package/dist/likec4diagram/state/diagram-api.d.ts +20 -2
- package/dist/likec4diagram/state/diagram-api.js +58 -44
- package/dist/likec4diagram/state/hotkeyActor.d.ts +1 -1
- package/dist/likec4diagram/state/hotkeyActor.js +12 -0
- package/dist/likec4diagram/state/machine.actions.d.ts +774 -195
- package/dist/likec4diagram/state/machine.actions.js +185 -74
- package/dist/likec4diagram/state/machine.actions.layout.d.ts +93 -31
- package/dist/likec4diagram/state/machine.actions.layout.js +16 -4
- package/dist/likec4diagram/state/machine.d.ts +5 -4
- package/dist/likec4diagram/state/machine.js +11 -6
- package/dist/likec4diagram/state/machine.setup.d.ts +20 -9
- package/dist/likec4diagram/state/machine.setup.js +18 -3
- package/dist/likec4diagram/state/machine.state.initializing.d.ts +34 -18
- package/dist/likec4diagram/state/machine.state.initializing.js +10 -10
- package/dist/likec4diagram/state/machine.state.navigating.js +28 -9
- package/dist/likec4diagram/state/machine.state.ready.d.ts +1368 -434
- package/dist/likec4diagram/state/machine.state.ready.focused.d.ts +363 -39
- package/dist/likec4diagram/state/machine.state.ready.focused.js +17 -4
- package/dist/likec4diagram/state/machine.state.ready.idle.d.ts +104 -38
- package/dist/likec4diagram/state/machine.state.ready.idle.js +14 -5
- package/dist/likec4diagram/state/machine.state.ready.js +13 -90
- package/dist/likec4diagram/state/machine.state.ready.printing.d.ts +18 -6
- package/dist/likec4diagram/state/machine.state.ready.walkthrough.d.ts +204 -31
- package/dist/likec4diagram/state/machine.state.ready.walkthrough.js +14 -1
- package/dist/likec4diagram/state/types.d.ts +6 -2
- package/dist/likec4diagram/state/utils.d.ts +33 -7
- package/dist/likec4diagram/state/utils.js +23 -7
- package/dist/likec4diagram/ui/notation/NotationPanel.js +3 -3
- package/dist/likec4diagram/useLayoutConstraints.js +5 -9
- package/dist/navigationpanel/NavigationPanel.js +6 -9
- package/dist/navigationpanel/NavigationPanelDropdown.js +7 -7
- package/dist/navigationpanel/_common.js +1 -1
- package/dist/navigationpanel/comparepanel/CompareActionsMenu.d.ts +3 -1
- package/dist/navigationpanel/comparepanel/CompareActionsMenu.js +40 -14
- package/dist/navigationpanel/comparepanel/ComparePanelControls.js +6 -4
- package/dist/navigationpanel/comparepanel/LayoutTypeSwitcher.js +2 -2
- package/dist/navigationpanel/controls/DetailsControls.js +2 -2
- package/dist/navigationpanel/controls/LayoutWarning.js +2 -1
- package/dist/navigationpanel/controls/NavigationButtons.js +2 -2
- package/dist/navigationpanel/controls/OpenSource.js +1 -1
- package/dist/navigationpanel/controls/SearchControl.js +2 -2
- package/dist/navigationpanel/controls/ToggleReadonly.js +25 -17
- package/dist/navigationpanel/dropdown/ProjectsMenu.js +1 -1
- package/dist/navigationpanel/editorpanel/CenterCamera.js +1 -1
- package/dist/navigationpanel/editorpanel/ChangeAutoLayoutButton.js +1 -1
- package/dist/navigationpanel/editorpanel/ManualLayoutToolsButton.js +9 -9
- package/dist/navigationpanel/editorpanel/ToggleReadonly.js +1 -1
- package/dist/navigationpanel/walkthrough/ActiveWalkthroughControls.js +3 -3
- package/dist/navigationpanel/walkthrough/DynamicViewControls.d.ts +66 -66
- package/dist/navigationpanel/walkthrough/DynamicViewControls.js +1 -1
- package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.36.0_react@19.2.3}/node_modules/@tabler/icons-react/dist/esm/createReactComponent.js +1 -1
- package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.36.0_react@19.2.3}/node_modules/@tabler/icons-react/dist/esm/defaultAttributes.js +1 -1
- package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.36.0_react@19.2.3}/node_modules/@tabler/icons-react/dist/esm/icons/IconAlertTriangle.js +1 -1
- package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.36.0_react@19.2.3}/node_modules/@tabler/icons-react/dist/esm/icons/IconArrowDownRight.js +1 -1
- package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.36.0_react@19.2.3}/node_modules/@tabler/icons-react/dist/esm/icons/IconArrowLeft.js +1 -1
- package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.36.0_react@19.2.3}/node_modules/@tabler/icons-react/dist/esm/icons/IconArrowRight.js +1 -1
- package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.36.0_react@19.2.3}/node_modules/@tabler/icons-react/dist/esm/icons/IconBolt.js +1 -1
- package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.36.0_react@19.2.3}/node_modules/@tabler/icons-react/dist/esm/icons/IconBrowser.js +1 -1
- package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.36.0_react@19.2.3}/node_modules/@tabler/icons-react/dist/esm/icons/IconCheck.js +1 -1
- package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.36.0_react@19.2.3}/node_modules/@tabler/icons-react/dist/esm/icons/IconChevronDown.js +1 -1
- package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.36.0_react@19.2.3}/node_modules/@tabler/icons-react/dist/esm/icons/IconChevronLeft.js +1 -1
- package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.36.0_react@19.2.3}/node_modules/@tabler/icons-react/dist/esm/icons/IconChevronRight.js +1 -1
- package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.36.0_react@19.2.3}/node_modules/@tabler/icons-react/dist/esm/icons/IconCopy.js +1 -1
- package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.36.0_react@19.2.3}/node_modules/@tabler/icons-react/dist/esm/icons/IconCylinder.js +1 -1
- package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.36.0_react@19.2.3}/node_modules/@tabler/icons-react/dist/esm/icons/IconDeviceMobile.js +1 -1
- package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.36.0_react@19.2.3}/node_modules/@tabler/icons-react/dist/esm/icons/IconDirectionSignFilled.js +1 -1
- package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.36.0_react@19.2.3}/node_modules/@tabler/icons-react/dist/esm/icons/IconExternalLink.js +1 -1
- package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.36.0_react@19.2.3}/node_modules/@tabler/icons-react/dist/esm/icons/IconFileSymlink.js +1 -1
- package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.36.0_react@19.2.3}/node_modules/@tabler/icons-react/dist/esm/icons/IconFocusCentered.js +1 -1
- package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.36.0_react@19.2.3}/node_modules/@tabler/icons-react/dist/esm/icons/IconFolderFilled.js +1 -1
- package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.36.0_react@19.2.3}/node_modules/@tabler/icons-react/dist/esm/icons/IconHelpCircle.js +1 -1
- package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.36.0_react@19.2.3}/node_modules/@tabler/icons-react/dist/esm/icons/IconId.js +1 -1
- package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.36.0_react@19.2.3}/node_modules/@tabler/icons-react/dist/esm/icons/IconInfoCircle.js +1 -1
- package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.36.0_react@19.2.3}/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutAlignBottom.js +1 -1
- package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.36.0_react@19.2.3}/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutAlignCenter.js +1 -1
- package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.36.0_react@19.2.3}/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutAlignLeft.js +1 -1
- package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.36.0_react@19.2.3}/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutAlignMiddle.js +1 -1
- package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.36.0_react@19.2.3}/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutAlignRight.js +1 -1
- package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.36.0_react@19.2.3}/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutAlignTop.js +1 -1
- package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.36.0_react@19.2.3}/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutBoardSplit.js +1 -1
- package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.36.0_react@19.2.3}/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutCollage.js +1 -1
- package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.36.0_react@19.2.3}/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutDashboard.js +1 -1
- package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.36.0_react@19.2.3}/node_modules/@tabler/icons-react/dist/esm/icons/IconLink.js +1 -1
- package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.36.0_react@19.2.3}/node_modules/@tabler/icons-react/dist/esm/icons/IconLock.js +1 -1
- package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.36.0_react@19.2.3}/node_modules/@tabler/icons-react/dist/esm/icons/IconLockOpen2.js +1 -1
- package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.36.0_react@19.2.3}/node_modules/@tabler/icons-react/dist/esm/icons/IconPlayerPlayFilled.js +1 -1
- package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.36.0_react@19.2.3}/node_modules/@tabler/icons-react/dist/esm/icons/IconPlayerSkipBackFilled.js +1 -1
- package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.36.0_react@19.2.3}/node_modules/@tabler/icons-react/dist/esm/icons/IconPlayerSkipForwardFilled.js +1 -1
- package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.36.0_react@19.2.3}/node_modules/@tabler/icons-react/dist/esm/icons/IconPlayerStopFilled.js +1 -1
- package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.36.0_react@19.2.3}/node_modules/@tabler/icons-react/dist/esm/icons/IconRectangularPrism.js +1 -1
- package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.36.0_react@19.2.3}/node_modules/@tabler/icons-react/dist/esm/icons/IconReorder.js +1 -1
- package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.36.0_react@19.2.3}/node_modules/@tabler/icons-react/dist/esm/icons/IconRouteOff.js +1 -1
- package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.36.0_react@19.2.3}/node_modules/@tabler/icons-react/dist/esm/icons/IconSearch.js +1 -1
- package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.36.0_react@19.2.3}/node_modules/@tabler/icons-react/dist/esm/icons/IconSelector.js +1 -1
- package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.36.0_react@19.2.3}/node_modules/@tabler/icons-react/dist/esm/icons/IconStack2.js +1 -1
- package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.36.0_react@19.2.3}/node_modules/@tabler/icons-react/dist/esm/icons/IconStarFilled.js +1 -1
- package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.36.0_react@19.2.3}/node_modules/@tabler/icons-react/dist/esm/icons/IconTarget.js +1 -1
- package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.36.0_react@19.2.3}/node_modules/@tabler/icons-react/dist/esm/icons/IconTransform.js +1 -1
- package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.36.0_react@19.2.3}/node_modules/@tabler/icons-react/dist/esm/icons/IconUser.js +1 -1
- package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.36.0_react@19.2.3}/node_modules/@tabler/icons-react/dist/esm/icons/IconX.js +1 -1
- package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.36.0_react@19.2.3}/node_modules/@tabler/icons-react/dist/esm/icons/IconZoomScan.js +1 -1
- package/dist/overlays/Overlays.js +23 -11
- package/dist/overlays/element-details/ElementDetailsCard.css.js +8 -11
- package/dist/overlays/element-details/ElementDetailsCard.js +4 -4
- package/dist/overlays/element-details/MetadataValue.js +4 -6
- package/dist/overlays/element-details/TabPanelDeployments.js +3 -3
- package/dist/overlays/element-details/TabPanelRelationships.js +12 -7
- package/dist/overlays/element-details/TabPanelStructure.js +1 -1
- package/dist/overlays/overlaysActor.js +6 -5
- package/dist/overlays/relationship-details/RelationshipDetails.js +3 -3
- package/dist/overlays/relationship-details/SelectEdge.js +2 -2
- package/dist/overlays/relationship-details/custom/ElementActions.js +3 -3
- package/dist/overlays/relationships-browser/RelationshipsBrowser.js +3 -3
- package/dist/overlays/relationships-browser/SelectElement.js +2 -2
- package/dist/overlays/relationships-browser/custom/ElementActions.js +3 -3
- package/dist/search/components/ElementsColumn.js +16 -11
- package/dist/search/components/PickView.js +3 -1
- package/dist/search/components/SearchByTags.js +1 -1
- package/dist/search/components/SearchInput.js +1 -1
- package/dist/search/components/ViewsColum.d.ts +3 -1
- package/dist/search/components/ViewsColum.js +14 -9
- package/dist/search/components/utils.d.ts +6 -0
- package/dist/search/components/utils.js +4 -1
- package/dist/shadowroot/styles.css.js +6 -1
- package/dist/styles.css2.js +1 -1
- package/dist/utils/index.d.ts +2 -2
- package/dist/utils/xyflow.d.ts +2 -3
- package/dist/utils/xyflow.js +9 -8
- package/package.json +22 -22
- package/panda.buildinfo.json +61 -80
- package/styles-min.css +1 -1
- package/styles.css +1 -1
- package/dist/base-primitives/edge/edge.css.d.ts +0 -4
- package/dist/base-primitives/edge/edge.css.js +0 -71
- package/dist/editor/LikeC4EditorContext.d.ts +0 -21
- package/dist/likec4diagram/state/syncManualLayoutActor.d.ts +0 -46
- package/dist/likec4diagram/state/syncManualLayoutActor.js +0 -309
- package/dist/utils/vector.d.ts +0 -86
- package/dist/utils/vector.js +0 -127
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { CancelAction, StopAction, ActionFunction, Values } from 'xstate';
|
|
2
2
|
import { Context, Events, EmittedEvents } from './machine.setup';
|
|
3
3
|
import { HotKeyEvent, HotkeyActorLogic } from './hotkeyActor';
|
|
4
|
-
import { SyncLayoutActorLogic } from './syncManualLayoutActor';
|
|
5
4
|
import { OverlaysActorLogic } from '../../overlays/overlaysActor';
|
|
6
5
|
import { SearchActorLogic } from '../../search/searchActor';
|
|
7
6
|
import { MediaPrintActorLogic } from './mediaPrintActor';
|
|
7
|
+
import { EditorActorLogic } from '../../editor';
|
|
8
8
|
export declare const walkthrough: {
|
|
9
9
|
id: string;
|
|
10
10
|
entry: CancelAction<Context, Events, undefined, Events>[];
|
|
@@ -16,16 +16,17 @@ export declare const walkthrough: {
|
|
|
16
16
|
'key.arrow.left': {
|
|
17
17
|
actions: ActionFunction<Context, HotKeyEvent, Events, undefined, never, never, never, never, never>;
|
|
18
18
|
};
|
|
19
|
+
'key.arrow.up': {
|
|
20
|
+
actions: ActionFunction<Context, HotKeyEvent, Events, undefined, never, never, never, never, never>;
|
|
21
|
+
};
|
|
19
22
|
'key.arrow.right': {
|
|
20
23
|
actions: ActionFunction<Context, HotKeyEvent, Events, undefined, never, never, never, never, never>;
|
|
21
24
|
};
|
|
25
|
+
'key.arrow.down': {
|
|
26
|
+
actions: ActionFunction<Context, HotKeyEvent, Events, undefined, never, never, never, never, never>;
|
|
27
|
+
};
|
|
22
28
|
'walkthrough.step': {
|
|
23
29
|
actions: ( ActionFunction<Context, Events, Events, undefined, Values<{
|
|
24
|
-
syncManualLayoutActorLogic: {
|
|
25
|
-
src: "syncManualLayoutActorLogic";
|
|
26
|
-
logic: SyncLayoutActorLogic;
|
|
27
|
-
id: "syncLayout";
|
|
28
|
-
};
|
|
29
30
|
hotkeyActorLogic: {
|
|
30
31
|
src: "hotkeyActorLogic";
|
|
31
32
|
logic: HotkeyActorLogic;
|
|
@@ -46,11 +47,20 @@ export declare const walkthrough: {
|
|
|
46
47
|
logic: MediaPrintActorLogic;
|
|
47
48
|
id: "mediaPrint";
|
|
48
49
|
};
|
|
50
|
+
editorActor: {
|
|
51
|
+
src: "editorActor";
|
|
52
|
+
logic: EditorActorLogic;
|
|
53
|
+
id: "editor";
|
|
54
|
+
};
|
|
49
55
|
}>, never, Values<{
|
|
50
56
|
isReady: {
|
|
51
57
|
type: "isReady";
|
|
52
58
|
params: unknown;
|
|
53
59
|
};
|
|
60
|
+
"enabled: Editor": {
|
|
61
|
+
type: "enabled: Editor";
|
|
62
|
+
params: unknown;
|
|
63
|
+
};
|
|
54
64
|
"enabled: FitView": {
|
|
55
65
|
type: "enabled: FitView";
|
|
56
66
|
params: unknown;
|
|
@@ -83,6 +93,10 @@ export declare const walkthrough: {
|
|
|
83
93
|
type: "enabled: DynamicViewWalkthrough";
|
|
84
94
|
params: unknown;
|
|
85
95
|
};
|
|
96
|
+
"focus.node: autoUnfocus": {
|
|
97
|
+
type: "focus.node: autoUnfocus";
|
|
98
|
+
params: unknown;
|
|
99
|
+
};
|
|
86
100
|
"enabled: Overlays": {
|
|
87
101
|
type: "enabled: Overlays";
|
|
88
102
|
params: unknown;
|
|
@@ -95,6 +109,10 @@ export declare const walkthrough: {
|
|
|
95
109
|
type: "is dynamic view";
|
|
96
110
|
params: unknown;
|
|
97
111
|
};
|
|
112
|
+
"is same view": {
|
|
113
|
+
type: "is same view";
|
|
114
|
+
params: unknown;
|
|
115
|
+
};
|
|
98
116
|
"is another view": {
|
|
99
117
|
type: "is another view";
|
|
100
118
|
params: unknown;
|
|
@@ -127,11 +145,6 @@ export declare const walkthrough: {
|
|
|
127
145
|
type: "walkthrough.step";
|
|
128
146
|
direction: "next" | "previous";
|
|
129
147
|
}, Events, undefined, Values<{
|
|
130
|
-
syncManualLayoutActorLogic: {
|
|
131
|
-
src: "syncManualLayoutActorLogic";
|
|
132
|
-
logic: SyncLayoutActorLogic;
|
|
133
|
-
id: "syncLayout";
|
|
134
|
-
};
|
|
135
148
|
hotkeyActorLogic: {
|
|
136
149
|
src: "hotkeyActorLogic";
|
|
137
150
|
logic: HotkeyActorLogic;
|
|
@@ -152,15 +165,15 @@ export declare const walkthrough: {
|
|
|
152
165
|
logic: MediaPrintActorLogic;
|
|
153
166
|
id: "mediaPrint";
|
|
154
167
|
};
|
|
168
|
+
editorActor: {
|
|
169
|
+
src: "editorActor";
|
|
170
|
+
logic: EditorActorLogic;
|
|
171
|
+
id: "editor";
|
|
172
|
+
};
|
|
155
173
|
}>, never, never, never, never>)[];
|
|
156
174
|
};
|
|
157
175
|
'xyflow.edgeClick': {
|
|
158
176
|
actions: ( ActionFunction<Context, Events, Events, undefined, Values<{
|
|
159
|
-
syncManualLayoutActorLogic: {
|
|
160
|
-
src: "syncManualLayoutActorLogic";
|
|
161
|
-
logic: SyncLayoutActorLogic;
|
|
162
|
-
id: "syncLayout";
|
|
163
|
-
};
|
|
164
177
|
hotkeyActorLogic: {
|
|
165
178
|
src: "hotkeyActorLogic";
|
|
166
179
|
logic: HotkeyActorLogic;
|
|
@@ -181,11 +194,20 @@ export declare const walkthrough: {
|
|
|
181
194
|
logic: MediaPrintActorLogic;
|
|
182
195
|
id: "mediaPrint";
|
|
183
196
|
};
|
|
197
|
+
editorActor: {
|
|
198
|
+
src: "editorActor";
|
|
199
|
+
logic: EditorActorLogic;
|
|
200
|
+
id: "editor";
|
|
201
|
+
};
|
|
184
202
|
}>, never, Values<{
|
|
185
203
|
isReady: {
|
|
186
204
|
type: "isReady";
|
|
187
205
|
params: unknown;
|
|
188
206
|
};
|
|
207
|
+
"enabled: Editor": {
|
|
208
|
+
type: "enabled: Editor";
|
|
209
|
+
params: unknown;
|
|
210
|
+
};
|
|
189
211
|
"enabled: FitView": {
|
|
190
212
|
type: "enabled: FitView";
|
|
191
213
|
params: unknown;
|
|
@@ -218,6 +240,10 @@ export declare const walkthrough: {
|
|
|
218
240
|
type: "enabled: DynamicViewWalkthrough";
|
|
219
241
|
params: unknown;
|
|
220
242
|
};
|
|
243
|
+
"focus.node: autoUnfocus": {
|
|
244
|
+
type: "focus.node: autoUnfocus";
|
|
245
|
+
params: unknown;
|
|
246
|
+
};
|
|
221
247
|
"enabled: Overlays": {
|
|
222
248
|
type: "enabled: Overlays";
|
|
223
249
|
params: unknown;
|
|
@@ -230,6 +256,10 @@ export declare const walkthrough: {
|
|
|
230
256
|
type: "is dynamic view";
|
|
231
257
|
params: unknown;
|
|
232
258
|
};
|
|
259
|
+
"is same view": {
|
|
260
|
+
type: "is same view";
|
|
261
|
+
params: unknown;
|
|
262
|
+
};
|
|
233
263
|
"is another view": {
|
|
234
264
|
type: "is another view";
|
|
235
265
|
params: unknown;
|
|
@@ -262,11 +292,6 @@ export declare const walkthrough: {
|
|
|
262
292
|
type: "xyflow.edgeClick";
|
|
263
293
|
edge: import("../types").Types.Edge;
|
|
264
294
|
}, Events, undefined, Values<{
|
|
265
|
-
syncManualLayoutActorLogic: {
|
|
266
|
-
src: "syncManualLayoutActorLogic";
|
|
267
|
-
logic: SyncLayoutActorLogic;
|
|
268
|
-
id: "syncLayout";
|
|
269
|
-
};
|
|
270
295
|
hotkeyActorLogic: {
|
|
271
296
|
src: "hotkeyActorLogic";
|
|
272
297
|
logic: HotkeyActorLogic;
|
|
@@ -287,15 +312,15 @@ export declare const walkthrough: {
|
|
|
287
312
|
logic: MediaPrintActorLogic;
|
|
288
313
|
id: "mediaPrint";
|
|
289
314
|
};
|
|
315
|
+
editorActor: {
|
|
316
|
+
src: "editorActor";
|
|
317
|
+
logic: EditorActorLogic;
|
|
318
|
+
id: "editor";
|
|
319
|
+
};
|
|
290
320
|
}>, never, never, never, never>)[];
|
|
291
321
|
};
|
|
292
322
|
'notations.unhighlight': {
|
|
293
323
|
actions: ActionFunction<Context, Events, Events, undefined, Values<{
|
|
294
|
-
syncManualLayoutActorLogic: {
|
|
295
|
-
src: "syncManualLayoutActorLogic";
|
|
296
|
-
logic: SyncLayoutActorLogic;
|
|
297
|
-
id: "syncLayout";
|
|
298
|
-
};
|
|
299
324
|
hotkeyActorLogic: {
|
|
300
325
|
src: "hotkeyActorLogic";
|
|
301
326
|
logic: HotkeyActorLogic;
|
|
@@ -316,11 +341,20 @@ export declare const walkthrough: {
|
|
|
316
341
|
logic: MediaPrintActorLogic;
|
|
317
342
|
id: "mediaPrint";
|
|
318
343
|
};
|
|
344
|
+
editorActor: {
|
|
345
|
+
src: "editorActor";
|
|
346
|
+
logic: EditorActorLogic;
|
|
347
|
+
id: "editor";
|
|
348
|
+
};
|
|
319
349
|
}>, never, Values<{
|
|
320
350
|
isReady: {
|
|
321
351
|
type: "isReady";
|
|
322
352
|
params: unknown;
|
|
323
353
|
};
|
|
354
|
+
"enabled: Editor": {
|
|
355
|
+
type: "enabled: Editor";
|
|
356
|
+
params: unknown;
|
|
357
|
+
};
|
|
324
358
|
"enabled: FitView": {
|
|
325
359
|
type: "enabled: FitView";
|
|
326
360
|
params: unknown;
|
|
@@ -353,6 +387,10 @@ export declare const walkthrough: {
|
|
|
353
387
|
type: "enabled: DynamicViewWalkthrough";
|
|
354
388
|
params: unknown;
|
|
355
389
|
};
|
|
390
|
+
"focus.node: autoUnfocus": {
|
|
391
|
+
type: "focus.node: autoUnfocus";
|
|
392
|
+
params: unknown;
|
|
393
|
+
};
|
|
356
394
|
"enabled: Overlays": {
|
|
357
395
|
type: "enabled: Overlays";
|
|
358
396
|
params: unknown;
|
|
@@ -365,6 +403,10 @@ export declare const walkthrough: {
|
|
|
365
403
|
type: "is dynamic view";
|
|
366
404
|
params: unknown;
|
|
367
405
|
};
|
|
406
|
+
"is same view": {
|
|
407
|
+
type: "is same view";
|
|
408
|
+
params: unknown;
|
|
409
|
+
};
|
|
368
410
|
"is another view": {
|
|
369
411
|
type: "is another view";
|
|
370
412
|
params: unknown;
|
|
@@ -397,11 +439,6 @@ export declare const walkthrough: {
|
|
|
397
439
|
};
|
|
398
440
|
'tag.unhighlight': {
|
|
399
441
|
actions: ActionFunction<Context, Events, Events, undefined, Values<{
|
|
400
|
-
syncManualLayoutActorLogic: {
|
|
401
|
-
src: "syncManualLayoutActorLogic";
|
|
402
|
-
logic: SyncLayoutActorLogic;
|
|
403
|
-
id: "syncLayout";
|
|
404
|
-
};
|
|
405
442
|
hotkeyActorLogic: {
|
|
406
443
|
src: "hotkeyActorLogic";
|
|
407
444
|
logic: HotkeyActorLogic;
|
|
@@ -422,11 +459,20 @@ export declare const walkthrough: {
|
|
|
422
459
|
logic: MediaPrintActorLogic;
|
|
423
460
|
id: "mediaPrint";
|
|
424
461
|
};
|
|
462
|
+
editorActor: {
|
|
463
|
+
src: "editorActor";
|
|
464
|
+
logic: EditorActorLogic;
|
|
465
|
+
id: "editor";
|
|
466
|
+
};
|
|
425
467
|
}>, never, Values<{
|
|
426
468
|
isReady: {
|
|
427
469
|
type: "isReady";
|
|
428
470
|
params: unknown;
|
|
429
471
|
};
|
|
472
|
+
"enabled: Editor": {
|
|
473
|
+
type: "enabled: Editor";
|
|
474
|
+
params: unknown;
|
|
475
|
+
};
|
|
430
476
|
"enabled: FitView": {
|
|
431
477
|
type: "enabled: FitView";
|
|
432
478
|
params: unknown;
|
|
@@ -459,6 +505,10 @@ export declare const walkthrough: {
|
|
|
459
505
|
type: "enabled: DynamicViewWalkthrough";
|
|
460
506
|
params: unknown;
|
|
461
507
|
};
|
|
508
|
+
"focus.node: autoUnfocus": {
|
|
509
|
+
type: "focus.node: autoUnfocus";
|
|
510
|
+
params: unknown;
|
|
511
|
+
};
|
|
462
512
|
"enabled: Overlays": {
|
|
463
513
|
type: "enabled: Overlays";
|
|
464
514
|
params: unknown;
|
|
@@ -471,6 +521,10 @@ export declare const walkthrough: {
|
|
|
471
521
|
type: "is dynamic view";
|
|
472
522
|
params: unknown;
|
|
473
523
|
};
|
|
524
|
+
"is same view": {
|
|
525
|
+
type: "is same view";
|
|
526
|
+
params: unknown;
|
|
527
|
+
};
|
|
474
528
|
"is another view": {
|
|
475
529
|
type: "is another view";
|
|
476
530
|
params: unknown;
|
|
@@ -501,6 +555,125 @@ export declare const walkthrough: {
|
|
|
501
555
|
};
|
|
502
556
|
}>, never, EmittedEvents>;
|
|
503
557
|
};
|
|
558
|
+
'update.view': {
|
|
559
|
+
guard: "is same view";
|
|
560
|
+
actions: ActionFunction<Context, Events, Events, undefined, Values<{
|
|
561
|
+
hotkeyActorLogic: {
|
|
562
|
+
src: "hotkeyActorLogic";
|
|
563
|
+
logic: HotkeyActorLogic;
|
|
564
|
+
id: "hotkey";
|
|
565
|
+
};
|
|
566
|
+
overlaysActorLogic: {
|
|
567
|
+
src: "overlaysActorLogic";
|
|
568
|
+
logic: OverlaysActorLogic;
|
|
569
|
+
id: "overlays";
|
|
570
|
+
};
|
|
571
|
+
searchActorLogic: {
|
|
572
|
+
src: "searchActorLogic";
|
|
573
|
+
logic: SearchActorLogic;
|
|
574
|
+
id: "search";
|
|
575
|
+
};
|
|
576
|
+
mediaPrintActorLogic: {
|
|
577
|
+
src: "mediaPrintActorLogic";
|
|
578
|
+
logic: MediaPrintActorLogic;
|
|
579
|
+
id: "mediaPrint";
|
|
580
|
+
};
|
|
581
|
+
editorActor: {
|
|
582
|
+
src: "editorActor";
|
|
583
|
+
logic: EditorActorLogic;
|
|
584
|
+
id: "editor";
|
|
585
|
+
};
|
|
586
|
+
}>, never, Values<{
|
|
587
|
+
isReady: {
|
|
588
|
+
type: "isReady";
|
|
589
|
+
params: unknown;
|
|
590
|
+
};
|
|
591
|
+
"enabled: Editor": {
|
|
592
|
+
type: "enabled: Editor";
|
|
593
|
+
params: unknown;
|
|
594
|
+
};
|
|
595
|
+
"enabled: FitView": {
|
|
596
|
+
type: "enabled: FitView";
|
|
597
|
+
params: unknown;
|
|
598
|
+
};
|
|
599
|
+
"enabled: FocusMode": {
|
|
600
|
+
type: "enabled: FocusMode";
|
|
601
|
+
params: unknown;
|
|
602
|
+
};
|
|
603
|
+
"enabled: Readonly": {
|
|
604
|
+
type: "enabled: Readonly";
|
|
605
|
+
params: unknown;
|
|
606
|
+
};
|
|
607
|
+
"enabled: RelationshipDetails": {
|
|
608
|
+
type: "enabled: RelationshipDetails";
|
|
609
|
+
params: unknown;
|
|
610
|
+
};
|
|
611
|
+
"enabled: Search": {
|
|
612
|
+
type: "enabled: Search";
|
|
613
|
+
params: unknown;
|
|
614
|
+
};
|
|
615
|
+
"enabled: ElementDetails": {
|
|
616
|
+
type: "enabled: ElementDetails";
|
|
617
|
+
params: unknown;
|
|
618
|
+
};
|
|
619
|
+
"enabled: OpenSource": {
|
|
620
|
+
type: "enabled: OpenSource";
|
|
621
|
+
params: unknown;
|
|
622
|
+
};
|
|
623
|
+
"enabled: DynamicViewWalkthrough": {
|
|
624
|
+
type: "enabled: DynamicViewWalkthrough";
|
|
625
|
+
params: unknown;
|
|
626
|
+
};
|
|
627
|
+
"focus.node: autoUnfocus": {
|
|
628
|
+
type: "focus.node: autoUnfocus";
|
|
629
|
+
params: unknown;
|
|
630
|
+
};
|
|
631
|
+
"enabled: Overlays": {
|
|
632
|
+
type: "enabled: Overlays";
|
|
633
|
+
params: unknown;
|
|
634
|
+
};
|
|
635
|
+
"not readonly": {
|
|
636
|
+
type: "not readonly";
|
|
637
|
+
params: unknown;
|
|
638
|
+
};
|
|
639
|
+
"is dynamic view": {
|
|
640
|
+
type: "is dynamic view";
|
|
641
|
+
params: unknown;
|
|
642
|
+
};
|
|
643
|
+
"is same view": {
|
|
644
|
+
type: "is same view";
|
|
645
|
+
params: unknown;
|
|
646
|
+
};
|
|
647
|
+
"is another view": {
|
|
648
|
+
type: "is another view";
|
|
649
|
+
params: unknown;
|
|
650
|
+
};
|
|
651
|
+
"click: node has modelFqn": {
|
|
652
|
+
type: "click: node has modelFqn";
|
|
653
|
+
params: unknown;
|
|
654
|
+
};
|
|
655
|
+
"click: selected node": {
|
|
656
|
+
type: "click: selected node";
|
|
657
|
+
params: unknown;
|
|
658
|
+
};
|
|
659
|
+
"click: same node": {
|
|
660
|
+
type: "click: same node";
|
|
661
|
+
params: unknown;
|
|
662
|
+
};
|
|
663
|
+
"click: focused node": {
|
|
664
|
+
type: "click: focused node";
|
|
665
|
+
params: unknown;
|
|
666
|
+
};
|
|
667
|
+
"click: node has connections": {
|
|
668
|
+
type: "click: node has connections";
|
|
669
|
+
params: unknown;
|
|
670
|
+
};
|
|
671
|
+
"click: selected edge": {
|
|
672
|
+
type: "click: selected edge";
|
|
673
|
+
params: unknown;
|
|
674
|
+
};
|
|
675
|
+
}>, never, EmittedEvents>[];
|
|
676
|
+
};
|
|
504
677
|
'walkthrough.end': {
|
|
505
678
|
target: string;
|
|
506
679
|
};
|
|
@@ -2,7 +2,7 @@ import { isStepEdgeId, getParallelStepsPrefix, invariant } from '@likec4/core';
|
|
|
2
2
|
import { clamp, first } from 'remeda';
|
|
3
3
|
import { assertEvent } from 'xstate';
|
|
4
4
|
import { SeqParallelAreaColor } from '../xyflow-sequence/const.js';
|
|
5
|
-
import { emitEdgeClick, stopHotKeyActor, undimEverything, startHotKeyActor, cancelEditing } from './machine.actions.js';
|
|
5
|
+
import { updateView, emitEdgeClick, stopHotKeyActor, undimEverything, startHotKeyActor, cancelEditing } from './machine.actions.js';
|
|
6
6
|
import { machine, targetState } from './machine.setup.js';
|
|
7
7
|
import { x as xstateActions_cjsExports } from '../../_virtual/xstate-actions.cjs.js';
|
|
8
8
|
import { fitFocusedBounds, returnViewportBefore, cancelFitDiagram, assignViewportBefore } from './machine.actions.layout.js';
|
|
@@ -112,9 +112,15 @@ const walkthrough = machine.createStateConfig({
|
|
|
112
112
|
"key.arrow.left": {
|
|
113
113
|
actions: xstateActions_cjsExports.raise({ type: "walkthrough.step", direction: "previous" })
|
|
114
114
|
},
|
|
115
|
+
"key.arrow.up": {
|
|
116
|
+
actions: xstateActions_cjsExports.raise({ type: "walkthrough.step", direction: "previous" })
|
|
117
|
+
},
|
|
115
118
|
"key.arrow.right": {
|
|
116
119
|
actions: xstateActions_cjsExports.raise({ type: "walkthrough.step", direction: "next" })
|
|
117
120
|
},
|
|
121
|
+
"key.arrow.down": {
|
|
122
|
+
actions: xstateActions_cjsExports.raise({ type: "walkthrough.step", direction: "next" })
|
|
123
|
+
},
|
|
118
124
|
"walkthrough.step": {
|
|
119
125
|
actions: [
|
|
120
126
|
xstateActions_cjsExports.assign(({ context, event }) => {
|
|
@@ -165,6 +171,13 @@ const walkthrough = machine.createStateConfig({
|
|
|
165
171
|
"tag.unhighlight": {
|
|
166
172
|
actions: updateActiveWalkthroughState()
|
|
167
173
|
},
|
|
174
|
+
"update.view": {
|
|
175
|
+
guard: "is same view",
|
|
176
|
+
actions: [
|
|
177
|
+
updateView(),
|
|
178
|
+
updateActiveWalkthroughState()
|
|
179
|
+
]
|
|
180
|
+
},
|
|
168
181
|
"walkthrough.end": {
|
|
169
182
|
target: targetState.idle
|
|
170
183
|
},
|
|
@@ -1,14 +1,18 @@
|
|
|
1
1
|
import { ActorSystem } from 'xstate';
|
|
2
|
+
import { EditorActorRef } from '../../editor/editorActor';
|
|
2
3
|
import { OverlaysActorRef } from '../../overlays/overlaysActor';
|
|
3
4
|
import { SearchActorRef } from '../../search/searchActor';
|
|
4
5
|
import { DiagramMachineRef } from './machine';
|
|
5
|
-
|
|
6
|
+
export type NodeWithData = {
|
|
7
|
+
id: string;
|
|
8
|
+
data: Record<string, unknown>;
|
|
9
|
+
};
|
|
6
10
|
export type System = ActorSystem<{
|
|
7
11
|
actors: {
|
|
8
12
|
diagram: DiagramMachineRef;
|
|
9
13
|
overlays: OverlaysActorRef;
|
|
10
14
|
search: SearchActorRef;
|
|
11
|
-
|
|
15
|
+
editor: EditorActorRef;
|
|
12
16
|
};
|
|
13
17
|
}>;
|
|
14
18
|
export interface DiagramActorRef extends DiagramMachineRef {
|
|
@@ -1,19 +1,39 @@
|
|
|
1
|
-
import { DiagramEdge, DiagramNode, DiagramView, BBox } from '@likec4/core/types';
|
|
1
|
+
import { DiagramEdge, DiagramNode, DiagramView, Fqn, BBox } from '@likec4/core/types';
|
|
2
2
|
import { Viewport } from '@xyflow/system';
|
|
3
3
|
import { ActorSystem } from 'xstate';
|
|
4
|
+
import { EditorActorRef } from '../../editor/editorActor';
|
|
5
|
+
import { ViewPaddings } from '../../LikeC4Diagram.props';
|
|
4
6
|
import { OverlaysActorRef } from '../../overlays/overlaysActor';
|
|
5
7
|
import { SearchActorRef } from '../../search/searchActor';
|
|
6
8
|
import { Types } from '../types';
|
|
7
9
|
import { Context } from './machine.setup';
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
|
|
10
|
+
import { DiagramActorRef, NodeWithData } from './types';
|
|
11
|
+
import { DeploymentFqn } from '@likec4/core';
|
|
12
|
+
export declare const findNodeByModelFqn: <T extends NodeWithData>(xynodes: T[], elementFqn: Fqn) => (T & {
|
|
13
|
+
data: {
|
|
14
|
+
modelFqn: Fqn;
|
|
15
|
+
};
|
|
16
|
+
}) | null;
|
|
11
17
|
export declare function typedSystem(system: ActorSystem<any>): {
|
|
12
|
-
readonly syncLayoutActorRef: SyncLayoutActorRef | null;
|
|
13
18
|
readonly overlaysActorRef: OverlaysActorRef | null;
|
|
14
19
|
readonly diagramActorRef: DiagramActorRef;
|
|
15
20
|
readonly searchActorRef: SearchActorRef | null;
|
|
21
|
+
readonly editorActorRef: EditorActorRef | null;
|
|
16
22
|
};
|
|
23
|
+
export declare namespace typedSystem {
|
|
24
|
+
var editorActor: ({ system }: {
|
|
25
|
+
system: ActorSystem<any>;
|
|
26
|
+
}) => EditorActorRef;
|
|
27
|
+
var overlaysActor: ({ system }: {
|
|
28
|
+
system: ActorSystem<any>;
|
|
29
|
+
}) => OverlaysActorRef;
|
|
30
|
+
var diagramActor: ({ system }: {
|
|
31
|
+
system: ActorSystem<any>;
|
|
32
|
+
}) => DiagramActorRef;
|
|
33
|
+
var searchActor: ({ system }: {
|
|
34
|
+
system: ActorSystem<any>;
|
|
35
|
+
}) => SearchActorRef;
|
|
36
|
+
}
|
|
17
37
|
export declare function findDiagramNode(ctx: Context, xynodeId: string): DiagramNode | null;
|
|
18
38
|
export declare function findDiagramEdge(ctx: Context, xyedgeId: string): DiagramEdge | null;
|
|
19
39
|
export declare function focusedBounds(params: {
|
|
@@ -28,7 +48,7 @@ export declare function activeSequenceBounds(params: {
|
|
|
28
48
|
bounds: BBox;
|
|
29
49
|
duration: number;
|
|
30
50
|
};
|
|
31
|
-
export declare function nodeRef(node: Types.Node):
|
|
51
|
+
export declare function nodeRef(node: Types.Node): DeploymentFqn | Fqn | null;
|
|
32
52
|
export declare function findCorrespondingNode(context: Pick<Context, 'lastOnNavigate' | 'xynodes'>, event: {
|
|
33
53
|
view: DiagramView;
|
|
34
54
|
xynodes: Types.Node[];
|
|
@@ -36,5 +56,11 @@ export declare function findCorrespondingNode(context: Pick<Context, 'lastOnNavi
|
|
|
36
56
|
fromNode: Types.Node<"element" | "deployment" | "compound-element" | "compound-deployment" | "view-group" | "seq-actor" | "seq-parallel"> | null | undefined;
|
|
37
57
|
toNode: Types.Node<"element" | "deployment" | "compound-element" | "compound-deployment" | "view-group" | "seq-actor" | "seq-parallel"> | null | undefined;
|
|
38
58
|
};
|
|
39
|
-
export declare function calcViewportForBounds(context: Pick<Context, 'xystore' | '
|
|
59
|
+
export declare function calcViewportForBounds(context: Pick<Context, 'xystore' | 'fitViewPadding'>, bounds: BBox): Viewport;
|
|
40
60
|
export declare function parseAsNumber(value: string | number | undefined): number;
|
|
61
|
+
export declare function parseViewPaddings(paddings: ViewPaddings): {
|
|
62
|
+
top: number;
|
|
63
|
+
right: number;
|
|
64
|
+
bottom: number;
|
|
65
|
+
left: number;
|
|
66
|
+
};
|
|
@@ -3,11 +3,12 @@ import { nonNullable, nonexhaustive } from '@likec4/core/utils';
|
|
|
3
3
|
import { getViewportForBounds, getNodesBounds, getNodeDimensions, getEdgePosition } from '@xyflow/system';
|
|
4
4
|
import { MinZoom } from '../../base/const.js';
|
|
5
5
|
|
|
6
|
+
const findNodeByModelFqn = (xynodes, elementFqn) => {
|
|
7
|
+
const node = xynodes.find((n) => "modelFqn" in n.data && n.data["modelFqn"] === elementFqn);
|
|
8
|
+
return node ? node : null;
|
|
9
|
+
};
|
|
6
10
|
function typedSystem(system) {
|
|
7
11
|
return {
|
|
8
|
-
get syncLayoutActorRef() {
|
|
9
|
-
return system.get("syncLayout") ?? null;
|
|
10
|
-
},
|
|
11
12
|
get overlaysActorRef() {
|
|
12
13
|
return system.get("overlays") ?? null;
|
|
13
14
|
},
|
|
@@ -16,9 +17,24 @@ function typedSystem(system) {
|
|
|
16
17
|
},
|
|
17
18
|
get searchActorRef() {
|
|
18
19
|
return system.get("search") ?? null;
|
|
20
|
+
},
|
|
21
|
+
get editorActorRef() {
|
|
22
|
+
return system.get("editor") ?? null;
|
|
19
23
|
}
|
|
20
24
|
};
|
|
21
25
|
}
|
|
26
|
+
typedSystem.editorActor = ({ system }) => {
|
|
27
|
+
return system.get("editor");
|
|
28
|
+
};
|
|
29
|
+
typedSystem.overlaysActor = ({ system }) => {
|
|
30
|
+
return system.get("overlays");
|
|
31
|
+
};
|
|
32
|
+
typedSystem.diagramActor = ({ system }) => {
|
|
33
|
+
return system.get("diagram");
|
|
34
|
+
};
|
|
35
|
+
typedSystem.searchActor = ({ system }) => {
|
|
36
|
+
return system.get("search");
|
|
37
|
+
};
|
|
22
38
|
function findDiagramNode(ctx, xynodeId) {
|
|
23
39
|
return ctx.view.nodes.find((n) => n.id === xynodeId) ?? null;
|
|
24
40
|
}
|
|
@@ -149,12 +165,12 @@ function findCorrespondingNode(context, event) {
|
|
|
149
165
|
return { fromNode, toNode };
|
|
150
166
|
}
|
|
151
167
|
function calcViewportForBounds(context, bounds) {
|
|
152
|
-
let currentZoom = context.xyflow.getZoom();
|
|
153
168
|
let {
|
|
154
169
|
width,
|
|
155
|
-
height
|
|
170
|
+
height,
|
|
171
|
+
transform
|
|
156
172
|
} = context.xystore.getState();
|
|
157
|
-
const maxZoom = Math.max(
|
|
173
|
+
const maxZoom = Math.max(transform[2], 1);
|
|
158
174
|
return getViewportForBounds(
|
|
159
175
|
bounds,
|
|
160
176
|
width,
|
|
@@ -165,4 +181,4 @@ function calcViewportForBounds(context, bounds) {
|
|
|
165
181
|
);
|
|
166
182
|
}
|
|
167
183
|
|
|
168
|
-
export { activeSequenceBounds, calcViewportForBounds, findCorrespondingNode, findDiagramEdge, findDiagramNode, focusedBounds, nodeRef, typedSystem };
|
|
184
|
+
export { activeSequenceBounds, calcViewportForBounds, findCorrespondingNode, findDiagramEdge, findDiagramNode, findNodeByModelFqn, focusedBounds, nodeRef, typedSystem };
|
|
@@ -9,9 +9,9 @@ import { useDiagramContext } from '../../../hooks/useDiagram.js';
|
|
|
9
9
|
import { useXYStore } from '../../../hooks/useXYFlow.js';
|
|
10
10
|
import { container, icon, card, tabPanel, shapeBadge, elementNotation } from './NotationPanel.css.js';
|
|
11
11
|
import { useMantinePortalProps } from '../../../hooks/useMantinePortalProps.js';
|
|
12
|
-
import IconAlertTriangle from '../../../node_modules/.pnpm/@tabler_icons-react@3.
|
|
13
|
-
import IconHelpCircle from '../../../node_modules/.pnpm/@tabler_icons-react@3.
|
|
14
|
-
import IconArrowDownRight from '../../../node_modules/.pnpm/@tabler_icons-react@3.
|
|
12
|
+
import IconAlertTriangle from '../../../node_modules/.pnpm/@tabler_icons-react@3.36.0_react@19.2.3/node_modules/@tabler/icons-react/dist/esm/icons/IconAlertTriangle.js';
|
|
13
|
+
import IconHelpCircle from '../../../node_modules/.pnpm/@tabler_icons-react@3.36.0_react@19.2.3/node_modules/@tabler/icons-react/dist/esm/icons/IconHelpCircle.js';
|
|
14
|
+
import IconArrowDownRight from '../../../node_modules/.pnpm/@tabler_icons-react@3.36.0_react@19.2.3/node_modules/@tabler/icons-react/dist/esm/icons/IconArrowDownRight.js';
|
|
15
15
|
import { useDiagram } from '../../../hooks/safeContext.js';
|
|
16
16
|
import { ElementShape } from '../../../base-primitives/element/ElementShape.js';
|
|
17
17
|
|
|
@@ -9,7 +9,7 @@ import 'fast-equals';
|
|
|
9
9
|
import { useDiagram } from '../hooks/safeContext.js';
|
|
10
10
|
import { nodeToRect, bezierControlPoints } from '../utils/xyflow.js';
|
|
11
11
|
import { useXYStoreApi } from '../hooks/useXYFlow.js';
|
|
12
|
-
import { vector } from '
|
|
12
|
+
import { vector } from '@likec4/core/geometry';
|
|
13
13
|
|
|
14
14
|
class Rect {
|
|
15
15
|
static LeftPadding = 42;
|
|
@@ -167,11 +167,7 @@ function makeRelativeEdgeModifier(edge, movingRect, anchorNode, staticNode) {
|
|
|
167
167
|
min: -1,
|
|
168
168
|
max: 1
|
|
169
169
|
});
|
|
170
|
-
|
|
171
|
-
return {
|
|
172
|
-
x: newP.x,
|
|
173
|
-
y: newP.y
|
|
174
|
-
};
|
|
170
|
+
return p.add(d.multiply(coeff)).round().toObject();
|
|
175
171
|
};
|
|
176
172
|
return {
|
|
177
173
|
id: edge.id,
|
|
@@ -189,7 +185,7 @@ function makeRelativeEdgeModifier(edge, movingRect, anchorNode, staticNode) {
|
|
|
189
185
|
};
|
|
190
186
|
}
|
|
191
187
|
function createLayoutConstraints(xyflowApi, editingNodeIds) {
|
|
192
|
-
const { parentLookup, nodeLookup, edges
|
|
188
|
+
const { parentLookup, nodeLookup, edges } = xyflowApi.getState();
|
|
193
189
|
const rects = /* @__PURE__ */ new Map();
|
|
194
190
|
const ancestorsOf = new DefaultMap((nodeId) => {
|
|
195
191
|
const xynode = nodeLookup.get(nodeId);
|
|
@@ -330,9 +326,9 @@ function createLayoutConstraints(xyflowApi, editingNodeIds) {
|
|
|
330
326
|
}
|
|
331
327
|
return acc;
|
|
332
328
|
}, []);
|
|
333
|
-
const { edgeLookup
|
|
329
|
+
const { edgeLookup, triggerNodeChanges, triggerEdgeChanges } = xyflowApi.getState();
|
|
334
330
|
triggerNodeChanges(nodeUpdates);
|
|
335
|
-
const changes = _edgeModifiers.map((fm) => fm(
|
|
331
|
+
const changes = _edgeModifiers.map((fm) => fm(edgeLookup));
|
|
336
332
|
if (changes.length > 0) {
|
|
337
333
|
triggerEdgeChanges(changes);
|
|
338
334
|
}
|