@likec4/diagram 1.24.0 → 1.24.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (116) hide show
  1. package/dist/LikeC4Diagram.css.d.ts +5 -0
  2. package/dist/LikeC4Diagram.css.js +1 -0
  3. package/dist/LikeC4Diagram.d.ts +1 -1
  4. package/dist/LikeC4Diagram.js +6 -2
  5. package/dist/LikeC4Diagram.props.d.ts +6 -0
  6. package/dist/base/BaseXYFlow.d.ts +1 -1
  7. package/dist/base/BaseXYFlow.js +12 -3
  8. package/dist/base/const.d.ts +1 -1
  9. package/dist/base/const.js +1 -1
  10. package/dist/base/primitives/compound/CompoundActionButton.css.js +2 -0
  11. package/dist/base/primitives/compound/CompoundDetailsButton.css.js +2 -0
  12. package/dist/base/primitives/compound/CompoundNodeContainer.css.d.ts +0 -1
  13. package/dist/base/primitives/compound/CompoundNodeContainer.css.js +4 -4
  14. package/dist/base/primitives/compound/CompoundNodeContainer.js +35 -22
  15. package/dist/base/primitives/compound/CompoundTitle.css.js +3 -1
  16. package/dist/base/primitives/customNode.js +1 -1
  17. package/dist/base/primitives/edge/EdgeContainer.js +5 -4
  18. package/dist/base/primitives/edge/EdgeLabel.css.d.ts +0 -1
  19. package/dist/base/primitives/edge/EdgeLabel.css.js +2 -5
  20. package/dist/base/primitives/edge/EdgeLabel.js +5 -5
  21. package/dist/base/primitives/edge/edge.css.d.ts +1 -1
  22. package/dist/base/primitives/edge/edge.css.js +4 -5
  23. package/dist/base/primitives/element/ElementActionButtons.css.js +2 -0
  24. package/dist/base/primitives/element/ElementActionButtons.js +4 -3
  25. package/dist/base/primitives/element/ElementDetailsButton.css.js +2 -0
  26. package/dist/base/primitives/element/ElementNodeContainer.css.js +2 -0
  27. package/dist/base/primitives/element/ElementNodeContainer.js +3 -1
  28. package/dist/base/primitives/element/ElementShape.css.js +4 -2
  29. package/dist/base/primitives/element/ElementShape.js +2 -3
  30. package/dist/base/primitives/element/ElementTitle.css.js +2 -0
  31. package/dist/base/primitives/element/styles.css.js +2 -0
  32. package/dist/components/SearchControl.css.js +2 -0
  33. package/dist/context/FramerMotionConfig.d.ts +9 -1
  34. package/dist/context/FramerMotionConfig.js +5 -2
  35. package/dist/context/RootContainer.js +13 -1
  36. package/dist/diagram.css +1 -1
  37. package/dist/globals.css.d.ts +2 -0
  38. package/dist/hooks/safeContext.js +1 -0
  39. package/dist/hooks/useDiagram.d.ts +554 -864
  40. package/dist/hooks/useDiagram.js +1 -0
  41. package/dist/hooks/useIsReducedGraphics.d.ts +4 -0
  42. package/dist/hooks/useIsReducedGraphics.js +8 -0
  43. package/dist/hooks/useXYFlow.js +1 -1
  44. package/dist/likec4diagram/DiagramUI.d.ts +2 -1
  45. package/dist/likec4diagram/DiagramUI.js +5 -3
  46. package/dist/likec4diagram/custom/nodes/nodeTypes.js +2 -2
  47. package/dist/likec4diagram/ui/controls/styles.css.js +2 -0
  48. package/dist/likec4diagram/ui/diagram-title/DiagramTitlePanel.css.js +2 -0
  49. package/dist/likec4diagram/ui/diagram-title/DiagramTitlePanel.js +3 -4
  50. package/dist/likec4diagram/ui/search/LikeC4Search.css.js +2 -0
  51. package/dist/overlays/element-details/ElementDetailsCard.js +12 -8
  52. package/dist/overlays/element-details/actor.d.ts +9084 -2569
  53. package/dist/overlays/overlay/Overlay.js +6 -3
  54. package/dist/overlays/relationship-details/RelationshipDetails.js +31 -17
  55. package/dist/overlays/relationship-details/actor.d.ts +228 -3
  56. package/dist/overlays/relationship-details/actor.js +86 -14
  57. package/dist/overlays/relationship-details/hooks.d.ts +3 -0
  58. package/dist/overlays/relationship-details/hooks.js +6 -2
  59. package/dist/overlays/relationships-browser/-useRelationshipsView.js +12 -3
  60. package/dist/overlays/relationships-browser/RelationshipsBrowser.js +12 -3
  61. package/dist/overlays/relationships-browser/actor.d.ts +271 -54
  62. package/dist/overlays/relationships-browser/actor.js +86 -23
  63. package/dist/state/DiagramActorProvider.js +12 -2
  64. package/dist/state/diagram-machine.d.ts +563 -867
  65. package/dist/state/diagram-machine.js +82 -81
  66. package/dist/state/persistence.d.ts +5 -0
  67. package/dist/state/persistence.js +23 -0
  68. package/package.json +9 -9
  69. package/src/LikeC4Diagram.css.ts +13 -5
  70. package/src/LikeC4Diagram.props.ts +7 -0
  71. package/src/LikeC4Diagram.tsx +33 -24
  72. package/src/base/BaseXYFlow.tsx +14 -9
  73. package/src/base/const.ts +1 -1
  74. package/src/base/primitives/compound/CompoundActionButton.css.ts +6 -0
  75. package/src/base/primitives/compound/CompoundDetailsButton.css.ts +4 -0
  76. package/src/base/primitives/compound/CompoundNodeContainer.css.ts +41 -59
  77. package/src/base/primitives/compound/CompoundNodeContainer.tsx +42 -22
  78. package/src/base/primitives/compound/CompoundTitle.css.ts +14 -13
  79. package/src/base/primitives/customNode.ts +3 -2
  80. package/src/base/primitives/edge/EdgeContainer.tsx +4 -3
  81. package/src/base/primitives/edge/EdgeLabel.css.ts +17 -11
  82. package/src/base/primitives/edge/EdgeLabel.tsx +4 -4
  83. package/src/base/primitives/edge/edge.css.ts +47 -27
  84. package/src/base/primitives/element/ElementActionButtons.css.ts +4 -0
  85. package/src/base/primitives/element/ElementActionButtons.tsx +4 -2
  86. package/src/base/primitives/element/ElementDetailsButton.css.ts +6 -8
  87. package/src/base/primitives/element/ElementNodeContainer.css.ts +18 -21
  88. package/src/base/primitives/element/ElementNodeContainer.tsx +3 -1
  89. package/src/base/primitives/element/ElementShape.css.ts +10 -6
  90. package/src/base/primitives/element/ElementShape.tsx +2 -2
  91. package/src/components/SearchControl.css.ts +11 -4
  92. package/src/context/FramerMotionConfig.tsx +13 -2
  93. package/src/context/RootContainer.tsx +9 -2
  94. package/src/globals.css.ts +3 -0
  95. package/src/hooks/safeContext.tsx +2 -1
  96. package/src/hooks/useDiagram.ts +1 -0
  97. package/src/hooks/useIsReducedGraphics.ts +5 -0
  98. package/src/hooks/useXYFlow.ts +1 -1
  99. package/src/likec4diagram/DiagramUI.tsx +5 -3
  100. package/src/likec4diagram/custom/nodes/nodeTypes.tsx +2 -2
  101. package/src/likec4diagram/ui/controls/styles.css.ts +11 -1
  102. package/src/likec4diagram/ui/diagram-title/DiagramTitlePanel.css.ts +10 -3
  103. package/src/likec4diagram/ui/diagram-title/DiagramTitlePanel.tsx +6 -3
  104. package/src/likec4diagram/ui/search/LikeC4Search.css.ts +1 -0
  105. package/src/overlays/element-details/ElementDetailsCard.tsx +238 -231
  106. package/src/overlays/overlay/Overlay.css.ts +1 -9
  107. package/src/overlays/overlay/Overlay.tsx +6 -3
  108. package/src/overlays/relationship-details/RelationshipDetails.tsx +83 -66
  109. package/src/overlays/relationship-details/actor.ts +106 -13
  110. package/src/overlays/relationship-details/hooks.ts +6 -2
  111. package/src/overlays/relationships-browser/-useRelationshipsView.ts +10 -0
  112. package/src/overlays/relationships-browser/RelationshipsBrowser.tsx +16 -8
  113. package/src/overlays/relationships-browser/actor.ts +92 -22
  114. package/src/state/DiagramActorProvider.tsx +13 -2
  115. package/src/state/diagram-machine.ts +80 -79
  116. package/src/state/persistence.ts +22 -0
@@ -4,7 +4,7 @@ import { FeatureName } from '../context/DiagramFeatures';
4
4
  import { OpenSourceParams } from '../LikeC4Diagram.props';
5
5
  import { Types } from '../likec4diagram/types';
6
6
  import { AlignmentMode } from '../state/aligners';
7
- import { DiagramActorSnapshot, DiagramContext, SyncLayoutActorSnapshot } from '../state/types';
7
+ import { DiagramActorSnapshot, DiagramContext, SyncLayoutActorSnapshot, DiagramActorRef } from '../state/types';
8
8
  import { useDiagramActorRef } from './safeContext';
9
9
  import { Events, Input, ActionArg } from '../state/diagram-machine';
10
10
  import { MachineSnapshot, ActorRefFromLogic, StateMachine, NonReducibleUnknown, EventObject, MetaObject, AnyActorLogic, ConditionalRequired, InputFrom, RequiredLogicInput, IsNotNever, ActorRef, AnyActorRef, StateValue, AnyEventObject, ActionFunction, CallbackActorLogic, Values, RequiredActorOptions, GetConcreteByKey, CancelAction, StopAction } from 'xstate';
@@ -12,12 +12,14 @@ import { Input, Events } from '../state/syncManualLayoutActor';
12
12
  import { HotKeyEvent } from '../state/hotkeyActor';
13
13
  import { OverlaysContext, OverlayActorEvent, OverlayActorEmitedEvent } from '../overlays/overlaysActor';
14
14
  import { ElementDetailsLogic } from '../overlays/element-details/actor';
15
+ import { EnabledFeatures } from '../context';
15
16
  import { ReactFlowState, ReactFlowInstance } from '@xyflow/react';
16
17
  import { EdgeMarkerType, HandleType, XYPosition, Viewport, NodeChange, EdgeChange } from '@xyflow/system';
17
18
  import { ReactNode, CSSProperties } from 'react';
18
19
  import { focusedBounds } from '../state/utils';
19
20
  export { useDiagramActorRef };
20
21
  export declare function useDiagram(): {
22
+ actor: DiagramActorRef;
21
23
  send: (event: Events) => void;
22
24
  navigateTo: (viewId: ViewId, fromNode?: NodeId) => void;
23
25
  navigate: (direction: "back" | "forward") => void;
@@ -284,9 +286,7 @@ export declare function useDiagram(): {
284
286
  };
285
287
  readonly exit: readonly ["stopListeningToEsc", "closeAllOverlays"];
286
288
  }>>;
287
- }, "initializing" | "idle" | "walkthrough" | "focused" | {
288
- navigating: "done" | "pending";
289
- }, string, NonReducibleUnknown, MetaObject, {
289
+ }, "initializing" | "idle" | "walkthrough" | "focused" | "navigating", string, NonReducibleUnknown, MetaObject, {
290
290
  readonly initial: "initializing";
291
291
  readonly context: ({ input, self, spawn }: {
292
292
  spawn: {
@@ -1091,9 +1091,7 @@ export declare function useDiagram(): {
1091
1091
  enableLikeC4Model: boolean;
1092
1092
  enableVscode: boolean;
1093
1093
  };
1094
- toggledFeatures: {
1095
- enableReadOnly: true;
1096
- };
1094
+ toggledFeatures: Partial< EnabledFeatures>;
1097
1095
  initialized: false;
1098
1096
  viewportChangedManually: false;
1099
1097
  lastOnNavigate: null;
@@ -1880,8 +1878,12 @@ export declare function useDiagram(): {
1880
1878
  type: "trigger:OpenSource";
1881
1879
  params: OpenSourceParams;
1882
1880
  };
1883
- "open source of focused node": {
1884
- type: "open source of focused node";
1881
+ "assign lastClickedNode": {
1882
+ type: "assign lastClickedNode";
1883
+ params: NonReducibleUnknown;
1884
+ };
1885
+ "open source of focused or last clicked node": {
1886
+ type: "open source of focused or last clicked node";
1885
1887
  params: NonReducibleUnknown;
1886
1888
  };
1887
1889
  "xyflow:setViewportCenter": {
@@ -1938,8 +1940,8 @@ export declare function useDiagram(): {
1938
1940
  type: "is another view";
1939
1941
  params: unknown;
1940
1942
  };
1941
- "click: selected node ": {
1942
- type: "click: selected node ";
1943
+ "click: selected node": {
1944
+ type: "click: selected node";
1943
1945
  params: unknown;
1944
1946
  };
1945
1947
  "click: same node": {
@@ -1950,6 +1952,10 @@ export declare function useDiagram(): {
1950
1952
  type: "click: focused node";
1951
1953
  params: unknown;
1952
1954
  };
1955
+ "click: node has connections": {
1956
+ type: "click: node has connections";
1957
+ params: unknown;
1958
+ };
1953
1959
  }>, never, EventObject>;
1954
1960
  readonly target: "idle";
1955
1961
  };
@@ -2219,9 +2225,11 @@ export declare function useDiagram(): {
2219
2225
  }>, never, never, never, never>];
2220
2226
  readonly target: "focused";
2221
2227
  }, {
2222
- readonly actions: ActionFunction<DiagramContext, {
2223
- type: "xyflow.nodeClick";
2224
- node: Types.Node;
2228
+ readonly actions: readonly ["assign lastClickedNode", "open source of focused or last clicked node"];
2229
+ }];
2230
+ readonly 'xyflow.paneClick': {
2231
+ readonly actions: readonly [ ActionFunction<DiagramContext, {
2232
+ type: "xyflow.paneClick";
2225
2233
  }, Events, undefined, Values<{
2226
2234
  syncManualLayoutActorLogic: {
2227
2235
  src: "syncManualLayoutActorLogic";
@@ -2475,11 +2483,36 @@ export declare function useDiagram(): {
2475
2483
  }>;
2476
2484
  id: "overlays";
2477
2485
  };
2478
- }>, never, never, never, never>;
2479
- }];
2480
- readonly 'xyflow.paneClick': {
2481
- readonly actions: readonly [ ActionFunction<DiagramContext, {
2482
- type: "xyflow.paneClick";
2486
+ }>, never, never, never, never>];
2487
+ };
2488
+ readonly 'xyflow.paneDblClick': {
2489
+ readonly actions: readonly [{
2490
+ readonly type: "xyflow:fitDiagram";
2491
+ }, {
2492
+ readonly type: "trigger:OpenSource";
2493
+ readonly params: ({ context }: {
2494
+ context: DiagramContext;
2495
+ event: {
2496
+ type: "xyflow.paneDblClick";
2497
+ };
2498
+ }) => {
2499
+ view: ViewId<string>;
2500
+ };
2501
+ }];
2502
+ };
2503
+ readonly 'saveManualLayout.*': {
2504
+ readonly guard: "not readonly";
2505
+ readonly actions: ActionFunction<DiagramContext, {
2506
+ type: "saveManualLayout.schedule";
2507
+ } | {
2508
+ type: "saveManualLayout.cancel";
2509
+ }, Events, undefined, never, never, never, never, never>;
2510
+ };
2511
+ readonly 'focus.node': {
2512
+ readonly guard: "enabled: FocusMode";
2513
+ readonly actions: ActionFunction<DiagramContext, {
2514
+ type: "focus.node";
2515
+ nodeId: NodeId;
2483
2516
  }, Events, undefined, Values<{
2484
2517
  syncManualLayoutActorLogic: {
2485
2518
  src: "syncManualLayoutActorLogic";
@@ -2733,390 +2766,107 @@ export declare function useDiagram(): {
2733
2766
  }>;
2734
2767
  id: "overlays";
2735
2768
  };
2736
- }>, never, never, never, never>];
2769
+ }>, never, never, never, never>;
2770
+ readonly target: "focused";
2737
2771
  };
2738
- readonly 'xyflow.paneDblClick': {
2739
- readonly actions: readonly [{
2740
- readonly type: "xyflow:fitDiagram";
2772
+ };
2773
+ };
2774
+ readonly focused: {
2775
+ readonly entry: readonly [ ActionFunction<DiagramContext, Events, Events, undefined, Values<{
2776
+ syncManualLayoutActorLogic: {
2777
+ src: "syncManualLayoutActorLogic";
2778
+ logic: StateMachine<Readonly< Input>, Events, {}, never, {
2779
+ type: "trigger:OnChange";
2780
+ params: {
2781
+ change: ViewChange;
2782
+ };
2741
2783
  }, {
2742
- readonly type: "trigger:OpenSource";
2743
- readonly params: ({ context }: {
2744
- context: DiagramContext;
2745
- event: {
2746
- type: "xyflow.paneDblClick";
2784
+ type: "same view";
2785
+ params: unknown;
2786
+ }, "timeout", "paused" | "stopped" | "idle" | "synced" | "pending", "pending" | "ready", Input, NonReducibleUnknown, EventObject, MetaObject, {
2787
+ readonly initial: "idle";
2788
+ readonly context: ({ input }: {
2789
+ spawn: {
2790
+ <TSrc extends never>(logic: TSrc, ...[options]: never): ActorRefFromLogic<never>;
2791
+ <TLogic extends AnyActorLogic>(src: TLogic, ...[options]: ConditionalRequired<[options?: {
2792
+ id?: never;
2793
+ systemId?: string;
2794
+ input?: InputFrom<TLogic>;
2795
+ syncSnapshot?: boolean;
2796
+ } & { [K in RequiredLogicInput<TLogic>]: unknown; }], IsNotNever<RequiredLogicInput<TLogic>>>): ActorRefFromLogic<TLogic>;
2747
2797
  };
2798
+ input: Input;
2799
+ self: ActorRef<MachineSnapshot<Readonly< Input>, Events, Record<string, AnyActorRef | undefined>, StateValue, string, unknown, any, any>, Events, AnyEventObject>;
2748
2800
  }) => {
2749
- view: ViewId<string>;
2801
+ parent: ActorRef<MachineSnapshot<DiagramContext, Events, any, any, any, any, any, any>, Events, any>;
2802
+ viewId: ViewId;
2750
2803
  };
2751
- }];
2752
- };
2753
- readonly 'saveManualLayout.*': {
2754
- readonly guard: "not readonly";
2755
- readonly actions: ActionFunction<DiagramContext, {
2756
- type: "saveManualLayout.schedule";
2757
- } | {
2758
- type: "saveManualLayout.cancel";
2759
- }, Events, undefined, never, never, never, never, never>;
2760
- };
2761
- readonly 'focus.node': {
2762
- readonly guard: "enabled: FocusMode";
2763
- readonly actions: ActionFunction<DiagramContext, {
2764
- type: "focus.node";
2765
- nodeId: NodeId;
2766
- }, Events, undefined, Values<{
2767
- syncManualLayoutActorLogic: {
2768
- src: "syncManualLayoutActorLogic";
2769
- logic: StateMachine<Readonly< Input>, Events, {}, never, {
2770
- type: "trigger:OnChange";
2771
- params: {
2772
- change: ViewChange;
2773
- };
2774
- }, {
2775
- type: "same view";
2776
- params: unknown;
2777
- }, "timeout", "paused" | "stopped" | "idle" | "synced" | "pending", "pending" | "ready", Input, NonReducibleUnknown, EventObject, MetaObject, {
2778
- readonly initial: "idle";
2779
- readonly context: ({ input }: {
2780
- spawn: {
2781
- <TSrc extends never>(logic: TSrc, ...[options]: never): ActorRefFromLogic<never>;
2782
- <TLogic extends AnyActorLogic>(src: TLogic, ...[options]: ConditionalRequired<[options?: {
2783
- id?: never;
2784
- systemId?: string;
2785
- input?: InputFrom<TLogic>;
2786
- syncSnapshot?: boolean;
2787
- } & { [K in RequiredLogicInput<TLogic>]: unknown; }], IsNotNever<RequiredLogicInput<TLogic>>>): ActorRefFromLogic<TLogic>;
2804
+ readonly states: {
2805
+ readonly idle: {
2806
+ readonly tags: "ready";
2807
+ readonly on: {
2808
+ readonly sync: {
2809
+ readonly target: "pending";
2788
2810
  };
2789
- input: Input;
2790
- self: ActorRef<MachineSnapshot<Readonly< Input>, Events, Record<string, AnyActorRef | undefined>, StateValue, string, unknown, any, any>, Events, AnyEventObject>;
2791
- }) => {
2792
- parent: ActorRef<MachineSnapshot<DiagramContext, Events, any, any, any, any, any, any>, Events, any>;
2793
- viewId: ViewId;
2794
2811
  };
2795
- readonly states: {
2796
- readonly idle: {
2797
- readonly tags: "ready";
2798
- readonly on: {
2799
- readonly sync: {
2800
- readonly target: "pending";
2801
- };
2802
- };
2812
+ };
2813
+ readonly paused: {
2814
+ readonly tags: "pending";
2815
+ readonly on: {
2816
+ readonly sync: {
2817
+ readonly target: "pending";
2803
2818
  };
2804
- readonly paused: {
2805
- readonly tags: "pending";
2806
- readonly on: {
2807
- readonly sync: {
2808
- readonly target: "pending";
2809
- };
2810
- };
2819
+ };
2820
+ };
2821
+ readonly pending: {
2822
+ readonly tags: "pending";
2823
+ readonly on: {
2824
+ readonly sync: {
2825
+ readonly target: "pending";
2826
+ readonly reenter: true;
2811
2827
  };
2812
- readonly pending: {
2813
- readonly tags: "pending";
2814
- readonly on: {
2815
- readonly sync: {
2816
- readonly target: "pending";
2817
- readonly reenter: true;
2818
- };
2819
- readonly cancel: {
2820
- readonly target: "paused";
2821
- };
2822
- };
2823
- readonly after: {
2824
- readonly timeout: readonly [{
2825
- readonly guard: "same view";
2826
- readonly actions: {
2827
- readonly type: "trigger:OnChange";
2828
- readonly params: ({ context }: {
2829
- context: Readonly< Input>;
2830
- event: Events;
2831
- }) => {
2832
- change: import("@likec4/core").ViewChange.SaveManualLayout;
2833
- };
2834
- };
2835
- readonly target: "synced";
2836
- }, {
2837
- readonly target: "stopped";
2838
- }];
2839
- };
2828
+ readonly cancel: {
2829
+ readonly target: "paused";
2840
2830
  };
2841
- readonly synced: {
2842
- readonly tags: "ready";
2843
- readonly on: {
2844
- readonly sync: {
2845
- readonly target: "pending";
2831
+ };
2832
+ readonly after: {
2833
+ readonly timeout: readonly [{
2834
+ readonly guard: "same view";
2835
+ readonly actions: {
2836
+ readonly type: "trigger:OnChange";
2837
+ readonly params: ({ context }: {
2838
+ context: Readonly< Input>;
2839
+ event: Events;
2840
+ }) => {
2841
+ change: import("@likec4/core").ViewChange.SaveManualLayout;
2846
2842
  };
2847
2843
  };
2848
- };
2849
- readonly stopped: {
2850
- readonly entry: ActionFunction<Readonly< Input>, Events, Events, undefined, never, never, never, never, never>;
2851
- readonly type: "final";
2852
- };
2844
+ readonly target: "synced";
2845
+ }, {
2846
+ readonly target: "stopped";
2847
+ }];
2853
2848
  };
2849
+ };
2850
+ readonly synced: {
2851
+ readonly tags: "ready";
2854
2852
  readonly on: {
2855
- readonly synced: {
2856
- readonly target: ".synced";
2857
- };
2858
- readonly stop: {
2859
- readonly target: ".stopped";
2853
+ readonly sync: {
2854
+ readonly target: "pending";
2860
2855
  };
2861
2856
  };
2862
- }>;
2863
- id: "syncLayout";
2857
+ };
2858
+ readonly stopped: {
2859
+ readonly entry: ActionFunction<Readonly< Input>, Events, Events, undefined, never, never, never, never, never>;
2860
+ readonly type: "final";
2861
+ };
2864
2862
  };
2865
- hotkeyActorLogic: {
2866
- src: "hotkeyActorLogic";
2867
- logic: CallbackActorLogic<AnyEventObject, NonReducibleUnknown, HotKeyEvent>;
2868
- id: "hotkey";
2869
- };
2870
- overlaysActorLogic: {
2871
- src: "overlaysActorLogic";
2872
- logic: StateMachine<OverlaysContext, OverlayActorEvent, {
2873
- [x: `elementDetails-${number}`]: ActorRefFromLogic<ElementDetailsLogic> | undefined;
2874
- [x: `relationshipDetails-${number}`]: ActorRefFromLogic<import("../overlays/types").Overlays.RelationshipDetails.Logic> | undefined;
2875
- [x: `relationshipsBrowser-${number}`]: ActorRefFromLogic<import("../overlays/types").Overlays.RelationshipsBrowser.Logic> | undefined;
2876
- hotkey?: ActorRefFromLogic<CallbackActorLogic<EventObject, NonReducibleUnknown, EventObject>>;
2877
- }, Values<{
2878
- elementDetails: {
2879
- src: "elementDetails";
2880
- logic: ElementDetailsLogic;
2881
- id: `elementDetails-${number}`;
2882
- };
2883
- relationshipDetails: {
2884
- src: "relationshipDetails";
2885
- logic: import("../overlays/types").Overlays.RelationshipDetails.Logic;
2886
- id: `relationshipDetails-${number}`;
2887
- };
2888
- relationshipsBrowser: {
2889
- src: "relationshipsBrowser";
2890
- logic: import("../overlays/types").Overlays.RelationshipsBrowser.Logic;
2891
- id: `relationshipsBrowser-${number}`;
2892
- };
2893
- hotkey: {
2894
- src: "hotkey";
2895
- logic: CallbackActorLogic<EventObject, NonReducibleUnknown, EventObject>;
2896
- id: "hotkey";
2897
- };
2898
- }>, Values<{
2899
- closeLastOverlay: {
2900
- type: "closeLastOverlay";
2901
- params: NonReducibleUnknown;
2902
- };
2903
- closeSpecificOverlay: {
2904
- type: "closeSpecificOverlay";
2905
- params: {
2906
- actorId: string;
2907
- };
2908
- };
2909
- closeAllOverlays: {
2910
- type: "closeAllOverlays";
2911
- params: NonReducibleUnknown;
2912
- };
2913
- openElementDetails: {
2914
- type: "openElementDetails";
2915
- params: NonReducibleUnknown;
2916
- };
2917
- openRelationshipDetails: {
2918
- type: "openRelationshipDetails";
2919
- params: NonReducibleUnknown;
2920
- };
2921
- openRelationshipsBrowser: {
2922
- type: "openRelationshipsBrowser";
2923
- params: NonReducibleUnknown;
2924
- };
2925
- listenToEsc: {
2926
- type: "listenToEsc";
2927
- params: NonReducibleUnknown;
2928
- };
2929
- stopListeningToEsc: {
2930
- type: "stopListeningToEsc";
2931
- params: NonReducibleUnknown;
2932
- };
2933
- }>, Values<{
2934
- "has overlays?": {
2935
- type: "has overlays?";
2936
- params: unknown;
2937
- };
2938
- "close specific overlay?": {
2939
- type: "close specific overlay?";
2940
- params: unknown;
2941
- };
2942
- "last: is relationshipDetails?": {
2943
- type: "last: is relationshipDetails?";
2944
- params: unknown;
2945
- };
2946
- "last: is relationshipsBrowser?": {
2947
- type: "last: is relationshipsBrowser?";
2948
- params: unknown;
2949
- };
2950
- }>, never, "active" | "idle" | "closing", string, NonReducibleUnknown, NonReducibleUnknown, OverlayActorEmitedEvent, MetaObject, {
2951
- readonly id: "overlays";
2952
- readonly context: () => {
2953
- seq: number;
2954
- overlays: never[];
2955
- };
2956
- readonly initial: "idle";
2957
- readonly on: {
2958
- readonly 'open.elementDetails': {
2959
- readonly actions: "openElementDetails";
2960
- readonly target: ".active";
2961
- readonly reenter: false;
2962
- };
2963
- readonly 'open.relationshipDetails': {
2964
- readonly actions: "openRelationshipDetails";
2965
- readonly target: ".active";
2966
- readonly reenter: false;
2967
- };
2968
- readonly 'open.relationshipsBrowser': {
2969
- readonly actions: "openRelationshipsBrowser";
2970
- readonly target: ".active";
2971
- readonly reenter: false;
2972
- };
2973
- };
2974
- readonly states: {
2975
- readonly idle: {};
2976
- readonly active: {
2977
- readonly entry: "listenToEsc";
2978
- readonly exit: "stopListeningToEsc";
2979
- readonly on: {
2980
- readonly close: readonly [{
2981
- readonly guard: "close specific overlay?";
2982
- readonly actions: {
2983
- readonly type: "closeSpecificOverlay";
2984
- readonly params: ({ event }: {
2985
- context: OverlaysContext;
2986
- event: {
2987
- type: "close";
2988
- actorId?: string | undefined;
2989
- };
2990
- }) => {
2991
- actorId: string;
2992
- };
2993
- };
2994
- readonly target: "closing";
2995
- }, {
2996
- readonly actions: "closeLastOverlay";
2997
- readonly target: "closing";
2998
- }];
2999
- readonly 'close.all': {
3000
- readonly actions: readonly ["closeAllOverlays", "stopListeningToEsc"];
3001
- readonly target: "idle";
3002
- };
3003
- };
3004
- };
3005
- readonly closing: {
3006
- readonly always: readonly [{
3007
- readonly guard: "has overlays?";
3008
- readonly target: "active";
3009
- }, {
3010
- readonly actions: "stopListeningToEsc";
3011
- readonly target: "idle";
3012
- }];
3013
- };
3014
- };
3015
- readonly exit: readonly ["stopListeningToEsc", "closeAllOverlays"];
3016
- }>;
3017
- id: "overlays";
3018
- };
3019
- }>, never, never, never, never>;
3020
- readonly target: "focused";
3021
- };
3022
- };
3023
- };
3024
- readonly focused: {
3025
- readonly entry: readonly [ ActionFunction<DiagramContext, Events, Events, undefined, Values<{
3026
- syncManualLayoutActorLogic: {
3027
- src: "syncManualLayoutActorLogic";
3028
- logic: StateMachine<Readonly< Input>, Events, {}, never, {
3029
- type: "trigger:OnChange";
3030
- params: {
3031
- change: ViewChange;
3032
- };
3033
- }, {
3034
- type: "same view";
3035
- params: unknown;
3036
- }, "timeout", "paused" | "stopped" | "idle" | "synced" | "pending", "pending" | "ready", Input, NonReducibleUnknown, EventObject, MetaObject, {
3037
- readonly initial: "idle";
3038
- readonly context: ({ input }: {
3039
- spawn: {
3040
- <TSrc extends never>(logic: TSrc, ...[options]: never): ActorRefFromLogic<never>;
3041
- <TLogic extends AnyActorLogic>(src: TLogic, ...[options]: ConditionalRequired<[options?: {
3042
- id?: never;
3043
- systemId?: string;
3044
- input?: InputFrom<TLogic>;
3045
- syncSnapshot?: boolean;
3046
- } & { [K in RequiredLogicInput<TLogic>]: unknown; }], IsNotNever<RequiredLogicInput<TLogic>>>): ActorRefFromLogic<TLogic>;
3047
- };
3048
- input: Input;
3049
- self: ActorRef<MachineSnapshot<Readonly< Input>, Events, Record<string, AnyActorRef | undefined>, StateValue, string, unknown, any, any>, Events, AnyEventObject>;
3050
- }) => {
3051
- parent: ActorRef<MachineSnapshot<DiagramContext, Events, any, any, any, any, any, any>, Events, any>;
3052
- viewId: ViewId;
3053
- };
3054
- readonly states: {
3055
- readonly idle: {
3056
- readonly tags: "ready";
3057
- readonly on: {
3058
- readonly sync: {
3059
- readonly target: "pending";
3060
- };
3061
- };
3062
- };
3063
- readonly paused: {
3064
- readonly tags: "pending";
3065
- readonly on: {
3066
- readonly sync: {
3067
- readonly target: "pending";
3068
- };
3069
- };
3070
- };
3071
- readonly pending: {
3072
- readonly tags: "pending";
3073
- readonly on: {
3074
- readonly sync: {
3075
- readonly target: "pending";
3076
- readonly reenter: true;
3077
- };
3078
- readonly cancel: {
3079
- readonly target: "paused";
3080
- };
3081
- };
3082
- readonly after: {
3083
- readonly timeout: readonly [{
3084
- readonly guard: "same view";
3085
- readonly actions: {
3086
- readonly type: "trigger:OnChange";
3087
- readonly params: ({ context }: {
3088
- context: Readonly< Input>;
3089
- event: Events;
3090
- }) => {
3091
- change: import("@likec4/core").ViewChange.SaveManualLayout;
3092
- };
3093
- };
3094
- readonly target: "synced";
3095
- }, {
3096
- readonly target: "stopped";
3097
- }];
3098
- };
3099
- };
3100
- readonly synced: {
3101
- readonly tags: "ready";
3102
- readonly on: {
3103
- readonly sync: {
3104
- readonly target: "pending";
3105
- };
3106
- };
3107
- };
3108
- readonly stopped: {
3109
- readonly entry: ActionFunction<Readonly< Input>, Events, Events, undefined, never, never, never, never, never>;
3110
- readonly type: "final";
3111
- };
3112
- };
3113
- readonly on: {
3114
- readonly synced: {
3115
- readonly target: ".synced";
3116
- };
3117
- readonly stop: {
3118
- readonly target: ".stopped";
3119
- };
2863
+ readonly on: {
2864
+ readonly synced: {
2865
+ readonly target: ".synced";
2866
+ };
2867
+ readonly stop: {
2868
+ readonly target: ".stopped";
2869
+ };
3120
2870
  };
3121
2871
  }>;
3122
2872
  id: "syncLayout";
@@ -3275,7 +3025,7 @@ export declare function useDiagram(): {
3275
3025
  }>;
3276
3026
  id: "overlays";
3277
3027
  };
3278
- }>, never, never, never, never>, "open source of focused node", ActionFunction<DiagramContext, Events, Events, undefined, Values<{
3028
+ }>, never, never, never, never>, "open source of focused or last clicked node", ActionFunction<DiagramContext, Events, Events, undefined, Values<{
3279
3029
  syncManualLayoutActorLogic: {
3280
3030
  src: "syncManualLayoutActorLogic";
3281
3031
  logic: StateMachine<Readonly< Input>, Events, {}, never, {
@@ -3819,8 +3569,12 @@ export declare function useDiagram(): {
3819
3569
  type: "trigger:OpenSource";
3820
3570
  params: OpenSourceParams;
3821
3571
  };
3822
- "open source of focused node": {
3823
- type: "open source of focused node";
3572
+ "assign lastClickedNode": {
3573
+ type: "assign lastClickedNode";
3574
+ params: NonReducibleUnknown;
3575
+ };
3576
+ "open source of focused or last clicked node": {
3577
+ type: "open source of focused or last clicked node";
3824
3578
  params: NonReducibleUnknown;
3825
3579
  };
3826
3580
  "xyflow:setViewportCenter": {
@@ -3877,8 +3631,8 @@ export declare function useDiagram(): {
3877
3631
  type: "is another view";
3878
3632
  params: unknown;
3879
3633
  };
3880
- "click: selected node ": {
3881
- type: "click: selected node ";
3634
+ "click: selected node": {
3635
+ type: "click: selected node";
3882
3636
  params: unknown;
3883
3637
  };
3884
3638
  "click: same node": {
@@ -3889,6 +3643,10 @@ export declare function useDiagram(): {
3889
3643
  type: "click: focused node";
3890
3644
  params: unknown;
3891
3645
  };
3646
+ "click: node has connections": {
3647
+ type: "click: node has connections";
3648
+ params: unknown;
3649
+ };
3892
3650
  }>, never, EventObject>;
3893
3651
  readonly on: {
3894
3652
  readonly 'xyflow.nodeClick': readonly [{
@@ -4404,7 +4162,7 @@ export declare function useDiagram(): {
4404
4162
  }>;
4405
4163
  id: "overlays";
4406
4164
  };
4407
- }>, never, never, never, never>, "open source of focused node", {
4165
+ }>, never, never, never, never>, "open source of focused or last clicked node", {
4408
4166
  readonly type: "xyflow:fitDiagram";
4409
4167
  readonly params: focusedBounds;
4410
4168
  }];
@@ -4919,7 +4677,7 @@ export declare function useDiagram(): {
4919
4677
  }>;
4920
4678
  id: "overlays";
4921
4679
  };
4922
- }>, never, never, never, never>, "open source of focused node", {
4680
+ }>, never, never, never, never>, "open source of focused or last clicked node", {
4923
4681
  readonly type: "xyflow:fitDiagram";
4924
4682
  readonly params: focusedBounds;
4925
4683
  }];
@@ -5122,86 +4880,352 @@ export declare function useDiagram(): {
5122
4880
  };
5123
4881
  readonly initial: "idle";
5124
4882
  readonly on: {
5125
- readonly 'open.elementDetails': {
5126
- readonly actions: "openElementDetails";
5127
- readonly target: ".active";
5128
- readonly reenter: false;
5129
- };
5130
- readonly 'open.relationshipDetails': {
5131
- readonly actions: "openRelationshipDetails";
5132
- readonly target: ".active";
5133
- readonly reenter: false;
5134
- };
5135
- readonly 'open.relationshipsBrowser': {
5136
- readonly actions: "openRelationshipsBrowser";
5137
- readonly target: ".active";
5138
- readonly reenter: false;
5139
- };
5140
- };
5141
- readonly states: {
5142
- readonly idle: {};
5143
- readonly active: {
5144
- readonly entry: "listenToEsc";
5145
- readonly exit: "stopListeningToEsc";
5146
- readonly on: {
5147
- readonly close: readonly [{
5148
- readonly guard: "close specific overlay?";
5149
- readonly actions: {
5150
- readonly type: "closeSpecificOverlay";
5151
- readonly params: ({ event }: {
5152
- context: OverlaysContext;
5153
- event: {
5154
- type: "close";
5155
- actorId?: string | undefined;
5156
- };
5157
- }) => {
5158
- actorId: string;
5159
- };
4883
+ readonly 'open.elementDetails': {
4884
+ readonly actions: "openElementDetails";
4885
+ readonly target: ".active";
4886
+ readonly reenter: false;
4887
+ };
4888
+ readonly 'open.relationshipDetails': {
4889
+ readonly actions: "openRelationshipDetails";
4890
+ readonly target: ".active";
4891
+ readonly reenter: false;
4892
+ };
4893
+ readonly 'open.relationshipsBrowser': {
4894
+ readonly actions: "openRelationshipsBrowser";
4895
+ readonly target: ".active";
4896
+ readonly reenter: false;
4897
+ };
4898
+ };
4899
+ readonly states: {
4900
+ readonly idle: {};
4901
+ readonly active: {
4902
+ readonly entry: "listenToEsc";
4903
+ readonly exit: "stopListeningToEsc";
4904
+ readonly on: {
4905
+ readonly close: readonly [{
4906
+ readonly guard: "close specific overlay?";
4907
+ readonly actions: {
4908
+ readonly type: "closeSpecificOverlay";
4909
+ readonly params: ({ event }: {
4910
+ context: OverlaysContext;
4911
+ event: {
4912
+ type: "close";
4913
+ actorId?: string | undefined;
4914
+ };
4915
+ }) => {
4916
+ actorId: string;
4917
+ };
4918
+ };
4919
+ readonly target: "closing";
4920
+ }, {
4921
+ readonly actions: "closeLastOverlay";
4922
+ readonly target: "closing";
4923
+ }];
4924
+ readonly 'close.all': {
4925
+ readonly actions: readonly ["closeAllOverlays", "stopListeningToEsc"];
4926
+ readonly target: "idle";
4927
+ };
4928
+ };
4929
+ };
4930
+ readonly closing: {
4931
+ readonly always: readonly [{
4932
+ readonly guard: "has overlays?";
4933
+ readonly target: "active";
4934
+ }, {
4935
+ readonly actions: "stopListeningToEsc";
4936
+ readonly target: "idle";
4937
+ }];
4938
+ };
4939
+ };
4940
+ readonly exit: readonly ["stopListeningToEsc", "closeAllOverlays"];
4941
+ }>;
4942
+ id: "overlays";
4943
+ };
4944
+ }>, never, never, never, never>;
4945
+ readonly target: "idle";
4946
+ };
4947
+ readonly 'saveManualLayout.*': {
4948
+ readonly guard: "not readonly";
4949
+ readonly actions: ActionFunction<DiagramContext, {
4950
+ type: "saveManualLayout.schedule";
4951
+ } | {
4952
+ type: "saveManualLayout.cancel";
4953
+ }, Events, undefined, never, never, never, never, never>;
4954
+ };
4955
+ };
4956
+ };
4957
+ readonly navigating: {
4958
+ readonly entry: readonly ["closeAllOverlays", "stopSyncLayout", {
4959
+ readonly type: "trigger:NavigateTo";
4960
+ readonly params: ({ context }: {
4961
+ context: DiagramContext;
4962
+ event: Events;
4963
+ }) => {
4964
+ viewId: ViewId;
4965
+ };
4966
+ }];
4967
+ readonly exit: ActionFunction<DiagramContext, Events, Events, undefined, Values<{
4968
+ syncManualLayoutActorLogic: {
4969
+ src: "syncManualLayoutActorLogic";
4970
+ logic: StateMachine<Readonly< Input>, Events, {}, never, {
4971
+ type: "trigger:OnChange";
4972
+ params: {
4973
+ change: ViewChange;
4974
+ };
4975
+ }, {
4976
+ type: "same view";
4977
+ params: unknown;
4978
+ }, "timeout", "paused" | "stopped" | "idle" | "synced" | "pending", "pending" | "ready", Input, NonReducibleUnknown, EventObject, MetaObject, {
4979
+ readonly initial: "idle";
4980
+ readonly context: ({ input }: {
4981
+ spawn: {
4982
+ <TSrc extends never>(logic: TSrc, ...[options]: never): ActorRefFromLogic<never>;
4983
+ <TLogic extends AnyActorLogic>(src: TLogic, ...[options]: ConditionalRequired<[options?: {
4984
+ id?: never;
4985
+ systemId?: string;
4986
+ input?: InputFrom<TLogic>;
4987
+ syncSnapshot?: boolean;
4988
+ } & { [K in RequiredLogicInput<TLogic>]: unknown; }], IsNotNever<RequiredLogicInput<TLogic>>>): ActorRefFromLogic<TLogic>;
4989
+ };
4990
+ input: Input;
4991
+ self: ActorRef<MachineSnapshot<Readonly< Input>, Events, Record<string, AnyActorRef | undefined>, StateValue, string, unknown, any, any>, Events, AnyEventObject>;
4992
+ }) => {
4993
+ parent: ActorRef<MachineSnapshot<DiagramContext, Events, any, any, any, any, any, any>, Events, any>;
4994
+ viewId: ViewId;
4995
+ };
4996
+ readonly states: {
4997
+ readonly idle: {
4998
+ readonly tags: "ready";
4999
+ readonly on: {
5000
+ readonly sync: {
5001
+ readonly target: "pending";
5002
+ };
5003
+ };
5004
+ };
5005
+ readonly paused: {
5006
+ readonly tags: "pending";
5007
+ readonly on: {
5008
+ readonly sync: {
5009
+ readonly target: "pending";
5010
+ };
5011
+ };
5012
+ };
5013
+ readonly pending: {
5014
+ readonly tags: "pending";
5015
+ readonly on: {
5016
+ readonly sync: {
5017
+ readonly target: "pending";
5018
+ readonly reenter: true;
5019
+ };
5020
+ readonly cancel: {
5021
+ readonly target: "paused";
5022
+ };
5023
+ };
5024
+ readonly after: {
5025
+ readonly timeout: readonly [{
5026
+ readonly guard: "same view";
5027
+ readonly actions: {
5028
+ readonly type: "trigger:OnChange";
5029
+ readonly params: ({ context }: {
5030
+ context: Readonly< Input>;
5031
+ event: Events;
5032
+ }) => {
5033
+ change: import("@likec4/core").ViewChange.SaveManualLayout;
5034
+ };
5035
+ };
5036
+ readonly target: "synced";
5037
+ }, {
5038
+ readonly target: "stopped";
5039
+ }];
5040
+ };
5041
+ };
5042
+ readonly synced: {
5043
+ readonly tags: "ready";
5044
+ readonly on: {
5045
+ readonly sync: {
5046
+ readonly target: "pending";
5047
+ };
5048
+ };
5049
+ };
5050
+ readonly stopped: {
5051
+ readonly entry: ActionFunction<Readonly< Input>, Events, Events, undefined, never, never, never, never, never>;
5052
+ readonly type: "final";
5053
+ };
5054
+ };
5055
+ readonly on: {
5056
+ readonly synced: {
5057
+ readonly target: ".synced";
5058
+ };
5059
+ readonly stop: {
5060
+ readonly target: ".stopped";
5061
+ };
5062
+ };
5063
+ }>;
5064
+ id: "syncLayout";
5065
+ };
5066
+ hotkeyActorLogic: {
5067
+ src: "hotkeyActorLogic";
5068
+ logic: CallbackActorLogic<AnyEventObject, NonReducibleUnknown, HotKeyEvent>;
5069
+ id: "hotkey";
5070
+ };
5071
+ overlaysActorLogic: {
5072
+ src: "overlaysActorLogic";
5073
+ logic: StateMachine<OverlaysContext, OverlayActorEvent, {
5074
+ [x: `elementDetails-${number}`]: ActorRefFromLogic<ElementDetailsLogic> | undefined;
5075
+ [x: `relationshipDetails-${number}`]: ActorRefFromLogic<import("../overlays/types").Overlays.RelationshipDetails.Logic> | undefined;
5076
+ [x: `relationshipsBrowser-${number}`]: ActorRefFromLogic<import("../overlays/types").Overlays.RelationshipsBrowser.Logic> | undefined;
5077
+ hotkey?: ActorRefFromLogic<CallbackActorLogic<EventObject, NonReducibleUnknown, EventObject>>;
5078
+ }, Values<{
5079
+ elementDetails: {
5080
+ src: "elementDetails";
5081
+ logic: ElementDetailsLogic;
5082
+ id: `elementDetails-${number}`;
5083
+ };
5084
+ relationshipDetails: {
5085
+ src: "relationshipDetails";
5086
+ logic: import("../overlays/types").Overlays.RelationshipDetails.Logic;
5087
+ id: `relationshipDetails-${number}`;
5088
+ };
5089
+ relationshipsBrowser: {
5090
+ src: "relationshipsBrowser";
5091
+ logic: import("../overlays/types").Overlays.RelationshipsBrowser.Logic;
5092
+ id: `relationshipsBrowser-${number}`;
5093
+ };
5094
+ hotkey: {
5095
+ src: "hotkey";
5096
+ logic: CallbackActorLogic<EventObject, NonReducibleUnknown, EventObject>;
5097
+ id: "hotkey";
5098
+ };
5099
+ }>, Values<{
5100
+ closeLastOverlay: {
5101
+ type: "closeLastOverlay";
5102
+ params: NonReducibleUnknown;
5103
+ };
5104
+ closeSpecificOverlay: {
5105
+ type: "closeSpecificOverlay";
5106
+ params: {
5107
+ actorId: string;
5108
+ };
5109
+ };
5110
+ closeAllOverlays: {
5111
+ type: "closeAllOverlays";
5112
+ params: NonReducibleUnknown;
5113
+ };
5114
+ openElementDetails: {
5115
+ type: "openElementDetails";
5116
+ params: NonReducibleUnknown;
5117
+ };
5118
+ openRelationshipDetails: {
5119
+ type: "openRelationshipDetails";
5120
+ params: NonReducibleUnknown;
5121
+ };
5122
+ openRelationshipsBrowser: {
5123
+ type: "openRelationshipsBrowser";
5124
+ params: NonReducibleUnknown;
5125
+ };
5126
+ listenToEsc: {
5127
+ type: "listenToEsc";
5128
+ params: NonReducibleUnknown;
5129
+ };
5130
+ stopListeningToEsc: {
5131
+ type: "stopListeningToEsc";
5132
+ params: NonReducibleUnknown;
5133
+ };
5134
+ }>, Values<{
5135
+ "has overlays?": {
5136
+ type: "has overlays?";
5137
+ params: unknown;
5138
+ };
5139
+ "close specific overlay?": {
5140
+ type: "close specific overlay?";
5141
+ params: unknown;
5142
+ };
5143
+ "last: is relationshipDetails?": {
5144
+ type: "last: is relationshipDetails?";
5145
+ params: unknown;
5146
+ };
5147
+ "last: is relationshipsBrowser?": {
5148
+ type: "last: is relationshipsBrowser?";
5149
+ params: unknown;
5150
+ };
5151
+ }>, never, "active" | "idle" | "closing", string, NonReducibleUnknown, NonReducibleUnknown, OverlayActorEmitedEvent, MetaObject, {
5152
+ readonly id: "overlays";
5153
+ readonly context: () => {
5154
+ seq: number;
5155
+ overlays: never[];
5156
+ };
5157
+ readonly initial: "idle";
5158
+ readonly on: {
5159
+ readonly 'open.elementDetails': {
5160
+ readonly actions: "openElementDetails";
5161
+ readonly target: ".active";
5162
+ readonly reenter: false;
5163
+ };
5164
+ readonly 'open.relationshipDetails': {
5165
+ readonly actions: "openRelationshipDetails";
5166
+ readonly target: ".active";
5167
+ readonly reenter: false;
5168
+ };
5169
+ readonly 'open.relationshipsBrowser': {
5170
+ readonly actions: "openRelationshipsBrowser";
5171
+ readonly target: ".active";
5172
+ readonly reenter: false;
5173
+ };
5174
+ };
5175
+ readonly states: {
5176
+ readonly idle: {};
5177
+ readonly active: {
5178
+ readonly entry: "listenToEsc";
5179
+ readonly exit: "stopListeningToEsc";
5180
+ readonly on: {
5181
+ readonly close: readonly [{
5182
+ readonly guard: "close specific overlay?";
5183
+ readonly actions: {
5184
+ readonly type: "closeSpecificOverlay";
5185
+ readonly params: ({ event }: {
5186
+ context: OverlaysContext;
5187
+ event: {
5188
+ type: "close";
5189
+ actorId?: string | undefined;
5160
5190
  };
5161
- readonly target: "closing";
5162
- }, {
5163
- readonly actions: "closeLastOverlay";
5164
- readonly target: "closing";
5165
- }];
5166
- readonly 'close.all': {
5167
- readonly actions: readonly ["closeAllOverlays", "stopListeningToEsc"];
5168
- readonly target: "idle";
5191
+ }) => {
5192
+ actorId: string;
5169
5193
  };
5170
5194
  };
5171
- };
5172
- readonly closing: {
5173
- readonly always: readonly [{
5174
- readonly guard: "has overlays?";
5175
- readonly target: "active";
5176
- }, {
5177
- readonly actions: "stopListeningToEsc";
5178
- readonly target: "idle";
5179
- }];
5195
+ readonly target: "closing";
5196
+ }, {
5197
+ readonly actions: "closeLastOverlay";
5198
+ readonly target: "closing";
5199
+ }];
5200
+ readonly 'close.all': {
5201
+ readonly actions: readonly ["closeAllOverlays", "stopListeningToEsc"];
5202
+ readonly target: "idle";
5180
5203
  };
5181
5204
  };
5182
- readonly exit: readonly ["stopListeningToEsc", "closeAllOverlays"];
5183
- }>;
5184
- id: "overlays";
5205
+ };
5206
+ readonly closing: {
5207
+ readonly always: readonly [{
5208
+ readonly guard: "has overlays?";
5209
+ readonly target: "active";
5210
+ }, {
5211
+ readonly actions: "stopListeningToEsc";
5212
+ readonly target: "idle";
5213
+ }];
5214
+ };
5185
5215
  };
5186
- }>, never, never, never, never>;
5187
- readonly target: "idle";
5216
+ readonly exit: readonly ["stopListeningToEsc", "closeAllOverlays"];
5217
+ }>;
5218
+ id: "overlays";
5188
5219
  };
5189
- readonly 'saveManualLayout.*': {
5190
- readonly guard: "not readonly";
5220
+ }>, never, never, never, never>;
5221
+ readonly on: {
5222
+ readonly 'update.view': {
5191
5223
  readonly actions: ActionFunction<DiagramContext, {
5192
- type: "saveManualLayout.schedule";
5193
- } | {
5194
- type: "saveManualLayout.cancel";
5195
- }, Events, undefined, never, never, never, never, never>;
5196
- };
5197
- };
5198
- };
5199
- readonly navigating: {
5200
- readonly initial: "pending";
5201
- readonly type: "compound";
5202
- readonly states: {
5203
- readonly pending: {
5204
- readonly entry: ActionFunction<DiagramContext, Events, Events, undefined, Values<{
5224
+ type: "update.view";
5225
+ view: DiagramView;
5226
+ xynodes: Types.Node[];
5227
+ xyedges: Types.Edge[];
5228
+ }, Events, undefined, Values<{
5205
5229
  syncManualLayoutActorLogic: {
5206
5230
  src: "syncManualLayoutActorLogic";
5207
5231
  logic: StateMachine<Readonly< Input>, Events, {}, never, {
@@ -5488,8 +5512,12 @@ export declare function useDiagram(): {
5488
5512
  type: "trigger:OpenSource";
5489
5513
  params: OpenSourceParams;
5490
5514
  };
5491
- "open source of focused node": {
5492
- type: "open source of focused node";
5515
+ "assign lastClickedNode": {
5516
+ type: "assign lastClickedNode";
5517
+ params: NonReducibleUnknown;
5518
+ };
5519
+ "open source of focused or last clicked node": {
5520
+ type: "open source of focused or last clicked node";
5493
5521
  params: NonReducibleUnknown;
5494
5522
  };
5495
5523
  "xyflow:setViewportCenter": {
@@ -5546,8 +5574,8 @@ export declare function useDiagram(): {
5546
5574
  type: "is another view";
5547
5575
  params: unknown;
5548
5576
  };
5549
- "click: selected node ": {
5550
- type: "click: selected node ";
5577
+ "click: selected node": {
5578
+ type: "click: selected node";
5551
5579
  params: unknown;
5552
5580
  };
5553
5581
  "click: same node": {
@@ -5558,384 +5586,17 @@ export declare function useDiagram(): {
5558
5586
  type: "click: focused node";
5559
5587
  params: unknown;
5560
5588
  };
5561
- }>, never, EventObject>;
5562
- readonly on: {
5563
- readonly 'update.view': {
5564
- readonly actions: ActionFunction<DiagramContext, {
5565
- type: "update.view";
5566
- view: DiagramView;
5567
- xynodes: Types.Node[];
5568
- xyedges: Types.Edge[];
5569
- }, Events, undefined, Values<{
5570
- syncManualLayoutActorLogic: {
5571
- src: "syncManualLayoutActorLogic";
5572
- logic: StateMachine<Readonly< Input>, Events, {}, never, {
5573
- type: "trigger:OnChange";
5574
- params: {
5575
- change: ViewChange;
5576
- };
5577
- }, {
5578
- type: "same view";
5579
- params: unknown;
5580
- }, "timeout", "paused" | "stopped" | "idle" | "synced" | "pending", "pending" | "ready", Input, NonReducibleUnknown, EventObject, MetaObject, {
5581
- readonly initial: "idle";
5582
- readonly context: ({ input }: {
5583
- spawn: {
5584
- <TSrc extends never>(logic: TSrc, ...[options]: never): ActorRefFromLogic<never>;
5585
- <TLogic extends AnyActorLogic>(src: TLogic, ...[options]: ConditionalRequired<[options?: {
5586
- id?: never;
5587
- systemId?: string;
5588
- input?: InputFrom<TLogic>;
5589
- syncSnapshot?: boolean;
5590
- } & { [K in RequiredLogicInput<TLogic>]: unknown; }], IsNotNever<RequiredLogicInput<TLogic>>>): ActorRefFromLogic<TLogic>;
5591
- };
5592
- input: Input;
5593
- self: ActorRef<MachineSnapshot<Readonly< Input>, Events, Record<string, AnyActorRef | undefined>, StateValue, string, unknown, any, any>, Events, AnyEventObject>;
5594
- }) => {
5595
- parent: ActorRef<MachineSnapshot<DiagramContext, Events, any, any, any, any, any, any>, Events, any>;
5596
- viewId: ViewId;
5597
- };
5598
- readonly states: {
5599
- readonly idle: {
5600
- readonly tags: "ready";
5601
- readonly on: {
5602
- readonly sync: {
5603
- readonly target: "pending";
5604
- };
5605
- };
5606
- };
5607
- readonly paused: {
5608
- readonly tags: "pending";
5609
- readonly on: {
5610
- readonly sync: {
5611
- readonly target: "pending";
5612
- };
5613
- };
5614
- };
5615
- readonly pending: {
5616
- readonly tags: "pending";
5617
- readonly on: {
5618
- readonly sync: {
5619
- readonly target: "pending";
5620
- readonly reenter: true;
5621
- };
5622
- readonly cancel: {
5623
- readonly target: "paused";
5624
- };
5625
- };
5626
- readonly after: {
5627
- readonly timeout: readonly [{
5628
- readonly guard: "same view";
5629
- readonly actions: {
5630
- readonly type: "trigger:OnChange";
5631
- readonly params: ({ context }: {
5632
- context: Readonly< Input>;
5633
- event: Events;
5634
- }) => {
5635
- change: import("@likec4/core").ViewChange.SaveManualLayout;
5636
- };
5637
- };
5638
- readonly target: "synced";
5639
- }, {
5640
- readonly target: "stopped";
5641
- }];
5642
- };
5643
- };
5644
- readonly synced: {
5645
- readonly tags: "ready";
5646
- readonly on: {
5647
- readonly sync: {
5648
- readonly target: "pending";
5649
- };
5650
- };
5651
- };
5652
- readonly stopped: {
5653
- readonly entry: ActionFunction<Readonly< Input>, Events, Events, undefined, never, never, never, never, never>;
5654
- readonly type: "final";
5655
- };
5656
- };
5657
- readonly on: {
5658
- readonly synced: {
5659
- readonly target: ".synced";
5660
- };
5661
- readonly stop: {
5662
- readonly target: ".stopped";
5663
- };
5664
- };
5665
- }>;
5666
- id: "syncLayout";
5667
- };
5668
- hotkeyActorLogic: {
5669
- src: "hotkeyActorLogic";
5670
- logic: CallbackActorLogic<AnyEventObject, NonReducibleUnknown, HotKeyEvent>;
5671
- id: "hotkey";
5672
- };
5673
- overlaysActorLogic: {
5674
- src: "overlaysActorLogic";
5675
- logic: StateMachine<OverlaysContext, OverlayActorEvent, {
5676
- [x: `elementDetails-${number}`]: ActorRefFromLogic<ElementDetailsLogic> | undefined;
5677
- [x: `relationshipDetails-${number}`]: ActorRefFromLogic<import("../overlays/types").Overlays.RelationshipDetails.Logic> | undefined;
5678
- [x: `relationshipsBrowser-${number}`]: ActorRefFromLogic<import("../overlays/types").Overlays.RelationshipsBrowser.Logic> | undefined;
5679
- hotkey?: ActorRefFromLogic<CallbackActorLogic<EventObject, NonReducibleUnknown, EventObject>>;
5680
- }, Values<{
5681
- elementDetails: {
5682
- src: "elementDetails";
5683
- logic: ElementDetailsLogic;
5684
- id: `elementDetails-${number}`;
5685
- };
5686
- relationshipDetails: {
5687
- src: "relationshipDetails";
5688
- logic: import("../overlays/types").Overlays.RelationshipDetails.Logic;
5689
- id: `relationshipDetails-${number}`;
5690
- };
5691
- relationshipsBrowser: {
5692
- src: "relationshipsBrowser";
5693
- logic: import("../overlays/types").Overlays.RelationshipsBrowser.Logic;
5694
- id: `relationshipsBrowser-${number}`;
5695
- };
5696
- hotkey: {
5697
- src: "hotkey";
5698
- logic: CallbackActorLogic<EventObject, NonReducibleUnknown, EventObject>;
5699
- id: "hotkey";
5700
- };
5701
- }>, Values<{
5702
- closeLastOverlay: {
5703
- type: "closeLastOverlay";
5704
- params: NonReducibleUnknown;
5705
- };
5706
- closeSpecificOverlay: {
5707
- type: "closeSpecificOverlay";
5708
- params: {
5709
- actorId: string;
5710
- };
5711
- };
5712
- closeAllOverlays: {
5713
- type: "closeAllOverlays";
5714
- params: NonReducibleUnknown;
5715
- };
5716
- openElementDetails: {
5717
- type: "openElementDetails";
5718
- params: NonReducibleUnknown;
5719
- };
5720
- openRelationshipDetails: {
5721
- type: "openRelationshipDetails";
5722
- params: NonReducibleUnknown;
5723
- };
5724
- openRelationshipsBrowser: {
5725
- type: "openRelationshipsBrowser";
5726
- params: NonReducibleUnknown;
5727
- };
5728
- listenToEsc: {
5729
- type: "listenToEsc";
5730
- params: NonReducibleUnknown;
5731
- };
5732
- stopListeningToEsc: {
5733
- type: "stopListeningToEsc";
5734
- params: NonReducibleUnknown;
5735
- };
5736
- }>, Values<{
5737
- "has overlays?": {
5738
- type: "has overlays?";
5739
- params: unknown;
5740
- };
5741
- "close specific overlay?": {
5742
- type: "close specific overlay?";
5743
- params: unknown;
5744
- };
5745
- "last: is relationshipDetails?": {
5746
- type: "last: is relationshipDetails?";
5747
- params: unknown;
5748
- };
5749
- "last: is relationshipsBrowser?": {
5750
- type: "last: is relationshipsBrowser?";
5751
- params: unknown;
5752
- };
5753
- }>, never, "active" | "idle" | "closing", string, NonReducibleUnknown, NonReducibleUnknown, OverlayActorEmitedEvent, MetaObject, {
5754
- readonly id: "overlays";
5755
- readonly context: () => {
5756
- seq: number;
5757
- overlays: never[];
5758
- };
5759
- readonly initial: "idle";
5760
- readonly on: {
5761
- readonly 'open.elementDetails': {
5762
- readonly actions: "openElementDetails";
5763
- readonly target: ".active";
5764
- readonly reenter: false;
5765
- };
5766
- readonly 'open.relationshipDetails': {
5767
- readonly actions: "openRelationshipDetails";
5768
- readonly target: ".active";
5769
- readonly reenter: false;
5770
- };
5771
- readonly 'open.relationshipsBrowser': {
5772
- readonly actions: "openRelationshipsBrowser";
5773
- readonly target: ".active";
5774
- readonly reenter: false;
5775
- };
5776
- };
5777
- readonly states: {
5778
- readonly idle: {};
5779
- readonly active: {
5780
- readonly entry: "listenToEsc";
5781
- readonly exit: "stopListeningToEsc";
5782
- readonly on: {
5783
- readonly close: readonly [{
5784
- readonly guard: "close specific overlay?";
5785
- readonly actions: {
5786
- readonly type: "closeSpecificOverlay";
5787
- readonly params: ({ event }: {
5788
- context: OverlaysContext;
5789
- event: {
5790
- type: "close";
5791
- actorId?: string | undefined;
5792
- };
5793
- }) => {
5794
- actorId: string;
5795
- };
5796
- };
5797
- readonly target: "closing";
5798
- }, {
5799
- readonly actions: "closeLastOverlay";
5800
- readonly target: "closing";
5801
- }];
5802
- readonly 'close.all': {
5803
- readonly actions: readonly ["closeAllOverlays", "stopListeningToEsc"];
5804
- readonly target: "idle";
5805
- };
5806
- };
5807
- };
5808
- readonly closing: {
5809
- readonly always: readonly [{
5810
- readonly guard: "has overlays?";
5811
- readonly target: "active";
5812
- }, {
5813
- readonly actions: "stopListeningToEsc";
5814
- readonly target: "idle";
5815
- }];
5816
- };
5817
- };
5818
- readonly exit: readonly ["stopListeningToEsc", "closeAllOverlays"];
5819
- }>;
5820
- id: "overlays";
5821
- };
5822
- }>, Values<{
5823
- "xyflow:fitDiagram": {
5824
- type: "xyflow:fitDiagram";
5825
- params: {
5826
- duration?: number;
5827
- bounds?: BBox;
5828
- } | undefined;
5829
- };
5830
- closeAllOverlays: {
5831
- type: "closeAllOverlays";
5832
- params: NonReducibleUnknown;
5833
- };
5834
- "layout.align": {
5835
- type: "layout.align";
5836
- params: {
5837
- mode: AlignmentMode;
5838
- };
5839
- };
5840
- "trigger:OnChange": {
5841
- type: "trigger:OnChange";
5842
- params: {
5843
- change: ViewChange;
5844
- };
5845
- };
5846
- "trigger:NavigateTo": {
5847
- type: "trigger:NavigateTo";
5848
- params: {
5849
- viewId: ViewId;
5850
- };
5851
- };
5852
- "trigger:OpenSource": {
5853
- type: "trigger:OpenSource";
5854
- params: OpenSourceParams;
5855
- };
5856
- "open source of focused node": {
5857
- type: "open source of focused node";
5858
- params: NonReducibleUnknown;
5859
- };
5860
- "xyflow:setViewportCenter": {
5861
- type: "xyflow:setViewportCenter";
5862
- params: {
5863
- x: number;
5864
- y: number;
5865
- };
5866
- };
5867
- "xyflow:setViewport": {
5868
- type: "xyflow:setViewport";
5869
- params: {
5870
- viewport: Viewport;
5871
- duration?: number;
5872
- };
5873
- };
5874
- "xyflow:alignNodeFromToAfterNavigate": {
5875
- type: "xyflow:alignNodeFromToAfterNavigate";
5876
- params: {
5877
- fromNode: NodeId;
5878
- toPosition: XYPoint;
5879
- };
5880
- };
5881
- updateFeatures: {
5882
- type: "updateFeatures";
5883
- params: NonReducibleUnknown;
5884
- };
5885
- stopSyncLayout: {
5886
- type: "stopSyncLayout";
5887
- params: NonReducibleUnknown;
5888
- };
5889
- }>, Values<{
5890
- "enabled: FitView": {
5891
- type: "enabled: FitView";
5892
- params: unknown;
5893
- };
5894
- "enabled: FocusMode": {
5895
- type: "enabled: FocusMode";
5896
- params: unknown;
5897
- };
5898
- "enabled: Readonly": {
5899
- type: "enabled: Readonly";
5900
- params: unknown;
5901
- };
5902
- "not readonly": {
5903
- type: "not readonly";
5904
- params: unknown;
5905
- };
5906
- "is dynamic view": {
5907
- type: "is dynamic view";
5908
- params: unknown;
5909
- };
5910
- "is another view": {
5911
- type: "is another view";
5912
- params: unknown;
5913
- };
5914
- "click: selected node ": {
5915
- type: "click: selected node ";
5916
- params: unknown;
5917
- };
5918
- "click: same node": {
5919
- type: "click: same node";
5920
- params: unknown;
5921
- };
5922
- "click: focused node": {
5923
- type: "click: focused node";
5924
- params: unknown;
5925
- };
5926
- }>, never, EventObject>;
5927
- readonly target: "done";
5589
+ "click: node has connections": {
5590
+ type: "click: node has connections";
5591
+ params: unknown;
5928
5592
  };
5929
- };
5930
- };
5931
- readonly done: {
5932
- readonly type: "final";
5593
+ }>, never, EventObject>;
5594
+ readonly target: "#idle";
5933
5595
  };
5934
5596
  };
5935
- readonly onDone: {
5936
- readonly target: "idle";
5937
- };
5938
- readonly exit: ActionFunction<DiagramContext, Events, Events, undefined, Values<{
5597
+ };
5598
+ readonly walkthrough: {
5599
+ readonly entry: readonly [ ActionFunction<DiagramContext, Events, Events, undefined, Values<{
5939
5600
  syncManualLayoutActorLogic: {
5940
5601
  src: "syncManualLayoutActorLogic";
5941
5602
  logic: StateMachine<Readonly< Input>, Events, {}, never, {
@@ -6188,10 +5849,7 @@ export declare function useDiagram(): {
6188
5849
  }>;
6189
5850
  id: "overlays";
6190
5851
  };
6191
- }>, never, never, never, never>;
6192
- };
6193
- readonly walkthrough: {
6194
- readonly entry: readonly [ ActionFunction<DiagramContext, Events, Events, undefined, Values<{
5852
+ }>, never, never, never, never>, ActionFunction<DiagramContext, Events, Events, undefined, Values<{
6195
5853
  syncManualLayoutActorLogic: {
6196
5854
  src: "syncManualLayoutActorLogic";
6197
5855
  logic: StateMachine<Readonly< Input>, Events, {}, never, {
@@ -7002,8 +6660,12 @@ export declare function useDiagram(): {
7002
6660
  type: "trigger:OpenSource";
7003
6661
  params: OpenSourceParams;
7004
6662
  };
7005
- "open source of focused node": {
7006
- type: "open source of focused node";
6663
+ "assign lastClickedNode": {
6664
+ type: "assign lastClickedNode";
6665
+ params: NonReducibleUnknown;
6666
+ };
6667
+ "open source of focused or last clicked node": {
6668
+ type: "open source of focused or last clicked node";
7007
6669
  params: NonReducibleUnknown;
7008
6670
  };
7009
6671
  "xyflow:setViewportCenter": {
@@ -7060,8 +6722,8 @@ export declare function useDiagram(): {
7060
6722
  type: "is another view";
7061
6723
  params: unknown;
7062
6724
  };
7063
- "click: selected node ": {
7064
- type: "click: selected node ";
6725
+ "click: selected node": {
6726
+ type: "click: selected node";
7065
6727
  params: unknown;
7066
6728
  };
7067
6729
  "click: same node": {
@@ -7072,6 +6734,10 @@ export declare function useDiagram(): {
7072
6734
  type: "click: focused node";
7073
6735
  params: unknown;
7074
6736
  };
6737
+ "click: node has connections": {
6738
+ type: "click: node has connections";
6739
+ params: unknown;
6740
+ };
7075
6741
  }>, never, EventObject>;
7076
6742
  };
7077
6743
  readonly 'walkthrough.end': {
@@ -7375,8 +7041,12 @@ export declare function useDiagram(): {
7375
7041
  type: "trigger:OpenSource";
7376
7042
  params: OpenSourceParams;
7377
7043
  };
7378
- "open source of focused node": {
7379
- type: "open source of focused node";
7044
+ "assign lastClickedNode": {
7045
+ type: "assign lastClickedNode";
7046
+ params: NonReducibleUnknown;
7047
+ };
7048
+ "open source of focused or last clicked node": {
7049
+ type: "open source of focused or last clicked node";
7380
7050
  params: NonReducibleUnknown;
7381
7051
  };
7382
7052
  "xyflow:setViewportCenter": {
@@ -7433,8 +7103,8 @@ export declare function useDiagram(): {
7433
7103
  type: "is another view";
7434
7104
  params: unknown;
7435
7105
  };
7436
- "click: selected node ": {
7437
- type: "click: selected node ";
7106
+ "click: selected node": {
7107
+ type: "click: selected node";
7438
7108
  params: unknown;
7439
7109
  };
7440
7110
  "click: same node": {
@@ -7445,6 +7115,10 @@ export declare function useDiagram(): {
7445
7115
  type: "click: focused node";
7446
7116
  params: unknown;
7447
7117
  };
7118
+ "click: node has connections": {
7119
+ type: "click: node has connections";
7120
+ params: unknown;
7121
+ };
7448
7122
  }>, never, EventObject>;
7449
7123
  };
7450
7124
  };
@@ -9569,8 +9243,12 @@ export declare function useDiagram(): {
9569
9243
  type: "trigger:OpenSource";
9570
9244
  params: OpenSourceParams;
9571
9245
  };
9572
- "open source of focused node": {
9573
- type: "open source of focused node";
9246
+ "assign lastClickedNode": {
9247
+ type: "assign lastClickedNode";
9248
+ params: NonReducibleUnknown;
9249
+ };
9250
+ "open source of focused or last clicked node": {
9251
+ type: "open source of focused or last clicked node";
9574
9252
  params: NonReducibleUnknown;
9575
9253
  };
9576
9254
  "xyflow:setViewportCenter": {
@@ -9627,8 +9305,8 @@ export declare function useDiagram(): {
9627
9305
  type: "is another view";
9628
9306
  params: unknown;
9629
9307
  };
9630
- "click: selected node ": {
9631
- type: "click: selected node ";
9308
+ "click: selected node": {
9309
+ type: "click: selected node";
9632
9310
  params: unknown;
9633
9311
  };
9634
9312
  "click: same node": {
@@ -9639,6 +9317,10 @@ export declare function useDiagram(): {
9639
9317
  type: "click: focused node";
9640
9318
  params: unknown;
9641
9319
  };
9320
+ "click: node has connections": {
9321
+ type: "click: node has connections";
9322
+ params: unknown;
9323
+ };
9642
9324
  }>, never, EventObject>];
9643
9325
  };
9644
9326
  readonly 'update.inputs': {
@@ -10994,8 +10676,12 @@ export declare function useDiagram(): {
10994
10676
  type: "trigger:OpenSource";
10995
10677
  params: OpenSourceParams;
10996
10678
  };
10997
- "open source of focused node": {
10998
- type: "open source of focused node";
10679
+ "assign lastClickedNode": {
10680
+ type: "assign lastClickedNode";
10681
+ params: NonReducibleUnknown;
10682
+ };
10683
+ "open source of focused or last clicked node": {
10684
+ type: "open source of focused or last clicked node";
10999
10685
  params: NonReducibleUnknown;
11000
10686
  };
11001
10687
  "xyflow:setViewportCenter": {
@@ -11052,8 +10738,8 @@ export declare function useDiagram(): {
11052
10738
  type: "is another view";
11053
10739
  params: unknown;
11054
10740
  };
11055
- "click: selected node ": {
11056
- type: "click: selected node ";
10741
+ "click: selected node": {
10742
+ type: "click: selected node";
11057
10743
  params: unknown;
11058
10744
  };
11059
10745
  "click: same node": {
@@ -11064,6 +10750,10 @@ export declare function useDiagram(): {
11064
10750
  type: "click: focused node";
11065
10751
  params: unknown;
11066
10752
  };
10753
+ "click: node has connections": {
10754
+ type: "click: node has connections";
10755
+ params: unknown;
10756
+ };
11067
10757
  }>, never, EventObject>;
11068
10758
  };
11069
10759
  readonly 'open.relationshipsBrowser': {