@likec4/diagram 1.0.0-next.2 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (124) hide show
  1. package/dist/LikeC4Diagram.css.d.ts +0 -1
  2. package/dist/LikeC4Diagram.d.ts +1 -2
  3. package/dist/LikeC4Diagram.props.d.ts +24 -25
  4. package/dist/StaticLikeC4Diagram.d.ts +1 -2
  5. package/dist/globals.css.d.ts +1 -0
  6. package/dist/hooks/index.d.ts +2 -3
  7. package/dist/hooks/useSetState.d.ts +3 -0
  8. package/dist/hooks/useUpdateEffect.d.ts +4 -0
  9. package/dist/icons/Clipboard.d.ts +0 -1
  10. package/dist/icons/Link.d.ts +0 -1
  11. package/dist/icons/ZoomIn.d.ts +0 -1
  12. package/dist/icons/index.d.ts +0 -1
  13. package/dist/index.d.ts +1 -4
  14. package/dist/index.mjs +9388 -0
  15. package/dist/mantine/EnsureMantine.d.ts +2 -4
  16. package/dist/mantine/theme.d.ts +3 -0
  17. package/dist/mantine.css.d.ts +1 -0
  18. package/dist/state/DiagramContext.d.ts +386 -0
  19. package/dist/state/WhenInitialized.d.ts +3 -0
  20. package/dist/state/diagramStore.d.ts +428 -0
  21. package/dist/state/index.d.ts +4 -2
  22. package/dist/state/useDiagramStore.d.ts +387 -0
  23. package/dist/style.css +1212 -1
  24. package/dist/theme.css.d.ts +16 -2
  25. package/dist/ui/Camera.d.ts +0 -1
  26. package/dist/ui/KeepAspectRatio.css.d.ts +0 -1
  27. package/dist/ui/KeepAspectRatio.d.ts +0 -1
  28. package/dist/ui/OptionsPanel.css.d.ts +0 -1
  29. package/dist/ui/OptionsPanel.d.ts +0 -1
  30. package/dist/ui/index.d.ts +0 -1
  31. package/dist/ui/options/NodeOptions.d.ts +0 -1
  32. package/dist/xyflow/FitviewOnDiagramChange.d.ts +1 -5
  33. package/dist/xyflow/SyncWithDiagram.d.ts +5 -0
  34. package/dist/xyflow/XYFlowBackground.d.ts +0 -1
  35. package/dist/xyflow/XYFlowEvents.d.ts +5 -15
  36. package/dist/xyflow/XYFlowWrapper.d.ts +4 -5
  37. package/dist/xyflow/const.d.ts +1 -2
  38. package/dist/xyflow/diagram-to-xyflow.d.ts +4 -2
  39. package/dist/xyflow/edges/RelationshipEdge.d.ts +7 -7
  40. package/dist/xyflow/edges/edges.css.d.ts +2 -1
  41. package/dist/xyflow/edges/utils.d.ts +3 -4
  42. package/dist/xyflow/hooks/index.d.ts +2 -37
  43. package/dist/xyflow/hooks/{use-layout-/321/201onstraints.d.ts → useLayoutConstraints.d.ts} +2 -4
  44. package/dist/xyflow/hooks/useXYFlow.d.ts +266 -0
  45. package/dist/xyflow/nodes/compound/CompoundNode.css.d.ts +0 -1
  46. package/dist/xyflow/nodes/compound/CompoundNode.d.ts +0 -1
  47. package/dist/xyflow/nodes/compound/index.d.ts +0 -1
  48. package/dist/xyflow/nodes/element/ElementIcon.d.ts +1 -2
  49. package/dist/xyflow/nodes/element/ElementLink.css.d.ts +0 -1
  50. package/dist/xyflow/nodes/element/ElementLink.d.ts +1 -2
  51. package/dist/xyflow/nodes/element/ElementNode.d.ts +1 -3
  52. package/dist/xyflow/nodes/element/ElementShapeSvg.d.ts +2 -3
  53. package/dist/xyflow/nodes/element/element.css.d.ts +0 -1
  54. package/dist/xyflow/nodes/element/index.d.ts +1 -2
  55. package/dist/xyflow/nodes/shared/NavigateToBtn.d.ts +0 -1
  56. package/dist/xyflow/types.d.ts +20 -8
  57. package/dist/xyflow/utils.d.ts +0 -1
  58. package/package.json +36 -34
  59. package/src/LikeC4Diagram.css.ts +31 -0
  60. package/src/LikeC4Diagram.props.ts +154 -0
  61. package/src/LikeC4Diagram.tsx +119 -0
  62. package/src/StaticLikeC4Diagram.tsx +39 -0
  63. package/src/globals.css.ts +128 -0
  64. package/src/hooks/index.ts +2 -0
  65. package/src/hooks/useSetState.ts +19 -0
  66. package/src/hooks/useUpdateEffect.ts +28 -0
  67. package/src/icons/Clipboard.tsx +24 -0
  68. package/src/icons/Link.tsx +23 -0
  69. package/src/icons/ZoomIn.tsx +25 -0
  70. package/src/icons/index.ts +3 -0
  71. package/src/index.ts +11 -0
  72. package/src/mantine/EnsureMantine.tsx +14 -0
  73. package/src/mantine/theme.ts +19 -0
  74. package/src/mantine.css.ts +4 -0
  75. package/src/reset.d.ts +2 -0
  76. package/src/state/DiagramContext.tsx +42 -0
  77. package/src/state/WhenInitialized.tsx +24 -0
  78. package/src/state/diagramStore.ts +358 -0
  79. package/src/state/index.ts +4 -0
  80. package/src/state/useDiagramStore.ts +39 -0
  81. package/src/theme.css.ts +64 -0
  82. package/src/ui/Camera.tsx +174 -0
  83. package/src/ui/KeepAspectRatio.css.ts +7 -0
  84. package/src/ui/KeepAspectRatio.tsx +35 -0
  85. package/src/ui/OptionsPanel.css.ts +10 -0
  86. package/src/ui/OptionsPanel.tsx +65 -0
  87. package/src/ui/index.ts +3 -0
  88. package/src/ui/options/NodeOptions.tsx +253 -0
  89. package/src/xyflow/FitviewOnDiagramChange.tsx +93 -0
  90. package/src/xyflow/SyncWithDiagram.tsx +113 -0
  91. package/src/xyflow/XYFlowBackground.tsx +33 -0
  92. package/src/xyflow/XYFlowEvents.tsx +100 -0
  93. package/src/xyflow/XYFlowWrapper.tsx +166 -0
  94. package/src/xyflow/const.ts +7 -0
  95. package/src/xyflow/diagram-to-xyflow.ts +197 -0
  96. package/src/xyflow/edges/RelationshipEdge.tsx +288 -0
  97. package/src/xyflow/edges/edges.css.ts +124 -0
  98. package/src/xyflow/edges/utils.ts +110 -0
  99. package/src/xyflow/hooks/index.ts +2 -0
  100. package/src/xyflow/hooks/useLayoutConstraints.ts +289 -0
  101. package/src/xyflow/hooks/useXYFlow.ts +20 -0
  102. package/src/xyflow/nodes/compound/CompoundNode.css.ts +191 -0
  103. package/src/xyflow/nodes/compound/CompoundNode.tsx +105 -0
  104. package/src/xyflow/nodes/compound/index.ts +1 -0
  105. package/src/xyflow/nodes/element/ElementIcon.tsx +44 -0
  106. package/src/xyflow/nodes/element/ElementLink.css.ts +67 -0
  107. package/src/xyflow/nodes/element/ElementLink.tsx +94 -0
  108. package/src/xyflow/nodes/element/ElementNode.tsx +225 -0
  109. package/src/xyflow/nodes/element/ElementShapeSvg.tsx +181 -0
  110. package/src/xyflow/nodes/element/element.css.ts +261 -0
  111. package/src/xyflow/nodes/element/index.ts +1 -0
  112. package/src/xyflow/nodes/shared/NavigateToBtn.tsx +25 -0
  113. package/src/xyflow/types.ts +100 -0
  114. package/src/xyflow/utils.ts +12 -0
  115. package/dist/EmbeddedLikeC4Diagram.css.d.ts +0 -6
  116. package/dist/EmbeddedLikeC4Diagram.d.ts +0 -18
  117. package/dist/bundle.d.ts +0 -3
  118. package/dist/hooks/use-set-state.d.ts +0 -2
  119. package/dist/hooks/use-update-effect.d.ts +0 -4
  120. package/dist/index.css.d.ts +0 -2
  121. package/dist/index.js +0 -13043
  122. package/dist/mantine/index.d.ts +0 -3
  123. package/dist/state/DiagramState.d.ts +0 -162
  124. package/dist/xyflow/UpdateOnDiagramChange.d.ts +0 -10
@@ -1,7 +1,5 @@
1
- import { LikeC4DiagramProperties } from '../LikeC4Diagram.props';
2
1
  import { PropsWithChildren } from 'react';
3
2
 
4
- type EnsureMantineProps = PropsWithChildren<Pick<LikeC4DiagramProperties, 'colorMode'>>;
5
- export declare function EnsureMantine({ colorMode, children }: EnsureMantineProps): JSX.Element;
3
+ type EnsureMantineProps = PropsWithChildren<{}>;
4
+ export declare function EnsureMantine({ children }: EnsureMantineProps): JSX.Element;
6
5
  export {};
7
- //# sourceMappingURL=EnsureMantine.d.ts.map
@@ -0,0 +1,3 @@
1
+ import { MantineTheme } from '@mantine/core';
2
+
3
+ export declare const theme: MantineTheme;
@@ -0,0 +1 @@
1
+ export declare const mantine: import('@mantine/vanilla-extract').MantineVars;
@@ -0,0 +1,386 @@
1
+ import { DiagramInitialState } from './diagramStore';
2
+ import { PropsWithChildren } from 'react';
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
+ fitViewEnabled: boolean;
9
+ fitViewPadding: number;
10
+ nodesDraggable: boolean;
11
+ nodesSelectable: boolean;
12
+ xyflow: import("..").XYFlowInstance;
13
+ initialized: boolean;
14
+ lastClickedNodeId: string | null;
15
+ lastClickedEdgeId: string | null;
16
+ hoveredNodeId: string | null;
17
+ hoveredEdgeId: string | null;
18
+ previousViews: import("@likec4/core").DiagramView[];
19
+ lastOnNavigate: {
20
+ fromView: import("@likec4/core").ViewID;
21
+ toView: import("@likec4/core").ViewID;
22
+ element: import("@likec4/core").DiagramNode;
23
+ elementCenterScreenPosition: import("@xyflow/system").XYPosition;
24
+ positionCorrected: boolean;
25
+ } | null;
26
+ viewportChanged: boolean;
27
+ onChange: import("..").OnChange | null | undefined;
28
+ onNavigateTo: import("..").OnNavigateTo | null | undefined;
29
+ onNodeClick: import("..").OnNodeClick | null | undefined;
30
+ onNodeContextMenu: import("..").OnNodeClick | null | undefined;
31
+ onCanvasContextMenu: import("..").OnCanvasClick | null | undefined;
32
+ onEdgeClick: import("..").OnEdgeClick | null | undefined;
33
+ onEdgeContextMenu: import("..").OnEdgeClick | null | undefined;
34
+ onCanvasClick: import("..").OnCanvasClick | null | undefined;
35
+ onCanvasDblClick: import("..").OnCanvasClick | null | undefined;
36
+ updateView: (view: import("@likec4/core").DiagramView) => void;
37
+ setHoveredNode: (nodeId: string | null) => void;
38
+ setHoveredEdge: (edgeId: string | null) => void;
39
+ setLastClickedNode: (nodeId: string | null) => void;
40
+ setLastClickedEdge: (edgeId: string | null) => void;
41
+ getElement: (id: import("@likec4/core").Fqn) => import("@likec4/core").DiagramNode | null;
42
+ triggerOnChange: (changes: import("@likec4/core").NonEmptyArray<import("..").Change>) => void;
43
+ triggerOnNavigateTo: (xynodeId: string, event: import("react").MouseEvent<Element, MouseEvent>) => void;
44
+ fitDiagram: () => void;
45
+ }>, "subscribe"> & {
46
+ subscribe: {
47
+ (listener: (selectedState: {
48
+ view: import("@likec4/core").DiagramView;
49
+ readonly: boolean;
50
+ showElementLinks: boolean;
51
+ fitViewEnabled: boolean;
52
+ fitViewPadding: number;
53
+ nodesDraggable: boolean;
54
+ nodesSelectable: boolean;
55
+ xyflow: import("..").XYFlowInstance;
56
+ initialized: boolean;
57
+ lastClickedNodeId: string | null;
58
+ lastClickedEdgeId: string | null;
59
+ hoveredNodeId: string | null;
60
+ hoveredEdgeId: string | null;
61
+ previousViews: import("@likec4/core").DiagramView[];
62
+ lastOnNavigate: {
63
+ fromView: import("@likec4/core").ViewID;
64
+ toView: import("@likec4/core").ViewID;
65
+ element: import("@likec4/core").DiagramNode;
66
+ elementCenterScreenPosition: import("@xyflow/system").XYPosition;
67
+ positionCorrected: boolean;
68
+ } | null;
69
+ viewportChanged: boolean;
70
+ onChange: import("..").OnChange | null | undefined;
71
+ onNavigateTo: import("..").OnNavigateTo | null | undefined;
72
+ onNodeClick: import("..").OnNodeClick | null | undefined;
73
+ onNodeContextMenu: import("..").OnNodeClick | null | undefined;
74
+ onCanvasContextMenu: import("..").OnCanvasClick | null | undefined;
75
+ onEdgeClick: import("..").OnEdgeClick | null | undefined;
76
+ onEdgeContextMenu: import("..").OnEdgeClick | null | undefined;
77
+ onCanvasClick: import("..").OnCanvasClick | null | undefined;
78
+ onCanvasDblClick: import("..").OnCanvasClick | null | undefined;
79
+ updateView: (view: import("@likec4/core").DiagramView) => void;
80
+ setHoveredNode: (nodeId: string | null) => void;
81
+ setHoveredEdge: (edgeId: string | null) => void;
82
+ setLastClickedNode: (nodeId: string | null) => void;
83
+ setLastClickedEdge: (edgeId: string | null) => void;
84
+ getElement: (id: import("@likec4/core").Fqn) => import("@likec4/core").DiagramNode | null;
85
+ triggerOnChange: (changes: import("@likec4/core").NonEmptyArray<import("..").Change>) => void;
86
+ triggerOnNavigateTo: (xynodeId: string, event: import("react").MouseEvent<Element, MouseEvent>) => void;
87
+ fitDiagram: () => void;
88
+ }, previousSelectedState: {
89
+ view: import("@likec4/core").DiagramView;
90
+ readonly: boolean;
91
+ showElementLinks: boolean;
92
+ fitViewEnabled: boolean;
93
+ fitViewPadding: number;
94
+ nodesDraggable: boolean;
95
+ nodesSelectable: boolean;
96
+ xyflow: import("..").XYFlowInstance;
97
+ initialized: boolean;
98
+ lastClickedNodeId: string | null;
99
+ lastClickedEdgeId: string | null;
100
+ hoveredNodeId: string | null;
101
+ hoveredEdgeId: string | null;
102
+ previousViews: import("@likec4/core").DiagramView[];
103
+ lastOnNavigate: {
104
+ fromView: import("@likec4/core").ViewID;
105
+ toView: import("@likec4/core").ViewID;
106
+ element: import("@likec4/core").DiagramNode;
107
+ elementCenterScreenPosition: import("@xyflow/system").XYPosition;
108
+ positionCorrected: boolean;
109
+ } | null;
110
+ viewportChanged: boolean;
111
+ onChange: import("..").OnChange | null | undefined;
112
+ onNavigateTo: import("..").OnNavigateTo | null | undefined;
113
+ onNodeClick: import("..").OnNodeClick | null | undefined;
114
+ onNodeContextMenu: import("..").OnNodeClick | null | undefined;
115
+ onCanvasContextMenu: import("..").OnCanvasClick | null | undefined;
116
+ onEdgeClick: import("..").OnEdgeClick | null | undefined;
117
+ onEdgeContextMenu: import("..").OnEdgeClick | null | undefined;
118
+ onCanvasClick: import("..").OnCanvasClick | null | undefined;
119
+ onCanvasDblClick: import("..").OnCanvasClick | null | undefined;
120
+ updateView: (view: import("@likec4/core").DiagramView) => void;
121
+ setHoveredNode: (nodeId: string | null) => void;
122
+ setHoveredEdge: (edgeId: string | null) => void;
123
+ setLastClickedNode: (nodeId: string | null) => void;
124
+ setLastClickedEdge: (edgeId: string | null) => void;
125
+ getElement: (id: import("@likec4/core").Fqn) => import("@likec4/core").DiagramNode | null;
126
+ triggerOnChange: (changes: import("@likec4/core").NonEmptyArray<import("..").Change>) => void;
127
+ triggerOnNavigateTo: (xynodeId: string, event: import("react").MouseEvent<Element, MouseEvent>) => void;
128
+ fitDiagram: () => void;
129
+ }) => void): () => void;
130
+ <U>(selector: (state: {
131
+ view: import("@likec4/core").DiagramView;
132
+ readonly: boolean;
133
+ showElementLinks: boolean;
134
+ fitViewEnabled: boolean;
135
+ fitViewPadding: number;
136
+ nodesDraggable: boolean;
137
+ nodesSelectable: boolean;
138
+ xyflow: import("..").XYFlowInstance;
139
+ initialized: boolean;
140
+ lastClickedNodeId: string | null;
141
+ lastClickedEdgeId: string | null;
142
+ hoveredNodeId: string | null;
143
+ hoveredEdgeId: string | null;
144
+ previousViews: import("@likec4/core").DiagramView[];
145
+ lastOnNavigate: {
146
+ fromView: import("@likec4/core").ViewID;
147
+ toView: import("@likec4/core").ViewID;
148
+ element: import("@likec4/core").DiagramNode;
149
+ elementCenterScreenPosition: import("@xyflow/system").XYPosition;
150
+ positionCorrected: boolean;
151
+ } | null;
152
+ viewportChanged: boolean;
153
+ onChange: import("..").OnChange | null | undefined;
154
+ onNavigateTo: import("..").OnNavigateTo | null | undefined;
155
+ onNodeClick: import("..").OnNodeClick | null | undefined;
156
+ onNodeContextMenu: import("..").OnNodeClick | null | undefined;
157
+ onCanvasContextMenu: import("..").OnCanvasClick | null | undefined;
158
+ onEdgeClick: import("..").OnEdgeClick | null | undefined;
159
+ onEdgeContextMenu: import("..").OnEdgeClick | null | undefined;
160
+ onCanvasClick: import("..").OnCanvasClick | null | undefined;
161
+ onCanvasDblClick: import("..").OnCanvasClick | null | undefined;
162
+ updateView: (view: import("@likec4/core").DiagramView) => void;
163
+ setHoveredNode: (nodeId: string | null) => void;
164
+ setHoveredEdge: (edgeId: string | null) => void;
165
+ setLastClickedNode: (nodeId: string | null) => void;
166
+ setLastClickedEdge: (edgeId: string | null) => void;
167
+ getElement: (id: import("@likec4/core").Fqn) => import("@likec4/core").DiagramNode | null;
168
+ triggerOnChange: (changes: import("@likec4/core").NonEmptyArray<import("..").Change>) => void;
169
+ triggerOnNavigateTo: (xynodeId: string, event: import("react").MouseEvent<Element, MouseEvent>) => void;
170
+ fitDiagram: () => void;
171
+ }) => U, listener: (selectedState: U, previousSelectedState: U) => void, options?: {
172
+ equalityFn?: (a: U, b: U) => boolean;
173
+ fireImmediately?: boolean;
174
+ } | undefined): () => void;
175
+ };
176
+ }, "setState"> & {
177
+ setState<A extends string | {
178
+ type: string;
179
+ }>(partial: {
180
+ view: import("@likec4/core").DiagramView;
181
+ readonly: boolean;
182
+ showElementLinks: boolean;
183
+ fitViewEnabled: boolean;
184
+ fitViewPadding: number;
185
+ nodesDraggable: boolean;
186
+ nodesSelectable: boolean;
187
+ xyflow: import("..").XYFlowInstance;
188
+ initialized: boolean;
189
+ lastClickedNodeId: string | null;
190
+ lastClickedEdgeId: string | null;
191
+ hoveredNodeId: string | null;
192
+ hoveredEdgeId: string | null;
193
+ previousViews: import("@likec4/core").DiagramView[];
194
+ lastOnNavigate: {
195
+ fromView: import("@likec4/core").ViewID;
196
+ toView: import("@likec4/core").ViewID;
197
+ element: import("@likec4/core").DiagramNode;
198
+ elementCenterScreenPosition: import("@xyflow/system").XYPosition;
199
+ positionCorrected: boolean;
200
+ } | null;
201
+ viewportChanged: boolean;
202
+ onChange: import("..").OnChange | null | undefined;
203
+ onNavigateTo: import("..").OnNavigateTo | null | undefined;
204
+ onNodeClick: import("..").OnNodeClick | null | undefined;
205
+ onNodeContextMenu: import("..").OnNodeClick | null | undefined;
206
+ onCanvasContextMenu: import("..").OnCanvasClick | null | undefined;
207
+ onEdgeClick: import("..").OnEdgeClick | null | undefined;
208
+ onEdgeContextMenu: import("..").OnEdgeClick | null | undefined;
209
+ onCanvasClick: import("..").OnCanvasClick | null | undefined;
210
+ onCanvasDblClick: import("..").OnCanvasClick | null | undefined;
211
+ updateView: (view: import("@likec4/core").DiagramView) => void;
212
+ setHoveredNode: (nodeId: string | null) => void;
213
+ setHoveredEdge: (edgeId: string | null) => void;
214
+ setLastClickedNode: (nodeId: string | null) => void;
215
+ setLastClickedEdge: (edgeId: string | null) => void;
216
+ getElement: (id: import("@likec4/core").Fqn) => import("@likec4/core").DiagramNode | null;
217
+ triggerOnChange: (changes: import("@likec4/core").NonEmptyArray<import("..").Change>) => void;
218
+ triggerOnNavigateTo: (xynodeId: string, event: import("react").MouseEvent<Element, MouseEvent>) => void;
219
+ fitDiagram: () => void;
220
+ } | Partial<{
221
+ view: import("@likec4/core").DiagramView;
222
+ readonly: boolean;
223
+ showElementLinks: boolean;
224
+ fitViewEnabled: boolean;
225
+ fitViewPadding: number;
226
+ nodesDraggable: boolean;
227
+ nodesSelectable: boolean;
228
+ xyflow: import("..").XYFlowInstance;
229
+ initialized: boolean;
230
+ lastClickedNodeId: string | null;
231
+ lastClickedEdgeId: string | null;
232
+ hoveredNodeId: string | null;
233
+ hoveredEdgeId: string | null;
234
+ previousViews: import("@likec4/core").DiagramView[];
235
+ lastOnNavigate: {
236
+ fromView: import("@likec4/core").ViewID;
237
+ toView: import("@likec4/core").ViewID;
238
+ element: import("@likec4/core").DiagramNode;
239
+ elementCenterScreenPosition: import("@xyflow/system").XYPosition;
240
+ positionCorrected: boolean;
241
+ } | null;
242
+ viewportChanged: boolean;
243
+ onChange: import("..").OnChange | null | undefined;
244
+ onNavigateTo: import("..").OnNavigateTo | null | undefined;
245
+ onNodeClick: import("..").OnNodeClick | null | undefined;
246
+ onNodeContextMenu: import("..").OnNodeClick | null | undefined;
247
+ onCanvasContextMenu: import("..").OnCanvasClick | null | undefined;
248
+ onEdgeClick: import("..").OnEdgeClick | null | undefined;
249
+ onEdgeContextMenu: import("..").OnEdgeClick | null | undefined;
250
+ onCanvasClick: import("..").OnCanvasClick | null | undefined;
251
+ onCanvasDblClick: import("..").OnCanvasClick | null | undefined;
252
+ updateView: (view: import("@likec4/core").DiagramView) => void;
253
+ setHoveredNode: (nodeId: string | null) => void;
254
+ setHoveredEdge: (edgeId: string | null) => void;
255
+ setLastClickedNode: (nodeId: string | null) => void;
256
+ setLastClickedEdge: (edgeId: string | null) => void;
257
+ getElement: (id: import("@likec4/core").Fqn) => import("@likec4/core").DiagramNode | null;
258
+ triggerOnChange: (changes: import("@likec4/core").NonEmptyArray<import("..").Change>) => void;
259
+ triggerOnNavigateTo: (xynodeId: string, event: import("react").MouseEvent<Element, MouseEvent>) => void;
260
+ fitDiagram: () => void;
261
+ }> | ((state: {
262
+ view: import("@likec4/core").DiagramView;
263
+ readonly: boolean;
264
+ showElementLinks: boolean;
265
+ fitViewEnabled: boolean;
266
+ fitViewPadding: number;
267
+ nodesDraggable: boolean;
268
+ nodesSelectable: boolean;
269
+ xyflow: import("..").XYFlowInstance;
270
+ initialized: boolean;
271
+ lastClickedNodeId: string | null;
272
+ lastClickedEdgeId: string | null;
273
+ hoveredNodeId: string | null;
274
+ hoveredEdgeId: string | null;
275
+ previousViews: import("@likec4/core").DiagramView[];
276
+ lastOnNavigate: {
277
+ fromView: import("@likec4/core").ViewID;
278
+ toView: import("@likec4/core").ViewID;
279
+ element: import("@likec4/core").DiagramNode;
280
+ elementCenterScreenPosition: import("@xyflow/system").XYPosition;
281
+ positionCorrected: boolean;
282
+ } | null;
283
+ viewportChanged: boolean;
284
+ onChange: import("..").OnChange | null | undefined;
285
+ onNavigateTo: import("..").OnNavigateTo | null | undefined;
286
+ onNodeClick: import("..").OnNodeClick | null | undefined;
287
+ onNodeContextMenu: import("..").OnNodeClick | null | undefined;
288
+ onCanvasContextMenu: import("..").OnCanvasClick | null | undefined;
289
+ onEdgeClick: import("..").OnEdgeClick | null | undefined;
290
+ onEdgeContextMenu: import("..").OnEdgeClick | null | undefined;
291
+ onCanvasClick: import("..").OnCanvasClick | null | undefined;
292
+ onCanvasDblClick: import("..").OnCanvasClick | null | undefined;
293
+ updateView: (view: import("@likec4/core").DiagramView) => void;
294
+ setHoveredNode: (nodeId: string | null) => void;
295
+ setHoveredEdge: (edgeId: string | null) => void;
296
+ setLastClickedNode: (nodeId: string | null) => void;
297
+ setLastClickedEdge: (edgeId: string | null) => void;
298
+ getElement: (id: import("@likec4/core").Fqn) => import("@likec4/core").DiagramNode | null;
299
+ triggerOnChange: (changes: import("@likec4/core").NonEmptyArray<import("..").Change>) => void;
300
+ triggerOnNavigateTo: (xynodeId: string, event: import("react").MouseEvent<Element, MouseEvent>) => void;
301
+ fitDiagram: () => void;
302
+ }) => {
303
+ view: import("@likec4/core").DiagramView;
304
+ readonly: boolean;
305
+ showElementLinks: boolean;
306
+ fitViewEnabled: boolean;
307
+ fitViewPadding: number;
308
+ nodesDraggable: boolean;
309
+ nodesSelectable: boolean;
310
+ xyflow: import("..").XYFlowInstance;
311
+ initialized: boolean;
312
+ lastClickedNodeId: string | null;
313
+ lastClickedEdgeId: string | null;
314
+ hoveredNodeId: string | null;
315
+ hoveredEdgeId: string | null;
316
+ previousViews: import("@likec4/core").DiagramView[];
317
+ lastOnNavigate: {
318
+ fromView: import("@likec4/core").ViewID;
319
+ toView: import("@likec4/core").ViewID;
320
+ element: import("@likec4/core").DiagramNode;
321
+ elementCenterScreenPosition: import("@xyflow/system").XYPosition;
322
+ positionCorrected: boolean;
323
+ } | null;
324
+ viewportChanged: boolean;
325
+ onChange: import("..").OnChange | null | undefined;
326
+ onNavigateTo: import("..").OnNavigateTo | null | undefined;
327
+ onNodeClick: import("..").OnNodeClick | null | undefined;
328
+ onNodeContextMenu: import("..").OnNodeClick | null | undefined;
329
+ onCanvasContextMenu: import("..").OnCanvasClick | null | undefined;
330
+ onEdgeClick: import("..").OnEdgeClick | null | undefined;
331
+ onEdgeContextMenu: import("..").OnEdgeClick | null | undefined;
332
+ onCanvasClick: import("..").OnCanvasClick | null | undefined;
333
+ onCanvasDblClick: import("..").OnCanvasClick | null | undefined;
334
+ updateView: (view: import("@likec4/core").DiagramView) => void;
335
+ setHoveredNode: (nodeId: string | null) => void;
336
+ setHoveredEdge: (edgeId: string | null) => void;
337
+ setLastClickedNode: (nodeId: string | null) => void;
338
+ setLastClickedEdge: (edgeId: string | null) => void;
339
+ getElement: (id: import("@likec4/core").Fqn) => import("@likec4/core").DiagramNode | null;
340
+ triggerOnChange: (changes: import("@likec4/core").NonEmptyArray<import("..").Change>) => void;
341
+ triggerOnNavigateTo: (xynodeId: string, event: import("react").MouseEvent<Element, MouseEvent>) => void;
342
+ fitDiagram: () => void;
343
+ } | Partial<{
344
+ view: import("@likec4/core").DiagramView;
345
+ readonly: boolean;
346
+ showElementLinks: boolean;
347
+ fitViewEnabled: boolean;
348
+ fitViewPadding: number;
349
+ nodesDraggable: boolean;
350
+ nodesSelectable: boolean;
351
+ xyflow: import("..").XYFlowInstance;
352
+ initialized: boolean;
353
+ lastClickedNodeId: string | null;
354
+ lastClickedEdgeId: string | null;
355
+ hoveredNodeId: string | null;
356
+ hoveredEdgeId: string | null;
357
+ previousViews: import("@likec4/core").DiagramView[];
358
+ lastOnNavigate: {
359
+ fromView: import("@likec4/core").ViewID;
360
+ toView: import("@likec4/core").ViewID;
361
+ element: import("@likec4/core").DiagramNode;
362
+ elementCenterScreenPosition: import("@xyflow/system").XYPosition;
363
+ positionCorrected: boolean;
364
+ } | null;
365
+ viewportChanged: boolean;
366
+ onChange: import("..").OnChange | null | undefined;
367
+ onNavigateTo: import("..").OnNavigateTo | null | undefined;
368
+ onNodeClick: import("..").OnNodeClick | null | undefined;
369
+ onNodeContextMenu: import("..").OnNodeClick | null | undefined;
370
+ onCanvasContextMenu: import("..").OnCanvasClick | null | undefined;
371
+ onEdgeClick: import("..").OnEdgeClick | null | undefined;
372
+ onEdgeContextMenu: import("..").OnEdgeClick | null | undefined;
373
+ onCanvasClick: import("..").OnCanvasClick | null | undefined;
374
+ onCanvasDblClick: import("..").OnCanvasClick | null | undefined;
375
+ updateView: (view: import("@likec4/core").DiagramView) => void;
376
+ setHoveredNode: (nodeId: string | null) => void;
377
+ setHoveredEdge: (edgeId: string | null) => void;
378
+ setLastClickedNode: (nodeId: string | null) => void;
379
+ setLastClickedEdge: (edgeId: string | null) => void;
380
+ getElement: (id: import("@likec4/core").Fqn) => import("@likec4/core").DiagramNode | null;
381
+ triggerOnChange: (changes: import("@likec4/core").NonEmptyArray<import("..").Change>) => void;
382
+ triggerOnNavigateTo: (xynodeId: string, event: import("react").MouseEvent<Element, MouseEvent>) => void;
383
+ fitDiagram: () => void;
384
+ }>), replace?: boolean | undefined, action?: A | undefined): void;
385
+ }> | null>;
386
+ export declare function DiagramContextProvider({ children, view, ...props }: PropsWithChildren<DiagramInitialState>): JSX.Element;
@@ -0,0 +1,3 @@
1
+ import { PropsWithChildren } from 'react';
2
+
3
+ export declare function WhenInitialized({ children }: PropsWithChildren): JSX.Element | null;