@likec4/diagram 1.9.0 → 1.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (112) hide show
  1. package/package.json +18 -41
  2. package/src/LikeC4CustomColors.tsx +1 -1
  3. package/src/LikeC4Diagram.css.ts +1 -1
  4. package/src/LikeC4Diagram.props.ts +40 -94
  5. package/src/LikeC4Diagram.tsx +12 -2
  6. package/src/LikeC4ModelProvider.tsx +49 -0
  7. package/src/StaticLikeC4Diagram.tsx +1 -0
  8. package/src/globals.css.ts +2 -3
  9. package/src/hooks/index.ts +1 -0
  10. package/src/hooks/useMantinePortalProps.ts +8 -0
  11. package/src/hooks/useXYFlow.ts +1 -2
  12. package/src/index.ts +3 -0
  13. package/src/likec4model/LikeC4ModelContext.ts +4 -0
  14. package/src/likec4model/index.ts +1 -0
  15. package/src/likec4model/useLikeC4Model.ts +55 -0
  16. package/src/state/diagram-to-xyflow.ts +1 -2
  17. package/src/state/diagramStore.ts +185 -66
  18. package/src/{theme.css.ts → theme-vars.ts} +11 -4
  19. package/src/ui/DiagramTitlePanel.css.ts +2 -3
  20. package/src/ui/DiagramTitlePanel.tsx +17 -1
  21. package/src/ui/DynamicViewWalkthrough.css.ts +28 -2
  22. package/src/ui/DynamicViewWalkthrough.tsx +97 -52
  23. package/src/ui/OptionsPanel.css.ts +1 -2
  24. package/src/ui/OptionsPanel.tsx +1 -1
  25. package/src/ui/notation/NotationPanel.css.ts +2 -3
  26. package/src/ui/notation/NotationPanel.tsx +9 -10
  27. package/src/ui/options/NodeOptions.tsx +1 -1
  28. package/src/ui/top-left/ChangeAutoLayoutButton.tsx +20 -32
  29. package/src/ui/top-left/TopLeftPanel.tsx +128 -117
  30. package/src/ui/top-left/_shared.ts +7 -6
  31. package/src/ui/top-left/styles.css.ts +17 -8
  32. package/src/utils/vector.ts +57 -0
  33. package/src/xyflow/FitviewOnDiagramChange.tsx +5 -4
  34. package/src/xyflow/SelectEdgesOnNodeFocus.tsx +7 -5
  35. package/src/xyflow/XYFlow.tsx +9 -11
  36. package/src/xyflow/XYFlowEvents.tsx +59 -60
  37. package/src/xyflow/XYFlowInner.tsx +5 -5
  38. package/src/xyflow/edges/EdgeLabel.tsx +185 -0
  39. package/src/xyflow/edges/RelationshipEdge.tsx +170 -137
  40. package/src/xyflow/edges/RelationshipsDropdownMenu.css.ts +60 -0
  41. package/src/xyflow/edges/RelationshipsDropdownMenu.tsx +214 -0
  42. package/src/xyflow/edges/edges.css.ts +75 -7
  43. package/src/xyflow/nodes/compound/CompoundNode.css.ts +1 -2
  44. package/src/xyflow/nodes/compound/CompoundNode.tsx +4 -4
  45. package/src/xyflow/nodes/element/ElementLink.css.ts +1 -1
  46. package/src/xyflow/nodes/element/ElementLink.tsx +3 -8
  47. package/src/xyflow/nodes/element/ElementNode.tsx +44 -0
  48. package/src/xyflow/nodes/element/element.css.ts +1 -2
  49. package/src/xyflow/types.ts +1 -24
  50. package/src/xyflow/useLayoutConstraints.ts +10 -6
  51. package/dist/LikeC4CustomColors.d.ts +0 -3
  52. package/dist/LikeC4CustomColors.props.d.ts +0 -5
  53. package/dist/LikeC4Diagram.css.d.ts +0 -4
  54. package/dist/LikeC4Diagram.d.ts +0 -7
  55. package/dist/LikeC4Diagram.props.d.ts +0 -154
  56. package/dist/StaticLikeC4Diagram.d.ts +0 -4
  57. package/dist/globals.css.d.ts +0 -1
  58. package/dist/hooks/index.d.ts +0 -4
  59. package/dist/hooks/useDiagramState.d.ts +0 -6
  60. package/dist/hooks/useSetState.d.ts +0 -3
  61. package/dist/hooks/useUpdateEffect.d.ts +0 -5
  62. package/dist/hooks/useXYFlow.d.ts +0 -267
  63. package/dist/index.d.ts +0 -9
  64. package/dist/index.mjs +0 -3684
  65. package/dist/mantine/EnsureMantine.d.ts +0 -8
  66. package/dist/mantine.css.d.ts +0 -3
  67. package/dist/state/DiagramContext.d.ts +0 -1192
  68. package/dist/state/diagram-to-xyflow.d.ts +0 -12
  69. package/dist/state/diagramStore.d.ts +0 -1268
  70. package/dist/style.css +0 -2139
  71. package/dist/theme.css.d.ts +0 -63
  72. package/dist/ui/DiagramTitlePanel.css.d.ts +0 -4
  73. package/dist/ui/DiagramTitlePanel.d.ts +0 -1
  74. package/dist/ui/DynamicViewWalkthrough.css.d.ts +0 -3
  75. package/dist/ui/DynamicViewWalkthrough.d.ts +0 -1
  76. package/dist/ui/OptionsPanel.css.d.ts +0 -1
  77. package/dist/ui/OptionsPanel.d.ts +0 -1
  78. package/dist/ui/notation/NotationPanel.css.d.ts +0 -6
  79. package/dist/ui/notation/NotationPanel.d.ts +0 -1
  80. package/dist/ui/notation/index.d.ts +0 -1
  81. package/dist/ui/options/EdgeOptions.d.ts +0 -19
  82. package/dist/ui/options/NodeOptions.d.ts +0 -19
  83. package/dist/ui/top-left/ChangeAutoLayoutButton.d.ts +0 -3
  84. package/dist/ui/top-left/TopLeftPanel.d.ts +0 -4
  85. package/dist/ui/top-left/_shared.d.ts +0 -5
  86. package/dist/ui/top-left/styles.css.d.ts +0 -3
  87. package/dist/xyflow/EdgeMarkers.d.ts +0 -12
  88. package/dist/xyflow/FitviewOnDiagramChange.d.ts +0 -4
  89. package/dist/xyflow/SelectEdgesOnNodeFocus.d.ts +0 -1
  90. package/dist/xyflow/XYFlow.d.ts +0 -12
  91. package/dist/xyflow/XYFlowBackground.d.ts +0 -11
  92. package/dist/xyflow/XYFlowEvents.d.ts +0 -161
  93. package/dist/xyflow/XYFlowInner.d.ts +0 -10
  94. package/dist/xyflow/const.d.ts +0 -7
  95. package/dist/xyflow/edges/RelationshipEdge.d.ts +0 -32
  96. package/dist/xyflow/edges/edges.css.d.ts +0 -12
  97. package/dist/xyflow/edges/utils.d.ts +0 -17
  98. package/dist/xyflow/nodes/compound/CompoundNode.css.d.ts +0 -11
  99. package/dist/xyflow/nodes/compound/CompoundNode.d.ts +0 -6
  100. package/dist/xyflow/nodes/compound/index.d.ts +0 -1
  101. package/dist/xyflow/nodes/element/ElementLink.css.d.ts +0 -3
  102. package/dist/xyflow/nodes/element/ElementLink.d.ts +0 -7
  103. package/dist/xyflow/nodes/element/ElementNode.d.ts +0 -6
  104. package/dist/xyflow/nodes/element/ElementShapeSvg.d.ts +0 -18
  105. package/dist/xyflow/nodes/element/element.css.d.ts +0 -19
  106. package/dist/xyflow/nodes/element/index.d.ts +0 -1
  107. package/dist/xyflow/nodes/shared/NavigateToBtn.d.ts +0 -5
  108. package/dist/xyflow/types.d.ts +0 -50
  109. package/dist/xyflow/useLayoutConstraints.d.ts +0 -9
  110. package/dist/xyflow/utils.d.ts +0 -18
  111. package/src/mantine.css.ts +0 -7
  112. package/src/reset.d.ts +0 -2
@@ -1,1192 +0,0 @@
1
- import { PropsWithChildren } from 'react';
2
- import { DiagramInitialState } from './diagramStore';
3
-
4
- export declare const DiagramContext: import('react').Context<import('zustand/traditional').UseBoundStoreWithEqualityFn<Omit<Omit<import('zustand/vanilla').StoreApi<{
5
- view: import('@likec4/core').DiagramView;
6
- readonly: boolean;
7
- showElementLinks: boolean;
8
- showNavigationButtons: boolean;
9
- showNotations: boolean;
10
- fitViewEnabled: boolean;
11
- fitViewPadding: number;
12
- zoomable: boolean;
13
- pannable: boolean;
14
- nodesDraggable: boolean;
15
- nodesSelectable: boolean;
16
- experimentalEdgeEditing: boolean;
17
- enableFocusMode: boolean;
18
- renderIcon: import('..').ElementIconRenderer | null;
19
- whereFilter: import('@likec4/core').WhereOperator<string, string> | null;
20
- enableDynamicViewWalkthrough: boolean;
21
- xyflow: import('..').XYFlowInstance;
22
- xystore: import('../hooks/useXYFlow').XYStoreApi;
23
- getContainer: () => HTMLDivElement | null;
24
- onChange: import('..').OnChange | null;
25
- onNavigateTo: import('..').OnNavigateTo | null;
26
- onNodeClick: import('..').OnNodeClick | null;
27
- onNodeContextMenu: import('..').OnNodeClick | null;
28
- onCanvasContextMenu: import('..').OnCanvasClick | null;
29
- onEdgeClick: import('..').OnEdgeClick | null;
30
- onEdgeContextMenu: import('..').OnEdgeClick | null;
31
- onCanvasClick: import('..').OnCanvasClick | null;
32
- onCanvasDblClick: import('..').OnCanvasClick | null;
33
- onBurgerMenuClick: (() => void) | null;
34
- onOpenSourceView: (() => void) | null;
35
- onOpenSourceElement: ((fqn: import('@likec4/core').Fqn) => void) | null;
36
- onOpenSourceRelation: ((id: import('@likec4/core').RelationID) => void) | null;
37
- readonly storeDevId: string;
38
- xynodes: import('..').XYFlowNode[];
39
- xyedges: import('..').XYFlowEdge[];
40
- viewSyncDebounceTimeout: number | null;
41
- viewportChanged: boolean;
42
- initialized: boolean;
43
- isDynamicView: boolean;
44
- activeDynamicViewStep: number | null;
45
- lastClickedNodeId: string | null;
46
- lastClickedEdgeId: string | null;
47
- focusedNodeId: string | null;
48
- hoveredNodeId: string | null;
49
- hoveredEdgeId: string | null;
50
- dimmed: ReadonlySet<string>;
51
- lastOnNavigate: null | {
52
- fromView: import('@likec4/core').ViewID;
53
- toView: import('@likec4/core').ViewID;
54
- fromNode: import('@likec4/core').NodeId;
55
- };
56
- navigationHistory: Array<{
57
- viewId: import('@likec4/core').ViewID;
58
- nodeId: import('@likec4/core').NodeId | null;
59
- }>;
60
- navigationHistoryIndex: number;
61
- updateView: (view: import('@likec4/core').DiagramView) => void;
62
- focusOnNode: (nodeId: string) => void;
63
- setHoveredNode: (nodeId: string | null) => void;
64
- setHoveredEdge: (edgeId: string | null) => void;
65
- setLastClickedNode: (nodeId: string | null) => void;
66
- setLastClickedEdge: (edgeId: string | null) => void;
67
- resetLastClicked: () => void;
68
- getElement: (id: import('@likec4/core').Fqn) => import('@likec4/core').DiagramNode | null;
69
- triggerChangeElementStyle: (change: import("@likec4/core").ViewChange.ChangeElementStyle) => void;
70
- cancelSaveManualLayout: () => boolean;
71
- scheduleSaveManualLayout: () => void;
72
- triggerSaveManualLayout: () => void;
73
- triggerOnNavigateTo: (xynodeId: string, event: import('react').MouseEvent) => void;
74
- fitDiagram: (duration?: number) => void;
75
- goBack: () => void;
76
- goForward: () => void;
77
- nextDynamicStep: (increment?: number) => void;
78
- activateDynamicStep: (step: number) => void;
79
- stopDynamicView: () => void;
80
- onInit: (xyflow: import('..').XYFlowInstance) => void;
81
- onNodesChange: import('@xyflow/react').OnNodesChange<import('..').XYFlowNode>;
82
- onEdgesChange: import('@xyflow/react').OnEdgesChange<import('..').XYFlowEdge>;
83
- highlightByElementNotation: (notation: import('@likec4/core').ElementNotation, onlyOfKind?: import('@likec4/core').ElementKind) => void;
84
- }>, "subscribe"> & {
85
- subscribe: {
86
- (listener: (selectedState: {
87
- view: import('@likec4/core').DiagramView;
88
- readonly: boolean;
89
- showElementLinks: boolean;
90
- showNavigationButtons: boolean;
91
- showNotations: boolean;
92
- fitViewEnabled: boolean;
93
- fitViewPadding: number;
94
- zoomable: boolean;
95
- pannable: boolean;
96
- nodesDraggable: boolean;
97
- nodesSelectable: boolean;
98
- experimentalEdgeEditing: boolean;
99
- enableFocusMode: boolean;
100
- renderIcon: import('..').ElementIconRenderer | null;
101
- whereFilter: import('@likec4/core').WhereOperator<string, string> | null;
102
- enableDynamicViewWalkthrough: boolean;
103
- xyflow: import('..').XYFlowInstance;
104
- xystore: import('../hooks/useXYFlow').XYStoreApi;
105
- getContainer: () => HTMLDivElement | null;
106
- onChange: import('..').OnChange | null;
107
- onNavigateTo: import('..').OnNavigateTo | null;
108
- onNodeClick: import('..').OnNodeClick | null;
109
- onNodeContextMenu: import('..').OnNodeClick | null;
110
- onCanvasContextMenu: import('..').OnCanvasClick | null;
111
- onEdgeClick: import('..').OnEdgeClick | null;
112
- onEdgeContextMenu: import('..').OnEdgeClick | null;
113
- onCanvasClick: import('..').OnCanvasClick | null;
114
- onCanvasDblClick: import('..').OnCanvasClick | null;
115
- onBurgerMenuClick: (() => void) | null;
116
- onOpenSourceView: (() => void) | null;
117
- onOpenSourceElement: ((fqn: import('@likec4/core').Fqn) => void) | null;
118
- onOpenSourceRelation: ((id: import('@likec4/core').RelationID) => void) | null;
119
- readonly storeDevId: string;
120
- xynodes: import('..').XYFlowNode[];
121
- xyedges: {
122
- id: string;
123
- type: "relationship";
124
- source: string;
125
- target: string;
126
- sourceHandle?: string | null;
127
- targetHandle?: string | null;
128
- animated?: boolean;
129
- hidden?: boolean;
130
- deletable?: boolean;
131
- selectable?: boolean;
132
- data: import('..').RelationshipData;
133
- selected?: boolean;
134
- markerStart?: import('@xyflow/system').EdgeMarkerType;
135
- markerEnd?: import('@xyflow/system').EdgeMarkerType;
136
- zIndex?: number;
137
- ariaLabel?: string;
138
- interactionWidth?: number;
139
- label?: string | import('react').ReactNode;
140
- labelStyle?: import('react').CSSProperties;
141
- labelShowBg?: boolean;
142
- labelBgStyle?: import('react').CSSProperties;
143
- labelBgPadding?: [number, number];
144
- labelBgBorderRadius?: number;
145
- style?: import('react').CSSProperties;
146
- className?: string;
147
- reconnectable?: boolean | import('@xyflow/system').HandleType;
148
- focusable?: boolean;
149
- }[];
150
- viewSyncDebounceTimeout: number | null;
151
- viewportChanged: boolean;
152
- initialized: boolean;
153
- isDynamicView: boolean;
154
- activeDynamicViewStep: number | null;
155
- lastClickedNodeId: string | null;
156
- lastClickedEdgeId: string | null;
157
- focusedNodeId: string | null;
158
- hoveredNodeId: string | null;
159
- hoveredEdgeId: string | null;
160
- dimmed: ReadonlySet<string>;
161
- lastOnNavigate: null | {
162
- fromView: import('@likec4/core').ViewID;
163
- toView: import('@likec4/core').ViewID;
164
- fromNode: import('@likec4/core').NodeId;
165
- };
166
- navigationHistory: Array<{
167
- viewId: import('@likec4/core').ViewID;
168
- nodeId: import('@likec4/core').NodeId | null;
169
- }>;
170
- navigationHistoryIndex: number;
171
- updateView: (view: import('@likec4/core').DiagramView) => void;
172
- focusOnNode: (nodeId: string) => void;
173
- setHoveredNode: (nodeId: string | null) => void;
174
- setHoveredEdge: (edgeId: string | null) => void;
175
- setLastClickedNode: (nodeId: string | null) => void;
176
- setLastClickedEdge: (edgeId: string | null) => void;
177
- resetLastClicked: () => void;
178
- getElement: (id: import('@likec4/core').Fqn) => import('@likec4/core').DiagramNode | null;
179
- triggerChangeElementStyle: (change: import("@likec4/core").ViewChange.ChangeElementStyle) => void;
180
- cancelSaveManualLayout: () => boolean;
181
- scheduleSaveManualLayout: () => void;
182
- triggerSaveManualLayout: () => void;
183
- triggerOnNavigateTo: (xynodeId: string, event: import('react').MouseEvent) => void;
184
- fitDiagram: (duration?: number) => void;
185
- goBack: () => void;
186
- goForward: () => void;
187
- nextDynamicStep: (increment?: number) => void;
188
- activateDynamicStep: (step: number) => void;
189
- stopDynamicView: () => void;
190
- onInit: (xyflow: import('..').XYFlowInstance) => void;
191
- onNodesChange: import('@xyflow/react').OnNodesChange<import('..').XYFlowNode>;
192
- onEdgesChange: import('@xyflow/react').OnEdgesChange<{
193
- id: string;
194
- type: "relationship";
195
- source: string;
196
- target: string;
197
- sourceHandle?: string | null;
198
- targetHandle?: string | null;
199
- animated?: boolean;
200
- hidden?: boolean;
201
- deletable?: boolean;
202
- selectable?: boolean;
203
- data: import('..').RelationshipData;
204
- selected?: boolean;
205
- markerStart?: import('@xyflow/system').EdgeMarkerType;
206
- markerEnd?: import('@xyflow/system').EdgeMarkerType;
207
- zIndex?: number;
208
- ariaLabel?: string;
209
- interactionWidth?: number;
210
- label?: string | import('react').ReactNode;
211
- labelStyle?: import('react').CSSProperties;
212
- labelShowBg?: boolean;
213
- labelBgStyle?: import('react').CSSProperties;
214
- labelBgPadding?: [number, number];
215
- labelBgBorderRadius?: number;
216
- style?: import('react').CSSProperties;
217
- className?: string;
218
- reconnectable?: boolean | import('@xyflow/system').HandleType;
219
- focusable?: boolean;
220
- }>;
221
- highlightByElementNotation: (notation: import('@likec4/core').ElementNotation, onlyOfKind?: import('@likec4/core').ElementKind) => void;
222
- }, previousSelectedState: {
223
- view: import('@likec4/core').DiagramView;
224
- readonly: boolean;
225
- showElementLinks: boolean;
226
- showNavigationButtons: boolean;
227
- showNotations: boolean;
228
- fitViewEnabled: boolean;
229
- fitViewPadding: number;
230
- zoomable: boolean;
231
- pannable: boolean;
232
- nodesDraggable: boolean;
233
- nodesSelectable: boolean;
234
- experimentalEdgeEditing: boolean;
235
- enableFocusMode: boolean;
236
- renderIcon: import('..').ElementIconRenderer | null;
237
- whereFilter: import('@likec4/core').WhereOperator<string, string> | null;
238
- enableDynamicViewWalkthrough: boolean;
239
- xyflow: import('..').XYFlowInstance;
240
- xystore: import('../hooks/useXYFlow').XYStoreApi;
241
- getContainer: () => HTMLDivElement | null;
242
- onChange: import('..').OnChange | null;
243
- onNavigateTo: import('..').OnNavigateTo | null;
244
- onNodeClick: import('..').OnNodeClick | null;
245
- onNodeContextMenu: import('..').OnNodeClick | null;
246
- onCanvasContextMenu: import('..').OnCanvasClick | null;
247
- onEdgeClick: import('..').OnEdgeClick | null;
248
- onEdgeContextMenu: import('..').OnEdgeClick | null;
249
- onCanvasClick: import('..').OnCanvasClick | null;
250
- onCanvasDblClick: import('..').OnCanvasClick | null;
251
- onBurgerMenuClick: (() => void) | null;
252
- onOpenSourceView: (() => void) | null;
253
- onOpenSourceElement: ((fqn: import('@likec4/core').Fqn) => void) | null;
254
- onOpenSourceRelation: ((id: import('@likec4/core').RelationID) => void) | null;
255
- readonly storeDevId: string;
256
- xynodes: import('..').XYFlowNode[];
257
- xyedges: {
258
- id: string;
259
- type: "relationship";
260
- source: string;
261
- target: string;
262
- sourceHandle?: string | null;
263
- targetHandle?: string | null;
264
- animated?: boolean;
265
- hidden?: boolean;
266
- deletable?: boolean;
267
- selectable?: boolean;
268
- data: import('..').RelationshipData;
269
- selected?: boolean;
270
- markerStart?: import('@xyflow/system').EdgeMarkerType;
271
- markerEnd?: import('@xyflow/system').EdgeMarkerType;
272
- zIndex?: number;
273
- ariaLabel?: string;
274
- interactionWidth?: number;
275
- label?: string | import('react').ReactNode;
276
- labelStyle?: import('react').CSSProperties;
277
- labelShowBg?: boolean;
278
- labelBgStyle?: import('react').CSSProperties;
279
- labelBgPadding?: [number, number];
280
- labelBgBorderRadius?: number;
281
- style?: import('react').CSSProperties;
282
- className?: string;
283
- reconnectable?: boolean | import('@xyflow/system').HandleType;
284
- focusable?: boolean;
285
- }[];
286
- viewSyncDebounceTimeout: number | null;
287
- viewportChanged: boolean;
288
- initialized: boolean;
289
- isDynamicView: boolean;
290
- activeDynamicViewStep: number | null;
291
- lastClickedNodeId: string | null;
292
- lastClickedEdgeId: string | null;
293
- focusedNodeId: string | null;
294
- hoveredNodeId: string | null;
295
- hoveredEdgeId: string | null;
296
- dimmed: ReadonlySet<string>;
297
- lastOnNavigate: null | {
298
- fromView: import('@likec4/core').ViewID;
299
- toView: import('@likec4/core').ViewID;
300
- fromNode: import('@likec4/core').NodeId;
301
- };
302
- navigationHistory: Array<{
303
- viewId: import('@likec4/core').ViewID;
304
- nodeId: import('@likec4/core').NodeId | null;
305
- }>;
306
- navigationHistoryIndex: number;
307
- updateView: (view: import('@likec4/core').DiagramView) => void;
308
- focusOnNode: (nodeId: string) => void;
309
- setHoveredNode: (nodeId: string | null) => void;
310
- setHoveredEdge: (edgeId: string | null) => void;
311
- setLastClickedNode: (nodeId: string | null) => void;
312
- setLastClickedEdge: (edgeId: string | null) => void;
313
- resetLastClicked: () => void;
314
- getElement: (id: import('@likec4/core').Fqn) => import('@likec4/core').DiagramNode | null;
315
- triggerChangeElementStyle: (change: import("@likec4/core").ViewChange.ChangeElementStyle) => void;
316
- cancelSaveManualLayout: () => boolean;
317
- scheduleSaveManualLayout: () => void;
318
- triggerSaveManualLayout: () => void;
319
- triggerOnNavigateTo: (xynodeId: string, event: import('react').MouseEvent) => void;
320
- fitDiagram: (duration?: number) => void;
321
- goBack: () => void;
322
- goForward: () => void;
323
- nextDynamicStep: (increment?: number) => void;
324
- activateDynamicStep: (step: number) => void;
325
- stopDynamicView: () => void;
326
- onInit: (xyflow: import('..').XYFlowInstance) => void;
327
- onNodesChange: import('@xyflow/react').OnNodesChange<import('..').XYFlowNode>;
328
- onEdgesChange: import('@xyflow/react').OnEdgesChange<{
329
- id: string;
330
- type: "relationship";
331
- source: string;
332
- target: string;
333
- sourceHandle?: string | null;
334
- targetHandle?: string | null;
335
- animated?: boolean;
336
- hidden?: boolean;
337
- deletable?: boolean;
338
- selectable?: boolean;
339
- data: import('..').RelationshipData;
340
- selected?: boolean;
341
- markerStart?: import('@xyflow/system').EdgeMarkerType;
342
- markerEnd?: import('@xyflow/system').EdgeMarkerType;
343
- zIndex?: number;
344
- ariaLabel?: string;
345
- interactionWidth?: number;
346
- label?: string | import('react').ReactNode;
347
- labelStyle?: import('react').CSSProperties;
348
- labelShowBg?: boolean;
349
- labelBgStyle?: import('react').CSSProperties;
350
- labelBgPadding?: [number, number];
351
- labelBgBorderRadius?: number;
352
- style?: import('react').CSSProperties;
353
- className?: string;
354
- reconnectable?: boolean | import('@xyflow/system').HandleType;
355
- focusable?: boolean;
356
- }>;
357
- highlightByElementNotation: (notation: import('@likec4/core').ElementNotation, onlyOfKind?: import('@likec4/core').ElementKind) => void;
358
- }) => void): () => void;
359
- <U>(selector: (state: {
360
- view: import('@likec4/core').DiagramView;
361
- readonly: boolean;
362
- showElementLinks: boolean;
363
- showNavigationButtons: boolean;
364
- showNotations: boolean;
365
- fitViewEnabled: boolean;
366
- fitViewPadding: number;
367
- zoomable: boolean;
368
- pannable: boolean;
369
- nodesDraggable: boolean;
370
- nodesSelectable: boolean;
371
- experimentalEdgeEditing: boolean;
372
- enableFocusMode: boolean;
373
- renderIcon: import('..').ElementIconRenderer | null;
374
- whereFilter: import('@likec4/core').WhereOperator<string, string> | null;
375
- enableDynamicViewWalkthrough: boolean;
376
- xyflow: import('..').XYFlowInstance;
377
- xystore: import('../hooks/useXYFlow').XYStoreApi;
378
- getContainer: () => HTMLDivElement | null;
379
- onChange: import('..').OnChange | null;
380
- onNavigateTo: import('..').OnNavigateTo | null;
381
- onNodeClick: import('..').OnNodeClick | null;
382
- onNodeContextMenu: import('..').OnNodeClick | null;
383
- onCanvasContextMenu: import('..').OnCanvasClick | null;
384
- onEdgeClick: import('..').OnEdgeClick | null;
385
- onEdgeContextMenu: import('..').OnEdgeClick | null;
386
- onCanvasClick: import('..').OnCanvasClick | null;
387
- onCanvasDblClick: import('..').OnCanvasClick | null;
388
- onBurgerMenuClick: (() => void) | null;
389
- onOpenSourceView: (() => void) | null;
390
- onOpenSourceElement: ((fqn: import('@likec4/core').Fqn) => void) | null;
391
- onOpenSourceRelation: ((id: import('@likec4/core').RelationID) => void) | null;
392
- readonly storeDevId: string;
393
- xynodes: import('..').XYFlowNode[];
394
- xyedges: {
395
- id: string;
396
- type: "relationship";
397
- source: string;
398
- target: string;
399
- sourceHandle?: string | null;
400
- targetHandle?: string | null;
401
- animated?: boolean;
402
- hidden?: boolean;
403
- deletable?: boolean;
404
- selectable?: boolean;
405
- data: import('..').RelationshipData;
406
- selected?: boolean;
407
- markerStart?: import('@xyflow/system').EdgeMarkerType;
408
- markerEnd?: import('@xyflow/system').EdgeMarkerType;
409
- zIndex?: number;
410
- ariaLabel?: string;
411
- interactionWidth?: number;
412
- label?: string | import('react').ReactNode;
413
- labelStyle?: import('react').CSSProperties;
414
- labelShowBg?: boolean;
415
- labelBgStyle?: import('react').CSSProperties;
416
- labelBgPadding?: [number, number];
417
- labelBgBorderRadius?: number;
418
- style?: import('react').CSSProperties;
419
- className?: string;
420
- reconnectable?: boolean | import('@xyflow/system').HandleType;
421
- focusable?: boolean;
422
- }[];
423
- viewSyncDebounceTimeout: number | null;
424
- viewportChanged: boolean;
425
- initialized: boolean;
426
- isDynamicView: boolean;
427
- activeDynamicViewStep: number | null;
428
- lastClickedNodeId: string | null;
429
- lastClickedEdgeId: string | null;
430
- focusedNodeId: string | null;
431
- hoveredNodeId: string | null;
432
- hoveredEdgeId: string | null;
433
- dimmed: ReadonlySet<string>;
434
- lastOnNavigate: null | {
435
- fromView: import('@likec4/core').ViewID;
436
- toView: import('@likec4/core').ViewID;
437
- fromNode: import('@likec4/core').NodeId;
438
- };
439
- navigationHistory: Array<{
440
- viewId: import('@likec4/core').ViewID;
441
- nodeId: import('@likec4/core').NodeId | null;
442
- }>;
443
- navigationHistoryIndex: number;
444
- updateView: (view: import('@likec4/core').DiagramView) => void;
445
- focusOnNode: (nodeId: string) => void;
446
- setHoveredNode: (nodeId: string | null) => void;
447
- setHoveredEdge: (edgeId: string | null) => void;
448
- setLastClickedNode: (nodeId: string | null) => void;
449
- setLastClickedEdge: (edgeId: string | null) => void;
450
- resetLastClicked: () => void;
451
- getElement: (id: import('@likec4/core').Fqn) => import('@likec4/core').DiagramNode | null;
452
- triggerChangeElementStyle: (change: import("@likec4/core").ViewChange.ChangeElementStyle) => void;
453
- cancelSaveManualLayout: () => boolean;
454
- scheduleSaveManualLayout: () => void;
455
- triggerSaveManualLayout: () => void;
456
- triggerOnNavigateTo: (xynodeId: string, event: import('react').MouseEvent) => void;
457
- fitDiagram: (duration?: number) => void;
458
- goBack: () => void;
459
- goForward: () => void;
460
- nextDynamicStep: (increment?: number) => void;
461
- activateDynamicStep: (step: number) => void;
462
- stopDynamicView: () => void;
463
- onInit: (xyflow: import('..').XYFlowInstance) => void;
464
- onNodesChange: import('@xyflow/react').OnNodesChange<import('..').XYFlowNode>;
465
- onEdgesChange: import('@xyflow/react').OnEdgesChange<{
466
- id: string;
467
- type: "relationship";
468
- source: string;
469
- target: string;
470
- sourceHandle?: string | null;
471
- targetHandle?: string | null;
472
- animated?: boolean;
473
- hidden?: boolean;
474
- deletable?: boolean;
475
- selectable?: boolean;
476
- data: import('..').RelationshipData;
477
- selected?: boolean;
478
- markerStart?: import('@xyflow/system').EdgeMarkerType;
479
- markerEnd?: import('@xyflow/system').EdgeMarkerType;
480
- zIndex?: number;
481
- ariaLabel?: string;
482
- interactionWidth?: number;
483
- label?: string | import('react').ReactNode;
484
- labelStyle?: import('react').CSSProperties;
485
- labelShowBg?: boolean;
486
- labelBgStyle?: import('react').CSSProperties;
487
- labelBgPadding?: [number, number];
488
- labelBgBorderRadius?: number;
489
- style?: import('react').CSSProperties;
490
- className?: string;
491
- reconnectable?: boolean | import('@xyflow/system').HandleType;
492
- focusable?: boolean;
493
- }>;
494
- highlightByElementNotation: (notation: import('@likec4/core').ElementNotation, onlyOfKind?: import('@likec4/core').ElementKind) => void;
495
- }) => U, listener: (selectedState: U, previousSelectedState: U) => void, options?: {
496
- equalityFn?: (a: U, b: U) => boolean;
497
- fireImmediately?: boolean;
498
- } | undefined): () => void;
499
- };
500
- }, "setState"> & {
501
- setState<A extends string | {
502
- type: string;
503
- }>(partial: {
504
- view: import('@likec4/core').DiagramView;
505
- readonly: boolean;
506
- showElementLinks: boolean;
507
- showNavigationButtons: boolean;
508
- showNotations: boolean;
509
- fitViewEnabled: boolean;
510
- fitViewPadding: number;
511
- zoomable: boolean;
512
- pannable: boolean;
513
- nodesDraggable: boolean;
514
- nodesSelectable: boolean;
515
- experimentalEdgeEditing: boolean;
516
- enableFocusMode: boolean;
517
- renderIcon: import('..').ElementIconRenderer | null;
518
- whereFilter: import('@likec4/core').WhereOperator<string, string> | null;
519
- enableDynamicViewWalkthrough: boolean;
520
- xyflow: import('..').XYFlowInstance;
521
- xystore: import('../hooks/useXYFlow').XYStoreApi;
522
- getContainer: () => HTMLDivElement | null;
523
- onChange: import('..').OnChange | null;
524
- onNavigateTo: import('..').OnNavigateTo | null;
525
- onNodeClick: import('..').OnNodeClick | null;
526
- onNodeContextMenu: import('..').OnNodeClick | null;
527
- onCanvasContextMenu: import('..').OnCanvasClick | null;
528
- onEdgeClick: import('..').OnEdgeClick | null;
529
- onEdgeContextMenu: import('..').OnEdgeClick | null;
530
- onCanvasClick: import('..').OnCanvasClick | null;
531
- onCanvasDblClick: import('..').OnCanvasClick | null;
532
- onBurgerMenuClick: (() => void) | null;
533
- onOpenSourceView: (() => void) | null;
534
- onOpenSourceElement: ((fqn: import('@likec4/core').Fqn) => void) | null;
535
- onOpenSourceRelation: ((id: import('@likec4/core').RelationID) => void) | null;
536
- readonly storeDevId: string;
537
- xynodes: import('..').XYFlowNode[];
538
- xyedges: {
539
- id: string;
540
- type: "relationship";
541
- source: string;
542
- target: string;
543
- sourceHandle?: string | null;
544
- targetHandle?: string | null;
545
- animated?: boolean;
546
- hidden?: boolean;
547
- deletable?: boolean;
548
- selectable?: boolean;
549
- data: import('..').RelationshipData;
550
- selected?: boolean;
551
- markerStart?: import('@xyflow/system').EdgeMarkerType;
552
- markerEnd?: import('@xyflow/system').EdgeMarkerType;
553
- zIndex?: number;
554
- ariaLabel?: string;
555
- interactionWidth?: number;
556
- label?: string | import('react').ReactNode;
557
- labelStyle?: import('react').CSSProperties;
558
- labelShowBg?: boolean;
559
- labelBgStyle?: import('react').CSSProperties;
560
- labelBgPadding?: [number, number];
561
- labelBgBorderRadius?: number;
562
- style?: import('react').CSSProperties;
563
- className?: string;
564
- reconnectable?: boolean | import('@xyflow/system').HandleType;
565
- focusable?: boolean;
566
- }[];
567
- viewSyncDebounceTimeout: number | null;
568
- viewportChanged: boolean;
569
- initialized: boolean;
570
- isDynamicView: boolean;
571
- activeDynamicViewStep: number | null;
572
- lastClickedNodeId: string | null;
573
- lastClickedEdgeId: string | null;
574
- focusedNodeId: string | null;
575
- hoveredNodeId: string | null;
576
- hoveredEdgeId: string | null;
577
- dimmed: ReadonlySet<string>;
578
- lastOnNavigate: null | {
579
- fromView: import('@likec4/core').ViewID;
580
- toView: import('@likec4/core').ViewID;
581
- fromNode: import('@likec4/core').NodeId;
582
- };
583
- navigationHistory: Array<{
584
- viewId: import('@likec4/core').ViewID;
585
- nodeId: import('@likec4/core').NodeId | null;
586
- }>;
587
- navigationHistoryIndex: number;
588
- updateView: (view: import('@likec4/core').DiagramView) => void;
589
- focusOnNode: (nodeId: string) => void;
590
- setHoveredNode: (nodeId: string | null) => void;
591
- setHoveredEdge: (edgeId: string | null) => void;
592
- setLastClickedNode: (nodeId: string | null) => void;
593
- setLastClickedEdge: (edgeId: string | null) => void;
594
- resetLastClicked: () => void;
595
- getElement: (id: import('@likec4/core').Fqn) => import('@likec4/core').DiagramNode | null;
596
- triggerChangeElementStyle: (change: import("@likec4/core").ViewChange.ChangeElementStyle) => void;
597
- cancelSaveManualLayout: () => boolean;
598
- scheduleSaveManualLayout: () => void;
599
- triggerSaveManualLayout: () => void;
600
- triggerOnNavigateTo: (xynodeId: string, event: import('react').MouseEvent) => void;
601
- fitDiagram: (duration?: number) => void;
602
- goBack: () => void;
603
- goForward: () => void;
604
- nextDynamicStep: (increment?: number) => void;
605
- activateDynamicStep: (step: number) => void;
606
- stopDynamicView: () => void;
607
- onInit: (xyflow: import('..').XYFlowInstance) => void;
608
- onNodesChange: import('@xyflow/react').OnNodesChange<import('..').XYFlowNode>;
609
- onEdgesChange: import('@xyflow/react').OnEdgesChange<{
610
- id: string;
611
- type: "relationship";
612
- source: string;
613
- target: string;
614
- sourceHandle?: string | null;
615
- targetHandle?: string | null;
616
- animated?: boolean;
617
- hidden?: boolean;
618
- deletable?: boolean;
619
- selectable?: boolean;
620
- data: import('..').RelationshipData;
621
- selected?: boolean;
622
- markerStart?: import('@xyflow/system').EdgeMarkerType;
623
- markerEnd?: import('@xyflow/system').EdgeMarkerType;
624
- zIndex?: number;
625
- ariaLabel?: string;
626
- interactionWidth?: number;
627
- label?: string | import('react').ReactNode;
628
- labelStyle?: import('react').CSSProperties;
629
- labelShowBg?: boolean;
630
- labelBgStyle?: import('react').CSSProperties;
631
- labelBgPadding?: [number, number];
632
- labelBgBorderRadius?: number;
633
- style?: import('react').CSSProperties;
634
- className?: string;
635
- reconnectable?: boolean | import('@xyflow/system').HandleType;
636
- focusable?: boolean;
637
- }>;
638
- highlightByElementNotation: (notation: import('@likec4/core').ElementNotation, onlyOfKind?: import('@likec4/core').ElementKind) => void;
639
- } | Partial<{
640
- view: import('@likec4/core').DiagramView;
641
- readonly: boolean;
642
- showElementLinks: boolean;
643
- showNavigationButtons: boolean;
644
- showNotations: boolean;
645
- fitViewEnabled: boolean;
646
- fitViewPadding: number;
647
- zoomable: boolean;
648
- pannable: boolean;
649
- nodesDraggable: boolean;
650
- nodesSelectable: boolean;
651
- experimentalEdgeEditing: boolean;
652
- enableFocusMode: boolean;
653
- renderIcon: import('..').ElementIconRenderer | null;
654
- whereFilter: import('@likec4/core').WhereOperator<string, string> | null;
655
- enableDynamicViewWalkthrough: boolean;
656
- xyflow: import('..').XYFlowInstance;
657
- xystore: import('../hooks/useXYFlow').XYStoreApi;
658
- getContainer: () => HTMLDivElement | null;
659
- onChange: import('..').OnChange | null;
660
- onNavigateTo: import('..').OnNavigateTo | null;
661
- onNodeClick: import('..').OnNodeClick | null;
662
- onNodeContextMenu: import('..').OnNodeClick | null;
663
- onCanvasContextMenu: import('..').OnCanvasClick | null;
664
- onEdgeClick: import('..').OnEdgeClick | null;
665
- onEdgeContextMenu: import('..').OnEdgeClick | null;
666
- onCanvasClick: import('..').OnCanvasClick | null;
667
- onCanvasDblClick: import('..').OnCanvasClick | null;
668
- onBurgerMenuClick: (() => void) | null;
669
- onOpenSourceView: (() => void) | null;
670
- onOpenSourceElement: ((fqn: import('@likec4/core').Fqn) => void) | null;
671
- onOpenSourceRelation: ((id: import('@likec4/core').RelationID) => void) | null;
672
- readonly storeDevId: string;
673
- xynodes: import('..').XYFlowNode[];
674
- xyedges: {
675
- id: string;
676
- type: "relationship";
677
- source: string;
678
- target: string;
679
- sourceHandle?: string | null;
680
- targetHandle?: string | null;
681
- animated?: boolean;
682
- hidden?: boolean;
683
- deletable?: boolean;
684
- selectable?: boolean;
685
- data: import('..').RelationshipData;
686
- selected?: boolean;
687
- markerStart?: import('@xyflow/system').EdgeMarkerType;
688
- markerEnd?: import('@xyflow/system').EdgeMarkerType;
689
- zIndex?: number;
690
- ariaLabel?: string;
691
- interactionWidth?: number;
692
- label?: string | import('react').ReactNode;
693
- labelStyle?: import('react').CSSProperties;
694
- labelShowBg?: boolean;
695
- labelBgStyle?: import('react').CSSProperties;
696
- labelBgPadding?: [number, number];
697
- labelBgBorderRadius?: number;
698
- style?: import('react').CSSProperties;
699
- className?: string;
700
- reconnectable?: boolean | import('@xyflow/system').HandleType;
701
- focusable?: boolean;
702
- }[];
703
- viewSyncDebounceTimeout: number | null;
704
- viewportChanged: boolean;
705
- initialized: boolean;
706
- isDynamicView: boolean;
707
- activeDynamicViewStep: number | null;
708
- lastClickedNodeId: string | null;
709
- lastClickedEdgeId: string | null;
710
- focusedNodeId: string | null;
711
- hoveredNodeId: string | null;
712
- hoveredEdgeId: string | null;
713
- dimmed: ReadonlySet<string>;
714
- lastOnNavigate: null | {
715
- fromView: import('@likec4/core').ViewID;
716
- toView: import('@likec4/core').ViewID;
717
- fromNode: import('@likec4/core').NodeId;
718
- };
719
- navigationHistory: Array<{
720
- viewId: import('@likec4/core').ViewID;
721
- nodeId: import('@likec4/core').NodeId | null;
722
- }>;
723
- navigationHistoryIndex: number;
724
- updateView: (view: import('@likec4/core').DiagramView) => void;
725
- focusOnNode: (nodeId: string) => void;
726
- setHoveredNode: (nodeId: string | null) => void;
727
- setHoveredEdge: (edgeId: string | null) => void;
728
- setLastClickedNode: (nodeId: string | null) => void;
729
- setLastClickedEdge: (edgeId: string | null) => void;
730
- resetLastClicked: () => void;
731
- getElement: (id: import('@likec4/core').Fqn) => import('@likec4/core').DiagramNode | null;
732
- triggerChangeElementStyle: (change: import("@likec4/core").ViewChange.ChangeElementStyle) => void;
733
- cancelSaveManualLayout: () => boolean;
734
- scheduleSaveManualLayout: () => void;
735
- triggerSaveManualLayout: () => void;
736
- triggerOnNavigateTo: (xynodeId: string, event: import('react').MouseEvent) => void;
737
- fitDiagram: (duration?: number) => void;
738
- goBack: () => void;
739
- goForward: () => void;
740
- nextDynamicStep: (increment?: number) => void;
741
- activateDynamicStep: (step: number) => void;
742
- stopDynamicView: () => void;
743
- onInit: (xyflow: import('..').XYFlowInstance) => void;
744
- onNodesChange: import('@xyflow/react').OnNodesChange<import('..').XYFlowNode>;
745
- onEdgesChange: import('@xyflow/react').OnEdgesChange<{
746
- id: string;
747
- type: "relationship";
748
- source: string;
749
- target: string;
750
- sourceHandle?: string | null;
751
- targetHandle?: string | null;
752
- animated?: boolean;
753
- hidden?: boolean;
754
- deletable?: boolean;
755
- selectable?: boolean;
756
- data: import('..').RelationshipData;
757
- selected?: boolean;
758
- markerStart?: import('@xyflow/system').EdgeMarkerType;
759
- markerEnd?: import('@xyflow/system').EdgeMarkerType;
760
- zIndex?: number;
761
- ariaLabel?: string;
762
- interactionWidth?: number;
763
- label?: string | import('react').ReactNode;
764
- labelStyle?: import('react').CSSProperties;
765
- labelShowBg?: boolean;
766
- labelBgStyle?: import('react').CSSProperties;
767
- labelBgPadding?: [number, number];
768
- labelBgBorderRadius?: number;
769
- style?: import('react').CSSProperties;
770
- className?: string;
771
- reconnectable?: boolean | import('@xyflow/system').HandleType;
772
- focusable?: boolean;
773
- }>;
774
- highlightByElementNotation: (notation: import('@likec4/core').ElementNotation, onlyOfKind?: import('@likec4/core').ElementKind) => void;
775
- }> | ((state: {
776
- view: import('@likec4/core').DiagramView;
777
- readonly: boolean;
778
- showElementLinks: boolean;
779
- showNavigationButtons: boolean;
780
- showNotations: boolean;
781
- fitViewEnabled: boolean;
782
- fitViewPadding: number;
783
- zoomable: boolean;
784
- pannable: boolean;
785
- nodesDraggable: boolean;
786
- nodesSelectable: boolean;
787
- experimentalEdgeEditing: boolean;
788
- enableFocusMode: boolean;
789
- renderIcon: import('..').ElementIconRenderer | null;
790
- whereFilter: import('@likec4/core').WhereOperator<string, string> | null;
791
- enableDynamicViewWalkthrough: boolean;
792
- xyflow: import('..').XYFlowInstance;
793
- xystore: import('../hooks/useXYFlow').XYStoreApi;
794
- getContainer: () => HTMLDivElement | null;
795
- onChange: import('..').OnChange | null;
796
- onNavigateTo: import('..').OnNavigateTo | null;
797
- onNodeClick: import('..').OnNodeClick | null;
798
- onNodeContextMenu: import('..').OnNodeClick | null;
799
- onCanvasContextMenu: import('..').OnCanvasClick | null;
800
- onEdgeClick: import('..').OnEdgeClick | null;
801
- onEdgeContextMenu: import('..').OnEdgeClick | null;
802
- onCanvasClick: import('..').OnCanvasClick | null;
803
- onCanvasDblClick: import('..').OnCanvasClick | null;
804
- onBurgerMenuClick: (() => void) | null;
805
- onOpenSourceView: (() => void) | null;
806
- onOpenSourceElement: ((fqn: import('@likec4/core').Fqn) => void) | null;
807
- onOpenSourceRelation: ((id: import('@likec4/core').RelationID) => void) | null;
808
- readonly storeDevId: string;
809
- xynodes: import('..').XYFlowNode[];
810
- xyedges: {
811
- id: string;
812
- type: "relationship";
813
- source: string;
814
- target: string;
815
- sourceHandle?: string | null;
816
- targetHandle?: string | null;
817
- animated?: boolean;
818
- hidden?: boolean;
819
- deletable?: boolean;
820
- selectable?: boolean;
821
- data: import('..').RelationshipData;
822
- selected?: boolean;
823
- markerStart?: import('@xyflow/system').EdgeMarkerType;
824
- markerEnd?: import('@xyflow/system').EdgeMarkerType;
825
- zIndex?: number;
826
- ariaLabel?: string;
827
- interactionWidth?: number;
828
- label?: string | import('react').ReactNode;
829
- labelStyle?: import('react').CSSProperties;
830
- labelShowBg?: boolean;
831
- labelBgStyle?: import('react').CSSProperties;
832
- labelBgPadding?: [number, number];
833
- labelBgBorderRadius?: number;
834
- style?: import('react').CSSProperties;
835
- className?: string;
836
- reconnectable?: boolean | import('@xyflow/system').HandleType;
837
- focusable?: boolean;
838
- }[];
839
- viewSyncDebounceTimeout: number | null;
840
- viewportChanged: boolean;
841
- initialized: boolean;
842
- isDynamicView: boolean;
843
- activeDynamicViewStep: number | null;
844
- lastClickedNodeId: string | null;
845
- lastClickedEdgeId: string | null;
846
- focusedNodeId: string | null;
847
- hoveredNodeId: string | null;
848
- hoveredEdgeId: string | null;
849
- dimmed: ReadonlySet<string>;
850
- lastOnNavigate: null | {
851
- fromView: import('@likec4/core').ViewID;
852
- toView: import('@likec4/core').ViewID;
853
- fromNode: import('@likec4/core').NodeId;
854
- };
855
- navigationHistory: Array<{
856
- viewId: import('@likec4/core').ViewID;
857
- nodeId: import('@likec4/core').NodeId | null;
858
- }>;
859
- navigationHistoryIndex: number;
860
- updateView: (view: import('@likec4/core').DiagramView) => void;
861
- focusOnNode: (nodeId: string) => void;
862
- setHoveredNode: (nodeId: string | null) => void;
863
- setHoveredEdge: (edgeId: string | null) => void;
864
- setLastClickedNode: (nodeId: string | null) => void;
865
- setLastClickedEdge: (edgeId: string | null) => void;
866
- resetLastClicked: () => void;
867
- getElement: (id: import('@likec4/core').Fqn) => import('@likec4/core').DiagramNode | null;
868
- triggerChangeElementStyle: (change: import("@likec4/core").ViewChange.ChangeElementStyle) => void;
869
- cancelSaveManualLayout: () => boolean;
870
- scheduleSaveManualLayout: () => void;
871
- triggerSaveManualLayout: () => void;
872
- triggerOnNavigateTo: (xynodeId: string, event: import('react').MouseEvent) => void;
873
- fitDiagram: (duration?: number) => void;
874
- goBack: () => void;
875
- goForward: () => void;
876
- nextDynamicStep: (increment?: number) => void;
877
- activateDynamicStep: (step: number) => void;
878
- stopDynamicView: () => void;
879
- onInit: (xyflow: import('..').XYFlowInstance) => void;
880
- onNodesChange: import('@xyflow/react').OnNodesChange<import('..').XYFlowNode>;
881
- onEdgesChange: import('@xyflow/react').OnEdgesChange<{
882
- id: string;
883
- type: "relationship";
884
- source: string;
885
- target: string;
886
- sourceHandle?: string | null;
887
- targetHandle?: string | null;
888
- animated?: boolean;
889
- hidden?: boolean;
890
- deletable?: boolean;
891
- selectable?: boolean;
892
- data: import('..').RelationshipData;
893
- selected?: boolean;
894
- markerStart?: import('@xyflow/system').EdgeMarkerType;
895
- markerEnd?: import('@xyflow/system').EdgeMarkerType;
896
- zIndex?: number;
897
- ariaLabel?: string;
898
- interactionWidth?: number;
899
- label?: string | import('react').ReactNode;
900
- labelStyle?: import('react').CSSProperties;
901
- labelShowBg?: boolean;
902
- labelBgStyle?: import('react').CSSProperties;
903
- labelBgPadding?: [number, number];
904
- labelBgBorderRadius?: number;
905
- style?: import('react').CSSProperties;
906
- className?: string;
907
- reconnectable?: boolean | import('@xyflow/system').HandleType;
908
- focusable?: boolean;
909
- }>;
910
- highlightByElementNotation: (notation: import('@likec4/core').ElementNotation, onlyOfKind?: import('@likec4/core').ElementKind) => void;
911
- }) => {
912
- view: import('@likec4/core').DiagramView;
913
- readonly: boolean;
914
- showElementLinks: boolean;
915
- showNavigationButtons: boolean;
916
- showNotations: boolean;
917
- fitViewEnabled: boolean;
918
- fitViewPadding: number;
919
- zoomable: boolean;
920
- pannable: boolean;
921
- nodesDraggable: boolean;
922
- nodesSelectable: boolean;
923
- experimentalEdgeEditing: boolean;
924
- enableFocusMode: boolean;
925
- renderIcon: import('..').ElementIconRenderer | null;
926
- whereFilter: import('@likec4/core').WhereOperator<string, string> | null;
927
- enableDynamicViewWalkthrough: boolean;
928
- xyflow: import('..').XYFlowInstance;
929
- xystore: import('../hooks/useXYFlow').XYStoreApi;
930
- getContainer: () => HTMLDivElement | null;
931
- onChange: import('..').OnChange | null;
932
- onNavigateTo: import('..').OnNavigateTo | null;
933
- onNodeClick: import('..').OnNodeClick | null;
934
- onNodeContextMenu: import('..').OnNodeClick | null;
935
- onCanvasContextMenu: import('..').OnCanvasClick | null;
936
- onEdgeClick: import('..').OnEdgeClick | null;
937
- onEdgeContextMenu: import('..').OnEdgeClick | null;
938
- onCanvasClick: import('..').OnCanvasClick | null;
939
- onCanvasDblClick: import('..').OnCanvasClick | null;
940
- onBurgerMenuClick: (() => void) | null;
941
- onOpenSourceView: (() => void) | null;
942
- onOpenSourceElement: ((fqn: import('@likec4/core').Fqn) => void) | null;
943
- onOpenSourceRelation: ((id: import('@likec4/core').RelationID) => void) | null;
944
- readonly storeDevId: string;
945
- xynodes: import('..').XYFlowNode[];
946
- xyedges: {
947
- id: string;
948
- type: "relationship";
949
- source: string;
950
- target: string;
951
- sourceHandle?: string | null;
952
- targetHandle?: string | null;
953
- animated?: boolean;
954
- hidden?: boolean;
955
- deletable?: boolean;
956
- selectable?: boolean;
957
- data: import('..').RelationshipData;
958
- selected?: boolean;
959
- markerStart?: import('@xyflow/system').EdgeMarkerType;
960
- markerEnd?: import('@xyflow/system').EdgeMarkerType;
961
- zIndex?: number;
962
- ariaLabel?: string;
963
- interactionWidth?: number;
964
- label?: string | import('react').ReactNode;
965
- labelStyle?: import('react').CSSProperties;
966
- labelShowBg?: boolean;
967
- labelBgStyle?: import('react').CSSProperties;
968
- labelBgPadding?: [number, number];
969
- labelBgBorderRadius?: number;
970
- style?: import('react').CSSProperties;
971
- className?: string;
972
- reconnectable?: boolean | import('@xyflow/system').HandleType;
973
- focusable?: boolean;
974
- }[];
975
- viewSyncDebounceTimeout: number | null;
976
- viewportChanged: boolean;
977
- initialized: boolean;
978
- isDynamicView: boolean;
979
- activeDynamicViewStep: number | null;
980
- lastClickedNodeId: string | null;
981
- lastClickedEdgeId: string | null;
982
- focusedNodeId: string | null;
983
- hoveredNodeId: string | null;
984
- hoveredEdgeId: string | null;
985
- dimmed: ReadonlySet<string>;
986
- lastOnNavigate: null | {
987
- fromView: import('@likec4/core').ViewID;
988
- toView: import('@likec4/core').ViewID;
989
- fromNode: import('@likec4/core').NodeId;
990
- };
991
- navigationHistory: Array<{
992
- viewId: import('@likec4/core').ViewID;
993
- nodeId: import('@likec4/core').NodeId | null;
994
- }>;
995
- navigationHistoryIndex: number;
996
- updateView: (view: import('@likec4/core').DiagramView) => void;
997
- focusOnNode: (nodeId: string) => void;
998
- setHoveredNode: (nodeId: string | null) => void;
999
- setHoveredEdge: (edgeId: string | null) => void;
1000
- setLastClickedNode: (nodeId: string | null) => void;
1001
- setLastClickedEdge: (edgeId: string | null) => void;
1002
- resetLastClicked: () => void;
1003
- getElement: (id: import('@likec4/core').Fqn) => import('@likec4/core').DiagramNode | null;
1004
- triggerChangeElementStyle: (change: import("@likec4/core").ViewChange.ChangeElementStyle) => void;
1005
- cancelSaveManualLayout: () => boolean;
1006
- scheduleSaveManualLayout: () => void;
1007
- triggerSaveManualLayout: () => void;
1008
- triggerOnNavigateTo: (xynodeId: string, event: import('react').MouseEvent) => void;
1009
- fitDiagram: (duration?: number) => void;
1010
- goBack: () => void;
1011
- goForward: () => void;
1012
- nextDynamicStep: (increment?: number) => void;
1013
- activateDynamicStep: (step: number) => void;
1014
- stopDynamicView: () => void;
1015
- onInit: (xyflow: import('..').XYFlowInstance) => void;
1016
- onNodesChange: import('@xyflow/react').OnNodesChange<import('..').XYFlowNode>;
1017
- onEdgesChange: import('@xyflow/react').OnEdgesChange<{
1018
- id: string;
1019
- type: "relationship";
1020
- source: string;
1021
- target: string;
1022
- sourceHandle?: string | null;
1023
- targetHandle?: string | null;
1024
- animated?: boolean;
1025
- hidden?: boolean;
1026
- deletable?: boolean;
1027
- selectable?: boolean;
1028
- data: import('..').RelationshipData;
1029
- selected?: boolean;
1030
- markerStart?: import('@xyflow/system').EdgeMarkerType;
1031
- markerEnd?: import('@xyflow/system').EdgeMarkerType;
1032
- zIndex?: number;
1033
- ariaLabel?: string;
1034
- interactionWidth?: number;
1035
- label?: string | import('react').ReactNode;
1036
- labelStyle?: import('react').CSSProperties;
1037
- labelShowBg?: boolean;
1038
- labelBgStyle?: import('react').CSSProperties;
1039
- labelBgPadding?: [number, number];
1040
- labelBgBorderRadius?: number;
1041
- style?: import('react').CSSProperties;
1042
- className?: string;
1043
- reconnectable?: boolean | import('@xyflow/system').HandleType;
1044
- focusable?: boolean;
1045
- }>;
1046
- highlightByElementNotation: (notation: import('@likec4/core').ElementNotation, onlyOfKind?: import('@likec4/core').ElementKind) => void;
1047
- } | Partial<{
1048
- view: import('@likec4/core').DiagramView;
1049
- readonly: boolean;
1050
- showElementLinks: boolean;
1051
- showNavigationButtons: boolean;
1052
- showNotations: boolean;
1053
- fitViewEnabled: boolean;
1054
- fitViewPadding: number;
1055
- zoomable: boolean;
1056
- pannable: boolean;
1057
- nodesDraggable: boolean;
1058
- nodesSelectable: boolean;
1059
- experimentalEdgeEditing: boolean;
1060
- enableFocusMode: boolean;
1061
- renderIcon: import('..').ElementIconRenderer | null;
1062
- whereFilter: import('@likec4/core').WhereOperator<string, string> | null;
1063
- enableDynamicViewWalkthrough: boolean;
1064
- xyflow: import('..').XYFlowInstance;
1065
- xystore: import('../hooks/useXYFlow').XYStoreApi;
1066
- getContainer: () => HTMLDivElement | null;
1067
- onChange: import('..').OnChange | null;
1068
- onNavigateTo: import('..').OnNavigateTo | null;
1069
- onNodeClick: import('..').OnNodeClick | null;
1070
- onNodeContextMenu: import('..').OnNodeClick | null;
1071
- onCanvasContextMenu: import('..').OnCanvasClick | null;
1072
- onEdgeClick: import('..').OnEdgeClick | null;
1073
- onEdgeContextMenu: import('..').OnEdgeClick | null;
1074
- onCanvasClick: import('..').OnCanvasClick | null;
1075
- onCanvasDblClick: import('..').OnCanvasClick | null;
1076
- onBurgerMenuClick: (() => void) | null;
1077
- onOpenSourceView: (() => void) | null;
1078
- onOpenSourceElement: ((fqn: import('@likec4/core').Fqn) => void) | null;
1079
- onOpenSourceRelation: ((id: import('@likec4/core').RelationID) => void) | null;
1080
- readonly storeDevId: string;
1081
- xynodes: import('..').XYFlowNode[];
1082
- xyedges: {
1083
- id: string;
1084
- type: "relationship";
1085
- source: string;
1086
- target: string;
1087
- sourceHandle?: string | null;
1088
- targetHandle?: string | null;
1089
- animated?: boolean;
1090
- hidden?: boolean;
1091
- deletable?: boolean;
1092
- selectable?: boolean;
1093
- data: import('..').RelationshipData;
1094
- selected?: boolean;
1095
- markerStart?: import('@xyflow/system').EdgeMarkerType;
1096
- markerEnd?: import('@xyflow/system').EdgeMarkerType;
1097
- zIndex?: number;
1098
- ariaLabel?: string;
1099
- interactionWidth?: number;
1100
- label?: string | import('react').ReactNode;
1101
- labelStyle?: import('react').CSSProperties;
1102
- labelShowBg?: boolean;
1103
- labelBgStyle?: import('react').CSSProperties;
1104
- labelBgPadding?: [number, number];
1105
- labelBgBorderRadius?: number;
1106
- style?: import('react').CSSProperties;
1107
- className?: string;
1108
- reconnectable?: boolean | import('@xyflow/system').HandleType;
1109
- focusable?: boolean;
1110
- }[];
1111
- viewSyncDebounceTimeout: number | null;
1112
- viewportChanged: boolean;
1113
- initialized: boolean;
1114
- isDynamicView: boolean;
1115
- activeDynamicViewStep: number | null;
1116
- lastClickedNodeId: string | null;
1117
- lastClickedEdgeId: string | null;
1118
- focusedNodeId: string | null;
1119
- hoveredNodeId: string | null;
1120
- hoveredEdgeId: string | null;
1121
- dimmed: ReadonlySet<string>;
1122
- lastOnNavigate: null | {
1123
- fromView: import('@likec4/core').ViewID;
1124
- toView: import('@likec4/core').ViewID;
1125
- fromNode: import('@likec4/core').NodeId;
1126
- };
1127
- navigationHistory: Array<{
1128
- viewId: import('@likec4/core').ViewID;
1129
- nodeId: import('@likec4/core').NodeId | null;
1130
- }>;
1131
- navigationHistoryIndex: number;
1132
- updateView: (view: import('@likec4/core').DiagramView) => void;
1133
- focusOnNode: (nodeId: string) => void;
1134
- setHoveredNode: (nodeId: string | null) => void;
1135
- setHoveredEdge: (edgeId: string | null) => void;
1136
- setLastClickedNode: (nodeId: string | null) => void;
1137
- setLastClickedEdge: (edgeId: string | null) => void;
1138
- resetLastClicked: () => void;
1139
- getElement: (id: import('@likec4/core').Fqn) => import('@likec4/core').DiagramNode | null;
1140
- triggerChangeElementStyle: (change: import("@likec4/core").ViewChange.ChangeElementStyle) => void;
1141
- cancelSaveManualLayout: () => boolean;
1142
- scheduleSaveManualLayout: () => void;
1143
- triggerSaveManualLayout: () => void;
1144
- triggerOnNavigateTo: (xynodeId: string, event: import('react').MouseEvent) => void;
1145
- fitDiagram: (duration?: number) => void;
1146
- goBack: () => void;
1147
- goForward: () => void;
1148
- nextDynamicStep: (increment?: number) => void;
1149
- activateDynamicStep: (step: number) => void;
1150
- stopDynamicView: () => void;
1151
- onInit: (xyflow: import('..').XYFlowInstance) => void;
1152
- onNodesChange: import('@xyflow/react').OnNodesChange<import('..').XYFlowNode>;
1153
- onEdgesChange: import('@xyflow/react').OnEdgesChange<{
1154
- id: string;
1155
- type: "relationship";
1156
- source: string;
1157
- target: string;
1158
- sourceHandle?: string | null;
1159
- targetHandle?: string | null;
1160
- animated?: boolean;
1161
- hidden?: boolean;
1162
- deletable?: boolean;
1163
- selectable?: boolean;
1164
- data: import('..').RelationshipData;
1165
- selected?: boolean;
1166
- markerStart?: import('@xyflow/system').EdgeMarkerType;
1167
- markerEnd?: import('@xyflow/system').EdgeMarkerType;
1168
- zIndex?: number;
1169
- ariaLabel?: string;
1170
- interactionWidth?: number;
1171
- label?: string | import('react').ReactNode;
1172
- labelStyle?: import('react').CSSProperties;
1173
- labelShowBg?: boolean;
1174
- labelBgStyle?: import('react').CSSProperties;
1175
- labelBgPadding?: [number, number];
1176
- labelBgBorderRadius?: number;
1177
- style?: import('react').CSSProperties;
1178
- className?: string;
1179
- reconnectable?: boolean | import('@xyflow/system').HandleType;
1180
- focusable?: boolean;
1181
- }>;
1182
- highlightByElementNotation: (notation: import('@likec4/core').ElementNotation, onlyOfKind?: import('@likec4/core').ElementKind) => void;
1183
- }>), replace?: boolean | undefined, action?: A | undefined): void;
1184
- }> | null>;
1185
- export type DiagramContextProviderProps = PropsWithChildren<Omit<DiagramInitialState, 'xystore' | 'xyflow' | 'getContainer'> & {
1186
- className: string;
1187
- keepAspectRatio: boolean;
1188
- }>;
1189
- export declare function DiagramContextProvider({ children, view, className, keepAspectRatio, whereFilter, ...props }: DiagramContextProviderProps): import("react/jsx-runtime").JSX.Element;
1190
- export declare namespace DiagramContextProvider {
1191
- var displayName: string;
1192
- }