@likec4/diagram 1.4.0 → 1.6.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 (87) hide show
  1. package/LICENSE +1 -1
  2. package/dist/LikeC4Diagram.css.d.ts +0 -1
  3. package/dist/LikeC4Diagram.d.ts +1 -1
  4. package/dist/LikeC4Diagram.props.d.ts +19 -4
  5. package/dist/StaticLikeC4Diagram.d.ts +1 -1
  6. package/dist/index.d.ts +1 -1
  7. package/dist/index.mjs +3937 -3646
  8. package/dist/state/DiagramContext.d.ts +95 -4159
  9. package/dist/state/diagramStore.d.ts +100 -4164
  10. package/dist/state/hooks.d.ts +4 -0
  11. package/dist/state/index.d.ts +1 -2
  12. package/dist/style.css +281 -191
  13. package/dist/ui/options/EdgeOptions.d.ts +19 -0
  14. package/dist/ui/options/NodeOptions.d.ts +2 -2
  15. package/dist/xyflow/EdgeMarkers.d.ts +11 -0
  16. package/dist/xyflow/XYFlowEvents.d.ts +8 -5
  17. package/dist/xyflow/const.d.ts +3 -3
  18. package/dist/xyflow/diagram-to-xyflow.d.ts +1 -1
  19. package/dist/xyflow/edges/RelationshipEdge.d.ts +3 -2
  20. package/dist/xyflow/edges/edges.css.d.ts +1 -0
  21. package/dist/xyflow/edges/utils.d.ts +1 -0
  22. package/dist/xyflow/hooks/index.d.ts +3 -2
  23. package/dist/xyflow/hooks/useXYFlow.d.ts +13 -12
  24. package/dist/xyflow/nodes/compound/CompoundNode.css.d.ts +1 -0
  25. package/dist/xyflow/nodes/element/ElementShapeSvg.d.ts +5 -0
  26. package/dist/xyflow/nodes/element/element.css.d.ts +5 -2
  27. package/dist/xyflow/types.d.ts +2 -32
  28. package/package.json +19 -19
  29. package/src/LikeC4Diagram.css.ts +0 -8
  30. package/src/LikeC4Diagram.props.ts +23 -5
  31. package/src/LikeC4Diagram.tsx +18 -21
  32. package/src/StaticLikeC4Diagram.tsx +1 -0
  33. package/src/globals.css.ts +10 -3
  34. package/src/index.ts +1 -1
  35. package/src/mantine.css.ts +2 -2
  36. package/src/state/DiagramContext.tsx +44 -13
  37. package/src/state/diagramStore.ts +72 -53
  38. package/src/state/hooks.ts +5 -0
  39. package/src/state/index.ts +1 -2
  40. package/src/ui/BackwardForwardPanel.css.ts +9 -9
  41. package/src/ui/DiagramTitlePanel.css.ts +7 -2
  42. package/src/ui/DiagramTitlePanel.tsx +5 -3
  43. package/src/ui/DynamicViewWalkthrough.tsx +6 -4
  44. package/src/ui/OptionsPanel.tsx +37 -27
  45. package/src/ui/options/EdgeOptions.tsx +157 -0
  46. package/src/ui/options/NodeOptions.tsx +37 -29
  47. package/src/xyflow/EdgeMarkers.tsx +148 -0
  48. package/src/xyflow/FitviewOnDiagramChange.tsx +9 -5
  49. package/src/xyflow/SelectEdgesOnNodeFocus.tsx +59 -55
  50. package/src/xyflow/SyncWithDiagram.tsx +13 -20
  51. package/src/xyflow/XYFlow.tsx +3 -4
  52. package/src/xyflow/XYFlowEvents.tsx +48 -33
  53. package/src/xyflow/const.ts +3 -3
  54. package/src/xyflow/diagram-to-xyflow.ts +17 -41
  55. package/src/xyflow/edges/RelationshipEdge.tsx +208 -119
  56. package/src/xyflow/edges/edges.css.ts +40 -26
  57. package/src/xyflow/edges/utils.ts +10 -0
  58. package/src/xyflow/hooks/index.ts +4 -2
  59. package/src/xyflow/hooks/useLayoutConstraints.ts +3 -4
  60. package/src/xyflow/hooks/useXYFlow.ts +28 -1
  61. package/src/xyflow/nodes/compound/CompoundNode.css.ts +34 -24
  62. package/src/xyflow/nodes/compound/CompoundNode.tsx +52 -53
  63. package/src/xyflow/nodes/element/ElementLink.tsx +12 -16
  64. package/src/xyflow/nodes/element/ElementNode.tsx +118 -114
  65. package/src/xyflow/nodes/element/ElementShapeSvg.tsx +2 -2
  66. package/src/xyflow/nodes/element/element.css.ts +147 -55
  67. package/src/xyflow/nodes/shared/NavigateToBtn.tsx +1 -1
  68. package/src/xyflow/types.ts +2 -4
  69. package/src/xyflow/utils.ts +3 -6
  70. package/dist/KeepAspectRatioContainer.d.ts +0 -9
  71. package/dist/icons/Clipboard.d.ts +0 -3
  72. package/dist/icons/Link.d.ts +0 -3
  73. package/dist/icons/ZoomIn.d.ts +0 -3
  74. package/dist/icons/index.d.ts +0 -3
  75. package/dist/mantine/theme.d.ts +0 -3
  76. package/dist/state/WhenInitialized.d.ts +0 -3
  77. package/dist/ui/Camera.d.ts +0 -3
  78. package/dist/xyflow/nodes/element/ElementIcon.d.ts +0 -10
  79. package/src/KeepAspectRatioContainer.tsx +0 -36
  80. package/src/icons/Clipboard.tsx +0 -24
  81. package/src/icons/Link.tsx +0 -23
  82. package/src/icons/ZoomIn.tsx +0 -25
  83. package/src/icons/index.ts +0 -3
  84. package/src/mantine/theme.ts +0 -20
  85. package/src/state/WhenInitialized.tsx +0 -24
  86. package/src/ui/Camera.tsx +0 -174
  87. package/src/xyflow/nodes/element/ElementIcon.tsx +0 -44
@@ -2,11 +2,12 @@ import { DiagramNode, DiagramView, Fqn, ViewID } from '@likec4/core';
2
2
  import { XYPosition } from '@xyflow/react';
3
3
  import { MouseEvent as ReactMouseEvent } from 'react';
4
4
  import { Exact, Simplify } from 'type-fest';
5
- import { Changes, LikeC4DiagramEventHandlers } from '../LikeC4Diagram.props';
5
+ import { Changes, ElementIconRenderer, LikeC4DiagramEventHandlers } from '../LikeC4Diagram.props';
6
6
  import { XYStoreApi } from '../xyflow/hooks';
7
- import { XYFlowInstance, XYFlowNode } from '../xyflow/types';
7
+ import { XYFlowInstance } from '../xyflow/types';
8
8
 
9
9
  export type DiagramStore = {
10
+ readonly storeDevId: string;
10
11
  view: DiagramView;
11
12
  readonly: boolean;
12
13
  showElementLinks: boolean;
@@ -17,8 +18,11 @@ export type DiagramStore = {
17
18
  nodesDraggable: boolean;
18
19
  nodesSelectable: boolean;
19
20
  experimentalEdgeEditing: boolean;
21
+ renderIcon: ElementIconRenderer | null;
22
+ getContainer: () => HTMLDivElement | null;
20
23
  viewSyncDebounceTimeout: number | null;
21
24
  xyflow: XYFlowInstance;
25
+ xystore: XYStoreApi;
22
26
  initialized: boolean;
23
27
  xyflowSynced: boolean;
24
28
  activeDynamicViewStep: number | null;
@@ -38,7 +42,7 @@ export type DiagramStore = {
38
42
  };
39
43
  viewportChanged: boolean;
40
44
  } & Required<LikeC4DiagramEventHandlers>;
41
- export type DiagramInitialState = Pick<DiagramStore, 'view' | 'readonly' | 'showElementLinks' | 'fitViewEnabled' | 'fitViewPadding' | 'zoomable' | 'pannable' | 'nodesDraggable' | 'nodesSelectable' | 'experimentalEdgeEditing'> & LikeC4DiagramEventHandlers;
45
+ export type DiagramInitialState = Pick<DiagramStore, 'view' | 'renderIcon' | 'readonly' | 'showElementLinks' | 'fitViewEnabled' | 'fitViewPadding' | 'zoomable' | 'pannable' | 'nodesDraggable' | 'nodesSelectable' | 'experimentalEdgeEditing'> & LikeC4DiagramEventHandlers;
42
46
  interface DiagramStoreActions {
43
47
  isDynamicView: () => boolean;
44
48
  updateView: (view: DiagramView) => void;
@@ -51,15 +55,16 @@ interface DiagramStoreActions {
51
55
  getElement(id: Fqn): DiagramNode | null;
52
56
  triggerChangeElementStyle: (change: Changes.ChangeElementStyle) => void;
53
57
  cancelSaveManualLayout: () => void;
54
- triggerSaveManualLayout: (xystore: XYStoreApi) => void;
58
+ triggerSaveManualLayout: () => void;
55
59
  triggerOnNavigateTo: (xynodeId: string, event: ReactMouseEvent) => void;
56
- fitDiagram: (xyStore: XYStoreApi) => void;
60
+ fitDiagram: (duration?: number) => void;
57
61
  nextDynamicStep: (increment?: number) => void;
58
62
  stopDynamicView: () => void;
59
63
  }
60
64
  export type DiagramState = Simplify<DiagramStore & DiagramStoreActions>;
61
- type CreateDiagramStore = DiagramInitialState & Pick<DiagramStore, 'xyflow'>;
65
+ export type CreateDiagramStore = DiagramInitialState & Pick<DiagramStore, 'xystore' | 'xyflow' | 'getContainer'>;
62
66
  export declare function createDiagramStore<T extends Exact<CreateDiagramStore, T>>(props: T): import('zustand/traditional').UseBoundStoreWithEqualityFn<Omit<Omit<import('zustand/vanilla').StoreApi<{
67
+ readonly storeDevId: string;
63
68
  view: DiagramView;
64
69
  readonly: boolean;
65
70
  showElementLinks: boolean;
@@ -70,8 +75,11 @@ export declare function createDiagramStore<T extends Exact<CreateDiagramStore, T
70
75
  nodesDraggable: boolean;
71
76
  nodesSelectable: boolean;
72
77
  experimentalEdgeEditing: boolean;
78
+ renderIcon: ElementIconRenderer | null;
79
+ getContainer: () => HTMLDivElement | null;
73
80
  viewSyncDebounceTimeout: number | null;
74
81
  xyflow: XYFlowInstance;
82
+ xystore: XYStoreApi;
75
83
  initialized: boolean;
76
84
  xyflowSynced: boolean;
77
85
  activeDynamicViewStep: number | null;
@@ -82,13 +90,13 @@ export declare function createDiagramStore<T extends Exact<CreateDiagramStore, T
82
90
  hoveredEdgeId: string | null;
83
91
  dimmed: ReadonlySet<string>;
84
92
  previousViews: DiagramView[];
85
- lastOnNavigate: {
93
+ lastOnNavigate: null | {
86
94
  fromView: ViewID;
87
95
  toView: ViewID;
88
96
  element: DiagramNode;
89
97
  elementScreenPosition: XYPosition;
90
98
  positionCorrected: boolean;
91
- } | null;
99
+ };
92
100
  viewportChanged: boolean;
93
101
  onChange: import('../LikeC4Diagram.props').OnChange | null | undefined;
94
102
  onNavigateTo: import('../LikeC4Diagram.props').OnNavigateTo | null | undefined;
@@ -110,470 +118,15 @@ export declare function createDiagramStore<T extends Exact<CreateDiagramStore, T
110
118
  getElement: (id: Fqn) => DiagramNode | null;
111
119
  triggerChangeElementStyle: (change: Changes.ChangeElementStyle) => void;
112
120
  cancelSaveManualLayout: () => void;
113
- triggerSaveManualLayout: (xystore: {
114
- getState: () => import('@xyflow/react').ReactFlowState<XYFlowNode, {
115
- source: string;
116
- target: string;
117
- sourceHandle?: string | null;
118
- targetHandle?: string | null;
119
- animated?: boolean;
120
- hidden?: boolean;
121
- deletable?: boolean;
122
- selectable?: boolean;
123
- selected?: boolean;
124
- markerStart?: import('@xyflow/react').EdgeMarkerType;
125
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
126
- zIndex?: number;
127
- ariaLabel?: string;
128
- interactionWidth?: number;
129
- label?: import('react').ReactNode;
130
- labelStyle?: import('react').CSSProperties;
131
- labelShowBg?: boolean;
132
- labelBgStyle?: import('react').CSSProperties;
133
- labelBgPadding?: [number, number];
134
- labelBgBorderRadius?: number;
135
- style?: import('react').CSSProperties;
136
- className?: string;
137
- reconnectable?: boolean | import('@xyflow/react').HandleType;
138
- focusable?: boolean;
139
- data: import('../xyflow/types').RelationshipData;
140
- readonly id: string;
141
- readonly type: "relationship";
142
- }>;
143
- setState: (partial: import('@xyflow/react').ReactFlowState<XYFlowNode, {
144
- source: string;
145
- target: string;
146
- sourceHandle?: string | null;
147
- targetHandle?: string | null;
148
- animated?: boolean;
149
- hidden?: boolean;
150
- deletable?: boolean;
151
- selectable?: boolean;
152
- selected?: boolean;
153
- markerStart?: import('@xyflow/react').EdgeMarkerType;
154
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
155
- zIndex?: number;
156
- ariaLabel?: string;
157
- interactionWidth?: number;
158
- label?: import('react').ReactNode;
159
- labelStyle?: import('react').CSSProperties;
160
- labelShowBg?: boolean;
161
- labelBgStyle?: import('react').CSSProperties;
162
- labelBgPadding?: [number, number];
163
- labelBgBorderRadius?: number;
164
- style?: import('react').CSSProperties;
165
- className?: string;
166
- reconnectable?: boolean | import('@xyflow/react').HandleType;
167
- focusable?: boolean;
168
- data: import('../xyflow/types').RelationshipData;
169
- readonly id: string;
170
- readonly type: "relationship";
171
- }> | Partial<import('@xyflow/react').ReactFlowState<XYFlowNode, {
172
- source: string;
173
- target: string;
174
- sourceHandle?: string | null;
175
- targetHandle?: string | null;
176
- animated?: boolean;
177
- hidden?: boolean;
178
- deletable?: boolean;
179
- selectable?: boolean;
180
- selected?: boolean;
181
- markerStart?: import('@xyflow/react').EdgeMarkerType;
182
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
183
- zIndex?: number;
184
- ariaLabel?: string;
185
- interactionWidth?: number;
186
- label?: import('react').ReactNode;
187
- labelStyle?: import('react').CSSProperties;
188
- labelShowBg?: boolean;
189
- labelBgStyle?: import('react').CSSProperties;
190
- labelBgPadding?: [number, number];
191
- labelBgBorderRadius?: number;
192
- style?: import('react').CSSProperties;
193
- className?: string;
194
- reconnectable?: boolean | import('@xyflow/react').HandleType;
195
- focusable?: boolean;
196
- data: import('../xyflow/types').RelationshipData;
197
- readonly id: string;
198
- readonly type: "relationship";
199
- }>> | ((state: import('@xyflow/react').ReactFlowState<XYFlowNode, {
200
- source: string;
201
- target: string;
202
- sourceHandle?: string | null;
203
- targetHandle?: string | null;
204
- animated?: boolean;
205
- hidden?: boolean;
206
- deletable?: boolean;
207
- selectable?: boolean;
208
- selected?: boolean;
209
- markerStart?: import('@xyflow/react').EdgeMarkerType;
210
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
211
- zIndex?: number;
212
- ariaLabel?: string;
213
- interactionWidth?: number;
214
- label?: import('react').ReactNode;
215
- labelStyle?: import('react').CSSProperties;
216
- labelShowBg?: boolean;
217
- labelBgStyle?: import('react').CSSProperties;
218
- labelBgPadding?: [number, number];
219
- labelBgBorderRadius?: number;
220
- style?: import('react').CSSProperties;
221
- className?: string;
222
- reconnectable?: boolean | import('@xyflow/react').HandleType;
223
- focusable?: boolean;
224
- data: import('../xyflow/types').RelationshipData;
225
- readonly id: string;
226
- readonly type: "relationship";
227
- }>) => import('@xyflow/react').ReactFlowState<XYFlowNode, {
228
- source: string;
229
- target: string;
230
- sourceHandle?: string | null;
231
- targetHandle?: string | null;
232
- animated?: boolean;
233
- hidden?: boolean;
234
- deletable?: boolean;
235
- selectable?: boolean;
236
- selected?: boolean;
237
- markerStart?: import('@xyflow/react').EdgeMarkerType;
238
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
239
- zIndex?: number;
240
- ariaLabel?: string;
241
- interactionWidth?: number;
242
- label?: import('react').ReactNode;
243
- labelStyle?: import('react').CSSProperties;
244
- labelShowBg?: boolean;
245
- labelBgStyle?: import('react').CSSProperties;
246
- labelBgPadding?: [number, number];
247
- labelBgBorderRadius?: number;
248
- style?: import('react').CSSProperties;
249
- className?: string;
250
- reconnectable?: boolean | import('@xyflow/react').HandleType;
251
- focusable?: boolean;
252
- data: import('../xyflow/types').RelationshipData;
253
- readonly id: string;
254
- readonly type: "relationship";
255
- }> | Partial<import('@xyflow/react').ReactFlowState<XYFlowNode, {
256
- source: string;
257
- target: string;
258
- sourceHandle?: string | null;
259
- targetHandle?: string | null;
260
- animated?: boolean;
261
- hidden?: boolean;
262
- deletable?: boolean;
263
- selectable?: boolean;
264
- selected?: boolean;
265
- markerStart?: import('@xyflow/react').EdgeMarkerType;
266
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
267
- zIndex?: number;
268
- ariaLabel?: string;
269
- interactionWidth?: number;
270
- label?: import('react').ReactNode;
271
- labelStyle?: import('react').CSSProperties;
272
- labelShowBg?: boolean;
273
- labelBgStyle?: import('react').CSSProperties;
274
- labelBgPadding?: [number, number];
275
- labelBgBorderRadius?: number;
276
- style?: import('react').CSSProperties;
277
- className?: string;
278
- reconnectable?: boolean | import('@xyflow/react').HandleType;
279
- focusable?: boolean;
280
- data: import('../xyflow/types').RelationshipData;
281
- readonly id: string;
282
- readonly type: "relationship";
283
- }>>), replace?: boolean | undefined) => void;
284
- subscribe: (listener: (state: import('@xyflow/react').ReactFlowState<XYFlowNode, {
285
- source: string;
286
- target: string;
287
- sourceHandle?: string | null;
288
- targetHandle?: string | null;
289
- animated?: boolean;
290
- hidden?: boolean;
291
- deletable?: boolean;
292
- selectable?: boolean;
293
- selected?: boolean;
294
- markerStart?: import('@xyflow/react').EdgeMarkerType;
295
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
296
- zIndex?: number;
297
- ariaLabel?: string;
298
- interactionWidth?: number;
299
- label?: import('react').ReactNode;
300
- labelStyle?: import('react').CSSProperties;
301
- labelShowBg?: boolean;
302
- labelBgStyle?: import('react').CSSProperties;
303
- labelBgPadding?: [number, number];
304
- labelBgBorderRadius?: number;
305
- style?: import('react').CSSProperties;
306
- className?: string;
307
- reconnectable?: boolean | import('@xyflow/react').HandleType;
308
- focusable?: boolean;
309
- data: import('../xyflow/types').RelationshipData;
310
- readonly id: string;
311
- readonly type: "relationship";
312
- }>, prevState: import('@xyflow/react').ReactFlowState<XYFlowNode, {
313
- source: string;
314
- target: string;
315
- sourceHandle?: string | null;
316
- targetHandle?: string | null;
317
- animated?: boolean;
318
- hidden?: boolean;
319
- deletable?: boolean;
320
- selectable?: boolean;
321
- selected?: boolean;
322
- markerStart?: import('@xyflow/react').EdgeMarkerType;
323
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
324
- zIndex?: number;
325
- ariaLabel?: string;
326
- interactionWidth?: number;
327
- label?: import('react').ReactNode;
328
- labelStyle?: import('react').CSSProperties;
329
- labelShowBg?: boolean;
330
- labelBgStyle?: import('react').CSSProperties;
331
- labelBgPadding?: [number, number];
332
- labelBgBorderRadius?: number;
333
- style?: import('react').CSSProperties;
334
- className?: string;
335
- reconnectable?: boolean | import('@xyflow/react').HandleType;
336
- focusable?: boolean;
337
- data: import('../xyflow/types').RelationshipData;
338
- readonly id: string;
339
- readonly type: "relationship";
340
- }>) => void) => () => void;
341
- }) => void;
342
- triggerOnNavigateTo: (xynodeId: string, event: ReactMouseEvent<Element, MouseEvent>) => void;
343
- fitDiagram: (xyStore: {
344
- getState: () => import('@xyflow/react').ReactFlowState<XYFlowNode, {
345
- source: string;
346
- target: string;
347
- sourceHandle?: string | null;
348
- targetHandle?: string | null;
349
- animated?: boolean;
350
- hidden?: boolean;
351
- deletable?: boolean;
352
- selectable?: boolean;
353
- selected?: boolean;
354
- markerStart?: import('@xyflow/react').EdgeMarkerType;
355
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
356
- zIndex?: number;
357
- ariaLabel?: string;
358
- interactionWidth?: number;
359
- label?: import('react').ReactNode;
360
- labelStyle?: import('react').CSSProperties;
361
- labelShowBg?: boolean;
362
- labelBgStyle?: import('react').CSSProperties;
363
- labelBgPadding?: [number, number];
364
- labelBgBorderRadius?: number;
365
- style?: import('react').CSSProperties;
366
- className?: string;
367
- reconnectable?: boolean | import('@xyflow/react').HandleType;
368
- focusable?: boolean;
369
- data: import('../xyflow/types').RelationshipData;
370
- readonly id: string;
371
- readonly type: "relationship";
372
- }>;
373
- setState: (partial: import('@xyflow/react').ReactFlowState<XYFlowNode, {
374
- source: string;
375
- target: string;
376
- sourceHandle?: string | null;
377
- targetHandle?: string | null;
378
- animated?: boolean;
379
- hidden?: boolean;
380
- deletable?: boolean;
381
- selectable?: boolean;
382
- selected?: boolean;
383
- markerStart?: import('@xyflow/react').EdgeMarkerType;
384
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
385
- zIndex?: number;
386
- ariaLabel?: string;
387
- interactionWidth?: number;
388
- label?: import('react').ReactNode;
389
- labelStyle?: import('react').CSSProperties;
390
- labelShowBg?: boolean;
391
- labelBgStyle?: import('react').CSSProperties;
392
- labelBgPadding?: [number, number];
393
- labelBgBorderRadius?: number;
394
- style?: import('react').CSSProperties;
395
- className?: string;
396
- reconnectable?: boolean | import('@xyflow/react').HandleType;
397
- focusable?: boolean;
398
- data: import('../xyflow/types').RelationshipData;
399
- readonly id: string;
400
- readonly type: "relationship";
401
- }> | Partial<import('@xyflow/react').ReactFlowState<XYFlowNode, {
402
- source: string;
403
- target: string;
404
- sourceHandle?: string | null;
405
- targetHandle?: string | null;
406
- animated?: boolean;
407
- hidden?: boolean;
408
- deletable?: boolean;
409
- selectable?: boolean;
410
- selected?: boolean;
411
- markerStart?: import('@xyflow/react').EdgeMarkerType;
412
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
413
- zIndex?: number;
414
- ariaLabel?: string;
415
- interactionWidth?: number;
416
- label?: import('react').ReactNode;
417
- labelStyle?: import('react').CSSProperties;
418
- labelShowBg?: boolean;
419
- labelBgStyle?: import('react').CSSProperties;
420
- labelBgPadding?: [number, number];
421
- labelBgBorderRadius?: number;
422
- style?: import('react').CSSProperties;
423
- className?: string;
424
- reconnectable?: boolean | import('@xyflow/react').HandleType;
425
- focusable?: boolean;
426
- data: import('../xyflow/types').RelationshipData;
427
- readonly id: string;
428
- readonly type: "relationship";
429
- }>> | ((state: import('@xyflow/react').ReactFlowState<XYFlowNode, {
430
- source: string;
431
- target: string;
432
- sourceHandle?: string | null;
433
- targetHandle?: string | null;
434
- animated?: boolean;
435
- hidden?: boolean;
436
- deletable?: boolean;
437
- selectable?: boolean;
438
- selected?: boolean;
439
- markerStart?: import('@xyflow/react').EdgeMarkerType;
440
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
441
- zIndex?: number;
442
- ariaLabel?: string;
443
- interactionWidth?: number;
444
- label?: import('react').ReactNode;
445
- labelStyle?: import('react').CSSProperties;
446
- labelShowBg?: boolean;
447
- labelBgStyle?: import('react').CSSProperties;
448
- labelBgPadding?: [number, number];
449
- labelBgBorderRadius?: number;
450
- style?: import('react').CSSProperties;
451
- className?: string;
452
- reconnectable?: boolean | import('@xyflow/react').HandleType;
453
- focusable?: boolean;
454
- data: import('../xyflow/types').RelationshipData;
455
- readonly id: string;
456
- readonly type: "relationship";
457
- }>) => import('@xyflow/react').ReactFlowState<XYFlowNode, {
458
- source: string;
459
- target: string;
460
- sourceHandle?: string | null;
461
- targetHandle?: string | null;
462
- animated?: boolean;
463
- hidden?: boolean;
464
- deletable?: boolean;
465
- selectable?: boolean;
466
- selected?: boolean;
467
- markerStart?: import('@xyflow/react').EdgeMarkerType;
468
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
469
- zIndex?: number;
470
- ariaLabel?: string;
471
- interactionWidth?: number;
472
- label?: import('react').ReactNode;
473
- labelStyle?: import('react').CSSProperties;
474
- labelShowBg?: boolean;
475
- labelBgStyle?: import('react').CSSProperties;
476
- labelBgPadding?: [number, number];
477
- labelBgBorderRadius?: number;
478
- style?: import('react').CSSProperties;
479
- className?: string;
480
- reconnectable?: boolean | import('@xyflow/react').HandleType;
481
- focusable?: boolean;
482
- data: import('../xyflow/types').RelationshipData;
483
- readonly id: string;
484
- readonly type: "relationship";
485
- }> | Partial<import('@xyflow/react').ReactFlowState<XYFlowNode, {
486
- source: string;
487
- target: string;
488
- sourceHandle?: string | null;
489
- targetHandle?: string | null;
490
- animated?: boolean;
491
- hidden?: boolean;
492
- deletable?: boolean;
493
- selectable?: boolean;
494
- selected?: boolean;
495
- markerStart?: import('@xyflow/react').EdgeMarkerType;
496
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
497
- zIndex?: number;
498
- ariaLabel?: string;
499
- interactionWidth?: number;
500
- label?: import('react').ReactNode;
501
- labelStyle?: import('react').CSSProperties;
502
- labelShowBg?: boolean;
503
- labelBgStyle?: import('react').CSSProperties;
504
- labelBgPadding?: [number, number];
505
- labelBgBorderRadius?: number;
506
- style?: import('react').CSSProperties;
507
- className?: string;
508
- reconnectable?: boolean | import('@xyflow/react').HandleType;
509
- focusable?: boolean;
510
- data: import('../xyflow/types').RelationshipData;
511
- readonly id: string;
512
- readonly type: "relationship";
513
- }>>), replace?: boolean | undefined) => void;
514
- subscribe: (listener: (state: import('@xyflow/react').ReactFlowState<XYFlowNode, {
515
- source: string;
516
- target: string;
517
- sourceHandle?: string | null;
518
- targetHandle?: string | null;
519
- animated?: boolean;
520
- hidden?: boolean;
521
- deletable?: boolean;
522
- selectable?: boolean;
523
- selected?: boolean;
524
- markerStart?: import('@xyflow/react').EdgeMarkerType;
525
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
526
- zIndex?: number;
527
- ariaLabel?: string;
528
- interactionWidth?: number;
529
- label?: import('react').ReactNode;
530
- labelStyle?: import('react').CSSProperties;
531
- labelShowBg?: boolean;
532
- labelBgStyle?: import('react').CSSProperties;
533
- labelBgPadding?: [number, number];
534
- labelBgBorderRadius?: number;
535
- style?: import('react').CSSProperties;
536
- className?: string;
537
- reconnectable?: boolean | import('@xyflow/react').HandleType;
538
- focusable?: boolean;
539
- data: import('../xyflow/types').RelationshipData;
540
- readonly id: string;
541
- readonly type: "relationship";
542
- }>, prevState: import('@xyflow/react').ReactFlowState<XYFlowNode, {
543
- source: string;
544
- target: string;
545
- sourceHandle?: string | null;
546
- targetHandle?: string | null;
547
- animated?: boolean;
548
- hidden?: boolean;
549
- deletable?: boolean;
550
- selectable?: boolean;
551
- selected?: boolean;
552
- markerStart?: import('@xyflow/react').EdgeMarkerType;
553
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
554
- zIndex?: number;
555
- ariaLabel?: string;
556
- interactionWidth?: number;
557
- label?: import('react').ReactNode;
558
- labelStyle?: import('react').CSSProperties;
559
- labelShowBg?: boolean;
560
- labelBgStyle?: import('react').CSSProperties;
561
- labelBgPadding?: [number, number];
562
- labelBgBorderRadius?: number;
563
- style?: import('react').CSSProperties;
564
- className?: string;
565
- reconnectable?: boolean | import('@xyflow/react').HandleType;
566
- focusable?: boolean;
567
- data: import('../xyflow/types').RelationshipData;
568
- readonly id: string;
569
- readonly type: "relationship";
570
- }>) => void) => () => void;
571
- }) => void;
572
- nextDynamicStep: (increment?: number | undefined) => void;
121
+ triggerSaveManualLayout: () => void;
122
+ triggerOnNavigateTo: (xynodeId: string, event: ReactMouseEvent) => void;
123
+ fitDiagram: (duration?: number) => void;
124
+ nextDynamicStep: (increment?: number) => void;
573
125
  stopDynamicView: () => void;
574
126
  }>, "subscribe"> & {
575
127
  subscribe: {
576
128
  (listener: (selectedState: {
129
+ readonly storeDevId: string;
577
130
  view: DiagramView;
578
131
  readonly: boolean;
579
132
  showElementLinks: boolean;
@@ -584,8 +137,11 @@ export declare function createDiagramStore<T extends Exact<CreateDiagramStore, T
584
137
  nodesDraggable: boolean;
585
138
  nodesSelectable: boolean;
586
139
  experimentalEdgeEditing: boolean;
140
+ renderIcon: ElementIconRenderer | null;
141
+ getContainer: () => HTMLDivElement | null;
587
142
  viewSyncDebounceTimeout: number | null;
588
143
  xyflow: XYFlowInstance;
144
+ xystore: XYStoreApi;
589
145
  initialized: boolean;
590
146
  xyflowSynced: boolean;
591
147
  activeDynamicViewStep: number | null;
@@ -596,13 +152,13 @@ export declare function createDiagramStore<T extends Exact<CreateDiagramStore, T
596
152
  hoveredEdgeId: string | null;
597
153
  dimmed: ReadonlySet<string>;
598
154
  previousViews: DiagramView[];
599
- lastOnNavigate: {
155
+ lastOnNavigate: null | {
600
156
  fromView: ViewID;
601
157
  toView: ViewID;
602
158
  element: DiagramNode;
603
159
  elementScreenPosition: XYPosition;
604
160
  positionCorrected: boolean;
605
- } | null;
161
+ };
606
162
  viewportChanged: boolean;
607
163
  onChange: import('../LikeC4Diagram.props').OnChange | null | undefined;
608
164
  onNavigateTo: import('../LikeC4Diagram.props').OnNavigateTo | null | undefined;
@@ -624,468 +180,13 @@ export declare function createDiagramStore<T extends Exact<CreateDiagramStore, T
624
180
  getElement: (id: Fqn) => DiagramNode | null;
625
181
  triggerChangeElementStyle: (change: Changes.ChangeElementStyle) => void;
626
182
  cancelSaveManualLayout: () => void;
627
- triggerSaveManualLayout: (xystore: {
628
- getState: () => import('@xyflow/react').ReactFlowState<XYFlowNode, {
629
- source: string;
630
- target: string;
631
- sourceHandle?: string | null;
632
- targetHandle?: string | null;
633
- animated?: boolean;
634
- hidden?: boolean;
635
- deletable?: boolean;
636
- selectable?: boolean;
637
- selected?: boolean;
638
- markerStart?: import('@xyflow/react').EdgeMarkerType;
639
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
640
- zIndex?: number;
641
- ariaLabel?: string;
642
- interactionWidth?: number;
643
- label?: import('react').ReactNode;
644
- labelStyle?: import('react').CSSProperties;
645
- labelShowBg?: boolean;
646
- labelBgStyle?: import('react').CSSProperties;
647
- labelBgPadding?: [number, number];
648
- labelBgBorderRadius?: number;
649
- style?: import('react').CSSProperties;
650
- className?: string;
651
- reconnectable?: boolean | import('@xyflow/react').HandleType;
652
- focusable?: boolean;
653
- data: import('../xyflow/types').RelationshipData;
654
- readonly id: string;
655
- readonly type: "relationship";
656
- }>;
657
- setState: (partial: import('@xyflow/react').ReactFlowState<XYFlowNode, {
658
- source: string;
659
- target: string;
660
- sourceHandle?: string | null;
661
- targetHandle?: string | null;
662
- animated?: boolean;
663
- hidden?: boolean;
664
- deletable?: boolean;
665
- selectable?: boolean;
666
- selected?: boolean;
667
- markerStart?: import('@xyflow/react').EdgeMarkerType;
668
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
669
- zIndex?: number;
670
- ariaLabel?: string;
671
- interactionWidth?: number;
672
- label?: import('react').ReactNode;
673
- labelStyle?: import('react').CSSProperties;
674
- labelShowBg?: boolean;
675
- labelBgStyle?: import('react').CSSProperties;
676
- labelBgPadding?: [number, number];
677
- labelBgBorderRadius?: number;
678
- style?: import('react').CSSProperties;
679
- className?: string;
680
- reconnectable?: boolean | import('@xyflow/react').HandleType;
681
- focusable?: boolean;
682
- data: import('../xyflow/types').RelationshipData;
683
- readonly id: string;
684
- readonly type: "relationship";
685
- }> | Partial<import('@xyflow/react').ReactFlowState<XYFlowNode, {
686
- source: string;
687
- target: string;
688
- sourceHandle?: string | null;
689
- targetHandle?: string | null;
690
- animated?: boolean;
691
- hidden?: boolean;
692
- deletable?: boolean;
693
- selectable?: boolean;
694
- selected?: boolean;
695
- markerStart?: import('@xyflow/react').EdgeMarkerType;
696
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
697
- zIndex?: number;
698
- ariaLabel?: string;
699
- interactionWidth?: number;
700
- label?: import('react').ReactNode;
701
- labelStyle?: import('react').CSSProperties;
702
- labelShowBg?: boolean;
703
- labelBgStyle?: import('react').CSSProperties;
704
- labelBgPadding?: [number, number];
705
- labelBgBorderRadius?: number;
706
- style?: import('react').CSSProperties;
707
- className?: string;
708
- reconnectable?: boolean | import('@xyflow/react').HandleType;
709
- focusable?: boolean;
710
- data: import('../xyflow/types').RelationshipData;
711
- readonly id: string;
712
- readonly type: "relationship";
713
- }>> | ((state: import('@xyflow/react').ReactFlowState<XYFlowNode, {
714
- source: string;
715
- target: string;
716
- sourceHandle?: string | null;
717
- targetHandle?: string | null;
718
- animated?: boolean;
719
- hidden?: boolean;
720
- deletable?: boolean;
721
- selectable?: boolean;
722
- selected?: boolean;
723
- markerStart?: import('@xyflow/react').EdgeMarkerType;
724
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
725
- zIndex?: number;
726
- ariaLabel?: string;
727
- interactionWidth?: number;
728
- label?: import('react').ReactNode;
729
- labelStyle?: import('react').CSSProperties;
730
- labelShowBg?: boolean;
731
- labelBgStyle?: import('react').CSSProperties;
732
- labelBgPadding?: [number, number];
733
- labelBgBorderRadius?: number;
734
- style?: import('react').CSSProperties;
735
- className?: string;
736
- reconnectable?: boolean | import('@xyflow/react').HandleType;
737
- focusable?: boolean;
738
- data: import('../xyflow/types').RelationshipData;
739
- readonly id: string;
740
- readonly type: "relationship";
741
- }>) => import('@xyflow/react').ReactFlowState<XYFlowNode, {
742
- source: string;
743
- target: string;
744
- sourceHandle?: string | null;
745
- targetHandle?: string | null;
746
- animated?: boolean;
747
- hidden?: boolean;
748
- deletable?: boolean;
749
- selectable?: boolean;
750
- selected?: boolean;
751
- markerStart?: import('@xyflow/react').EdgeMarkerType;
752
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
753
- zIndex?: number;
754
- ariaLabel?: string;
755
- interactionWidth?: number;
756
- label?: import('react').ReactNode;
757
- labelStyle?: import('react').CSSProperties;
758
- labelShowBg?: boolean;
759
- labelBgStyle?: import('react').CSSProperties;
760
- labelBgPadding?: [number, number];
761
- labelBgBorderRadius?: number;
762
- style?: import('react').CSSProperties;
763
- className?: string;
764
- reconnectable?: boolean | import('@xyflow/react').HandleType;
765
- focusable?: boolean;
766
- data: import('../xyflow/types').RelationshipData;
767
- readonly id: string;
768
- readonly type: "relationship";
769
- }> | Partial<import('@xyflow/react').ReactFlowState<XYFlowNode, {
770
- source: string;
771
- target: string;
772
- sourceHandle?: string | null;
773
- targetHandle?: string | null;
774
- animated?: boolean;
775
- hidden?: boolean;
776
- deletable?: boolean;
777
- selectable?: boolean;
778
- selected?: boolean;
779
- markerStart?: import('@xyflow/react').EdgeMarkerType;
780
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
781
- zIndex?: number;
782
- ariaLabel?: string;
783
- interactionWidth?: number;
784
- label?: import('react').ReactNode;
785
- labelStyle?: import('react').CSSProperties;
786
- labelShowBg?: boolean;
787
- labelBgStyle?: import('react').CSSProperties;
788
- labelBgPadding?: [number, number];
789
- labelBgBorderRadius?: number;
790
- style?: import('react').CSSProperties;
791
- className?: string;
792
- reconnectable?: boolean | import('@xyflow/react').HandleType;
793
- focusable?: boolean;
794
- data: import('../xyflow/types').RelationshipData;
795
- readonly id: string;
796
- readonly type: "relationship";
797
- }>>), replace?: boolean | undefined) => void;
798
- subscribe: (listener: (state: import('@xyflow/react').ReactFlowState<XYFlowNode, {
799
- source: string;
800
- target: string;
801
- sourceHandle?: string | null;
802
- targetHandle?: string | null;
803
- animated?: boolean;
804
- hidden?: boolean;
805
- deletable?: boolean;
806
- selectable?: boolean;
807
- selected?: boolean;
808
- markerStart?: import('@xyflow/react').EdgeMarkerType;
809
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
810
- zIndex?: number;
811
- ariaLabel?: string;
812
- interactionWidth?: number;
813
- label?: import('react').ReactNode;
814
- labelStyle?: import('react').CSSProperties;
815
- labelShowBg?: boolean;
816
- labelBgStyle?: import('react').CSSProperties;
817
- labelBgPadding?: [number, number];
818
- labelBgBorderRadius?: number;
819
- style?: import('react').CSSProperties;
820
- className?: string;
821
- reconnectable?: boolean | import('@xyflow/react').HandleType;
822
- focusable?: boolean;
823
- data: import('../xyflow/types').RelationshipData;
824
- readonly id: string;
825
- readonly type: "relationship";
826
- }>, prevState: import('@xyflow/react').ReactFlowState<XYFlowNode, {
827
- source: string;
828
- target: string;
829
- sourceHandle?: string | null;
830
- targetHandle?: string | null;
831
- animated?: boolean;
832
- hidden?: boolean;
833
- deletable?: boolean;
834
- selectable?: boolean;
835
- selected?: boolean;
836
- markerStart?: import('@xyflow/react').EdgeMarkerType;
837
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
838
- zIndex?: number;
839
- ariaLabel?: string;
840
- interactionWidth?: number;
841
- label?: import('react').ReactNode;
842
- labelStyle?: import('react').CSSProperties;
843
- labelShowBg?: boolean;
844
- labelBgStyle?: import('react').CSSProperties;
845
- labelBgPadding?: [number, number];
846
- labelBgBorderRadius?: number;
847
- style?: import('react').CSSProperties;
848
- className?: string;
849
- reconnectable?: boolean | import('@xyflow/react').HandleType;
850
- focusable?: boolean;
851
- data: import('../xyflow/types').RelationshipData;
852
- readonly id: string;
853
- readonly type: "relationship";
854
- }>) => void) => () => void;
855
- }) => void;
856
- triggerOnNavigateTo: (xynodeId: string, event: ReactMouseEvent<Element, MouseEvent>) => void;
857
- fitDiagram: (xyStore: {
858
- getState: () => import('@xyflow/react').ReactFlowState<XYFlowNode, {
859
- source: string;
860
- target: string;
861
- sourceHandle?: string | null;
862
- targetHandle?: string | null;
863
- animated?: boolean;
864
- hidden?: boolean;
865
- deletable?: boolean;
866
- selectable?: boolean;
867
- selected?: boolean;
868
- markerStart?: import('@xyflow/react').EdgeMarkerType;
869
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
870
- zIndex?: number;
871
- ariaLabel?: string;
872
- interactionWidth?: number;
873
- label?: import('react').ReactNode;
874
- labelStyle?: import('react').CSSProperties;
875
- labelShowBg?: boolean;
876
- labelBgStyle?: import('react').CSSProperties;
877
- labelBgPadding?: [number, number];
878
- labelBgBorderRadius?: number;
879
- style?: import('react').CSSProperties;
880
- className?: string;
881
- reconnectable?: boolean | import('@xyflow/react').HandleType;
882
- focusable?: boolean;
883
- data: import('../xyflow/types').RelationshipData;
884
- readonly id: string;
885
- readonly type: "relationship";
886
- }>;
887
- setState: (partial: import('@xyflow/react').ReactFlowState<XYFlowNode, {
888
- source: string;
889
- target: string;
890
- sourceHandle?: string | null;
891
- targetHandle?: string | null;
892
- animated?: boolean;
893
- hidden?: boolean;
894
- deletable?: boolean;
895
- selectable?: boolean;
896
- selected?: boolean;
897
- markerStart?: import('@xyflow/react').EdgeMarkerType;
898
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
899
- zIndex?: number;
900
- ariaLabel?: string;
901
- interactionWidth?: number;
902
- label?: import('react').ReactNode;
903
- labelStyle?: import('react').CSSProperties;
904
- labelShowBg?: boolean;
905
- labelBgStyle?: import('react').CSSProperties;
906
- labelBgPadding?: [number, number];
907
- labelBgBorderRadius?: number;
908
- style?: import('react').CSSProperties;
909
- className?: string;
910
- reconnectable?: boolean | import('@xyflow/react').HandleType;
911
- focusable?: boolean;
912
- data: import('../xyflow/types').RelationshipData;
913
- readonly id: string;
914
- readonly type: "relationship";
915
- }> | Partial<import('@xyflow/react').ReactFlowState<XYFlowNode, {
916
- source: string;
917
- target: string;
918
- sourceHandle?: string | null;
919
- targetHandle?: string | null;
920
- animated?: boolean;
921
- hidden?: boolean;
922
- deletable?: boolean;
923
- selectable?: boolean;
924
- selected?: boolean;
925
- markerStart?: import('@xyflow/react').EdgeMarkerType;
926
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
927
- zIndex?: number;
928
- ariaLabel?: string;
929
- interactionWidth?: number;
930
- label?: import('react').ReactNode;
931
- labelStyle?: import('react').CSSProperties;
932
- labelShowBg?: boolean;
933
- labelBgStyle?: import('react').CSSProperties;
934
- labelBgPadding?: [number, number];
935
- labelBgBorderRadius?: number;
936
- style?: import('react').CSSProperties;
937
- className?: string;
938
- reconnectable?: boolean | import('@xyflow/react').HandleType;
939
- focusable?: boolean;
940
- data: import('../xyflow/types').RelationshipData;
941
- readonly id: string;
942
- readonly type: "relationship";
943
- }>> | ((state: import('@xyflow/react').ReactFlowState<XYFlowNode, {
944
- source: string;
945
- target: string;
946
- sourceHandle?: string | null;
947
- targetHandle?: string | null;
948
- animated?: boolean;
949
- hidden?: boolean;
950
- deletable?: boolean;
951
- selectable?: boolean;
952
- selected?: boolean;
953
- markerStart?: import('@xyflow/react').EdgeMarkerType;
954
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
955
- zIndex?: number;
956
- ariaLabel?: string;
957
- interactionWidth?: number;
958
- label?: import('react').ReactNode;
959
- labelStyle?: import('react').CSSProperties;
960
- labelShowBg?: boolean;
961
- labelBgStyle?: import('react').CSSProperties;
962
- labelBgPadding?: [number, number];
963
- labelBgBorderRadius?: number;
964
- style?: import('react').CSSProperties;
965
- className?: string;
966
- reconnectable?: boolean | import('@xyflow/react').HandleType;
967
- focusable?: boolean;
968
- data: import('../xyflow/types').RelationshipData;
969
- readonly id: string;
970
- readonly type: "relationship";
971
- }>) => import('@xyflow/react').ReactFlowState<XYFlowNode, {
972
- source: string;
973
- target: string;
974
- sourceHandle?: string | null;
975
- targetHandle?: string | null;
976
- animated?: boolean;
977
- hidden?: boolean;
978
- deletable?: boolean;
979
- selectable?: boolean;
980
- selected?: boolean;
981
- markerStart?: import('@xyflow/react').EdgeMarkerType;
982
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
983
- zIndex?: number;
984
- ariaLabel?: string;
985
- interactionWidth?: number;
986
- label?: import('react').ReactNode;
987
- labelStyle?: import('react').CSSProperties;
988
- labelShowBg?: boolean;
989
- labelBgStyle?: import('react').CSSProperties;
990
- labelBgPadding?: [number, number];
991
- labelBgBorderRadius?: number;
992
- style?: import('react').CSSProperties;
993
- className?: string;
994
- reconnectable?: boolean | import('@xyflow/react').HandleType;
995
- focusable?: boolean;
996
- data: import('../xyflow/types').RelationshipData;
997
- readonly id: string;
998
- readonly type: "relationship";
999
- }> | Partial<import('@xyflow/react').ReactFlowState<XYFlowNode, {
1000
- source: string;
1001
- target: string;
1002
- sourceHandle?: string | null;
1003
- targetHandle?: string | null;
1004
- animated?: boolean;
1005
- hidden?: boolean;
1006
- deletable?: boolean;
1007
- selectable?: boolean;
1008
- selected?: boolean;
1009
- markerStart?: import('@xyflow/react').EdgeMarkerType;
1010
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
1011
- zIndex?: number;
1012
- ariaLabel?: string;
1013
- interactionWidth?: number;
1014
- label?: import('react').ReactNode;
1015
- labelStyle?: import('react').CSSProperties;
1016
- labelShowBg?: boolean;
1017
- labelBgStyle?: import('react').CSSProperties;
1018
- labelBgPadding?: [number, number];
1019
- labelBgBorderRadius?: number;
1020
- style?: import('react').CSSProperties;
1021
- className?: string;
1022
- reconnectable?: boolean | import('@xyflow/react').HandleType;
1023
- focusable?: boolean;
1024
- data: import('../xyflow/types').RelationshipData;
1025
- readonly id: string;
1026
- readonly type: "relationship";
1027
- }>>), replace?: boolean | undefined) => void;
1028
- subscribe: (listener: (state: import('@xyflow/react').ReactFlowState<XYFlowNode, {
1029
- source: string;
1030
- target: string;
1031
- sourceHandle?: string | null;
1032
- targetHandle?: string | null;
1033
- animated?: boolean;
1034
- hidden?: boolean;
1035
- deletable?: boolean;
1036
- selectable?: boolean;
1037
- selected?: boolean;
1038
- markerStart?: import('@xyflow/react').EdgeMarkerType;
1039
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
1040
- zIndex?: number;
1041
- ariaLabel?: string;
1042
- interactionWidth?: number;
1043
- label?: import('react').ReactNode;
1044
- labelStyle?: import('react').CSSProperties;
1045
- labelShowBg?: boolean;
1046
- labelBgStyle?: import('react').CSSProperties;
1047
- labelBgPadding?: [number, number];
1048
- labelBgBorderRadius?: number;
1049
- style?: import('react').CSSProperties;
1050
- className?: string;
1051
- reconnectable?: boolean | import('@xyflow/react').HandleType;
1052
- focusable?: boolean;
1053
- data: import('../xyflow/types').RelationshipData;
1054
- readonly id: string;
1055
- readonly type: "relationship";
1056
- }>, prevState: import('@xyflow/react').ReactFlowState<XYFlowNode, {
1057
- source: string;
1058
- target: string;
1059
- sourceHandle?: string | null;
1060
- targetHandle?: string | null;
1061
- animated?: boolean;
1062
- hidden?: boolean;
1063
- deletable?: boolean;
1064
- selectable?: boolean;
1065
- selected?: boolean;
1066
- markerStart?: import('@xyflow/react').EdgeMarkerType;
1067
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
1068
- zIndex?: number;
1069
- ariaLabel?: string;
1070
- interactionWidth?: number;
1071
- label?: import('react').ReactNode;
1072
- labelStyle?: import('react').CSSProperties;
1073
- labelShowBg?: boolean;
1074
- labelBgStyle?: import('react').CSSProperties;
1075
- labelBgPadding?: [number, number];
1076
- labelBgBorderRadius?: number;
1077
- style?: import('react').CSSProperties;
1078
- className?: string;
1079
- reconnectable?: boolean | import('@xyflow/react').HandleType;
1080
- focusable?: boolean;
1081
- data: import('../xyflow/types').RelationshipData;
1082
- readonly id: string;
1083
- readonly type: "relationship";
1084
- }>) => void) => () => void;
1085
- }) => void;
1086
- nextDynamicStep: (increment?: number | undefined) => void;
183
+ triggerSaveManualLayout: () => void;
184
+ triggerOnNavigateTo: (xynodeId: string, event: ReactMouseEvent) => void;
185
+ fitDiagram: (duration?: number) => void;
186
+ nextDynamicStep: (increment?: number) => void;
1087
187
  stopDynamicView: () => void;
1088
188
  }, previousSelectedState: {
189
+ readonly storeDevId: string;
1089
190
  view: DiagramView;
1090
191
  readonly: boolean;
1091
192
  showElementLinks: boolean;
@@ -1096,8 +197,11 @@ export declare function createDiagramStore<T extends Exact<CreateDiagramStore, T
1096
197
  nodesDraggable: boolean;
1097
198
  nodesSelectable: boolean;
1098
199
  experimentalEdgeEditing: boolean;
200
+ renderIcon: ElementIconRenderer | null;
201
+ getContainer: () => HTMLDivElement | null;
1099
202
  viewSyncDebounceTimeout: number | null;
1100
203
  xyflow: XYFlowInstance;
204
+ xystore: XYStoreApi;
1101
205
  initialized: boolean;
1102
206
  xyflowSynced: boolean;
1103
207
  activeDynamicViewStep: number | null;
@@ -1108,13 +212,13 @@ export declare function createDiagramStore<T extends Exact<CreateDiagramStore, T
1108
212
  hoveredEdgeId: string | null;
1109
213
  dimmed: ReadonlySet<string>;
1110
214
  previousViews: DiagramView[];
1111
- lastOnNavigate: {
215
+ lastOnNavigate: null | {
1112
216
  fromView: ViewID;
1113
217
  toView: ViewID;
1114
218
  element: DiagramNode;
1115
219
  elementScreenPosition: XYPosition;
1116
220
  positionCorrected: boolean;
1117
- } | null;
221
+ };
1118
222
  viewportChanged: boolean;
1119
223
  onChange: import('../LikeC4Diagram.props').OnChange | null | undefined;
1120
224
  onNavigateTo: import('../LikeC4Diagram.props').OnNavigateTo | null | undefined;
@@ -1136,469 +240,14 @@ export declare function createDiagramStore<T extends Exact<CreateDiagramStore, T
1136
240
  getElement: (id: Fqn) => DiagramNode | null;
1137
241
  triggerChangeElementStyle: (change: Changes.ChangeElementStyle) => void;
1138
242
  cancelSaveManualLayout: () => void;
1139
- triggerSaveManualLayout: (xystore: {
1140
- getState: () => import('@xyflow/react').ReactFlowState<XYFlowNode, {
1141
- source: string;
1142
- target: string;
1143
- sourceHandle?: string | null;
1144
- targetHandle?: string | null;
1145
- animated?: boolean;
1146
- hidden?: boolean;
1147
- deletable?: boolean;
1148
- selectable?: boolean;
1149
- selected?: boolean;
1150
- markerStart?: import('@xyflow/react').EdgeMarkerType;
1151
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
1152
- zIndex?: number;
1153
- ariaLabel?: string;
1154
- interactionWidth?: number;
1155
- label?: import('react').ReactNode;
1156
- labelStyle?: import('react').CSSProperties;
1157
- labelShowBg?: boolean;
1158
- labelBgStyle?: import('react').CSSProperties;
1159
- labelBgPadding?: [number, number];
1160
- labelBgBorderRadius?: number;
1161
- style?: import('react').CSSProperties;
1162
- className?: string;
1163
- reconnectable?: boolean | import('@xyflow/react').HandleType;
1164
- focusable?: boolean;
1165
- data: import('../xyflow/types').RelationshipData;
1166
- readonly id: string;
1167
- readonly type: "relationship";
1168
- }>;
1169
- setState: (partial: import('@xyflow/react').ReactFlowState<XYFlowNode, {
1170
- source: string;
1171
- target: string;
1172
- sourceHandle?: string | null;
1173
- targetHandle?: string | null;
1174
- animated?: boolean;
1175
- hidden?: boolean;
1176
- deletable?: boolean;
1177
- selectable?: boolean;
1178
- selected?: boolean;
1179
- markerStart?: import('@xyflow/react').EdgeMarkerType;
1180
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
1181
- zIndex?: number;
1182
- ariaLabel?: string;
1183
- interactionWidth?: number;
1184
- label?: import('react').ReactNode;
1185
- labelStyle?: import('react').CSSProperties;
1186
- labelShowBg?: boolean;
1187
- labelBgStyle?: import('react').CSSProperties;
1188
- labelBgPadding?: [number, number];
1189
- labelBgBorderRadius?: number;
1190
- style?: import('react').CSSProperties;
1191
- className?: string;
1192
- reconnectable?: boolean | import('@xyflow/react').HandleType;
1193
- focusable?: boolean;
1194
- data: import('../xyflow/types').RelationshipData;
1195
- readonly id: string;
1196
- readonly type: "relationship";
1197
- }> | Partial<import('@xyflow/react').ReactFlowState<XYFlowNode, {
1198
- source: string;
1199
- target: string;
1200
- sourceHandle?: string | null;
1201
- targetHandle?: string | null;
1202
- animated?: boolean;
1203
- hidden?: boolean;
1204
- deletable?: boolean;
1205
- selectable?: boolean;
1206
- selected?: boolean;
1207
- markerStart?: import('@xyflow/react').EdgeMarkerType;
1208
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
1209
- zIndex?: number;
1210
- ariaLabel?: string;
1211
- interactionWidth?: number;
1212
- label?: import('react').ReactNode;
1213
- labelStyle?: import('react').CSSProperties;
1214
- labelShowBg?: boolean;
1215
- labelBgStyle?: import('react').CSSProperties;
1216
- labelBgPadding?: [number, number];
1217
- labelBgBorderRadius?: number;
1218
- style?: import('react').CSSProperties;
1219
- className?: string;
1220
- reconnectable?: boolean | import('@xyflow/react').HandleType;
1221
- focusable?: boolean;
1222
- data: import('../xyflow/types').RelationshipData;
1223
- readonly id: string;
1224
- readonly type: "relationship";
1225
- }>> | ((state: import('@xyflow/react').ReactFlowState<XYFlowNode, {
1226
- source: string;
1227
- target: string;
1228
- sourceHandle?: string | null;
1229
- targetHandle?: string | null;
1230
- animated?: boolean;
1231
- hidden?: boolean;
1232
- deletable?: boolean;
1233
- selectable?: boolean;
1234
- selected?: boolean;
1235
- markerStart?: import('@xyflow/react').EdgeMarkerType;
1236
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
1237
- zIndex?: number;
1238
- ariaLabel?: string;
1239
- interactionWidth?: number;
1240
- label?: import('react').ReactNode;
1241
- labelStyle?: import('react').CSSProperties;
1242
- labelShowBg?: boolean;
1243
- labelBgStyle?: import('react').CSSProperties;
1244
- labelBgPadding?: [number, number];
1245
- labelBgBorderRadius?: number;
1246
- style?: import('react').CSSProperties;
1247
- className?: string;
1248
- reconnectable?: boolean | import('@xyflow/react').HandleType;
1249
- focusable?: boolean;
1250
- data: import('../xyflow/types').RelationshipData;
1251
- readonly id: string;
1252
- readonly type: "relationship";
1253
- }>) => import('@xyflow/react').ReactFlowState<XYFlowNode, {
1254
- source: string;
1255
- target: string;
1256
- sourceHandle?: string | null;
1257
- targetHandle?: string | null;
1258
- animated?: boolean;
1259
- hidden?: boolean;
1260
- deletable?: boolean;
1261
- selectable?: boolean;
1262
- selected?: boolean;
1263
- markerStart?: import('@xyflow/react').EdgeMarkerType;
1264
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
1265
- zIndex?: number;
1266
- ariaLabel?: string;
1267
- interactionWidth?: number;
1268
- label?: import('react').ReactNode;
1269
- labelStyle?: import('react').CSSProperties;
1270
- labelShowBg?: boolean;
1271
- labelBgStyle?: import('react').CSSProperties;
1272
- labelBgPadding?: [number, number];
1273
- labelBgBorderRadius?: number;
1274
- style?: import('react').CSSProperties;
1275
- className?: string;
1276
- reconnectable?: boolean | import('@xyflow/react').HandleType;
1277
- focusable?: boolean;
1278
- data: import('../xyflow/types').RelationshipData;
1279
- readonly id: string;
1280
- readonly type: "relationship";
1281
- }> | Partial<import('@xyflow/react').ReactFlowState<XYFlowNode, {
1282
- source: string;
1283
- target: string;
1284
- sourceHandle?: string | null;
1285
- targetHandle?: string | null;
1286
- animated?: boolean;
1287
- hidden?: boolean;
1288
- deletable?: boolean;
1289
- selectable?: boolean;
1290
- selected?: boolean;
1291
- markerStart?: import('@xyflow/react').EdgeMarkerType;
1292
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
1293
- zIndex?: number;
1294
- ariaLabel?: string;
1295
- interactionWidth?: number;
1296
- label?: import('react').ReactNode;
1297
- labelStyle?: import('react').CSSProperties;
1298
- labelShowBg?: boolean;
1299
- labelBgStyle?: import('react').CSSProperties;
1300
- labelBgPadding?: [number, number];
1301
- labelBgBorderRadius?: number;
1302
- style?: import('react').CSSProperties;
1303
- className?: string;
1304
- reconnectable?: boolean | import('@xyflow/react').HandleType;
1305
- focusable?: boolean;
1306
- data: import('../xyflow/types').RelationshipData;
1307
- readonly id: string;
1308
- readonly type: "relationship";
1309
- }>>), replace?: boolean | undefined) => void;
1310
- subscribe: (listener: (state: import('@xyflow/react').ReactFlowState<XYFlowNode, {
1311
- source: string;
1312
- target: string;
1313
- sourceHandle?: string | null;
1314
- targetHandle?: string | null;
1315
- animated?: boolean;
1316
- hidden?: boolean;
1317
- deletable?: boolean;
1318
- selectable?: boolean;
1319
- selected?: boolean;
1320
- markerStart?: import('@xyflow/react').EdgeMarkerType;
1321
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
1322
- zIndex?: number;
1323
- ariaLabel?: string;
1324
- interactionWidth?: number;
1325
- label?: import('react').ReactNode;
1326
- labelStyle?: import('react').CSSProperties;
1327
- labelShowBg?: boolean;
1328
- labelBgStyle?: import('react').CSSProperties;
1329
- labelBgPadding?: [number, number];
1330
- labelBgBorderRadius?: number;
1331
- style?: import('react').CSSProperties;
1332
- className?: string;
1333
- reconnectable?: boolean | import('@xyflow/react').HandleType;
1334
- focusable?: boolean;
1335
- data: import('../xyflow/types').RelationshipData;
1336
- readonly id: string;
1337
- readonly type: "relationship";
1338
- }>, prevState: import('@xyflow/react').ReactFlowState<XYFlowNode, {
1339
- source: string;
1340
- target: string;
1341
- sourceHandle?: string | null;
1342
- targetHandle?: string | null;
1343
- animated?: boolean;
1344
- hidden?: boolean;
1345
- deletable?: boolean;
1346
- selectable?: boolean;
1347
- selected?: boolean;
1348
- markerStart?: import('@xyflow/react').EdgeMarkerType;
1349
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
1350
- zIndex?: number;
1351
- ariaLabel?: string;
1352
- interactionWidth?: number;
1353
- label?: import('react').ReactNode;
1354
- labelStyle?: import('react').CSSProperties;
1355
- labelShowBg?: boolean;
1356
- labelBgStyle?: import('react').CSSProperties;
1357
- labelBgPadding?: [number, number];
1358
- labelBgBorderRadius?: number;
1359
- style?: import('react').CSSProperties;
1360
- className?: string;
1361
- reconnectable?: boolean | import('@xyflow/react').HandleType;
1362
- focusable?: boolean;
1363
- data: import('../xyflow/types').RelationshipData;
1364
- readonly id: string;
1365
- readonly type: "relationship";
1366
- }>) => void) => () => void;
1367
- }) => void;
1368
- triggerOnNavigateTo: (xynodeId: string, event: ReactMouseEvent<Element, MouseEvent>) => void;
1369
- fitDiagram: (xyStore: {
1370
- getState: () => import('@xyflow/react').ReactFlowState<XYFlowNode, {
1371
- source: string;
1372
- target: string;
1373
- sourceHandle?: string | null;
1374
- targetHandle?: string | null;
1375
- animated?: boolean;
1376
- hidden?: boolean;
1377
- deletable?: boolean;
1378
- selectable?: boolean;
1379
- selected?: boolean;
1380
- markerStart?: import('@xyflow/react').EdgeMarkerType;
1381
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
1382
- zIndex?: number;
1383
- ariaLabel?: string;
1384
- interactionWidth?: number;
1385
- label?: import('react').ReactNode;
1386
- labelStyle?: import('react').CSSProperties;
1387
- labelShowBg?: boolean;
1388
- labelBgStyle?: import('react').CSSProperties;
1389
- labelBgPadding?: [number, number];
1390
- labelBgBorderRadius?: number;
1391
- style?: import('react').CSSProperties;
1392
- className?: string;
1393
- reconnectable?: boolean | import('@xyflow/react').HandleType;
1394
- focusable?: boolean;
1395
- data: import('../xyflow/types').RelationshipData;
1396
- readonly id: string;
1397
- readonly type: "relationship";
1398
- }>;
1399
- setState: (partial: import('@xyflow/react').ReactFlowState<XYFlowNode, {
1400
- source: string;
1401
- target: string;
1402
- sourceHandle?: string | null;
1403
- targetHandle?: string | null;
1404
- animated?: boolean;
1405
- hidden?: boolean;
1406
- deletable?: boolean;
1407
- selectable?: boolean;
1408
- selected?: boolean;
1409
- markerStart?: import('@xyflow/react').EdgeMarkerType;
1410
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
1411
- zIndex?: number;
1412
- ariaLabel?: string;
1413
- interactionWidth?: number;
1414
- label?: import('react').ReactNode;
1415
- labelStyle?: import('react').CSSProperties;
1416
- labelShowBg?: boolean;
1417
- labelBgStyle?: import('react').CSSProperties;
1418
- labelBgPadding?: [number, number];
1419
- labelBgBorderRadius?: number;
1420
- style?: import('react').CSSProperties;
1421
- className?: string;
1422
- reconnectable?: boolean | import('@xyflow/react').HandleType;
1423
- focusable?: boolean;
1424
- data: import('../xyflow/types').RelationshipData;
1425
- readonly id: string;
1426
- readonly type: "relationship";
1427
- }> | Partial<import('@xyflow/react').ReactFlowState<XYFlowNode, {
1428
- source: string;
1429
- target: string;
1430
- sourceHandle?: string | null;
1431
- targetHandle?: string | null;
1432
- animated?: boolean;
1433
- hidden?: boolean;
1434
- deletable?: boolean;
1435
- selectable?: boolean;
1436
- selected?: boolean;
1437
- markerStart?: import('@xyflow/react').EdgeMarkerType;
1438
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
1439
- zIndex?: number;
1440
- ariaLabel?: string;
1441
- interactionWidth?: number;
1442
- label?: import('react').ReactNode;
1443
- labelStyle?: import('react').CSSProperties;
1444
- labelShowBg?: boolean;
1445
- labelBgStyle?: import('react').CSSProperties;
1446
- labelBgPadding?: [number, number];
1447
- labelBgBorderRadius?: number;
1448
- style?: import('react').CSSProperties;
1449
- className?: string;
1450
- reconnectable?: boolean | import('@xyflow/react').HandleType;
1451
- focusable?: boolean;
1452
- data: import('../xyflow/types').RelationshipData;
1453
- readonly id: string;
1454
- readonly type: "relationship";
1455
- }>> | ((state: import('@xyflow/react').ReactFlowState<XYFlowNode, {
1456
- source: string;
1457
- target: string;
1458
- sourceHandle?: string | null;
1459
- targetHandle?: string | null;
1460
- animated?: boolean;
1461
- hidden?: boolean;
1462
- deletable?: boolean;
1463
- selectable?: boolean;
1464
- selected?: boolean;
1465
- markerStart?: import('@xyflow/react').EdgeMarkerType;
1466
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
1467
- zIndex?: number;
1468
- ariaLabel?: string;
1469
- interactionWidth?: number;
1470
- label?: import('react').ReactNode;
1471
- labelStyle?: import('react').CSSProperties;
1472
- labelShowBg?: boolean;
1473
- labelBgStyle?: import('react').CSSProperties;
1474
- labelBgPadding?: [number, number];
1475
- labelBgBorderRadius?: number;
1476
- style?: import('react').CSSProperties;
1477
- className?: string;
1478
- reconnectable?: boolean | import('@xyflow/react').HandleType;
1479
- focusable?: boolean;
1480
- data: import('../xyflow/types').RelationshipData;
1481
- readonly id: string;
1482
- readonly type: "relationship";
1483
- }>) => import('@xyflow/react').ReactFlowState<XYFlowNode, {
1484
- source: string;
1485
- target: string;
1486
- sourceHandle?: string | null;
1487
- targetHandle?: string | null;
1488
- animated?: boolean;
1489
- hidden?: boolean;
1490
- deletable?: boolean;
1491
- selectable?: boolean;
1492
- selected?: boolean;
1493
- markerStart?: import('@xyflow/react').EdgeMarkerType;
1494
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
1495
- zIndex?: number;
1496
- ariaLabel?: string;
1497
- interactionWidth?: number;
1498
- label?: import('react').ReactNode;
1499
- labelStyle?: import('react').CSSProperties;
1500
- labelShowBg?: boolean;
1501
- labelBgStyle?: import('react').CSSProperties;
1502
- labelBgPadding?: [number, number];
1503
- labelBgBorderRadius?: number;
1504
- style?: import('react').CSSProperties;
1505
- className?: string;
1506
- reconnectable?: boolean | import('@xyflow/react').HandleType;
1507
- focusable?: boolean;
1508
- data: import('../xyflow/types').RelationshipData;
1509
- readonly id: string;
1510
- readonly type: "relationship";
1511
- }> | Partial<import('@xyflow/react').ReactFlowState<XYFlowNode, {
1512
- source: string;
1513
- target: string;
1514
- sourceHandle?: string | null;
1515
- targetHandle?: string | null;
1516
- animated?: boolean;
1517
- hidden?: boolean;
1518
- deletable?: boolean;
1519
- selectable?: boolean;
1520
- selected?: boolean;
1521
- markerStart?: import('@xyflow/react').EdgeMarkerType;
1522
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
1523
- zIndex?: number;
1524
- ariaLabel?: string;
1525
- interactionWidth?: number;
1526
- label?: import('react').ReactNode;
1527
- labelStyle?: import('react').CSSProperties;
1528
- labelShowBg?: boolean;
1529
- labelBgStyle?: import('react').CSSProperties;
1530
- labelBgPadding?: [number, number];
1531
- labelBgBorderRadius?: number;
1532
- style?: import('react').CSSProperties;
1533
- className?: string;
1534
- reconnectable?: boolean | import('@xyflow/react').HandleType;
1535
- focusable?: boolean;
1536
- data: import('../xyflow/types').RelationshipData;
1537
- readonly id: string;
1538
- readonly type: "relationship";
1539
- }>>), replace?: boolean | undefined) => void;
1540
- subscribe: (listener: (state: import('@xyflow/react').ReactFlowState<XYFlowNode, {
1541
- source: string;
1542
- target: string;
1543
- sourceHandle?: string | null;
1544
- targetHandle?: string | null;
1545
- animated?: boolean;
1546
- hidden?: boolean;
1547
- deletable?: boolean;
1548
- selectable?: boolean;
1549
- selected?: boolean;
1550
- markerStart?: import('@xyflow/react').EdgeMarkerType;
1551
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
1552
- zIndex?: number;
1553
- ariaLabel?: string;
1554
- interactionWidth?: number;
1555
- label?: import('react').ReactNode;
1556
- labelStyle?: import('react').CSSProperties;
1557
- labelShowBg?: boolean;
1558
- labelBgStyle?: import('react').CSSProperties;
1559
- labelBgPadding?: [number, number];
1560
- labelBgBorderRadius?: number;
1561
- style?: import('react').CSSProperties;
1562
- className?: string;
1563
- reconnectable?: boolean | import('@xyflow/react').HandleType;
1564
- focusable?: boolean;
1565
- data: import('../xyflow/types').RelationshipData;
1566
- readonly id: string;
1567
- readonly type: "relationship";
1568
- }>, prevState: import('@xyflow/react').ReactFlowState<XYFlowNode, {
1569
- source: string;
1570
- target: string;
1571
- sourceHandle?: string | null;
1572
- targetHandle?: string | null;
1573
- animated?: boolean;
1574
- hidden?: boolean;
1575
- deletable?: boolean;
1576
- selectable?: boolean;
1577
- selected?: boolean;
1578
- markerStart?: import('@xyflow/react').EdgeMarkerType;
1579
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
1580
- zIndex?: number;
1581
- ariaLabel?: string;
1582
- interactionWidth?: number;
1583
- label?: import('react').ReactNode;
1584
- labelStyle?: import('react').CSSProperties;
1585
- labelShowBg?: boolean;
1586
- labelBgStyle?: import('react').CSSProperties;
1587
- labelBgPadding?: [number, number];
1588
- labelBgBorderRadius?: number;
1589
- style?: import('react').CSSProperties;
1590
- className?: string;
1591
- reconnectable?: boolean | import('@xyflow/react').HandleType;
1592
- focusable?: boolean;
1593
- data: import('../xyflow/types').RelationshipData;
1594
- readonly id: string;
1595
- readonly type: "relationship";
1596
- }>) => void) => () => void;
1597
- }) => void;
1598
- nextDynamicStep: (increment?: number | undefined) => void;
243
+ triggerSaveManualLayout: () => void;
244
+ triggerOnNavigateTo: (xynodeId: string, event: ReactMouseEvent) => void;
245
+ fitDiagram: (duration?: number) => void;
246
+ nextDynamicStep: (increment?: number) => void;
1599
247
  stopDynamicView: () => void;
1600
248
  }) => void): () => void;
1601
249
  <U>(selector: (state: {
250
+ readonly storeDevId: string;
1602
251
  view: DiagramView;
1603
252
  readonly: boolean;
1604
253
  showElementLinks: boolean;
@@ -1609,8 +258,11 @@ export declare function createDiagramStore<T extends Exact<CreateDiagramStore, T
1609
258
  nodesDraggable: boolean;
1610
259
  nodesSelectable: boolean;
1611
260
  experimentalEdgeEditing: boolean;
261
+ renderIcon: ElementIconRenderer | null;
262
+ getContainer: () => HTMLDivElement | null;
1612
263
  viewSyncDebounceTimeout: number | null;
1613
264
  xyflow: XYFlowInstance;
265
+ xystore: XYStoreApi;
1614
266
  initialized: boolean;
1615
267
  xyflowSynced: boolean;
1616
268
  activeDynamicViewStep: number | null;
@@ -1621,13 +273,13 @@ export declare function createDiagramStore<T extends Exact<CreateDiagramStore, T
1621
273
  hoveredEdgeId: string | null;
1622
274
  dimmed: ReadonlySet<string>;
1623
275
  previousViews: DiagramView[];
1624
- lastOnNavigate: {
276
+ lastOnNavigate: null | {
1625
277
  fromView: ViewID;
1626
278
  toView: ViewID;
1627
279
  element: DiagramNode;
1628
280
  elementScreenPosition: XYPosition;
1629
281
  positionCorrected: boolean;
1630
- } | null;
282
+ };
1631
283
  viewportChanged: boolean;
1632
284
  onChange: import('../LikeC4Diagram.props').OnChange | null | undefined;
1633
285
  onNavigateTo: import('../LikeC4Diagram.props').OnNavigateTo | null | undefined;
@@ -1649,466 +301,10 @@ export declare function createDiagramStore<T extends Exact<CreateDiagramStore, T
1649
301
  getElement: (id: Fqn) => DiagramNode | null;
1650
302
  triggerChangeElementStyle: (change: Changes.ChangeElementStyle) => void;
1651
303
  cancelSaveManualLayout: () => void;
1652
- triggerSaveManualLayout: (xystore: {
1653
- getState: () => import('@xyflow/react').ReactFlowState<XYFlowNode, {
1654
- source: string;
1655
- target: string;
1656
- sourceHandle?: string | null;
1657
- targetHandle?: string | null;
1658
- animated?: boolean;
1659
- hidden?: boolean;
1660
- deletable?: boolean;
1661
- selectable?: boolean;
1662
- selected?: boolean;
1663
- markerStart?: import('@xyflow/react').EdgeMarkerType;
1664
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
1665
- zIndex?: number;
1666
- ariaLabel?: string;
1667
- interactionWidth?: number;
1668
- label?: import('react').ReactNode;
1669
- labelStyle?: import('react').CSSProperties;
1670
- labelShowBg?: boolean;
1671
- labelBgStyle?: import('react').CSSProperties;
1672
- labelBgPadding?: [number, number];
1673
- labelBgBorderRadius?: number;
1674
- style?: import('react').CSSProperties;
1675
- className?: string;
1676
- reconnectable?: boolean | import('@xyflow/react').HandleType;
1677
- focusable?: boolean;
1678
- data: import('../xyflow/types').RelationshipData;
1679
- readonly id: string;
1680
- readonly type: "relationship";
1681
- }>;
1682
- setState: (partial: import('@xyflow/react').ReactFlowState<XYFlowNode, {
1683
- source: string;
1684
- target: string;
1685
- sourceHandle?: string | null;
1686
- targetHandle?: string | null;
1687
- animated?: boolean;
1688
- hidden?: boolean;
1689
- deletable?: boolean;
1690
- selectable?: boolean;
1691
- selected?: boolean;
1692
- markerStart?: import('@xyflow/react').EdgeMarkerType;
1693
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
1694
- zIndex?: number;
1695
- ariaLabel?: string;
1696
- interactionWidth?: number;
1697
- label?: import('react').ReactNode;
1698
- labelStyle?: import('react').CSSProperties;
1699
- labelShowBg?: boolean;
1700
- labelBgStyle?: import('react').CSSProperties;
1701
- labelBgPadding?: [number, number];
1702
- labelBgBorderRadius?: number;
1703
- style?: import('react').CSSProperties;
1704
- className?: string;
1705
- reconnectable?: boolean | import('@xyflow/react').HandleType;
1706
- focusable?: boolean;
1707
- data: import('../xyflow/types').RelationshipData;
1708
- readonly id: string;
1709
- readonly type: "relationship";
1710
- }> | Partial<import('@xyflow/react').ReactFlowState<XYFlowNode, {
1711
- source: string;
1712
- target: string;
1713
- sourceHandle?: string | null;
1714
- targetHandle?: string | null;
1715
- animated?: boolean;
1716
- hidden?: boolean;
1717
- deletable?: boolean;
1718
- selectable?: boolean;
1719
- selected?: boolean;
1720
- markerStart?: import('@xyflow/react').EdgeMarkerType;
1721
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
1722
- zIndex?: number;
1723
- ariaLabel?: string;
1724
- interactionWidth?: number;
1725
- label?: import('react').ReactNode;
1726
- labelStyle?: import('react').CSSProperties;
1727
- labelShowBg?: boolean;
1728
- labelBgStyle?: import('react').CSSProperties;
1729
- labelBgPadding?: [number, number];
1730
- labelBgBorderRadius?: number;
1731
- style?: import('react').CSSProperties;
1732
- className?: string;
1733
- reconnectable?: boolean | import('@xyflow/react').HandleType;
1734
- focusable?: boolean;
1735
- data: import('../xyflow/types').RelationshipData;
1736
- readonly id: string;
1737
- readonly type: "relationship";
1738
- }>> | ((state: import('@xyflow/react').ReactFlowState<XYFlowNode, {
1739
- source: string;
1740
- target: string;
1741
- sourceHandle?: string | null;
1742
- targetHandle?: string | null;
1743
- animated?: boolean;
1744
- hidden?: boolean;
1745
- deletable?: boolean;
1746
- selectable?: boolean;
1747
- selected?: boolean;
1748
- markerStart?: import('@xyflow/react').EdgeMarkerType;
1749
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
1750
- zIndex?: number;
1751
- ariaLabel?: string;
1752
- interactionWidth?: number;
1753
- label?: import('react').ReactNode;
1754
- labelStyle?: import('react').CSSProperties;
1755
- labelShowBg?: boolean;
1756
- labelBgStyle?: import('react').CSSProperties;
1757
- labelBgPadding?: [number, number];
1758
- labelBgBorderRadius?: number;
1759
- style?: import('react').CSSProperties;
1760
- className?: string;
1761
- reconnectable?: boolean | import('@xyflow/react').HandleType;
1762
- focusable?: boolean;
1763
- data: import('../xyflow/types').RelationshipData;
1764
- readonly id: string;
1765
- readonly type: "relationship";
1766
- }>) => import('@xyflow/react').ReactFlowState<XYFlowNode, {
1767
- source: string;
1768
- target: string;
1769
- sourceHandle?: string | null;
1770
- targetHandle?: string | null;
1771
- animated?: boolean;
1772
- hidden?: boolean;
1773
- deletable?: boolean;
1774
- selectable?: boolean;
1775
- selected?: boolean;
1776
- markerStart?: import('@xyflow/react').EdgeMarkerType;
1777
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
1778
- zIndex?: number;
1779
- ariaLabel?: string;
1780
- interactionWidth?: number;
1781
- label?: import('react').ReactNode;
1782
- labelStyle?: import('react').CSSProperties;
1783
- labelShowBg?: boolean;
1784
- labelBgStyle?: import('react').CSSProperties;
1785
- labelBgPadding?: [number, number];
1786
- labelBgBorderRadius?: number;
1787
- style?: import('react').CSSProperties;
1788
- className?: string;
1789
- reconnectable?: boolean | import('@xyflow/react').HandleType;
1790
- focusable?: boolean;
1791
- data: import('../xyflow/types').RelationshipData;
1792
- readonly id: string;
1793
- readonly type: "relationship";
1794
- }> | Partial<import('@xyflow/react').ReactFlowState<XYFlowNode, {
1795
- source: string;
1796
- target: string;
1797
- sourceHandle?: string | null;
1798
- targetHandle?: string | null;
1799
- animated?: boolean;
1800
- hidden?: boolean;
1801
- deletable?: boolean;
1802
- selectable?: boolean;
1803
- selected?: boolean;
1804
- markerStart?: import('@xyflow/react').EdgeMarkerType;
1805
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
1806
- zIndex?: number;
1807
- ariaLabel?: string;
1808
- interactionWidth?: number;
1809
- label?: import('react').ReactNode;
1810
- labelStyle?: import('react').CSSProperties;
1811
- labelShowBg?: boolean;
1812
- labelBgStyle?: import('react').CSSProperties;
1813
- labelBgPadding?: [number, number];
1814
- labelBgBorderRadius?: number;
1815
- style?: import('react').CSSProperties;
1816
- className?: string;
1817
- reconnectable?: boolean | import('@xyflow/react').HandleType;
1818
- focusable?: boolean;
1819
- data: import('../xyflow/types').RelationshipData;
1820
- readonly id: string;
1821
- readonly type: "relationship";
1822
- }>>), replace?: boolean | undefined) => void;
1823
- subscribe: (listener: (state: import('@xyflow/react').ReactFlowState<XYFlowNode, {
1824
- source: string;
1825
- target: string;
1826
- sourceHandle?: string | null;
1827
- targetHandle?: string | null;
1828
- animated?: boolean;
1829
- hidden?: boolean;
1830
- deletable?: boolean;
1831
- selectable?: boolean;
1832
- selected?: boolean;
1833
- markerStart?: import('@xyflow/react').EdgeMarkerType;
1834
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
1835
- zIndex?: number;
1836
- ariaLabel?: string;
1837
- interactionWidth?: number;
1838
- label?: import('react').ReactNode;
1839
- labelStyle?: import('react').CSSProperties;
1840
- labelShowBg?: boolean;
1841
- labelBgStyle?: import('react').CSSProperties;
1842
- labelBgPadding?: [number, number];
1843
- labelBgBorderRadius?: number;
1844
- style?: import('react').CSSProperties;
1845
- className?: string;
1846
- reconnectable?: boolean | import('@xyflow/react').HandleType;
1847
- focusable?: boolean;
1848
- data: import('../xyflow/types').RelationshipData;
1849
- readonly id: string;
1850
- readonly type: "relationship";
1851
- }>, prevState: import('@xyflow/react').ReactFlowState<XYFlowNode, {
1852
- source: string;
1853
- target: string;
1854
- sourceHandle?: string | null;
1855
- targetHandle?: string | null;
1856
- animated?: boolean;
1857
- hidden?: boolean;
1858
- deletable?: boolean;
1859
- selectable?: boolean;
1860
- selected?: boolean;
1861
- markerStart?: import('@xyflow/react').EdgeMarkerType;
1862
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
1863
- zIndex?: number;
1864
- ariaLabel?: string;
1865
- interactionWidth?: number;
1866
- label?: import('react').ReactNode;
1867
- labelStyle?: import('react').CSSProperties;
1868
- labelShowBg?: boolean;
1869
- labelBgStyle?: import('react').CSSProperties;
1870
- labelBgPadding?: [number, number];
1871
- labelBgBorderRadius?: number;
1872
- style?: import('react').CSSProperties;
1873
- className?: string;
1874
- reconnectable?: boolean | import('@xyflow/react').HandleType;
1875
- focusable?: boolean;
1876
- data: import('../xyflow/types').RelationshipData;
1877
- readonly id: string;
1878
- readonly type: "relationship";
1879
- }>) => void) => () => void;
1880
- }) => void;
1881
- triggerOnNavigateTo: (xynodeId: string, event: ReactMouseEvent<Element, MouseEvent>) => void;
1882
- fitDiagram: (xyStore: {
1883
- getState: () => import('@xyflow/react').ReactFlowState<XYFlowNode, {
1884
- source: string;
1885
- target: string;
1886
- sourceHandle?: string | null;
1887
- targetHandle?: string | null;
1888
- animated?: boolean;
1889
- hidden?: boolean;
1890
- deletable?: boolean;
1891
- selectable?: boolean;
1892
- selected?: boolean;
1893
- markerStart?: import('@xyflow/react').EdgeMarkerType;
1894
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
1895
- zIndex?: number;
1896
- ariaLabel?: string;
1897
- interactionWidth?: number;
1898
- label?: import('react').ReactNode;
1899
- labelStyle?: import('react').CSSProperties;
1900
- labelShowBg?: boolean;
1901
- labelBgStyle?: import('react').CSSProperties;
1902
- labelBgPadding?: [number, number];
1903
- labelBgBorderRadius?: number;
1904
- style?: import('react').CSSProperties;
1905
- className?: string;
1906
- reconnectable?: boolean | import('@xyflow/react').HandleType;
1907
- focusable?: boolean;
1908
- data: import('../xyflow/types').RelationshipData;
1909
- readonly id: string;
1910
- readonly type: "relationship";
1911
- }>;
1912
- setState: (partial: import('@xyflow/react').ReactFlowState<XYFlowNode, {
1913
- source: string;
1914
- target: string;
1915
- sourceHandle?: string | null;
1916
- targetHandle?: string | null;
1917
- animated?: boolean;
1918
- hidden?: boolean;
1919
- deletable?: boolean;
1920
- selectable?: boolean;
1921
- selected?: boolean;
1922
- markerStart?: import('@xyflow/react').EdgeMarkerType;
1923
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
1924
- zIndex?: number;
1925
- ariaLabel?: string;
1926
- interactionWidth?: number;
1927
- label?: import('react').ReactNode;
1928
- labelStyle?: import('react').CSSProperties;
1929
- labelShowBg?: boolean;
1930
- labelBgStyle?: import('react').CSSProperties;
1931
- labelBgPadding?: [number, number];
1932
- labelBgBorderRadius?: number;
1933
- style?: import('react').CSSProperties;
1934
- className?: string;
1935
- reconnectable?: boolean | import('@xyflow/react').HandleType;
1936
- focusable?: boolean;
1937
- data: import('../xyflow/types').RelationshipData;
1938
- readonly id: string;
1939
- readonly type: "relationship";
1940
- }> | Partial<import('@xyflow/react').ReactFlowState<XYFlowNode, {
1941
- source: string;
1942
- target: string;
1943
- sourceHandle?: string | null;
1944
- targetHandle?: string | null;
1945
- animated?: boolean;
1946
- hidden?: boolean;
1947
- deletable?: boolean;
1948
- selectable?: boolean;
1949
- selected?: boolean;
1950
- markerStart?: import('@xyflow/react').EdgeMarkerType;
1951
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
1952
- zIndex?: number;
1953
- ariaLabel?: string;
1954
- interactionWidth?: number;
1955
- label?: import('react').ReactNode;
1956
- labelStyle?: import('react').CSSProperties;
1957
- labelShowBg?: boolean;
1958
- labelBgStyle?: import('react').CSSProperties;
1959
- labelBgPadding?: [number, number];
1960
- labelBgBorderRadius?: number;
1961
- style?: import('react').CSSProperties;
1962
- className?: string;
1963
- reconnectable?: boolean | import('@xyflow/react').HandleType;
1964
- focusable?: boolean;
1965
- data: import('../xyflow/types').RelationshipData;
1966
- readonly id: string;
1967
- readonly type: "relationship";
1968
- }>> | ((state: import('@xyflow/react').ReactFlowState<XYFlowNode, {
1969
- source: string;
1970
- target: string;
1971
- sourceHandle?: string | null;
1972
- targetHandle?: string | null;
1973
- animated?: boolean;
1974
- hidden?: boolean;
1975
- deletable?: boolean;
1976
- selectable?: boolean;
1977
- selected?: boolean;
1978
- markerStart?: import('@xyflow/react').EdgeMarkerType;
1979
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
1980
- zIndex?: number;
1981
- ariaLabel?: string;
1982
- interactionWidth?: number;
1983
- label?: import('react').ReactNode;
1984
- labelStyle?: import('react').CSSProperties;
1985
- labelShowBg?: boolean;
1986
- labelBgStyle?: import('react').CSSProperties;
1987
- labelBgPadding?: [number, number];
1988
- labelBgBorderRadius?: number;
1989
- style?: import('react').CSSProperties;
1990
- className?: string;
1991
- reconnectable?: boolean | import('@xyflow/react').HandleType;
1992
- focusable?: boolean;
1993
- data: import('../xyflow/types').RelationshipData;
1994
- readonly id: string;
1995
- readonly type: "relationship";
1996
- }>) => import('@xyflow/react').ReactFlowState<XYFlowNode, {
1997
- source: string;
1998
- target: string;
1999
- sourceHandle?: string | null;
2000
- targetHandle?: string | null;
2001
- animated?: boolean;
2002
- hidden?: boolean;
2003
- deletable?: boolean;
2004
- selectable?: boolean;
2005
- selected?: boolean;
2006
- markerStart?: import('@xyflow/react').EdgeMarkerType;
2007
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
2008
- zIndex?: number;
2009
- ariaLabel?: string;
2010
- interactionWidth?: number;
2011
- label?: import('react').ReactNode;
2012
- labelStyle?: import('react').CSSProperties;
2013
- labelShowBg?: boolean;
2014
- labelBgStyle?: import('react').CSSProperties;
2015
- labelBgPadding?: [number, number];
2016
- labelBgBorderRadius?: number;
2017
- style?: import('react').CSSProperties;
2018
- className?: string;
2019
- reconnectable?: boolean | import('@xyflow/react').HandleType;
2020
- focusable?: boolean;
2021
- data: import('../xyflow/types').RelationshipData;
2022
- readonly id: string;
2023
- readonly type: "relationship";
2024
- }> | Partial<import('@xyflow/react').ReactFlowState<XYFlowNode, {
2025
- source: string;
2026
- target: string;
2027
- sourceHandle?: string | null;
2028
- targetHandle?: string | null;
2029
- animated?: boolean;
2030
- hidden?: boolean;
2031
- deletable?: boolean;
2032
- selectable?: boolean;
2033
- selected?: boolean;
2034
- markerStart?: import('@xyflow/react').EdgeMarkerType;
2035
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
2036
- zIndex?: number;
2037
- ariaLabel?: string;
2038
- interactionWidth?: number;
2039
- label?: import('react').ReactNode;
2040
- labelStyle?: import('react').CSSProperties;
2041
- labelShowBg?: boolean;
2042
- labelBgStyle?: import('react').CSSProperties;
2043
- labelBgPadding?: [number, number];
2044
- labelBgBorderRadius?: number;
2045
- style?: import('react').CSSProperties;
2046
- className?: string;
2047
- reconnectable?: boolean | import('@xyflow/react').HandleType;
2048
- focusable?: boolean;
2049
- data: import('../xyflow/types').RelationshipData;
2050
- readonly id: string;
2051
- readonly type: "relationship";
2052
- }>>), replace?: boolean | undefined) => void;
2053
- subscribe: (listener: (state: import('@xyflow/react').ReactFlowState<XYFlowNode, {
2054
- source: string;
2055
- target: string;
2056
- sourceHandle?: string | null;
2057
- targetHandle?: string | null;
2058
- animated?: boolean;
2059
- hidden?: boolean;
2060
- deletable?: boolean;
2061
- selectable?: boolean;
2062
- selected?: boolean;
2063
- markerStart?: import('@xyflow/react').EdgeMarkerType;
2064
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
2065
- zIndex?: number;
2066
- ariaLabel?: string;
2067
- interactionWidth?: number;
2068
- label?: import('react').ReactNode;
2069
- labelStyle?: import('react').CSSProperties;
2070
- labelShowBg?: boolean;
2071
- labelBgStyle?: import('react').CSSProperties;
2072
- labelBgPadding?: [number, number];
2073
- labelBgBorderRadius?: number;
2074
- style?: import('react').CSSProperties;
2075
- className?: string;
2076
- reconnectable?: boolean | import('@xyflow/react').HandleType;
2077
- focusable?: boolean;
2078
- data: import('../xyflow/types').RelationshipData;
2079
- readonly id: string;
2080
- readonly type: "relationship";
2081
- }>, prevState: import('@xyflow/react').ReactFlowState<XYFlowNode, {
2082
- source: string;
2083
- target: string;
2084
- sourceHandle?: string | null;
2085
- targetHandle?: string | null;
2086
- animated?: boolean;
2087
- hidden?: boolean;
2088
- deletable?: boolean;
2089
- selectable?: boolean;
2090
- selected?: boolean;
2091
- markerStart?: import('@xyflow/react').EdgeMarkerType;
2092
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
2093
- zIndex?: number;
2094
- ariaLabel?: string;
2095
- interactionWidth?: number;
2096
- label?: import('react').ReactNode;
2097
- labelStyle?: import('react').CSSProperties;
2098
- labelShowBg?: boolean;
2099
- labelBgStyle?: import('react').CSSProperties;
2100
- labelBgPadding?: [number, number];
2101
- labelBgBorderRadius?: number;
2102
- style?: import('react').CSSProperties;
2103
- className?: string;
2104
- reconnectable?: boolean | import('@xyflow/react').HandleType;
2105
- focusable?: boolean;
2106
- data: import('../xyflow/types').RelationshipData;
2107
- readonly id: string;
2108
- readonly type: "relationship";
2109
- }>) => void) => () => void;
2110
- }) => void;
2111
- nextDynamicStep: (increment?: number | undefined) => void;
304
+ triggerSaveManualLayout: () => void;
305
+ triggerOnNavigateTo: (xynodeId: string, event: ReactMouseEvent) => void;
306
+ fitDiagram: (duration?: number) => void;
307
+ nextDynamicStep: (increment?: number) => void;
2112
308
  stopDynamicView: () => void;
2113
309
  }) => U, listener: (selectedState: U, previousSelectedState: U) => void, options?: {
2114
310
  equalityFn?: (a: U, b: U) => boolean;
@@ -2119,6 +315,7 @@ export declare function createDiagramStore<T extends Exact<CreateDiagramStore, T
2119
315
  setState<A extends string | {
2120
316
  type: string;
2121
317
  }>(partial: {
318
+ readonly storeDevId: string;
2122
319
  view: DiagramView;
2123
320
  readonly: boolean;
2124
321
  showElementLinks: boolean;
@@ -2129,8 +326,11 @@ export declare function createDiagramStore<T extends Exact<CreateDiagramStore, T
2129
326
  nodesDraggable: boolean;
2130
327
  nodesSelectable: boolean;
2131
328
  experimentalEdgeEditing: boolean;
329
+ renderIcon: ElementIconRenderer | null;
330
+ getContainer: () => HTMLDivElement | null;
2132
331
  viewSyncDebounceTimeout: number | null;
2133
332
  xyflow: XYFlowInstance;
333
+ xystore: XYStoreApi;
2134
334
  initialized: boolean;
2135
335
  xyflowSynced: boolean;
2136
336
  activeDynamicViewStep: number | null;
@@ -2141,13 +341,13 @@ export declare function createDiagramStore<T extends Exact<CreateDiagramStore, T
2141
341
  hoveredEdgeId: string | null;
2142
342
  dimmed: ReadonlySet<string>;
2143
343
  previousViews: DiagramView[];
2144
- lastOnNavigate: {
344
+ lastOnNavigate: null | {
2145
345
  fromView: ViewID;
2146
346
  toView: ViewID;
2147
347
  element: DiagramNode;
2148
348
  elementScreenPosition: XYPosition;
2149
349
  positionCorrected: boolean;
2150
- } | null;
350
+ };
2151
351
  viewportChanged: boolean;
2152
352
  onChange: import('../LikeC4Diagram.props').OnChange | null | undefined;
2153
353
  onNavigateTo: import('../LikeC4Diagram.props').OnNavigateTo | null | undefined;
@@ -2169,468 +369,13 @@ export declare function createDiagramStore<T extends Exact<CreateDiagramStore, T
2169
369
  getElement: (id: Fqn) => DiagramNode | null;
2170
370
  triggerChangeElementStyle: (change: Changes.ChangeElementStyle) => void;
2171
371
  cancelSaveManualLayout: () => void;
2172
- triggerSaveManualLayout: (xystore: {
2173
- getState: () => import('@xyflow/react').ReactFlowState<XYFlowNode, {
2174
- source: string;
2175
- target: string;
2176
- sourceHandle?: string | null;
2177
- targetHandle?: string | null;
2178
- animated?: boolean;
2179
- hidden?: boolean;
2180
- deletable?: boolean;
2181
- selectable?: boolean;
2182
- selected?: boolean;
2183
- markerStart?: import('@xyflow/react').EdgeMarkerType;
2184
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
2185
- zIndex?: number;
2186
- ariaLabel?: string;
2187
- interactionWidth?: number;
2188
- label?: import('react').ReactNode;
2189
- labelStyle?: import('react').CSSProperties;
2190
- labelShowBg?: boolean;
2191
- labelBgStyle?: import('react').CSSProperties;
2192
- labelBgPadding?: [number, number];
2193
- labelBgBorderRadius?: number;
2194
- style?: import('react').CSSProperties;
2195
- className?: string;
2196
- reconnectable?: boolean | import('@xyflow/react').HandleType;
2197
- focusable?: boolean;
2198
- data: import('../xyflow/types').RelationshipData;
2199
- readonly id: string;
2200
- readonly type: "relationship";
2201
- }>;
2202
- setState: (partial: import('@xyflow/react').ReactFlowState<XYFlowNode, {
2203
- source: string;
2204
- target: string;
2205
- sourceHandle?: string | null;
2206
- targetHandle?: string | null;
2207
- animated?: boolean;
2208
- hidden?: boolean;
2209
- deletable?: boolean;
2210
- selectable?: boolean;
2211
- selected?: boolean;
2212
- markerStart?: import('@xyflow/react').EdgeMarkerType;
2213
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
2214
- zIndex?: number;
2215
- ariaLabel?: string;
2216
- interactionWidth?: number;
2217
- label?: import('react').ReactNode;
2218
- labelStyle?: import('react').CSSProperties;
2219
- labelShowBg?: boolean;
2220
- labelBgStyle?: import('react').CSSProperties;
2221
- labelBgPadding?: [number, number];
2222
- labelBgBorderRadius?: number;
2223
- style?: import('react').CSSProperties;
2224
- className?: string;
2225
- reconnectable?: boolean | import('@xyflow/react').HandleType;
2226
- focusable?: boolean;
2227
- data: import('../xyflow/types').RelationshipData;
2228
- readonly id: string;
2229
- readonly type: "relationship";
2230
- }> | Partial<import('@xyflow/react').ReactFlowState<XYFlowNode, {
2231
- source: string;
2232
- target: string;
2233
- sourceHandle?: string | null;
2234
- targetHandle?: string | null;
2235
- animated?: boolean;
2236
- hidden?: boolean;
2237
- deletable?: boolean;
2238
- selectable?: boolean;
2239
- selected?: boolean;
2240
- markerStart?: import('@xyflow/react').EdgeMarkerType;
2241
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
2242
- zIndex?: number;
2243
- ariaLabel?: string;
2244
- interactionWidth?: number;
2245
- label?: import('react').ReactNode;
2246
- labelStyle?: import('react').CSSProperties;
2247
- labelShowBg?: boolean;
2248
- labelBgStyle?: import('react').CSSProperties;
2249
- labelBgPadding?: [number, number];
2250
- labelBgBorderRadius?: number;
2251
- style?: import('react').CSSProperties;
2252
- className?: string;
2253
- reconnectable?: boolean | import('@xyflow/react').HandleType;
2254
- focusable?: boolean;
2255
- data: import('../xyflow/types').RelationshipData;
2256
- readonly id: string;
2257
- readonly type: "relationship";
2258
- }>> | ((state: import('@xyflow/react').ReactFlowState<XYFlowNode, {
2259
- source: string;
2260
- target: string;
2261
- sourceHandle?: string | null;
2262
- targetHandle?: string | null;
2263
- animated?: boolean;
2264
- hidden?: boolean;
2265
- deletable?: boolean;
2266
- selectable?: boolean;
2267
- selected?: boolean;
2268
- markerStart?: import('@xyflow/react').EdgeMarkerType;
2269
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
2270
- zIndex?: number;
2271
- ariaLabel?: string;
2272
- interactionWidth?: number;
2273
- label?: import('react').ReactNode;
2274
- labelStyle?: import('react').CSSProperties;
2275
- labelShowBg?: boolean;
2276
- labelBgStyle?: import('react').CSSProperties;
2277
- labelBgPadding?: [number, number];
2278
- labelBgBorderRadius?: number;
2279
- style?: import('react').CSSProperties;
2280
- className?: string;
2281
- reconnectable?: boolean | import('@xyflow/react').HandleType;
2282
- focusable?: boolean;
2283
- data: import('../xyflow/types').RelationshipData;
2284
- readonly id: string;
2285
- readonly type: "relationship";
2286
- }>) => import('@xyflow/react').ReactFlowState<XYFlowNode, {
2287
- source: string;
2288
- target: string;
2289
- sourceHandle?: string | null;
2290
- targetHandle?: string | null;
2291
- animated?: boolean;
2292
- hidden?: boolean;
2293
- deletable?: boolean;
2294
- selectable?: boolean;
2295
- selected?: boolean;
2296
- markerStart?: import('@xyflow/react').EdgeMarkerType;
2297
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
2298
- zIndex?: number;
2299
- ariaLabel?: string;
2300
- interactionWidth?: number;
2301
- label?: import('react').ReactNode;
2302
- labelStyle?: import('react').CSSProperties;
2303
- labelShowBg?: boolean;
2304
- labelBgStyle?: import('react').CSSProperties;
2305
- labelBgPadding?: [number, number];
2306
- labelBgBorderRadius?: number;
2307
- style?: import('react').CSSProperties;
2308
- className?: string;
2309
- reconnectable?: boolean | import('@xyflow/react').HandleType;
2310
- focusable?: boolean;
2311
- data: import('../xyflow/types').RelationshipData;
2312
- readonly id: string;
2313
- readonly type: "relationship";
2314
- }> | Partial<import('@xyflow/react').ReactFlowState<XYFlowNode, {
2315
- source: string;
2316
- target: string;
2317
- sourceHandle?: string | null;
2318
- targetHandle?: string | null;
2319
- animated?: boolean;
2320
- hidden?: boolean;
2321
- deletable?: boolean;
2322
- selectable?: boolean;
2323
- selected?: boolean;
2324
- markerStart?: import('@xyflow/react').EdgeMarkerType;
2325
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
2326
- zIndex?: number;
2327
- ariaLabel?: string;
2328
- interactionWidth?: number;
2329
- label?: import('react').ReactNode;
2330
- labelStyle?: import('react').CSSProperties;
2331
- labelShowBg?: boolean;
2332
- labelBgStyle?: import('react').CSSProperties;
2333
- labelBgPadding?: [number, number];
2334
- labelBgBorderRadius?: number;
2335
- style?: import('react').CSSProperties;
2336
- className?: string;
2337
- reconnectable?: boolean | import('@xyflow/react').HandleType;
2338
- focusable?: boolean;
2339
- data: import('../xyflow/types').RelationshipData;
2340
- readonly id: string;
2341
- readonly type: "relationship";
2342
- }>>), replace?: boolean | undefined) => void;
2343
- subscribe: (listener: (state: import('@xyflow/react').ReactFlowState<XYFlowNode, {
2344
- source: string;
2345
- target: string;
2346
- sourceHandle?: string | null;
2347
- targetHandle?: string | null;
2348
- animated?: boolean;
2349
- hidden?: boolean;
2350
- deletable?: boolean;
2351
- selectable?: boolean;
2352
- selected?: boolean;
2353
- markerStart?: import('@xyflow/react').EdgeMarkerType;
2354
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
2355
- zIndex?: number;
2356
- ariaLabel?: string;
2357
- interactionWidth?: number;
2358
- label?: import('react').ReactNode;
2359
- labelStyle?: import('react').CSSProperties;
2360
- labelShowBg?: boolean;
2361
- labelBgStyle?: import('react').CSSProperties;
2362
- labelBgPadding?: [number, number];
2363
- labelBgBorderRadius?: number;
2364
- style?: import('react').CSSProperties;
2365
- className?: string;
2366
- reconnectable?: boolean | import('@xyflow/react').HandleType;
2367
- focusable?: boolean;
2368
- data: import('../xyflow/types').RelationshipData;
2369
- readonly id: string;
2370
- readonly type: "relationship";
2371
- }>, prevState: import('@xyflow/react').ReactFlowState<XYFlowNode, {
2372
- source: string;
2373
- target: string;
2374
- sourceHandle?: string | null;
2375
- targetHandle?: string | null;
2376
- animated?: boolean;
2377
- hidden?: boolean;
2378
- deletable?: boolean;
2379
- selectable?: boolean;
2380
- selected?: boolean;
2381
- markerStart?: import('@xyflow/react').EdgeMarkerType;
2382
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
2383
- zIndex?: number;
2384
- ariaLabel?: string;
2385
- interactionWidth?: number;
2386
- label?: import('react').ReactNode;
2387
- labelStyle?: import('react').CSSProperties;
2388
- labelShowBg?: boolean;
2389
- labelBgStyle?: import('react').CSSProperties;
2390
- labelBgPadding?: [number, number];
2391
- labelBgBorderRadius?: number;
2392
- style?: import('react').CSSProperties;
2393
- className?: string;
2394
- reconnectable?: boolean | import('@xyflow/react').HandleType;
2395
- focusable?: boolean;
2396
- data: import('../xyflow/types').RelationshipData;
2397
- readonly id: string;
2398
- readonly type: "relationship";
2399
- }>) => void) => () => void;
2400
- }) => void;
2401
- triggerOnNavigateTo: (xynodeId: string, event: ReactMouseEvent<Element, MouseEvent>) => void;
2402
- fitDiagram: (xyStore: {
2403
- getState: () => import('@xyflow/react').ReactFlowState<XYFlowNode, {
2404
- source: string;
2405
- target: string;
2406
- sourceHandle?: string | null;
2407
- targetHandle?: string | null;
2408
- animated?: boolean;
2409
- hidden?: boolean;
2410
- deletable?: boolean;
2411
- selectable?: boolean;
2412
- selected?: boolean;
2413
- markerStart?: import('@xyflow/react').EdgeMarkerType;
2414
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
2415
- zIndex?: number;
2416
- ariaLabel?: string;
2417
- interactionWidth?: number;
2418
- label?: import('react').ReactNode;
2419
- labelStyle?: import('react').CSSProperties;
2420
- labelShowBg?: boolean;
2421
- labelBgStyle?: import('react').CSSProperties;
2422
- labelBgPadding?: [number, number];
2423
- labelBgBorderRadius?: number;
2424
- style?: import('react').CSSProperties;
2425
- className?: string;
2426
- reconnectable?: boolean | import('@xyflow/react').HandleType;
2427
- focusable?: boolean;
2428
- data: import('../xyflow/types').RelationshipData;
2429
- readonly id: string;
2430
- readonly type: "relationship";
2431
- }>;
2432
- setState: (partial: import('@xyflow/react').ReactFlowState<XYFlowNode, {
2433
- source: string;
2434
- target: string;
2435
- sourceHandle?: string | null;
2436
- targetHandle?: string | null;
2437
- animated?: boolean;
2438
- hidden?: boolean;
2439
- deletable?: boolean;
2440
- selectable?: boolean;
2441
- selected?: boolean;
2442
- markerStart?: import('@xyflow/react').EdgeMarkerType;
2443
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
2444
- zIndex?: number;
2445
- ariaLabel?: string;
2446
- interactionWidth?: number;
2447
- label?: import('react').ReactNode;
2448
- labelStyle?: import('react').CSSProperties;
2449
- labelShowBg?: boolean;
2450
- labelBgStyle?: import('react').CSSProperties;
2451
- labelBgPadding?: [number, number];
2452
- labelBgBorderRadius?: number;
2453
- style?: import('react').CSSProperties;
2454
- className?: string;
2455
- reconnectable?: boolean | import('@xyflow/react').HandleType;
2456
- focusable?: boolean;
2457
- data: import('../xyflow/types').RelationshipData;
2458
- readonly id: string;
2459
- readonly type: "relationship";
2460
- }> | Partial<import('@xyflow/react').ReactFlowState<XYFlowNode, {
2461
- source: string;
2462
- target: string;
2463
- sourceHandle?: string | null;
2464
- targetHandle?: string | null;
2465
- animated?: boolean;
2466
- hidden?: boolean;
2467
- deletable?: boolean;
2468
- selectable?: boolean;
2469
- selected?: boolean;
2470
- markerStart?: import('@xyflow/react').EdgeMarkerType;
2471
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
2472
- zIndex?: number;
2473
- ariaLabel?: string;
2474
- interactionWidth?: number;
2475
- label?: import('react').ReactNode;
2476
- labelStyle?: import('react').CSSProperties;
2477
- labelShowBg?: boolean;
2478
- labelBgStyle?: import('react').CSSProperties;
2479
- labelBgPadding?: [number, number];
2480
- labelBgBorderRadius?: number;
2481
- style?: import('react').CSSProperties;
2482
- className?: string;
2483
- reconnectable?: boolean | import('@xyflow/react').HandleType;
2484
- focusable?: boolean;
2485
- data: import('../xyflow/types').RelationshipData;
2486
- readonly id: string;
2487
- readonly type: "relationship";
2488
- }>> | ((state: import('@xyflow/react').ReactFlowState<XYFlowNode, {
2489
- source: string;
2490
- target: string;
2491
- sourceHandle?: string | null;
2492
- targetHandle?: string | null;
2493
- animated?: boolean;
2494
- hidden?: boolean;
2495
- deletable?: boolean;
2496
- selectable?: boolean;
2497
- selected?: boolean;
2498
- markerStart?: import('@xyflow/react').EdgeMarkerType;
2499
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
2500
- zIndex?: number;
2501
- ariaLabel?: string;
2502
- interactionWidth?: number;
2503
- label?: import('react').ReactNode;
2504
- labelStyle?: import('react').CSSProperties;
2505
- labelShowBg?: boolean;
2506
- labelBgStyle?: import('react').CSSProperties;
2507
- labelBgPadding?: [number, number];
2508
- labelBgBorderRadius?: number;
2509
- style?: import('react').CSSProperties;
2510
- className?: string;
2511
- reconnectable?: boolean | import('@xyflow/react').HandleType;
2512
- focusable?: boolean;
2513
- data: import('../xyflow/types').RelationshipData;
2514
- readonly id: string;
2515
- readonly type: "relationship";
2516
- }>) => import('@xyflow/react').ReactFlowState<XYFlowNode, {
2517
- source: string;
2518
- target: string;
2519
- sourceHandle?: string | null;
2520
- targetHandle?: string | null;
2521
- animated?: boolean;
2522
- hidden?: boolean;
2523
- deletable?: boolean;
2524
- selectable?: boolean;
2525
- selected?: boolean;
2526
- markerStart?: import('@xyflow/react').EdgeMarkerType;
2527
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
2528
- zIndex?: number;
2529
- ariaLabel?: string;
2530
- interactionWidth?: number;
2531
- label?: import('react').ReactNode;
2532
- labelStyle?: import('react').CSSProperties;
2533
- labelShowBg?: boolean;
2534
- labelBgStyle?: import('react').CSSProperties;
2535
- labelBgPadding?: [number, number];
2536
- labelBgBorderRadius?: number;
2537
- style?: import('react').CSSProperties;
2538
- className?: string;
2539
- reconnectable?: boolean | import('@xyflow/react').HandleType;
2540
- focusable?: boolean;
2541
- data: import('../xyflow/types').RelationshipData;
2542
- readonly id: string;
2543
- readonly type: "relationship";
2544
- }> | Partial<import('@xyflow/react').ReactFlowState<XYFlowNode, {
2545
- source: string;
2546
- target: string;
2547
- sourceHandle?: string | null;
2548
- targetHandle?: string | null;
2549
- animated?: boolean;
2550
- hidden?: boolean;
2551
- deletable?: boolean;
2552
- selectable?: boolean;
2553
- selected?: boolean;
2554
- markerStart?: import('@xyflow/react').EdgeMarkerType;
2555
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
2556
- zIndex?: number;
2557
- ariaLabel?: string;
2558
- interactionWidth?: number;
2559
- label?: import('react').ReactNode;
2560
- labelStyle?: import('react').CSSProperties;
2561
- labelShowBg?: boolean;
2562
- labelBgStyle?: import('react').CSSProperties;
2563
- labelBgPadding?: [number, number];
2564
- labelBgBorderRadius?: number;
2565
- style?: import('react').CSSProperties;
2566
- className?: string;
2567
- reconnectable?: boolean | import('@xyflow/react').HandleType;
2568
- focusable?: boolean;
2569
- data: import('../xyflow/types').RelationshipData;
2570
- readonly id: string;
2571
- readonly type: "relationship";
2572
- }>>), replace?: boolean | undefined) => void;
2573
- subscribe: (listener: (state: import('@xyflow/react').ReactFlowState<XYFlowNode, {
2574
- source: string;
2575
- target: string;
2576
- sourceHandle?: string | null;
2577
- targetHandle?: string | null;
2578
- animated?: boolean;
2579
- hidden?: boolean;
2580
- deletable?: boolean;
2581
- selectable?: boolean;
2582
- selected?: boolean;
2583
- markerStart?: import('@xyflow/react').EdgeMarkerType;
2584
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
2585
- zIndex?: number;
2586
- ariaLabel?: string;
2587
- interactionWidth?: number;
2588
- label?: import('react').ReactNode;
2589
- labelStyle?: import('react').CSSProperties;
2590
- labelShowBg?: boolean;
2591
- labelBgStyle?: import('react').CSSProperties;
2592
- labelBgPadding?: [number, number];
2593
- labelBgBorderRadius?: number;
2594
- style?: import('react').CSSProperties;
2595
- className?: string;
2596
- reconnectable?: boolean | import('@xyflow/react').HandleType;
2597
- focusable?: boolean;
2598
- data: import('../xyflow/types').RelationshipData;
2599
- readonly id: string;
2600
- readonly type: "relationship";
2601
- }>, prevState: import('@xyflow/react').ReactFlowState<XYFlowNode, {
2602
- source: string;
2603
- target: string;
2604
- sourceHandle?: string | null;
2605
- targetHandle?: string | null;
2606
- animated?: boolean;
2607
- hidden?: boolean;
2608
- deletable?: boolean;
2609
- selectable?: boolean;
2610
- selected?: boolean;
2611
- markerStart?: import('@xyflow/react').EdgeMarkerType;
2612
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
2613
- zIndex?: number;
2614
- ariaLabel?: string;
2615
- interactionWidth?: number;
2616
- label?: import('react').ReactNode;
2617
- labelStyle?: import('react').CSSProperties;
2618
- labelShowBg?: boolean;
2619
- labelBgStyle?: import('react').CSSProperties;
2620
- labelBgPadding?: [number, number];
2621
- labelBgBorderRadius?: number;
2622
- style?: import('react').CSSProperties;
2623
- className?: string;
2624
- reconnectable?: boolean | import('@xyflow/react').HandleType;
2625
- focusable?: boolean;
2626
- data: import('../xyflow/types').RelationshipData;
2627
- readonly id: string;
2628
- readonly type: "relationship";
2629
- }>) => void) => () => void;
2630
- }) => void;
2631
- nextDynamicStep: (increment?: number | undefined) => void;
372
+ triggerSaveManualLayout: () => void;
373
+ triggerOnNavigateTo: (xynodeId: string, event: ReactMouseEvent) => void;
374
+ fitDiagram: (duration?: number) => void;
375
+ nextDynamicStep: (increment?: number) => void;
2632
376
  stopDynamicView: () => void;
2633
377
  } | Partial<{
378
+ readonly storeDevId: string;
2634
379
  view: DiagramView;
2635
380
  readonly: boolean;
2636
381
  showElementLinks: boolean;
@@ -2641,8 +386,11 @@ export declare function createDiagramStore<T extends Exact<CreateDiagramStore, T
2641
386
  nodesDraggable: boolean;
2642
387
  nodesSelectable: boolean;
2643
388
  experimentalEdgeEditing: boolean;
389
+ renderIcon: ElementIconRenderer | null;
390
+ getContainer: () => HTMLDivElement | null;
2644
391
  viewSyncDebounceTimeout: number | null;
2645
392
  xyflow: XYFlowInstance;
393
+ xystore: XYStoreApi;
2646
394
  initialized: boolean;
2647
395
  xyflowSynced: boolean;
2648
396
  activeDynamicViewStep: number | null;
@@ -2653,13 +401,13 @@ export declare function createDiagramStore<T extends Exact<CreateDiagramStore, T
2653
401
  hoveredEdgeId: string | null;
2654
402
  dimmed: ReadonlySet<string>;
2655
403
  previousViews: DiagramView[];
2656
- lastOnNavigate: {
404
+ lastOnNavigate: null | {
2657
405
  fromView: ViewID;
2658
406
  toView: ViewID;
2659
407
  element: DiagramNode;
2660
408
  elementScreenPosition: XYPosition;
2661
409
  positionCorrected: boolean;
2662
- } | null;
410
+ };
2663
411
  viewportChanged: boolean;
2664
412
  onChange: import('../LikeC4Diagram.props').OnChange | null | undefined;
2665
413
  onNavigateTo: import('../LikeC4Diagram.props').OnNavigateTo | null | undefined;
@@ -2681,468 +429,13 @@ export declare function createDiagramStore<T extends Exact<CreateDiagramStore, T
2681
429
  getElement: (id: Fqn) => DiagramNode | null;
2682
430
  triggerChangeElementStyle: (change: Changes.ChangeElementStyle) => void;
2683
431
  cancelSaveManualLayout: () => void;
2684
- triggerSaveManualLayout: (xystore: {
2685
- getState: () => import('@xyflow/react').ReactFlowState<XYFlowNode, {
2686
- source: string;
2687
- target: string;
2688
- sourceHandle?: string | null;
2689
- targetHandle?: string | null;
2690
- animated?: boolean;
2691
- hidden?: boolean;
2692
- deletable?: boolean;
2693
- selectable?: boolean;
2694
- selected?: boolean;
2695
- markerStart?: import('@xyflow/react').EdgeMarkerType;
2696
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
2697
- zIndex?: number;
2698
- ariaLabel?: string;
2699
- interactionWidth?: number;
2700
- label?: import('react').ReactNode;
2701
- labelStyle?: import('react').CSSProperties;
2702
- labelShowBg?: boolean;
2703
- labelBgStyle?: import('react').CSSProperties;
2704
- labelBgPadding?: [number, number];
2705
- labelBgBorderRadius?: number;
2706
- style?: import('react').CSSProperties;
2707
- className?: string;
2708
- reconnectable?: boolean | import('@xyflow/react').HandleType;
2709
- focusable?: boolean;
2710
- data: import('../xyflow/types').RelationshipData;
2711
- readonly id: string;
2712
- readonly type: "relationship";
2713
- }>;
2714
- setState: (partial: import('@xyflow/react').ReactFlowState<XYFlowNode, {
2715
- source: string;
2716
- target: string;
2717
- sourceHandle?: string | null;
2718
- targetHandle?: string | null;
2719
- animated?: boolean;
2720
- hidden?: boolean;
2721
- deletable?: boolean;
2722
- selectable?: boolean;
2723
- selected?: boolean;
2724
- markerStart?: import('@xyflow/react').EdgeMarkerType;
2725
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
2726
- zIndex?: number;
2727
- ariaLabel?: string;
2728
- interactionWidth?: number;
2729
- label?: import('react').ReactNode;
2730
- labelStyle?: import('react').CSSProperties;
2731
- labelShowBg?: boolean;
2732
- labelBgStyle?: import('react').CSSProperties;
2733
- labelBgPadding?: [number, number];
2734
- labelBgBorderRadius?: number;
2735
- style?: import('react').CSSProperties;
2736
- className?: string;
2737
- reconnectable?: boolean | import('@xyflow/react').HandleType;
2738
- focusable?: boolean;
2739
- data: import('../xyflow/types').RelationshipData;
2740
- readonly id: string;
2741
- readonly type: "relationship";
2742
- }> | Partial<import('@xyflow/react').ReactFlowState<XYFlowNode, {
2743
- source: string;
2744
- target: string;
2745
- sourceHandle?: string | null;
2746
- targetHandle?: string | null;
2747
- animated?: boolean;
2748
- hidden?: boolean;
2749
- deletable?: boolean;
2750
- selectable?: boolean;
2751
- selected?: boolean;
2752
- markerStart?: import('@xyflow/react').EdgeMarkerType;
2753
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
2754
- zIndex?: number;
2755
- ariaLabel?: string;
2756
- interactionWidth?: number;
2757
- label?: import('react').ReactNode;
2758
- labelStyle?: import('react').CSSProperties;
2759
- labelShowBg?: boolean;
2760
- labelBgStyle?: import('react').CSSProperties;
2761
- labelBgPadding?: [number, number];
2762
- labelBgBorderRadius?: number;
2763
- style?: import('react').CSSProperties;
2764
- className?: string;
2765
- reconnectable?: boolean | import('@xyflow/react').HandleType;
2766
- focusable?: boolean;
2767
- data: import('../xyflow/types').RelationshipData;
2768
- readonly id: string;
2769
- readonly type: "relationship";
2770
- }>> | ((state: import('@xyflow/react').ReactFlowState<XYFlowNode, {
2771
- source: string;
2772
- target: string;
2773
- sourceHandle?: string | null;
2774
- targetHandle?: string | null;
2775
- animated?: boolean;
2776
- hidden?: boolean;
2777
- deletable?: boolean;
2778
- selectable?: boolean;
2779
- selected?: boolean;
2780
- markerStart?: import('@xyflow/react').EdgeMarkerType;
2781
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
2782
- zIndex?: number;
2783
- ariaLabel?: string;
2784
- interactionWidth?: number;
2785
- label?: import('react').ReactNode;
2786
- labelStyle?: import('react').CSSProperties;
2787
- labelShowBg?: boolean;
2788
- labelBgStyle?: import('react').CSSProperties;
2789
- labelBgPadding?: [number, number];
2790
- labelBgBorderRadius?: number;
2791
- style?: import('react').CSSProperties;
2792
- className?: string;
2793
- reconnectable?: boolean | import('@xyflow/react').HandleType;
2794
- focusable?: boolean;
2795
- data: import('../xyflow/types').RelationshipData;
2796
- readonly id: string;
2797
- readonly type: "relationship";
2798
- }>) => import('@xyflow/react').ReactFlowState<XYFlowNode, {
2799
- source: string;
2800
- target: string;
2801
- sourceHandle?: string | null;
2802
- targetHandle?: string | null;
2803
- animated?: boolean;
2804
- hidden?: boolean;
2805
- deletable?: boolean;
2806
- selectable?: boolean;
2807
- selected?: boolean;
2808
- markerStart?: import('@xyflow/react').EdgeMarkerType;
2809
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
2810
- zIndex?: number;
2811
- ariaLabel?: string;
2812
- interactionWidth?: number;
2813
- label?: import('react').ReactNode;
2814
- labelStyle?: import('react').CSSProperties;
2815
- labelShowBg?: boolean;
2816
- labelBgStyle?: import('react').CSSProperties;
2817
- labelBgPadding?: [number, number];
2818
- labelBgBorderRadius?: number;
2819
- style?: import('react').CSSProperties;
2820
- className?: string;
2821
- reconnectable?: boolean | import('@xyflow/react').HandleType;
2822
- focusable?: boolean;
2823
- data: import('../xyflow/types').RelationshipData;
2824
- readonly id: string;
2825
- readonly type: "relationship";
2826
- }> | Partial<import('@xyflow/react').ReactFlowState<XYFlowNode, {
2827
- source: string;
2828
- target: string;
2829
- sourceHandle?: string | null;
2830
- targetHandle?: string | null;
2831
- animated?: boolean;
2832
- hidden?: boolean;
2833
- deletable?: boolean;
2834
- selectable?: boolean;
2835
- selected?: boolean;
2836
- markerStart?: import('@xyflow/react').EdgeMarkerType;
2837
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
2838
- zIndex?: number;
2839
- ariaLabel?: string;
2840
- interactionWidth?: number;
2841
- label?: import('react').ReactNode;
2842
- labelStyle?: import('react').CSSProperties;
2843
- labelShowBg?: boolean;
2844
- labelBgStyle?: import('react').CSSProperties;
2845
- labelBgPadding?: [number, number];
2846
- labelBgBorderRadius?: number;
2847
- style?: import('react').CSSProperties;
2848
- className?: string;
2849
- reconnectable?: boolean | import('@xyflow/react').HandleType;
2850
- focusable?: boolean;
2851
- data: import('../xyflow/types').RelationshipData;
2852
- readonly id: string;
2853
- readonly type: "relationship";
2854
- }>>), replace?: boolean | undefined) => void;
2855
- subscribe: (listener: (state: import('@xyflow/react').ReactFlowState<XYFlowNode, {
2856
- source: string;
2857
- target: string;
2858
- sourceHandle?: string | null;
2859
- targetHandle?: string | null;
2860
- animated?: boolean;
2861
- hidden?: boolean;
2862
- deletable?: boolean;
2863
- selectable?: boolean;
2864
- selected?: boolean;
2865
- markerStart?: import('@xyflow/react').EdgeMarkerType;
2866
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
2867
- zIndex?: number;
2868
- ariaLabel?: string;
2869
- interactionWidth?: number;
2870
- label?: import('react').ReactNode;
2871
- labelStyle?: import('react').CSSProperties;
2872
- labelShowBg?: boolean;
2873
- labelBgStyle?: import('react').CSSProperties;
2874
- labelBgPadding?: [number, number];
2875
- labelBgBorderRadius?: number;
2876
- style?: import('react').CSSProperties;
2877
- className?: string;
2878
- reconnectable?: boolean | import('@xyflow/react').HandleType;
2879
- focusable?: boolean;
2880
- data: import('../xyflow/types').RelationshipData;
2881
- readonly id: string;
2882
- readonly type: "relationship";
2883
- }>, prevState: import('@xyflow/react').ReactFlowState<XYFlowNode, {
2884
- source: string;
2885
- target: string;
2886
- sourceHandle?: string | null;
2887
- targetHandle?: string | null;
2888
- animated?: boolean;
2889
- hidden?: boolean;
2890
- deletable?: boolean;
2891
- selectable?: boolean;
2892
- selected?: boolean;
2893
- markerStart?: import('@xyflow/react').EdgeMarkerType;
2894
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
2895
- zIndex?: number;
2896
- ariaLabel?: string;
2897
- interactionWidth?: number;
2898
- label?: import('react').ReactNode;
2899
- labelStyle?: import('react').CSSProperties;
2900
- labelShowBg?: boolean;
2901
- labelBgStyle?: import('react').CSSProperties;
2902
- labelBgPadding?: [number, number];
2903
- labelBgBorderRadius?: number;
2904
- style?: import('react').CSSProperties;
2905
- className?: string;
2906
- reconnectable?: boolean | import('@xyflow/react').HandleType;
2907
- focusable?: boolean;
2908
- data: import('../xyflow/types').RelationshipData;
2909
- readonly id: string;
2910
- readonly type: "relationship";
2911
- }>) => void) => () => void;
2912
- }) => void;
2913
- triggerOnNavigateTo: (xynodeId: string, event: ReactMouseEvent<Element, MouseEvent>) => void;
2914
- fitDiagram: (xyStore: {
2915
- getState: () => import('@xyflow/react').ReactFlowState<XYFlowNode, {
2916
- source: string;
2917
- target: string;
2918
- sourceHandle?: string | null;
2919
- targetHandle?: string | null;
2920
- animated?: boolean;
2921
- hidden?: boolean;
2922
- deletable?: boolean;
2923
- selectable?: boolean;
2924
- selected?: boolean;
2925
- markerStart?: import('@xyflow/react').EdgeMarkerType;
2926
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
2927
- zIndex?: number;
2928
- ariaLabel?: string;
2929
- interactionWidth?: number;
2930
- label?: import('react').ReactNode;
2931
- labelStyle?: import('react').CSSProperties;
2932
- labelShowBg?: boolean;
2933
- labelBgStyle?: import('react').CSSProperties;
2934
- labelBgPadding?: [number, number];
2935
- labelBgBorderRadius?: number;
2936
- style?: import('react').CSSProperties;
2937
- className?: string;
2938
- reconnectable?: boolean | import('@xyflow/react').HandleType;
2939
- focusable?: boolean;
2940
- data: import('../xyflow/types').RelationshipData;
2941
- readonly id: string;
2942
- readonly type: "relationship";
2943
- }>;
2944
- setState: (partial: import('@xyflow/react').ReactFlowState<XYFlowNode, {
2945
- source: string;
2946
- target: string;
2947
- sourceHandle?: string | null;
2948
- targetHandle?: string | null;
2949
- animated?: boolean;
2950
- hidden?: boolean;
2951
- deletable?: boolean;
2952
- selectable?: boolean;
2953
- selected?: boolean;
2954
- markerStart?: import('@xyflow/react').EdgeMarkerType;
2955
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
2956
- zIndex?: number;
2957
- ariaLabel?: string;
2958
- interactionWidth?: number;
2959
- label?: import('react').ReactNode;
2960
- labelStyle?: import('react').CSSProperties;
2961
- labelShowBg?: boolean;
2962
- labelBgStyle?: import('react').CSSProperties;
2963
- labelBgPadding?: [number, number];
2964
- labelBgBorderRadius?: number;
2965
- style?: import('react').CSSProperties;
2966
- className?: string;
2967
- reconnectable?: boolean | import('@xyflow/react').HandleType;
2968
- focusable?: boolean;
2969
- data: import('../xyflow/types').RelationshipData;
2970
- readonly id: string;
2971
- readonly type: "relationship";
2972
- }> | Partial<import('@xyflow/react').ReactFlowState<XYFlowNode, {
2973
- source: string;
2974
- target: string;
2975
- sourceHandle?: string | null;
2976
- targetHandle?: string | null;
2977
- animated?: boolean;
2978
- hidden?: boolean;
2979
- deletable?: boolean;
2980
- selectable?: boolean;
2981
- selected?: boolean;
2982
- markerStart?: import('@xyflow/react').EdgeMarkerType;
2983
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
2984
- zIndex?: number;
2985
- ariaLabel?: string;
2986
- interactionWidth?: number;
2987
- label?: import('react').ReactNode;
2988
- labelStyle?: import('react').CSSProperties;
2989
- labelShowBg?: boolean;
2990
- labelBgStyle?: import('react').CSSProperties;
2991
- labelBgPadding?: [number, number];
2992
- labelBgBorderRadius?: number;
2993
- style?: import('react').CSSProperties;
2994
- className?: string;
2995
- reconnectable?: boolean | import('@xyflow/react').HandleType;
2996
- focusable?: boolean;
2997
- data: import('../xyflow/types').RelationshipData;
2998
- readonly id: string;
2999
- readonly type: "relationship";
3000
- }>> | ((state: import('@xyflow/react').ReactFlowState<XYFlowNode, {
3001
- source: string;
3002
- target: string;
3003
- sourceHandle?: string | null;
3004
- targetHandle?: string | null;
3005
- animated?: boolean;
3006
- hidden?: boolean;
3007
- deletable?: boolean;
3008
- selectable?: boolean;
3009
- selected?: boolean;
3010
- markerStart?: import('@xyflow/react').EdgeMarkerType;
3011
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
3012
- zIndex?: number;
3013
- ariaLabel?: string;
3014
- interactionWidth?: number;
3015
- label?: import('react').ReactNode;
3016
- labelStyle?: import('react').CSSProperties;
3017
- labelShowBg?: boolean;
3018
- labelBgStyle?: import('react').CSSProperties;
3019
- labelBgPadding?: [number, number];
3020
- labelBgBorderRadius?: number;
3021
- style?: import('react').CSSProperties;
3022
- className?: string;
3023
- reconnectable?: boolean | import('@xyflow/react').HandleType;
3024
- focusable?: boolean;
3025
- data: import('../xyflow/types').RelationshipData;
3026
- readonly id: string;
3027
- readonly type: "relationship";
3028
- }>) => import('@xyflow/react').ReactFlowState<XYFlowNode, {
3029
- source: string;
3030
- target: string;
3031
- sourceHandle?: string | null;
3032
- targetHandle?: string | null;
3033
- animated?: boolean;
3034
- hidden?: boolean;
3035
- deletable?: boolean;
3036
- selectable?: boolean;
3037
- selected?: boolean;
3038
- markerStart?: import('@xyflow/react').EdgeMarkerType;
3039
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
3040
- zIndex?: number;
3041
- ariaLabel?: string;
3042
- interactionWidth?: number;
3043
- label?: import('react').ReactNode;
3044
- labelStyle?: import('react').CSSProperties;
3045
- labelShowBg?: boolean;
3046
- labelBgStyle?: import('react').CSSProperties;
3047
- labelBgPadding?: [number, number];
3048
- labelBgBorderRadius?: number;
3049
- style?: import('react').CSSProperties;
3050
- className?: string;
3051
- reconnectable?: boolean | import('@xyflow/react').HandleType;
3052
- focusable?: boolean;
3053
- data: import('../xyflow/types').RelationshipData;
3054
- readonly id: string;
3055
- readonly type: "relationship";
3056
- }> | Partial<import('@xyflow/react').ReactFlowState<XYFlowNode, {
3057
- source: string;
3058
- target: string;
3059
- sourceHandle?: string | null;
3060
- targetHandle?: string | null;
3061
- animated?: boolean;
3062
- hidden?: boolean;
3063
- deletable?: boolean;
3064
- selectable?: boolean;
3065
- selected?: boolean;
3066
- markerStart?: import('@xyflow/react').EdgeMarkerType;
3067
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
3068
- zIndex?: number;
3069
- ariaLabel?: string;
3070
- interactionWidth?: number;
3071
- label?: import('react').ReactNode;
3072
- labelStyle?: import('react').CSSProperties;
3073
- labelShowBg?: boolean;
3074
- labelBgStyle?: import('react').CSSProperties;
3075
- labelBgPadding?: [number, number];
3076
- labelBgBorderRadius?: number;
3077
- style?: import('react').CSSProperties;
3078
- className?: string;
3079
- reconnectable?: boolean | import('@xyflow/react').HandleType;
3080
- focusable?: boolean;
3081
- data: import('../xyflow/types').RelationshipData;
3082
- readonly id: string;
3083
- readonly type: "relationship";
3084
- }>>), replace?: boolean | undefined) => void;
3085
- subscribe: (listener: (state: import('@xyflow/react').ReactFlowState<XYFlowNode, {
3086
- source: string;
3087
- target: string;
3088
- sourceHandle?: string | null;
3089
- targetHandle?: string | null;
3090
- animated?: boolean;
3091
- hidden?: boolean;
3092
- deletable?: boolean;
3093
- selectable?: boolean;
3094
- selected?: boolean;
3095
- markerStart?: import('@xyflow/react').EdgeMarkerType;
3096
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
3097
- zIndex?: number;
3098
- ariaLabel?: string;
3099
- interactionWidth?: number;
3100
- label?: import('react').ReactNode;
3101
- labelStyle?: import('react').CSSProperties;
3102
- labelShowBg?: boolean;
3103
- labelBgStyle?: import('react').CSSProperties;
3104
- labelBgPadding?: [number, number];
3105
- labelBgBorderRadius?: number;
3106
- style?: import('react').CSSProperties;
3107
- className?: string;
3108
- reconnectable?: boolean | import('@xyflow/react').HandleType;
3109
- focusable?: boolean;
3110
- data: import('../xyflow/types').RelationshipData;
3111
- readonly id: string;
3112
- readonly type: "relationship";
3113
- }>, prevState: import('@xyflow/react').ReactFlowState<XYFlowNode, {
3114
- source: string;
3115
- target: string;
3116
- sourceHandle?: string | null;
3117
- targetHandle?: string | null;
3118
- animated?: boolean;
3119
- hidden?: boolean;
3120
- deletable?: boolean;
3121
- selectable?: boolean;
3122
- selected?: boolean;
3123
- markerStart?: import('@xyflow/react').EdgeMarkerType;
3124
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
3125
- zIndex?: number;
3126
- ariaLabel?: string;
3127
- interactionWidth?: number;
3128
- label?: import('react').ReactNode;
3129
- labelStyle?: import('react').CSSProperties;
3130
- labelShowBg?: boolean;
3131
- labelBgStyle?: import('react').CSSProperties;
3132
- labelBgPadding?: [number, number];
3133
- labelBgBorderRadius?: number;
3134
- style?: import('react').CSSProperties;
3135
- className?: string;
3136
- reconnectable?: boolean | import('@xyflow/react').HandleType;
3137
- focusable?: boolean;
3138
- data: import('../xyflow/types').RelationshipData;
3139
- readonly id: string;
3140
- readonly type: "relationship";
3141
- }>) => void) => () => void;
3142
- }) => void;
3143
- nextDynamicStep: (increment?: number | undefined) => void;
432
+ triggerSaveManualLayout: () => void;
433
+ triggerOnNavigateTo: (xynodeId: string, event: ReactMouseEvent) => void;
434
+ fitDiagram: (duration?: number) => void;
435
+ nextDynamicStep: (increment?: number) => void;
3144
436
  stopDynamicView: () => void;
3145
437
  }> | ((state: {
438
+ readonly storeDevId: string;
3146
439
  view: DiagramView;
3147
440
  readonly: boolean;
3148
441
  showElementLinks: boolean;
@@ -3153,8 +446,11 @@ export declare function createDiagramStore<T extends Exact<CreateDiagramStore, T
3153
446
  nodesDraggable: boolean;
3154
447
  nodesSelectable: boolean;
3155
448
  experimentalEdgeEditing: boolean;
449
+ renderIcon: ElementIconRenderer | null;
450
+ getContainer: () => HTMLDivElement | null;
3156
451
  viewSyncDebounceTimeout: number | null;
3157
452
  xyflow: XYFlowInstance;
453
+ xystore: XYStoreApi;
3158
454
  initialized: boolean;
3159
455
  xyflowSynced: boolean;
3160
456
  activeDynamicViewStep: number | null;
@@ -3165,13 +461,13 @@ export declare function createDiagramStore<T extends Exact<CreateDiagramStore, T
3165
461
  hoveredEdgeId: string | null;
3166
462
  dimmed: ReadonlySet<string>;
3167
463
  previousViews: DiagramView[];
3168
- lastOnNavigate: {
464
+ lastOnNavigate: null | {
3169
465
  fromView: ViewID;
3170
466
  toView: ViewID;
3171
467
  element: DiagramNode;
3172
468
  elementScreenPosition: XYPosition;
3173
469
  positionCorrected: boolean;
3174
- } | null;
470
+ };
3175
471
  viewportChanged: boolean;
3176
472
  onChange: import('../LikeC4Diagram.props').OnChange | null | undefined;
3177
473
  onNavigateTo: import('../LikeC4Diagram.props').OnNavigateTo | null | undefined;
@@ -3193,468 +489,13 @@ export declare function createDiagramStore<T extends Exact<CreateDiagramStore, T
3193
489
  getElement: (id: Fqn) => DiagramNode | null;
3194
490
  triggerChangeElementStyle: (change: Changes.ChangeElementStyle) => void;
3195
491
  cancelSaveManualLayout: () => void;
3196
- triggerSaveManualLayout: (xystore: {
3197
- getState: () => import('@xyflow/react').ReactFlowState<XYFlowNode, {
3198
- source: string;
3199
- target: string;
3200
- sourceHandle?: string | null;
3201
- targetHandle?: string | null;
3202
- animated?: boolean;
3203
- hidden?: boolean;
3204
- deletable?: boolean;
3205
- selectable?: boolean;
3206
- selected?: boolean;
3207
- markerStart?: import('@xyflow/react').EdgeMarkerType;
3208
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
3209
- zIndex?: number;
3210
- ariaLabel?: string;
3211
- interactionWidth?: number;
3212
- label?: import('react').ReactNode;
3213
- labelStyle?: import('react').CSSProperties;
3214
- labelShowBg?: boolean;
3215
- labelBgStyle?: import('react').CSSProperties;
3216
- labelBgPadding?: [number, number];
3217
- labelBgBorderRadius?: number;
3218
- style?: import('react').CSSProperties;
3219
- className?: string;
3220
- reconnectable?: boolean | import('@xyflow/react').HandleType;
3221
- focusable?: boolean;
3222
- data: import('../xyflow/types').RelationshipData;
3223
- readonly id: string;
3224
- readonly type: "relationship";
3225
- }>;
3226
- setState: (partial: import('@xyflow/react').ReactFlowState<XYFlowNode, {
3227
- source: string;
3228
- target: string;
3229
- sourceHandle?: string | null;
3230
- targetHandle?: string | null;
3231
- animated?: boolean;
3232
- hidden?: boolean;
3233
- deletable?: boolean;
3234
- selectable?: boolean;
3235
- selected?: boolean;
3236
- markerStart?: import('@xyflow/react').EdgeMarkerType;
3237
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
3238
- zIndex?: number;
3239
- ariaLabel?: string;
3240
- interactionWidth?: number;
3241
- label?: import('react').ReactNode;
3242
- labelStyle?: import('react').CSSProperties;
3243
- labelShowBg?: boolean;
3244
- labelBgStyle?: import('react').CSSProperties;
3245
- labelBgPadding?: [number, number];
3246
- labelBgBorderRadius?: number;
3247
- style?: import('react').CSSProperties;
3248
- className?: string;
3249
- reconnectable?: boolean | import('@xyflow/react').HandleType;
3250
- focusable?: boolean;
3251
- data: import('../xyflow/types').RelationshipData;
3252
- readonly id: string;
3253
- readonly type: "relationship";
3254
- }> | Partial<import('@xyflow/react').ReactFlowState<XYFlowNode, {
3255
- source: string;
3256
- target: string;
3257
- sourceHandle?: string | null;
3258
- targetHandle?: string | null;
3259
- animated?: boolean;
3260
- hidden?: boolean;
3261
- deletable?: boolean;
3262
- selectable?: boolean;
3263
- selected?: boolean;
3264
- markerStart?: import('@xyflow/react').EdgeMarkerType;
3265
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
3266
- zIndex?: number;
3267
- ariaLabel?: string;
3268
- interactionWidth?: number;
3269
- label?: import('react').ReactNode;
3270
- labelStyle?: import('react').CSSProperties;
3271
- labelShowBg?: boolean;
3272
- labelBgStyle?: import('react').CSSProperties;
3273
- labelBgPadding?: [number, number];
3274
- labelBgBorderRadius?: number;
3275
- style?: import('react').CSSProperties;
3276
- className?: string;
3277
- reconnectable?: boolean | import('@xyflow/react').HandleType;
3278
- focusable?: boolean;
3279
- data: import('../xyflow/types').RelationshipData;
3280
- readonly id: string;
3281
- readonly type: "relationship";
3282
- }>> | ((state: import('@xyflow/react').ReactFlowState<XYFlowNode, {
3283
- source: string;
3284
- target: string;
3285
- sourceHandle?: string | null;
3286
- targetHandle?: string | null;
3287
- animated?: boolean;
3288
- hidden?: boolean;
3289
- deletable?: boolean;
3290
- selectable?: boolean;
3291
- selected?: boolean;
3292
- markerStart?: import('@xyflow/react').EdgeMarkerType;
3293
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
3294
- zIndex?: number;
3295
- ariaLabel?: string;
3296
- interactionWidth?: number;
3297
- label?: import('react').ReactNode;
3298
- labelStyle?: import('react').CSSProperties;
3299
- labelShowBg?: boolean;
3300
- labelBgStyle?: import('react').CSSProperties;
3301
- labelBgPadding?: [number, number];
3302
- labelBgBorderRadius?: number;
3303
- style?: import('react').CSSProperties;
3304
- className?: string;
3305
- reconnectable?: boolean | import('@xyflow/react').HandleType;
3306
- focusable?: boolean;
3307
- data: import('../xyflow/types').RelationshipData;
3308
- readonly id: string;
3309
- readonly type: "relationship";
3310
- }>) => import('@xyflow/react').ReactFlowState<XYFlowNode, {
3311
- source: string;
3312
- target: string;
3313
- sourceHandle?: string | null;
3314
- targetHandle?: string | null;
3315
- animated?: boolean;
3316
- hidden?: boolean;
3317
- deletable?: boolean;
3318
- selectable?: boolean;
3319
- selected?: boolean;
3320
- markerStart?: import('@xyflow/react').EdgeMarkerType;
3321
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
3322
- zIndex?: number;
3323
- ariaLabel?: string;
3324
- interactionWidth?: number;
3325
- label?: import('react').ReactNode;
3326
- labelStyle?: import('react').CSSProperties;
3327
- labelShowBg?: boolean;
3328
- labelBgStyle?: import('react').CSSProperties;
3329
- labelBgPadding?: [number, number];
3330
- labelBgBorderRadius?: number;
3331
- style?: import('react').CSSProperties;
3332
- className?: string;
3333
- reconnectable?: boolean | import('@xyflow/react').HandleType;
3334
- focusable?: boolean;
3335
- data: import('../xyflow/types').RelationshipData;
3336
- readonly id: string;
3337
- readonly type: "relationship";
3338
- }> | Partial<import('@xyflow/react').ReactFlowState<XYFlowNode, {
3339
- source: string;
3340
- target: string;
3341
- sourceHandle?: string | null;
3342
- targetHandle?: string | null;
3343
- animated?: boolean;
3344
- hidden?: boolean;
3345
- deletable?: boolean;
3346
- selectable?: boolean;
3347
- selected?: boolean;
3348
- markerStart?: import('@xyflow/react').EdgeMarkerType;
3349
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
3350
- zIndex?: number;
3351
- ariaLabel?: string;
3352
- interactionWidth?: number;
3353
- label?: import('react').ReactNode;
3354
- labelStyle?: import('react').CSSProperties;
3355
- labelShowBg?: boolean;
3356
- labelBgStyle?: import('react').CSSProperties;
3357
- labelBgPadding?: [number, number];
3358
- labelBgBorderRadius?: number;
3359
- style?: import('react').CSSProperties;
3360
- className?: string;
3361
- reconnectable?: boolean | import('@xyflow/react').HandleType;
3362
- focusable?: boolean;
3363
- data: import('../xyflow/types').RelationshipData;
3364
- readonly id: string;
3365
- readonly type: "relationship";
3366
- }>>), replace?: boolean | undefined) => void;
3367
- subscribe: (listener: (state: import('@xyflow/react').ReactFlowState<XYFlowNode, {
3368
- source: string;
3369
- target: string;
3370
- sourceHandle?: string | null;
3371
- targetHandle?: string | null;
3372
- animated?: boolean;
3373
- hidden?: boolean;
3374
- deletable?: boolean;
3375
- selectable?: boolean;
3376
- selected?: boolean;
3377
- markerStart?: import('@xyflow/react').EdgeMarkerType;
3378
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
3379
- zIndex?: number;
3380
- ariaLabel?: string;
3381
- interactionWidth?: number;
3382
- label?: import('react').ReactNode;
3383
- labelStyle?: import('react').CSSProperties;
3384
- labelShowBg?: boolean;
3385
- labelBgStyle?: import('react').CSSProperties;
3386
- labelBgPadding?: [number, number];
3387
- labelBgBorderRadius?: number;
3388
- style?: import('react').CSSProperties;
3389
- className?: string;
3390
- reconnectable?: boolean | import('@xyflow/react').HandleType;
3391
- focusable?: boolean;
3392
- data: import('../xyflow/types').RelationshipData;
3393
- readonly id: string;
3394
- readonly type: "relationship";
3395
- }>, prevState: import('@xyflow/react').ReactFlowState<XYFlowNode, {
3396
- source: string;
3397
- target: string;
3398
- sourceHandle?: string | null;
3399
- targetHandle?: string | null;
3400
- animated?: boolean;
3401
- hidden?: boolean;
3402
- deletable?: boolean;
3403
- selectable?: boolean;
3404
- selected?: boolean;
3405
- markerStart?: import('@xyflow/react').EdgeMarkerType;
3406
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
3407
- zIndex?: number;
3408
- ariaLabel?: string;
3409
- interactionWidth?: number;
3410
- label?: import('react').ReactNode;
3411
- labelStyle?: import('react').CSSProperties;
3412
- labelShowBg?: boolean;
3413
- labelBgStyle?: import('react').CSSProperties;
3414
- labelBgPadding?: [number, number];
3415
- labelBgBorderRadius?: number;
3416
- style?: import('react').CSSProperties;
3417
- className?: string;
3418
- reconnectable?: boolean | import('@xyflow/react').HandleType;
3419
- focusable?: boolean;
3420
- data: import('../xyflow/types').RelationshipData;
3421
- readonly id: string;
3422
- readonly type: "relationship";
3423
- }>) => void) => () => void;
3424
- }) => void;
3425
- triggerOnNavigateTo: (xynodeId: string, event: ReactMouseEvent<Element, MouseEvent>) => void;
3426
- fitDiagram: (xyStore: {
3427
- getState: () => import('@xyflow/react').ReactFlowState<XYFlowNode, {
3428
- source: string;
3429
- target: string;
3430
- sourceHandle?: string | null;
3431
- targetHandle?: string | null;
3432
- animated?: boolean;
3433
- hidden?: boolean;
3434
- deletable?: boolean;
3435
- selectable?: boolean;
3436
- selected?: boolean;
3437
- markerStart?: import('@xyflow/react').EdgeMarkerType;
3438
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
3439
- zIndex?: number;
3440
- ariaLabel?: string;
3441
- interactionWidth?: number;
3442
- label?: import('react').ReactNode;
3443
- labelStyle?: import('react').CSSProperties;
3444
- labelShowBg?: boolean;
3445
- labelBgStyle?: import('react').CSSProperties;
3446
- labelBgPadding?: [number, number];
3447
- labelBgBorderRadius?: number;
3448
- style?: import('react').CSSProperties;
3449
- className?: string;
3450
- reconnectable?: boolean | import('@xyflow/react').HandleType;
3451
- focusable?: boolean;
3452
- data: import('../xyflow/types').RelationshipData;
3453
- readonly id: string;
3454
- readonly type: "relationship";
3455
- }>;
3456
- setState: (partial: import('@xyflow/react').ReactFlowState<XYFlowNode, {
3457
- source: string;
3458
- target: string;
3459
- sourceHandle?: string | null;
3460
- targetHandle?: string | null;
3461
- animated?: boolean;
3462
- hidden?: boolean;
3463
- deletable?: boolean;
3464
- selectable?: boolean;
3465
- selected?: boolean;
3466
- markerStart?: import('@xyflow/react').EdgeMarkerType;
3467
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
3468
- zIndex?: number;
3469
- ariaLabel?: string;
3470
- interactionWidth?: number;
3471
- label?: import('react').ReactNode;
3472
- labelStyle?: import('react').CSSProperties;
3473
- labelShowBg?: boolean;
3474
- labelBgStyle?: import('react').CSSProperties;
3475
- labelBgPadding?: [number, number];
3476
- labelBgBorderRadius?: number;
3477
- style?: import('react').CSSProperties;
3478
- className?: string;
3479
- reconnectable?: boolean | import('@xyflow/react').HandleType;
3480
- focusable?: boolean;
3481
- data: import('../xyflow/types').RelationshipData;
3482
- readonly id: string;
3483
- readonly type: "relationship";
3484
- }> | Partial<import('@xyflow/react').ReactFlowState<XYFlowNode, {
3485
- source: string;
3486
- target: string;
3487
- sourceHandle?: string | null;
3488
- targetHandle?: string | null;
3489
- animated?: boolean;
3490
- hidden?: boolean;
3491
- deletable?: boolean;
3492
- selectable?: boolean;
3493
- selected?: boolean;
3494
- markerStart?: import('@xyflow/react').EdgeMarkerType;
3495
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
3496
- zIndex?: number;
3497
- ariaLabel?: string;
3498
- interactionWidth?: number;
3499
- label?: import('react').ReactNode;
3500
- labelStyle?: import('react').CSSProperties;
3501
- labelShowBg?: boolean;
3502
- labelBgStyle?: import('react').CSSProperties;
3503
- labelBgPadding?: [number, number];
3504
- labelBgBorderRadius?: number;
3505
- style?: import('react').CSSProperties;
3506
- className?: string;
3507
- reconnectable?: boolean | import('@xyflow/react').HandleType;
3508
- focusable?: boolean;
3509
- data: import('../xyflow/types').RelationshipData;
3510
- readonly id: string;
3511
- readonly type: "relationship";
3512
- }>> | ((state: import('@xyflow/react').ReactFlowState<XYFlowNode, {
3513
- source: string;
3514
- target: string;
3515
- sourceHandle?: string | null;
3516
- targetHandle?: string | null;
3517
- animated?: boolean;
3518
- hidden?: boolean;
3519
- deletable?: boolean;
3520
- selectable?: boolean;
3521
- selected?: boolean;
3522
- markerStart?: import('@xyflow/react').EdgeMarkerType;
3523
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
3524
- zIndex?: number;
3525
- ariaLabel?: string;
3526
- interactionWidth?: number;
3527
- label?: import('react').ReactNode;
3528
- labelStyle?: import('react').CSSProperties;
3529
- labelShowBg?: boolean;
3530
- labelBgStyle?: import('react').CSSProperties;
3531
- labelBgPadding?: [number, number];
3532
- labelBgBorderRadius?: number;
3533
- style?: import('react').CSSProperties;
3534
- className?: string;
3535
- reconnectable?: boolean | import('@xyflow/react').HandleType;
3536
- focusable?: boolean;
3537
- data: import('../xyflow/types').RelationshipData;
3538
- readonly id: string;
3539
- readonly type: "relationship";
3540
- }>) => import('@xyflow/react').ReactFlowState<XYFlowNode, {
3541
- source: string;
3542
- target: string;
3543
- sourceHandle?: string | null;
3544
- targetHandle?: string | null;
3545
- animated?: boolean;
3546
- hidden?: boolean;
3547
- deletable?: boolean;
3548
- selectable?: boolean;
3549
- selected?: boolean;
3550
- markerStart?: import('@xyflow/react').EdgeMarkerType;
3551
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
3552
- zIndex?: number;
3553
- ariaLabel?: string;
3554
- interactionWidth?: number;
3555
- label?: import('react').ReactNode;
3556
- labelStyle?: import('react').CSSProperties;
3557
- labelShowBg?: boolean;
3558
- labelBgStyle?: import('react').CSSProperties;
3559
- labelBgPadding?: [number, number];
3560
- labelBgBorderRadius?: number;
3561
- style?: import('react').CSSProperties;
3562
- className?: string;
3563
- reconnectable?: boolean | import('@xyflow/react').HandleType;
3564
- focusable?: boolean;
3565
- data: import('../xyflow/types').RelationshipData;
3566
- readonly id: string;
3567
- readonly type: "relationship";
3568
- }> | Partial<import('@xyflow/react').ReactFlowState<XYFlowNode, {
3569
- source: string;
3570
- target: string;
3571
- sourceHandle?: string | null;
3572
- targetHandle?: string | null;
3573
- animated?: boolean;
3574
- hidden?: boolean;
3575
- deletable?: boolean;
3576
- selectable?: boolean;
3577
- selected?: boolean;
3578
- markerStart?: import('@xyflow/react').EdgeMarkerType;
3579
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
3580
- zIndex?: number;
3581
- ariaLabel?: string;
3582
- interactionWidth?: number;
3583
- label?: import('react').ReactNode;
3584
- labelStyle?: import('react').CSSProperties;
3585
- labelShowBg?: boolean;
3586
- labelBgStyle?: import('react').CSSProperties;
3587
- labelBgPadding?: [number, number];
3588
- labelBgBorderRadius?: number;
3589
- style?: import('react').CSSProperties;
3590
- className?: string;
3591
- reconnectable?: boolean | import('@xyflow/react').HandleType;
3592
- focusable?: boolean;
3593
- data: import('../xyflow/types').RelationshipData;
3594
- readonly id: string;
3595
- readonly type: "relationship";
3596
- }>>), replace?: boolean | undefined) => void;
3597
- subscribe: (listener: (state: import('@xyflow/react').ReactFlowState<XYFlowNode, {
3598
- source: string;
3599
- target: string;
3600
- sourceHandle?: string | null;
3601
- targetHandle?: string | null;
3602
- animated?: boolean;
3603
- hidden?: boolean;
3604
- deletable?: boolean;
3605
- selectable?: boolean;
3606
- selected?: boolean;
3607
- markerStart?: import('@xyflow/react').EdgeMarkerType;
3608
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
3609
- zIndex?: number;
3610
- ariaLabel?: string;
3611
- interactionWidth?: number;
3612
- label?: import('react').ReactNode;
3613
- labelStyle?: import('react').CSSProperties;
3614
- labelShowBg?: boolean;
3615
- labelBgStyle?: import('react').CSSProperties;
3616
- labelBgPadding?: [number, number];
3617
- labelBgBorderRadius?: number;
3618
- style?: import('react').CSSProperties;
3619
- className?: string;
3620
- reconnectable?: boolean | import('@xyflow/react').HandleType;
3621
- focusable?: boolean;
3622
- data: import('../xyflow/types').RelationshipData;
3623
- readonly id: string;
3624
- readonly type: "relationship";
3625
- }>, prevState: import('@xyflow/react').ReactFlowState<XYFlowNode, {
3626
- source: string;
3627
- target: string;
3628
- sourceHandle?: string | null;
3629
- targetHandle?: string | null;
3630
- animated?: boolean;
3631
- hidden?: boolean;
3632
- deletable?: boolean;
3633
- selectable?: boolean;
3634
- selected?: boolean;
3635
- markerStart?: import('@xyflow/react').EdgeMarkerType;
3636
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
3637
- zIndex?: number;
3638
- ariaLabel?: string;
3639
- interactionWidth?: number;
3640
- label?: import('react').ReactNode;
3641
- labelStyle?: import('react').CSSProperties;
3642
- labelShowBg?: boolean;
3643
- labelBgStyle?: import('react').CSSProperties;
3644
- labelBgPadding?: [number, number];
3645
- labelBgBorderRadius?: number;
3646
- style?: import('react').CSSProperties;
3647
- className?: string;
3648
- reconnectable?: boolean | import('@xyflow/react').HandleType;
3649
- focusable?: boolean;
3650
- data: import('../xyflow/types').RelationshipData;
3651
- readonly id: string;
3652
- readonly type: "relationship";
3653
- }>) => void) => () => void;
3654
- }) => void;
3655
- nextDynamicStep: (increment?: number | undefined) => void;
492
+ triggerSaveManualLayout: () => void;
493
+ triggerOnNavigateTo: (xynodeId: string, event: ReactMouseEvent) => void;
494
+ fitDiagram: (duration?: number) => void;
495
+ nextDynamicStep: (increment?: number) => void;
3656
496
  stopDynamicView: () => void;
3657
497
  }) => {
498
+ readonly storeDevId: string;
3658
499
  view: DiagramView;
3659
500
  readonly: boolean;
3660
501
  showElementLinks: boolean;
@@ -3665,8 +506,11 @@ export declare function createDiagramStore<T extends Exact<CreateDiagramStore, T
3665
506
  nodesDraggable: boolean;
3666
507
  nodesSelectable: boolean;
3667
508
  experimentalEdgeEditing: boolean;
509
+ renderIcon: ElementIconRenderer | null;
510
+ getContainer: () => HTMLDivElement | null;
3668
511
  viewSyncDebounceTimeout: number | null;
3669
512
  xyflow: XYFlowInstance;
513
+ xystore: XYStoreApi;
3670
514
  initialized: boolean;
3671
515
  xyflowSynced: boolean;
3672
516
  activeDynamicViewStep: number | null;
@@ -3677,13 +521,13 @@ export declare function createDiagramStore<T extends Exact<CreateDiagramStore, T
3677
521
  hoveredEdgeId: string | null;
3678
522
  dimmed: ReadonlySet<string>;
3679
523
  previousViews: DiagramView[];
3680
- lastOnNavigate: {
524
+ lastOnNavigate: null | {
3681
525
  fromView: ViewID;
3682
526
  toView: ViewID;
3683
527
  element: DiagramNode;
3684
528
  elementScreenPosition: XYPosition;
3685
529
  positionCorrected: boolean;
3686
- } | null;
530
+ };
3687
531
  viewportChanged: boolean;
3688
532
  onChange: import('../LikeC4Diagram.props').OnChange | null | undefined;
3689
533
  onNavigateTo: import('../LikeC4Diagram.props').OnNavigateTo | null | undefined;
@@ -3705,468 +549,13 @@ export declare function createDiagramStore<T extends Exact<CreateDiagramStore, T
3705
549
  getElement: (id: Fqn) => DiagramNode | null;
3706
550
  triggerChangeElementStyle: (change: Changes.ChangeElementStyle) => void;
3707
551
  cancelSaveManualLayout: () => void;
3708
- triggerSaveManualLayout: (xystore: {
3709
- getState: () => import('@xyflow/react').ReactFlowState<XYFlowNode, {
3710
- source: string;
3711
- target: string;
3712
- sourceHandle?: string | null;
3713
- targetHandle?: string | null;
3714
- animated?: boolean;
3715
- hidden?: boolean;
3716
- deletable?: boolean;
3717
- selectable?: boolean;
3718
- selected?: boolean;
3719
- markerStart?: import('@xyflow/react').EdgeMarkerType;
3720
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
3721
- zIndex?: number;
3722
- ariaLabel?: string;
3723
- interactionWidth?: number;
3724
- label?: import('react').ReactNode;
3725
- labelStyle?: import('react').CSSProperties;
3726
- labelShowBg?: boolean;
3727
- labelBgStyle?: import('react').CSSProperties;
3728
- labelBgPadding?: [number, number];
3729
- labelBgBorderRadius?: number;
3730
- style?: import('react').CSSProperties;
3731
- className?: string;
3732
- reconnectable?: boolean | import('@xyflow/react').HandleType;
3733
- focusable?: boolean;
3734
- data: import('../xyflow/types').RelationshipData;
3735
- readonly id: string;
3736
- readonly type: "relationship";
3737
- }>;
3738
- setState: (partial: import('@xyflow/react').ReactFlowState<XYFlowNode, {
3739
- source: string;
3740
- target: string;
3741
- sourceHandle?: string | null;
3742
- targetHandle?: string | null;
3743
- animated?: boolean;
3744
- hidden?: boolean;
3745
- deletable?: boolean;
3746
- selectable?: boolean;
3747
- selected?: boolean;
3748
- markerStart?: import('@xyflow/react').EdgeMarkerType;
3749
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
3750
- zIndex?: number;
3751
- ariaLabel?: string;
3752
- interactionWidth?: number;
3753
- label?: import('react').ReactNode;
3754
- labelStyle?: import('react').CSSProperties;
3755
- labelShowBg?: boolean;
3756
- labelBgStyle?: import('react').CSSProperties;
3757
- labelBgPadding?: [number, number];
3758
- labelBgBorderRadius?: number;
3759
- style?: import('react').CSSProperties;
3760
- className?: string;
3761
- reconnectable?: boolean | import('@xyflow/react').HandleType;
3762
- focusable?: boolean;
3763
- data: import('../xyflow/types').RelationshipData;
3764
- readonly id: string;
3765
- readonly type: "relationship";
3766
- }> | Partial<import('@xyflow/react').ReactFlowState<XYFlowNode, {
3767
- source: string;
3768
- target: string;
3769
- sourceHandle?: string | null;
3770
- targetHandle?: string | null;
3771
- animated?: boolean;
3772
- hidden?: boolean;
3773
- deletable?: boolean;
3774
- selectable?: boolean;
3775
- selected?: boolean;
3776
- markerStart?: import('@xyflow/react').EdgeMarkerType;
3777
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
3778
- zIndex?: number;
3779
- ariaLabel?: string;
3780
- interactionWidth?: number;
3781
- label?: import('react').ReactNode;
3782
- labelStyle?: import('react').CSSProperties;
3783
- labelShowBg?: boolean;
3784
- labelBgStyle?: import('react').CSSProperties;
3785
- labelBgPadding?: [number, number];
3786
- labelBgBorderRadius?: number;
3787
- style?: import('react').CSSProperties;
3788
- className?: string;
3789
- reconnectable?: boolean | import('@xyflow/react').HandleType;
3790
- focusable?: boolean;
3791
- data: import('../xyflow/types').RelationshipData;
3792
- readonly id: string;
3793
- readonly type: "relationship";
3794
- }>> | ((state: import('@xyflow/react').ReactFlowState<XYFlowNode, {
3795
- source: string;
3796
- target: string;
3797
- sourceHandle?: string | null;
3798
- targetHandle?: string | null;
3799
- animated?: boolean;
3800
- hidden?: boolean;
3801
- deletable?: boolean;
3802
- selectable?: boolean;
3803
- selected?: boolean;
3804
- markerStart?: import('@xyflow/react').EdgeMarkerType;
3805
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
3806
- zIndex?: number;
3807
- ariaLabel?: string;
3808
- interactionWidth?: number;
3809
- label?: import('react').ReactNode;
3810
- labelStyle?: import('react').CSSProperties;
3811
- labelShowBg?: boolean;
3812
- labelBgStyle?: import('react').CSSProperties;
3813
- labelBgPadding?: [number, number];
3814
- labelBgBorderRadius?: number;
3815
- style?: import('react').CSSProperties;
3816
- className?: string;
3817
- reconnectable?: boolean | import('@xyflow/react').HandleType;
3818
- focusable?: boolean;
3819
- data: import('../xyflow/types').RelationshipData;
3820
- readonly id: string;
3821
- readonly type: "relationship";
3822
- }>) => import('@xyflow/react').ReactFlowState<XYFlowNode, {
3823
- source: string;
3824
- target: string;
3825
- sourceHandle?: string | null;
3826
- targetHandle?: string | null;
3827
- animated?: boolean;
3828
- hidden?: boolean;
3829
- deletable?: boolean;
3830
- selectable?: boolean;
3831
- selected?: boolean;
3832
- markerStart?: import('@xyflow/react').EdgeMarkerType;
3833
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
3834
- zIndex?: number;
3835
- ariaLabel?: string;
3836
- interactionWidth?: number;
3837
- label?: import('react').ReactNode;
3838
- labelStyle?: import('react').CSSProperties;
3839
- labelShowBg?: boolean;
3840
- labelBgStyle?: import('react').CSSProperties;
3841
- labelBgPadding?: [number, number];
3842
- labelBgBorderRadius?: number;
3843
- style?: import('react').CSSProperties;
3844
- className?: string;
3845
- reconnectable?: boolean | import('@xyflow/react').HandleType;
3846
- focusable?: boolean;
3847
- data: import('../xyflow/types').RelationshipData;
3848
- readonly id: string;
3849
- readonly type: "relationship";
3850
- }> | Partial<import('@xyflow/react').ReactFlowState<XYFlowNode, {
3851
- source: string;
3852
- target: string;
3853
- sourceHandle?: string | null;
3854
- targetHandle?: string | null;
3855
- animated?: boolean;
3856
- hidden?: boolean;
3857
- deletable?: boolean;
3858
- selectable?: boolean;
3859
- selected?: boolean;
3860
- markerStart?: import('@xyflow/react').EdgeMarkerType;
3861
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
3862
- zIndex?: number;
3863
- ariaLabel?: string;
3864
- interactionWidth?: number;
3865
- label?: import('react').ReactNode;
3866
- labelStyle?: import('react').CSSProperties;
3867
- labelShowBg?: boolean;
3868
- labelBgStyle?: import('react').CSSProperties;
3869
- labelBgPadding?: [number, number];
3870
- labelBgBorderRadius?: number;
3871
- style?: import('react').CSSProperties;
3872
- className?: string;
3873
- reconnectable?: boolean | import('@xyflow/react').HandleType;
3874
- focusable?: boolean;
3875
- data: import('../xyflow/types').RelationshipData;
3876
- readonly id: string;
3877
- readonly type: "relationship";
3878
- }>>), replace?: boolean | undefined) => void;
3879
- subscribe: (listener: (state: import('@xyflow/react').ReactFlowState<XYFlowNode, {
3880
- source: string;
3881
- target: string;
3882
- sourceHandle?: string | null;
3883
- targetHandle?: string | null;
3884
- animated?: boolean;
3885
- hidden?: boolean;
3886
- deletable?: boolean;
3887
- selectable?: boolean;
3888
- selected?: boolean;
3889
- markerStart?: import('@xyflow/react').EdgeMarkerType;
3890
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
3891
- zIndex?: number;
3892
- ariaLabel?: string;
3893
- interactionWidth?: number;
3894
- label?: import('react').ReactNode;
3895
- labelStyle?: import('react').CSSProperties;
3896
- labelShowBg?: boolean;
3897
- labelBgStyle?: import('react').CSSProperties;
3898
- labelBgPadding?: [number, number];
3899
- labelBgBorderRadius?: number;
3900
- style?: import('react').CSSProperties;
3901
- className?: string;
3902
- reconnectable?: boolean | import('@xyflow/react').HandleType;
3903
- focusable?: boolean;
3904
- data: import('../xyflow/types').RelationshipData;
3905
- readonly id: string;
3906
- readonly type: "relationship";
3907
- }>, prevState: import('@xyflow/react').ReactFlowState<XYFlowNode, {
3908
- source: string;
3909
- target: string;
3910
- sourceHandle?: string | null;
3911
- targetHandle?: string | null;
3912
- animated?: boolean;
3913
- hidden?: boolean;
3914
- deletable?: boolean;
3915
- selectable?: boolean;
3916
- selected?: boolean;
3917
- markerStart?: import('@xyflow/react').EdgeMarkerType;
3918
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
3919
- zIndex?: number;
3920
- ariaLabel?: string;
3921
- interactionWidth?: number;
3922
- label?: import('react').ReactNode;
3923
- labelStyle?: import('react').CSSProperties;
3924
- labelShowBg?: boolean;
3925
- labelBgStyle?: import('react').CSSProperties;
3926
- labelBgPadding?: [number, number];
3927
- labelBgBorderRadius?: number;
3928
- style?: import('react').CSSProperties;
3929
- className?: string;
3930
- reconnectable?: boolean | import('@xyflow/react').HandleType;
3931
- focusable?: boolean;
3932
- data: import('../xyflow/types').RelationshipData;
3933
- readonly id: string;
3934
- readonly type: "relationship";
3935
- }>) => void) => () => void;
3936
- }) => void;
3937
- triggerOnNavigateTo: (xynodeId: string, event: ReactMouseEvent<Element, MouseEvent>) => void;
3938
- fitDiagram: (xyStore: {
3939
- getState: () => import('@xyflow/react').ReactFlowState<XYFlowNode, {
3940
- source: string;
3941
- target: string;
3942
- sourceHandle?: string | null;
3943
- targetHandle?: string | null;
3944
- animated?: boolean;
3945
- hidden?: boolean;
3946
- deletable?: boolean;
3947
- selectable?: boolean;
3948
- selected?: boolean;
3949
- markerStart?: import('@xyflow/react').EdgeMarkerType;
3950
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
3951
- zIndex?: number;
3952
- ariaLabel?: string;
3953
- interactionWidth?: number;
3954
- label?: import('react').ReactNode;
3955
- labelStyle?: import('react').CSSProperties;
3956
- labelShowBg?: boolean;
3957
- labelBgStyle?: import('react').CSSProperties;
3958
- labelBgPadding?: [number, number];
3959
- labelBgBorderRadius?: number;
3960
- style?: import('react').CSSProperties;
3961
- className?: string;
3962
- reconnectable?: boolean | import('@xyflow/react').HandleType;
3963
- focusable?: boolean;
3964
- data: import('../xyflow/types').RelationshipData;
3965
- readonly id: string;
3966
- readonly type: "relationship";
3967
- }>;
3968
- setState: (partial: import('@xyflow/react').ReactFlowState<XYFlowNode, {
3969
- source: string;
3970
- target: string;
3971
- sourceHandle?: string | null;
3972
- targetHandle?: string | null;
3973
- animated?: boolean;
3974
- hidden?: boolean;
3975
- deletable?: boolean;
3976
- selectable?: boolean;
3977
- selected?: boolean;
3978
- markerStart?: import('@xyflow/react').EdgeMarkerType;
3979
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
3980
- zIndex?: number;
3981
- ariaLabel?: string;
3982
- interactionWidth?: number;
3983
- label?: import('react').ReactNode;
3984
- labelStyle?: import('react').CSSProperties;
3985
- labelShowBg?: boolean;
3986
- labelBgStyle?: import('react').CSSProperties;
3987
- labelBgPadding?: [number, number];
3988
- labelBgBorderRadius?: number;
3989
- style?: import('react').CSSProperties;
3990
- className?: string;
3991
- reconnectable?: boolean | import('@xyflow/react').HandleType;
3992
- focusable?: boolean;
3993
- data: import('../xyflow/types').RelationshipData;
3994
- readonly id: string;
3995
- readonly type: "relationship";
3996
- }> | Partial<import('@xyflow/react').ReactFlowState<XYFlowNode, {
3997
- source: string;
3998
- target: string;
3999
- sourceHandle?: string | null;
4000
- targetHandle?: string | null;
4001
- animated?: boolean;
4002
- hidden?: boolean;
4003
- deletable?: boolean;
4004
- selectable?: boolean;
4005
- selected?: boolean;
4006
- markerStart?: import('@xyflow/react').EdgeMarkerType;
4007
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
4008
- zIndex?: number;
4009
- ariaLabel?: string;
4010
- interactionWidth?: number;
4011
- label?: import('react').ReactNode;
4012
- labelStyle?: import('react').CSSProperties;
4013
- labelShowBg?: boolean;
4014
- labelBgStyle?: import('react').CSSProperties;
4015
- labelBgPadding?: [number, number];
4016
- labelBgBorderRadius?: number;
4017
- style?: import('react').CSSProperties;
4018
- className?: string;
4019
- reconnectable?: boolean | import('@xyflow/react').HandleType;
4020
- focusable?: boolean;
4021
- data: import('../xyflow/types').RelationshipData;
4022
- readonly id: string;
4023
- readonly type: "relationship";
4024
- }>> | ((state: import('@xyflow/react').ReactFlowState<XYFlowNode, {
4025
- source: string;
4026
- target: string;
4027
- sourceHandle?: string | null;
4028
- targetHandle?: string | null;
4029
- animated?: boolean;
4030
- hidden?: boolean;
4031
- deletable?: boolean;
4032
- selectable?: boolean;
4033
- selected?: boolean;
4034
- markerStart?: import('@xyflow/react').EdgeMarkerType;
4035
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
4036
- zIndex?: number;
4037
- ariaLabel?: string;
4038
- interactionWidth?: number;
4039
- label?: import('react').ReactNode;
4040
- labelStyle?: import('react').CSSProperties;
4041
- labelShowBg?: boolean;
4042
- labelBgStyle?: import('react').CSSProperties;
4043
- labelBgPadding?: [number, number];
4044
- labelBgBorderRadius?: number;
4045
- style?: import('react').CSSProperties;
4046
- className?: string;
4047
- reconnectable?: boolean | import('@xyflow/react').HandleType;
4048
- focusable?: boolean;
4049
- data: import('../xyflow/types').RelationshipData;
4050
- readonly id: string;
4051
- readonly type: "relationship";
4052
- }>) => import('@xyflow/react').ReactFlowState<XYFlowNode, {
4053
- source: string;
4054
- target: string;
4055
- sourceHandle?: string | null;
4056
- targetHandle?: string | null;
4057
- animated?: boolean;
4058
- hidden?: boolean;
4059
- deletable?: boolean;
4060
- selectable?: boolean;
4061
- selected?: boolean;
4062
- markerStart?: import('@xyflow/react').EdgeMarkerType;
4063
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
4064
- zIndex?: number;
4065
- ariaLabel?: string;
4066
- interactionWidth?: number;
4067
- label?: import('react').ReactNode;
4068
- labelStyle?: import('react').CSSProperties;
4069
- labelShowBg?: boolean;
4070
- labelBgStyle?: import('react').CSSProperties;
4071
- labelBgPadding?: [number, number];
4072
- labelBgBorderRadius?: number;
4073
- style?: import('react').CSSProperties;
4074
- className?: string;
4075
- reconnectable?: boolean | import('@xyflow/react').HandleType;
4076
- focusable?: boolean;
4077
- data: import('../xyflow/types').RelationshipData;
4078
- readonly id: string;
4079
- readonly type: "relationship";
4080
- }> | Partial<import('@xyflow/react').ReactFlowState<XYFlowNode, {
4081
- source: string;
4082
- target: string;
4083
- sourceHandle?: string | null;
4084
- targetHandle?: string | null;
4085
- animated?: boolean;
4086
- hidden?: boolean;
4087
- deletable?: boolean;
4088
- selectable?: boolean;
4089
- selected?: boolean;
4090
- markerStart?: import('@xyflow/react').EdgeMarkerType;
4091
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
4092
- zIndex?: number;
4093
- ariaLabel?: string;
4094
- interactionWidth?: number;
4095
- label?: import('react').ReactNode;
4096
- labelStyle?: import('react').CSSProperties;
4097
- labelShowBg?: boolean;
4098
- labelBgStyle?: import('react').CSSProperties;
4099
- labelBgPadding?: [number, number];
4100
- labelBgBorderRadius?: number;
4101
- style?: import('react').CSSProperties;
4102
- className?: string;
4103
- reconnectable?: boolean | import('@xyflow/react').HandleType;
4104
- focusable?: boolean;
4105
- data: import('../xyflow/types').RelationshipData;
4106
- readonly id: string;
4107
- readonly type: "relationship";
4108
- }>>), replace?: boolean | undefined) => void;
4109
- subscribe: (listener: (state: import('@xyflow/react').ReactFlowState<XYFlowNode, {
4110
- source: string;
4111
- target: string;
4112
- sourceHandle?: string | null;
4113
- targetHandle?: string | null;
4114
- animated?: boolean;
4115
- hidden?: boolean;
4116
- deletable?: boolean;
4117
- selectable?: boolean;
4118
- selected?: boolean;
4119
- markerStart?: import('@xyflow/react').EdgeMarkerType;
4120
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
4121
- zIndex?: number;
4122
- ariaLabel?: string;
4123
- interactionWidth?: number;
4124
- label?: import('react').ReactNode;
4125
- labelStyle?: import('react').CSSProperties;
4126
- labelShowBg?: boolean;
4127
- labelBgStyle?: import('react').CSSProperties;
4128
- labelBgPadding?: [number, number];
4129
- labelBgBorderRadius?: number;
4130
- style?: import('react').CSSProperties;
4131
- className?: string;
4132
- reconnectable?: boolean | import('@xyflow/react').HandleType;
4133
- focusable?: boolean;
4134
- data: import('../xyflow/types').RelationshipData;
4135
- readonly id: string;
4136
- readonly type: "relationship";
4137
- }>, prevState: import('@xyflow/react').ReactFlowState<XYFlowNode, {
4138
- source: string;
4139
- target: string;
4140
- sourceHandle?: string | null;
4141
- targetHandle?: string | null;
4142
- animated?: boolean;
4143
- hidden?: boolean;
4144
- deletable?: boolean;
4145
- selectable?: boolean;
4146
- selected?: boolean;
4147
- markerStart?: import('@xyflow/react').EdgeMarkerType;
4148
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
4149
- zIndex?: number;
4150
- ariaLabel?: string;
4151
- interactionWidth?: number;
4152
- label?: import('react').ReactNode;
4153
- labelStyle?: import('react').CSSProperties;
4154
- labelShowBg?: boolean;
4155
- labelBgStyle?: import('react').CSSProperties;
4156
- labelBgPadding?: [number, number];
4157
- labelBgBorderRadius?: number;
4158
- style?: import('react').CSSProperties;
4159
- className?: string;
4160
- reconnectable?: boolean | import('@xyflow/react').HandleType;
4161
- focusable?: boolean;
4162
- data: import('../xyflow/types').RelationshipData;
4163
- readonly id: string;
4164
- readonly type: "relationship";
4165
- }>) => void) => () => void;
4166
- }) => void;
4167
- nextDynamicStep: (increment?: number | undefined) => void;
552
+ triggerSaveManualLayout: () => void;
553
+ triggerOnNavigateTo: (xynodeId: string, event: ReactMouseEvent) => void;
554
+ fitDiagram: (duration?: number) => void;
555
+ nextDynamicStep: (increment?: number) => void;
4168
556
  stopDynamicView: () => void;
4169
557
  } | Partial<{
558
+ readonly storeDevId: string;
4170
559
  view: DiagramView;
4171
560
  readonly: boolean;
4172
561
  showElementLinks: boolean;
@@ -4177,8 +566,11 @@ export declare function createDiagramStore<T extends Exact<CreateDiagramStore, T
4177
566
  nodesDraggable: boolean;
4178
567
  nodesSelectable: boolean;
4179
568
  experimentalEdgeEditing: boolean;
569
+ renderIcon: ElementIconRenderer | null;
570
+ getContainer: () => HTMLDivElement | null;
4180
571
  viewSyncDebounceTimeout: number | null;
4181
572
  xyflow: XYFlowInstance;
573
+ xystore: XYStoreApi;
4182
574
  initialized: boolean;
4183
575
  xyflowSynced: boolean;
4184
576
  activeDynamicViewStep: number | null;
@@ -4189,13 +581,13 @@ export declare function createDiagramStore<T extends Exact<CreateDiagramStore, T
4189
581
  hoveredEdgeId: string | null;
4190
582
  dimmed: ReadonlySet<string>;
4191
583
  previousViews: DiagramView[];
4192
- lastOnNavigate: {
584
+ lastOnNavigate: null | {
4193
585
  fromView: ViewID;
4194
586
  toView: ViewID;
4195
587
  element: DiagramNode;
4196
588
  elementScreenPosition: XYPosition;
4197
589
  positionCorrected: boolean;
4198
- } | null;
590
+ };
4199
591
  viewportChanged: boolean;
4200
592
  onChange: import('../LikeC4Diagram.props').OnChange | null | undefined;
4201
593
  onNavigateTo: import('../LikeC4Diagram.props').OnNavigateTo | null | undefined;
@@ -4217,466 +609,10 @@ export declare function createDiagramStore<T extends Exact<CreateDiagramStore, T
4217
609
  getElement: (id: Fqn) => DiagramNode | null;
4218
610
  triggerChangeElementStyle: (change: Changes.ChangeElementStyle) => void;
4219
611
  cancelSaveManualLayout: () => void;
4220
- triggerSaveManualLayout: (xystore: {
4221
- getState: () => import('@xyflow/react').ReactFlowState<XYFlowNode, {
4222
- source: string;
4223
- target: string;
4224
- sourceHandle?: string | null;
4225
- targetHandle?: string | null;
4226
- animated?: boolean;
4227
- hidden?: boolean;
4228
- deletable?: boolean;
4229
- selectable?: boolean;
4230
- selected?: boolean;
4231
- markerStart?: import('@xyflow/react').EdgeMarkerType;
4232
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
4233
- zIndex?: number;
4234
- ariaLabel?: string;
4235
- interactionWidth?: number;
4236
- label?: import('react').ReactNode;
4237
- labelStyle?: import('react').CSSProperties;
4238
- labelShowBg?: boolean;
4239
- labelBgStyle?: import('react').CSSProperties;
4240
- labelBgPadding?: [number, number];
4241
- labelBgBorderRadius?: number;
4242
- style?: import('react').CSSProperties;
4243
- className?: string;
4244
- reconnectable?: boolean | import('@xyflow/react').HandleType;
4245
- focusable?: boolean;
4246
- data: import('../xyflow/types').RelationshipData;
4247
- readonly id: string;
4248
- readonly type: "relationship";
4249
- }>;
4250
- setState: (partial: import('@xyflow/react').ReactFlowState<XYFlowNode, {
4251
- source: string;
4252
- target: string;
4253
- sourceHandle?: string | null;
4254
- targetHandle?: string | null;
4255
- animated?: boolean;
4256
- hidden?: boolean;
4257
- deletable?: boolean;
4258
- selectable?: boolean;
4259
- selected?: boolean;
4260
- markerStart?: import('@xyflow/react').EdgeMarkerType;
4261
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
4262
- zIndex?: number;
4263
- ariaLabel?: string;
4264
- interactionWidth?: number;
4265
- label?: import('react').ReactNode;
4266
- labelStyle?: import('react').CSSProperties;
4267
- labelShowBg?: boolean;
4268
- labelBgStyle?: import('react').CSSProperties;
4269
- labelBgPadding?: [number, number];
4270
- labelBgBorderRadius?: number;
4271
- style?: import('react').CSSProperties;
4272
- className?: string;
4273
- reconnectable?: boolean | import('@xyflow/react').HandleType;
4274
- focusable?: boolean;
4275
- data: import('../xyflow/types').RelationshipData;
4276
- readonly id: string;
4277
- readonly type: "relationship";
4278
- }> | Partial<import('@xyflow/react').ReactFlowState<XYFlowNode, {
4279
- source: string;
4280
- target: string;
4281
- sourceHandle?: string | null;
4282
- targetHandle?: string | null;
4283
- animated?: boolean;
4284
- hidden?: boolean;
4285
- deletable?: boolean;
4286
- selectable?: boolean;
4287
- selected?: boolean;
4288
- markerStart?: import('@xyflow/react').EdgeMarkerType;
4289
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
4290
- zIndex?: number;
4291
- ariaLabel?: string;
4292
- interactionWidth?: number;
4293
- label?: import('react').ReactNode;
4294
- labelStyle?: import('react').CSSProperties;
4295
- labelShowBg?: boolean;
4296
- labelBgStyle?: import('react').CSSProperties;
4297
- labelBgPadding?: [number, number];
4298
- labelBgBorderRadius?: number;
4299
- style?: import('react').CSSProperties;
4300
- className?: string;
4301
- reconnectable?: boolean | import('@xyflow/react').HandleType;
4302
- focusable?: boolean;
4303
- data: import('../xyflow/types').RelationshipData;
4304
- readonly id: string;
4305
- readonly type: "relationship";
4306
- }>> | ((state: import('@xyflow/react').ReactFlowState<XYFlowNode, {
4307
- source: string;
4308
- target: string;
4309
- sourceHandle?: string | null;
4310
- targetHandle?: string | null;
4311
- animated?: boolean;
4312
- hidden?: boolean;
4313
- deletable?: boolean;
4314
- selectable?: boolean;
4315
- selected?: boolean;
4316
- markerStart?: import('@xyflow/react').EdgeMarkerType;
4317
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
4318
- zIndex?: number;
4319
- ariaLabel?: string;
4320
- interactionWidth?: number;
4321
- label?: import('react').ReactNode;
4322
- labelStyle?: import('react').CSSProperties;
4323
- labelShowBg?: boolean;
4324
- labelBgStyle?: import('react').CSSProperties;
4325
- labelBgPadding?: [number, number];
4326
- labelBgBorderRadius?: number;
4327
- style?: import('react').CSSProperties;
4328
- className?: string;
4329
- reconnectable?: boolean | import('@xyflow/react').HandleType;
4330
- focusable?: boolean;
4331
- data: import('../xyflow/types').RelationshipData;
4332
- readonly id: string;
4333
- readonly type: "relationship";
4334
- }>) => import('@xyflow/react').ReactFlowState<XYFlowNode, {
4335
- source: string;
4336
- target: string;
4337
- sourceHandle?: string | null;
4338
- targetHandle?: string | null;
4339
- animated?: boolean;
4340
- hidden?: boolean;
4341
- deletable?: boolean;
4342
- selectable?: boolean;
4343
- selected?: boolean;
4344
- markerStart?: import('@xyflow/react').EdgeMarkerType;
4345
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
4346
- zIndex?: number;
4347
- ariaLabel?: string;
4348
- interactionWidth?: number;
4349
- label?: import('react').ReactNode;
4350
- labelStyle?: import('react').CSSProperties;
4351
- labelShowBg?: boolean;
4352
- labelBgStyle?: import('react').CSSProperties;
4353
- labelBgPadding?: [number, number];
4354
- labelBgBorderRadius?: number;
4355
- style?: import('react').CSSProperties;
4356
- className?: string;
4357
- reconnectable?: boolean | import('@xyflow/react').HandleType;
4358
- focusable?: boolean;
4359
- data: import('../xyflow/types').RelationshipData;
4360
- readonly id: string;
4361
- readonly type: "relationship";
4362
- }> | Partial<import('@xyflow/react').ReactFlowState<XYFlowNode, {
4363
- source: string;
4364
- target: string;
4365
- sourceHandle?: string | null;
4366
- targetHandle?: string | null;
4367
- animated?: boolean;
4368
- hidden?: boolean;
4369
- deletable?: boolean;
4370
- selectable?: boolean;
4371
- selected?: boolean;
4372
- markerStart?: import('@xyflow/react').EdgeMarkerType;
4373
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
4374
- zIndex?: number;
4375
- ariaLabel?: string;
4376
- interactionWidth?: number;
4377
- label?: import('react').ReactNode;
4378
- labelStyle?: import('react').CSSProperties;
4379
- labelShowBg?: boolean;
4380
- labelBgStyle?: import('react').CSSProperties;
4381
- labelBgPadding?: [number, number];
4382
- labelBgBorderRadius?: number;
4383
- style?: import('react').CSSProperties;
4384
- className?: string;
4385
- reconnectable?: boolean | import('@xyflow/react').HandleType;
4386
- focusable?: boolean;
4387
- data: import('../xyflow/types').RelationshipData;
4388
- readonly id: string;
4389
- readonly type: "relationship";
4390
- }>>), replace?: boolean | undefined) => void;
4391
- subscribe: (listener: (state: import('@xyflow/react').ReactFlowState<XYFlowNode, {
4392
- source: string;
4393
- target: string;
4394
- sourceHandle?: string | null;
4395
- targetHandle?: string | null;
4396
- animated?: boolean;
4397
- hidden?: boolean;
4398
- deletable?: boolean;
4399
- selectable?: boolean;
4400
- selected?: boolean;
4401
- markerStart?: import('@xyflow/react').EdgeMarkerType;
4402
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
4403
- zIndex?: number;
4404
- ariaLabel?: string;
4405
- interactionWidth?: number;
4406
- label?: import('react').ReactNode;
4407
- labelStyle?: import('react').CSSProperties;
4408
- labelShowBg?: boolean;
4409
- labelBgStyle?: import('react').CSSProperties;
4410
- labelBgPadding?: [number, number];
4411
- labelBgBorderRadius?: number;
4412
- style?: import('react').CSSProperties;
4413
- className?: string;
4414
- reconnectable?: boolean | import('@xyflow/react').HandleType;
4415
- focusable?: boolean;
4416
- data: import('../xyflow/types').RelationshipData;
4417
- readonly id: string;
4418
- readonly type: "relationship";
4419
- }>, prevState: import('@xyflow/react').ReactFlowState<XYFlowNode, {
4420
- source: string;
4421
- target: string;
4422
- sourceHandle?: string | null;
4423
- targetHandle?: string | null;
4424
- animated?: boolean;
4425
- hidden?: boolean;
4426
- deletable?: boolean;
4427
- selectable?: boolean;
4428
- selected?: boolean;
4429
- markerStart?: import('@xyflow/react').EdgeMarkerType;
4430
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
4431
- zIndex?: number;
4432
- ariaLabel?: string;
4433
- interactionWidth?: number;
4434
- label?: import('react').ReactNode;
4435
- labelStyle?: import('react').CSSProperties;
4436
- labelShowBg?: boolean;
4437
- labelBgStyle?: import('react').CSSProperties;
4438
- labelBgPadding?: [number, number];
4439
- labelBgBorderRadius?: number;
4440
- style?: import('react').CSSProperties;
4441
- className?: string;
4442
- reconnectable?: boolean | import('@xyflow/react').HandleType;
4443
- focusable?: boolean;
4444
- data: import('../xyflow/types').RelationshipData;
4445
- readonly id: string;
4446
- readonly type: "relationship";
4447
- }>) => void) => () => void;
4448
- }) => void;
4449
- triggerOnNavigateTo: (xynodeId: string, event: ReactMouseEvent<Element, MouseEvent>) => void;
4450
- fitDiagram: (xyStore: {
4451
- getState: () => import('@xyflow/react').ReactFlowState<XYFlowNode, {
4452
- source: string;
4453
- target: string;
4454
- sourceHandle?: string | null;
4455
- targetHandle?: string | null;
4456
- animated?: boolean;
4457
- hidden?: boolean;
4458
- deletable?: boolean;
4459
- selectable?: boolean;
4460
- selected?: boolean;
4461
- markerStart?: import('@xyflow/react').EdgeMarkerType;
4462
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
4463
- zIndex?: number;
4464
- ariaLabel?: string;
4465
- interactionWidth?: number;
4466
- label?: import('react').ReactNode;
4467
- labelStyle?: import('react').CSSProperties;
4468
- labelShowBg?: boolean;
4469
- labelBgStyle?: import('react').CSSProperties;
4470
- labelBgPadding?: [number, number];
4471
- labelBgBorderRadius?: number;
4472
- style?: import('react').CSSProperties;
4473
- className?: string;
4474
- reconnectable?: boolean | import('@xyflow/react').HandleType;
4475
- focusable?: boolean;
4476
- data: import('../xyflow/types').RelationshipData;
4477
- readonly id: string;
4478
- readonly type: "relationship";
4479
- }>;
4480
- setState: (partial: import('@xyflow/react').ReactFlowState<XYFlowNode, {
4481
- source: string;
4482
- target: string;
4483
- sourceHandle?: string | null;
4484
- targetHandle?: string | null;
4485
- animated?: boolean;
4486
- hidden?: boolean;
4487
- deletable?: boolean;
4488
- selectable?: boolean;
4489
- selected?: boolean;
4490
- markerStart?: import('@xyflow/react').EdgeMarkerType;
4491
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
4492
- zIndex?: number;
4493
- ariaLabel?: string;
4494
- interactionWidth?: number;
4495
- label?: import('react').ReactNode;
4496
- labelStyle?: import('react').CSSProperties;
4497
- labelShowBg?: boolean;
4498
- labelBgStyle?: import('react').CSSProperties;
4499
- labelBgPadding?: [number, number];
4500
- labelBgBorderRadius?: number;
4501
- style?: import('react').CSSProperties;
4502
- className?: string;
4503
- reconnectable?: boolean | import('@xyflow/react').HandleType;
4504
- focusable?: boolean;
4505
- data: import('../xyflow/types').RelationshipData;
4506
- readonly id: string;
4507
- readonly type: "relationship";
4508
- }> | Partial<import('@xyflow/react').ReactFlowState<XYFlowNode, {
4509
- source: string;
4510
- target: string;
4511
- sourceHandle?: string | null;
4512
- targetHandle?: string | null;
4513
- animated?: boolean;
4514
- hidden?: boolean;
4515
- deletable?: boolean;
4516
- selectable?: boolean;
4517
- selected?: boolean;
4518
- markerStart?: import('@xyflow/react').EdgeMarkerType;
4519
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
4520
- zIndex?: number;
4521
- ariaLabel?: string;
4522
- interactionWidth?: number;
4523
- label?: import('react').ReactNode;
4524
- labelStyle?: import('react').CSSProperties;
4525
- labelShowBg?: boolean;
4526
- labelBgStyle?: import('react').CSSProperties;
4527
- labelBgPadding?: [number, number];
4528
- labelBgBorderRadius?: number;
4529
- style?: import('react').CSSProperties;
4530
- className?: string;
4531
- reconnectable?: boolean | import('@xyflow/react').HandleType;
4532
- focusable?: boolean;
4533
- data: import('../xyflow/types').RelationshipData;
4534
- readonly id: string;
4535
- readonly type: "relationship";
4536
- }>> | ((state: import('@xyflow/react').ReactFlowState<XYFlowNode, {
4537
- source: string;
4538
- target: string;
4539
- sourceHandle?: string | null;
4540
- targetHandle?: string | null;
4541
- animated?: boolean;
4542
- hidden?: boolean;
4543
- deletable?: boolean;
4544
- selectable?: boolean;
4545
- selected?: boolean;
4546
- markerStart?: import('@xyflow/react').EdgeMarkerType;
4547
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
4548
- zIndex?: number;
4549
- ariaLabel?: string;
4550
- interactionWidth?: number;
4551
- label?: import('react').ReactNode;
4552
- labelStyle?: import('react').CSSProperties;
4553
- labelShowBg?: boolean;
4554
- labelBgStyle?: import('react').CSSProperties;
4555
- labelBgPadding?: [number, number];
4556
- labelBgBorderRadius?: number;
4557
- style?: import('react').CSSProperties;
4558
- className?: string;
4559
- reconnectable?: boolean | import('@xyflow/react').HandleType;
4560
- focusable?: boolean;
4561
- data: import('../xyflow/types').RelationshipData;
4562
- readonly id: string;
4563
- readonly type: "relationship";
4564
- }>) => import('@xyflow/react').ReactFlowState<XYFlowNode, {
4565
- source: string;
4566
- target: string;
4567
- sourceHandle?: string | null;
4568
- targetHandle?: string | null;
4569
- animated?: boolean;
4570
- hidden?: boolean;
4571
- deletable?: boolean;
4572
- selectable?: boolean;
4573
- selected?: boolean;
4574
- markerStart?: import('@xyflow/react').EdgeMarkerType;
4575
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
4576
- zIndex?: number;
4577
- ariaLabel?: string;
4578
- interactionWidth?: number;
4579
- label?: import('react').ReactNode;
4580
- labelStyle?: import('react').CSSProperties;
4581
- labelShowBg?: boolean;
4582
- labelBgStyle?: import('react').CSSProperties;
4583
- labelBgPadding?: [number, number];
4584
- labelBgBorderRadius?: number;
4585
- style?: import('react').CSSProperties;
4586
- className?: string;
4587
- reconnectable?: boolean | import('@xyflow/react').HandleType;
4588
- focusable?: boolean;
4589
- data: import('../xyflow/types').RelationshipData;
4590
- readonly id: string;
4591
- readonly type: "relationship";
4592
- }> | Partial<import('@xyflow/react').ReactFlowState<XYFlowNode, {
4593
- source: string;
4594
- target: string;
4595
- sourceHandle?: string | null;
4596
- targetHandle?: string | null;
4597
- animated?: boolean;
4598
- hidden?: boolean;
4599
- deletable?: boolean;
4600
- selectable?: boolean;
4601
- selected?: boolean;
4602
- markerStart?: import('@xyflow/react').EdgeMarkerType;
4603
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
4604
- zIndex?: number;
4605
- ariaLabel?: string;
4606
- interactionWidth?: number;
4607
- label?: import('react').ReactNode;
4608
- labelStyle?: import('react').CSSProperties;
4609
- labelShowBg?: boolean;
4610
- labelBgStyle?: import('react').CSSProperties;
4611
- labelBgPadding?: [number, number];
4612
- labelBgBorderRadius?: number;
4613
- style?: import('react').CSSProperties;
4614
- className?: string;
4615
- reconnectable?: boolean | import('@xyflow/react').HandleType;
4616
- focusable?: boolean;
4617
- data: import('../xyflow/types').RelationshipData;
4618
- readonly id: string;
4619
- readonly type: "relationship";
4620
- }>>), replace?: boolean | undefined) => void;
4621
- subscribe: (listener: (state: import('@xyflow/react').ReactFlowState<XYFlowNode, {
4622
- source: string;
4623
- target: string;
4624
- sourceHandle?: string | null;
4625
- targetHandle?: string | null;
4626
- animated?: boolean;
4627
- hidden?: boolean;
4628
- deletable?: boolean;
4629
- selectable?: boolean;
4630
- selected?: boolean;
4631
- markerStart?: import('@xyflow/react').EdgeMarkerType;
4632
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
4633
- zIndex?: number;
4634
- ariaLabel?: string;
4635
- interactionWidth?: number;
4636
- label?: import('react').ReactNode;
4637
- labelStyle?: import('react').CSSProperties;
4638
- labelShowBg?: boolean;
4639
- labelBgStyle?: import('react').CSSProperties;
4640
- labelBgPadding?: [number, number];
4641
- labelBgBorderRadius?: number;
4642
- style?: import('react').CSSProperties;
4643
- className?: string;
4644
- reconnectable?: boolean | import('@xyflow/react').HandleType;
4645
- focusable?: boolean;
4646
- data: import('../xyflow/types').RelationshipData;
4647
- readonly id: string;
4648
- readonly type: "relationship";
4649
- }>, prevState: import('@xyflow/react').ReactFlowState<XYFlowNode, {
4650
- source: string;
4651
- target: string;
4652
- sourceHandle?: string | null;
4653
- targetHandle?: string | null;
4654
- animated?: boolean;
4655
- hidden?: boolean;
4656
- deletable?: boolean;
4657
- selectable?: boolean;
4658
- selected?: boolean;
4659
- markerStart?: import('@xyflow/react').EdgeMarkerType;
4660
- markerEnd?: import('@xyflow/react').EdgeMarkerType;
4661
- zIndex?: number;
4662
- ariaLabel?: string;
4663
- interactionWidth?: number;
4664
- label?: import('react').ReactNode;
4665
- labelStyle?: import('react').CSSProperties;
4666
- labelShowBg?: boolean;
4667
- labelBgStyle?: import('react').CSSProperties;
4668
- labelBgPadding?: [number, number];
4669
- labelBgBorderRadius?: number;
4670
- style?: import('react').CSSProperties;
4671
- className?: string;
4672
- reconnectable?: boolean | import('@xyflow/react').HandleType;
4673
- focusable?: boolean;
4674
- data: import('../xyflow/types').RelationshipData;
4675
- readonly id: string;
4676
- readonly type: "relationship";
4677
- }>) => void) => () => void;
4678
- }) => void;
4679
- nextDynamicStep: (increment?: number | undefined) => void;
612
+ triggerSaveManualLayout: () => void;
613
+ triggerOnNavigateTo: (xynodeId: string, event: ReactMouseEvent) => void;
614
+ fitDiagram: (duration?: number) => void;
615
+ nextDynamicStep: (increment?: number) => void;
4680
616
  stopDynamicView: () => void;
4681
617
  }>), replace?: boolean | undefined, action?: A | undefined): void;
4682
618
  }>;