@likec4/diagram 1.7.1 → 1.7.3

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 (69) hide show
  1. package/dist/LikeC4Diagram.d.ts +1 -1
  2. package/dist/LikeC4Diagram.props.d.ts +38 -22
  3. package/dist/StaticLikeC4Diagram.d.ts +1 -1
  4. package/dist/globals.css.d.ts +0 -1
  5. package/dist/hooks/index.d.ts +2 -0
  6. package/dist/{state/useDiagramStore.d.ts → hooks/useDiagramState.d.ts} +2 -3
  7. package/dist/{xyflow/hooks → hooks}/useXYFlow.d.ts +10 -10
  8. package/dist/index.d.ts +3 -2
  9. package/dist/index.mjs +755 -401
  10. package/dist/state/DiagramContext.d.ts +74 -30
  11. package/dist/state/diagram-to-xyflow.d.ts +2 -0
  12. package/dist/state/diagramStore.d.ts +71 -22
  13. package/dist/style.css +655 -35
  14. package/dist/ui/top-left/ChangeAutoLayoutButton.d.ts +3 -0
  15. package/dist/ui/top-left/TopLeftPanel.d.ts +4 -0
  16. package/dist/ui/top-left/_shared.d.ts +5 -0
  17. package/dist/ui/top-left/styles.css.d.ts +3 -0
  18. package/dist/xyflow/XYFlowInner.d.ts +0 -1
  19. package/dist/xyflow/edges/edges.css.d.ts +1 -1
  20. package/dist/xyflow/{hooks/useLayoutConstraints.d.ts → useLayoutConstraints.d.ts} +1 -1
  21. package/dist/xyflow/utils.d.ts +11 -1
  22. package/package.json +6 -6
  23. package/src/LikeC4Diagram.props.ts +66 -32
  24. package/src/LikeC4Diagram.tsx +19 -12
  25. package/src/StaticLikeC4Diagram.tsx +2 -0
  26. package/src/globals.css.ts +0 -2
  27. package/src/hooks/index.ts +2 -0
  28. package/src/{state/useDiagramStore.ts → hooks/useDiagramState.ts} +3 -4
  29. package/src/{xyflow/hooks → hooks}/useXYFlow.ts +1 -1
  30. package/src/index.ts +4 -2
  31. package/src/state/DiagramContext.tsx +15 -7
  32. package/src/state/diagram-to-xyflow.ts +17 -3
  33. package/src/state/diagramStore.ts +73 -38
  34. package/src/ui/DiagramTitlePanel.tsx +1 -1
  35. package/src/ui/DynamicViewWalkthrough.tsx +1 -2
  36. package/src/ui/OptionsPanel.tsx +1 -1
  37. package/src/ui/options/EdgeOptions.tsx +1 -16
  38. package/src/ui/options/NodeOptions.tsx +38 -13
  39. package/src/ui/top-left/ChangeAutoLayoutButton.tsx +131 -0
  40. package/src/ui/top-left/TopLeftPanel.tsx +213 -0
  41. package/src/ui/top-left/_shared.ts +19 -0
  42. package/src/ui/top-left/styles.css.ts +38 -0
  43. package/src/xyflow/FitviewOnDiagramChange.tsx +2 -2
  44. package/src/xyflow/SelectEdgesOnNodeFocus.tsx +87 -59
  45. package/src/xyflow/XYFlow.tsx +7 -8
  46. package/src/xyflow/XYFlowEvents.tsx +39 -19
  47. package/src/xyflow/XYFlowInner.tsx +5 -7
  48. package/src/xyflow/edges/RelationshipEdge.tsx +60 -27
  49. package/src/xyflow/edges/edges.css.ts +29 -25
  50. package/src/xyflow/nodes/compound/CompoundNode.tsx +1 -1
  51. package/src/xyflow/nodes/element/ElementLink.tsx +1 -2
  52. package/src/xyflow/nodes/element/ElementNode.tsx +7 -5
  53. package/src/xyflow/nodes/shared/NavigateToBtn.tsx +1 -1
  54. package/src/xyflow/{hooks/useLayoutConstraints.ts → useLayoutConstraints.ts} +3 -3
  55. package/src/xyflow/utils.ts +25 -1
  56. package/dist/state/hooks.d.ts +0 -4
  57. package/dist/state/index.d.ts +0 -2
  58. package/dist/state/useNavigationHistory.d.ts +0 -5
  59. package/dist/types.d.ts +0 -20
  60. package/dist/ui/BackwardForwardPanel.css.d.ts +0 -1
  61. package/dist/ui/BackwardForwardPanel.d.ts +0 -1
  62. package/dist/xyflow/hooks/index.d.ts +0 -2
  63. package/src/state/hooks.ts +0 -5
  64. package/src/state/index.ts +0 -2
  65. package/src/state/useNavigationHistory.ts +0 -39
  66. package/src/types.ts +0 -22
  67. package/src/ui/BackwardForwardPanel.css.ts +0 -22
  68. package/src/ui/BackwardForwardPanel.tsx +0 -76
  69. package/src/xyflow/hooks/index.ts +0 -3
@@ -1,9 +1,9 @@
1
- import { DiagramNode, DiagramView, Fqn, NodeId, ViewID } from '@likec4/core';
1
+ import { DiagramNode, DiagramView, Fqn, NodeId, ViewChange, ViewID } from '@likec4/core';
2
2
  import { OnEdgesChange, OnNodesChange } from '@xyflow/react';
3
3
  import { MouseEvent as ReactMouseEvent } from 'react';
4
4
  import { Exact, Simplify } from 'type-fest';
5
- import { Changes, ElementIconRenderer, LikeC4DiagramEventHandlers } from '../LikeC4Diagram.props';
6
- import { XYStoreApi } from '../xyflow/hooks';
5
+ import { XYStoreApi } from '../hooks/useXYFlow';
6
+ import { ElementIconRenderer, LikeC4DiagramEventHandlers, WhereOperator } from '../LikeC4Diagram.props';
7
7
  import { XYFlowEdge, XYFlowInstance, XYFlowNode } from '../xyflow/types';
8
8
 
9
9
  type RequiredOrNull<T> = {
@@ -13,6 +13,7 @@ export type DiagramInitialState = {
13
13
  view: DiagramView;
14
14
  readonly: boolean;
15
15
  showElementLinks: boolean;
16
+ showNavigationButtons: boolean;
16
17
  fitViewEnabled: boolean;
17
18
  fitViewPadding: number;
18
19
  zoomable: boolean;
@@ -22,6 +23,7 @@ export type DiagramInitialState = {
22
23
  experimentalEdgeEditing: boolean;
23
24
  enableFocusMode: boolean;
24
25
  renderIcon: ElementIconRenderer | null;
26
+ whereFilter: WhereOperator<string, string> | null;
25
27
  enableDynamicViewWalkthrough: boolean;
26
28
  xyflow: XYFlowInstance;
27
29
  xystore: XYStoreApi;
@@ -60,7 +62,7 @@ export type DiagramState = Simplify<DiagramInitialState & {
60
62
  setLastClickedEdge: (edgeId: string | null) => void;
61
63
  resetLastClicked: () => void;
62
64
  getElement(id: Fqn): DiagramNode | null;
63
- triggerChangeElementStyle: (change: Changes.ChangeElementStyle) => void;
65
+ triggerChangeElementStyle: (change: ViewChange.ChangeElementStyle) => void;
64
66
  /**
65
67
  * @returns true if there was pending save layout
66
68
  */
@@ -82,6 +84,7 @@ export declare function createDiagramStore<T extends Exact<DiagramInitialState,
82
84
  view: DiagramView;
83
85
  readonly: boolean;
84
86
  showElementLinks: boolean;
87
+ showNavigationButtons: boolean;
85
88
  fitViewEnabled: boolean;
86
89
  fitViewPadding: number;
87
90
  zoomable: boolean;
@@ -91,6 +94,7 @@ export declare function createDiagramStore<T extends Exact<DiagramInitialState,
91
94
  experimentalEdgeEditing: boolean;
92
95
  enableFocusMode: boolean;
93
96
  renderIcon: ElementIconRenderer | null;
97
+ whereFilter: WhereOperator<string, string> | null;
94
98
  enableDynamicViewWalkthrough: boolean;
95
99
  xyflow: XYFlowInstance;
96
100
  xystore: XYStoreApi;
@@ -104,7 +108,10 @@ export declare function createDiagramStore<T extends Exact<DiagramInitialState,
104
108
  onEdgeContextMenu: import('../LikeC4Diagram.props').OnEdgeClick | null;
105
109
  onCanvasClick: import('../LikeC4Diagram.props').OnCanvasClick | null;
106
110
  onCanvasDblClick: import('../LikeC4Diagram.props').OnCanvasClick | null;
107
- onEditorCommand: import('../LikeC4Diagram.props').OnEditorCommand | null;
111
+ onBurgerMenuClick: (() => void) | null;
112
+ onOpenSourceView: (() => void) | null;
113
+ onOpenSourceElement: ((fqn: Fqn) => void) | null;
114
+ onOpenSourceRelation: ((id: import('@likec4/core').RelationID) => void) | null;
108
115
  readonly storeDevId: string;
109
116
  xynodes: XYFlowNode[];
110
117
  xyedges: XYFlowEdge[];
@@ -137,7 +144,7 @@ export declare function createDiagramStore<T extends Exact<DiagramInitialState,
137
144
  setLastClickedEdge: (edgeId: string | null) => void;
138
145
  resetLastClicked: () => void;
139
146
  getElement: (id: Fqn) => DiagramNode | null;
140
- triggerChangeElementStyle: (change: Changes.ChangeElementStyle) => void;
147
+ triggerChangeElementStyle: (change: ViewChange.ChangeElementStyle) => void;
141
148
  cancelSaveManualLayout: () => boolean;
142
149
  scheduleSaveManualLayout: () => void;
143
150
  triggerSaveManualLayout: () => void;
@@ -157,6 +164,7 @@ export declare function createDiagramStore<T extends Exact<DiagramInitialState,
157
164
  view: DiagramView;
158
165
  readonly: boolean;
159
166
  showElementLinks: boolean;
167
+ showNavigationButtons: boolean;
160
168
  fitViewEnabled: boolean;
161
169
  fitViewPadding: number;
162
170
  zoomable: boolean;
@@ -166,6 +174,7 @@ export declare function createDiagramStore<T extends Exact<DiagramInitialState,
166
174
  experimentalEdgeEditing: boolean;
167
175
  enableFocusMode: boolean;
168
176
  renderIcon: ElementIconRenderer | null;
177
+ whereFilter: WhereOperator<string, string> | null;
169
178
  enableDynamicViewWalkthrough: boolean;
170
179
  xyflow: XYFlowInstance;
171
180
  xystore: XYStoreApi;
@@ -179,7 +188,10 @@ export declare function createDiagramStore<T extends Exact<DiagramInitialState,
179
188
  onEdgeContextMenu: import('../LikeC4Diagram.props').OnEdgeClick | null;
180
189
  onCanvasClick: import('../LikeC4Diagram.props').OnCanvasClick | null;
181
190
  onCanvasDblClick: import('../LikeC4Diagram.props').OnCanvasClick | null;
182
- onEditorCommand: import('../LikeC4Diagram.props').OnEditorCommand | null;
191
+ onBurgerMenuClick: (() => void) | null;
192
+ onOpenSourceView: (() => void) | null;
193
+ onOpenSourceElement: ((fqn: Fqn) => void) | null;
194
+ onOpenSourceRelation: ((id: import('@likec4/core').RelationID) => void) | null;
183
195
  readonly storeDevId: string;
184
196
  xynodes: XYFlowNode[];
185
197
  xyedges: {
@@ -240,7 +252,7 @@ export declare function createDiagramStore<T extends Exact<DiagramInitialState,
240
252
  setLastClickedEdge: (edgeId: string | null) => void;
241
253
  resetLastClicked: () => void;
242
254
  getElement: (id: Fqn) => DiagramNode | null;
243
- triggerChangeElementStyle: (change: Changes.ChangeElementStyle) => void;
255
+ triggerChangeElementStyle: (change: ViewChange.ChangeElementStyle) => void;
244
256
  cancelSaveManualLayout: () => boolean;
245
257
  scheduleSaveManualLayout: () => void;
246
258
  triggerSaveManualLayout: () => void;
@@ -286,6 +298,7 @@ export declare function createDiagramStore<T extends Exact<DiagramInitialState,
286
298
  view: DiagramView;
287
299
  readonly: boolean;
288
300
  showElementLinks: boolean;
301
+ showNavigationButtons: boolean;
289
302
  fitViewEnabled: boolean;
290
303
  fitViewPadding: number;
291
304
  zoomable: boolean;
@@ -295,6 +308,7 @@ export declare function createDiagramStore<T extends Exact<DiagramInitialState,
295
308
  experimentalEdgeEditing: boolean;
296
309
  enableFocusMode: boolean;
297
310
  renderIcon: ElementIconRenderer | null;
311
+ whereFilter: WhereOperator<string, string> | null;
298
312
  enableDynamicViewWalkthrough: boolean;
299
313
  xyflow: XYFlowInstance;
300
314
  xystore: XYStoreApi;
@@ -308,7 +322,10 @@ export declare function createDiagramStore<T extends Exact<DiagramInitialState,
308
322
  onEdgeContextMenu: import('../LikeC4Diagram.props').OnEdgeClick | null;
309
323
  onCanvasClick: import('../LikeC4Diagram.props').OnCanvasClick | null;
310
324
  onCanvasDblClick: import('../LikeC4Diagram.props').OnCanvasClick | null;
311
- onEditorCommand: import('../LikeC4Diagram.props').OnEditorCommand | null;
325
+ onBurgerMenuClick: (() => void) | null;
326
+ onOpenSourceView: (() => void) | null;
327
+ onOpenSourceElement: ((fqn: Fqn) => void) | null;
328
+ onOpenSourceRelation: ((id: import('@likec4/core').RelationID) => void) | null;
312
329
  readonly storeDevId: string;
313
330
  xynodes: XYFlowNode[];
314
331
  xyedges: {
@@ -369,7 +386,7 @@ export declare function createDiagramStore<T extends Exact<DiagramInitialState,
369
386
  setLastClickedEdge: (edgeId: string | null) => void;
370
387
  resetLastClicked: () => void;
371
388
  getElement: (id: Fqn) => DiagramNode | null;
372
- triggerChangeElementStyle: (change: Changes.ChangeElementStyle) => void;
389
+ triggerChangeElementStyle: (change: ViewChange.ChangeElementStyle) => void;
373
390
  cancelSaveManualLayout: () => boolean;
374
391
  scheduleSaveManualLayout: () => void;
375
392
  triggerSaveManualLayout: () => void;
@@ -416,6 +433,7 @@ export declare function createDiagramStore<T extends Exact<DiagramInitialState,
416
433
  view: DiagramView;
417
434
  readonly: boolean;
418
435
  showElementLinks: boolean;
436
+ showNavigationButtons: boolean;
419
437
  fitViewEnabled: boolean;
420
438
  fitViewPadding: number;
421
439
  zoomable: boolean;
@@ -425,6 +443,7 @@ export declare function createDiagramStore<T extends Exact<DiagramInitialState,
425
443
  experimentalEdgeEditing: boolean;
426
444
  enableFocusMode: boolean;
427
445
  renderIcon: ElementIconRenderer | null;
446
+ whereFilter: WhereOperator<string, string> | null;
428
447
  enableDynamicViewWalkthrough: boolean;
429
448
  xyflow: XYFlowInstance;
430
449
  xystore: XYStoreApi;
@@ -438,7 +457,10 @@ export declare function createDiagramStore<T extends Exact<DiagramInitialState,
438
457
  onEdgeContextMenu: import('../LikeC4Diagram.props').OnEdgeClick | null;
439
458
  onCanvasClick: import('../LikeC4Diagram.props').OnCanvasClick | null;
440
459
  onCanvasDblClick: import('../LikeC4Diagram.props').OnCanvasClick | null;
441
- onEditorCommand: import('../LikeC4Diagram.props').OnEditorCommand | null;
460
+ onBurgerMenuClick: (() => void) | null;
461
+ onOpenSourceView: (() => void) | null;
462
+ onOpenSourceElement: ((fqn: Fqn) => void) | null;
463
+ onOpenSourceRelation: ((id: import('@likec4/core').RelationID) => void) | null;
442
464
  readonly storeDevId: string;
443
465
  xynodes: XYFlowNode[];
444
466
  xyedges: {
@@ -499,7 +521,7 @@ export declare function createDiagramStore<T extends Exact<DiagramInitialState,
499
521
  setLastClickedEdge: (edgeId: string | null) => void;
500
522
  resetLastClicked: () => void;
501
523
  getElement: (id: Fqn) => DiagramNode | null;
502
- triggerChangeElementStyle: (change: Changes.ChangeElementStyle) => void;
524
+ triggerChangeElementStyle: (change: ViewChange.ChangeElementStyle) => void;
503
525
  cancelSaveManualLayout: () => boolean;
504
526
  scheduleSaveManualLayout: () => void;
505
527
  triggerSaveManualLayout: () => void;
@@ -553,6 +575,7 @@ export declare function createDiagramStore<T extends Exact<DiagramInitialState,
553
575
  view: DiagramView;
554
576
  readonly: boolean;
555
577
  showElementLinks: boolean;
578
+ showNavigationButtons: boolean;
556
579
  fitViewEnabled: boolean;
557
580
  fitViewPadding: number;
558
581
  zoomable: boolean;
@@ -562,6 +585,7 @@ export declare function createDiagramStore<T extends Exact<DiagramInitialState,
562
585
  experimentalEdgeEditing: boolean;
563
586
  enableFocusMode: boolean;
564
587
  renderIcon: ElementIconRenderer | null;
588
+ whereFilter: WhereOperator<string, string> | null;
565
589
  enableDynamicViewWalkthrough: boolean;
566
590
  xyflow: XYFlowInstance;
567
591
  xystore: XYStoreApi;
@@ -575,7 +599,10 @@ export declare function createDiagramStore<T extends Exact<DiagramInitialState,
575
599
  onEdgeContextMenu: import('../LikeC4Diagram.props').OnEdgeClick | null;
576
600
  onCanvasClick: import('../LikeC4Diagram.props').OnCanvasClick | null;
577
601
  onCanvasDblClick: import('../LikeC4Diagram.props').OnCanvasClick | null;
578
- onEditorCommand: import('../LikeC4Diagram.props').OnEditorCommand | null;
602
+ onBurgerMenuClick: (() => void) | null;
603
+ onOpenSourceView: (() => void) | null;
604
+ onOpenSourceElement: ((fqn: Fqn) => void) | null;
605
+ onOpenSourceRelation: ((id: import('@likec4/core').RelationID) => void) | null;
579
606
  readonly storeDevId: string;
580
607
  xynodes: XYFlowNode[];
581
608
  xyedges: {
@@ -636,7 +663,7 @@ export declare function createDiagramStore<T extends Exact<DiagramInitialState,
636
663
  setLastClickedEdge: (edgeId: string | null) => void;
637
664
  resetLastClicked: () => void;
638
665
  getElement: (id: Fqn) => DiagramNode | null;
639
- triggerChangeElementStyle: (change: Changes.ChangeElementStyle) => void;
666
+ triggerChangeElementStyle: (change: ViewChange.ChangeElementStyle) => void;
640
667
  cancelSaveManualLayout: () => boolean;
641
668
  scheduleSaveManualLayout: () => void;
642
669
  triggerSaveManualLayout: () => void;
@@ -682,6 +709,7 @@ export declare function createDiagramStore<T extends Exact<DiagramInitialState,
682
709
  view: DiagramView;
683
710
  readonly: boolean;
684
711
  showElementLinks: boolean;
712
+ showNavigationButtons: boolean;
685
713
  fitViewEnabled: boolean;
686
714
  fitViewPadding: number;
687
715
  zoomable: boolean;
@@ -691,6 +719,7 @@ export declare function createDiagramStore<T extends Exact<DiagramInitialState,
691
719
  experimentalEdgeEditing: boolean;
692
720
  enableFocusMode: boolean;
693
721
  renderIcon: ElementIconRenderer | null;
722
+ whereFilter: WhereOperator<string, string> | null;
694
723
  enableDynamicViewWalkthrough: boolean;
695
724
  xyflow: XYFlowInstance;
696
725
  xystore: XYStoreApi;
@@ -704,7 +733,10 @@ export declare function createDiagramStore<T extends Exact<DiagramInitialState,
704
733
  onEdgeContextMenu: import('../LikeC4Diagram.props').OnEdgeClick | null;
705
734
  onCanvasClick: import('../LikeC4Diagram.props').OnCanvasClick | null;
706
735
  onCanvasDblClick: import('../LikeC4Diagram.props').OnCanvasClick | null;
707
- onEditorCommand: import('../LikeC4Diagram.props').OnEditorCommand | null;
736
+ onBurgerMenuClick: (() => void) | null;
737
+ onOpenSourceView: (() => void) | null;
738
+ onOpenSourceElement: ((fqn: Fqn) => void) | null;
739
+ onOpenSourceRelation: ((id: import('@likec4/core').RelationID) => void) | null;
708
740
  readonly storeDevId: string;
709
741
  xynodes: XYFlowNode[];
710
742
  xyedges: {
@@ -765,7 +797,7 @@ export declare function createDiagramStore<T extends Exact<DiagramInitialState,
765
797
  setLastClickedEdge: (edgeId: string | null) => void;
766
798
  resetLastClicked: () => void;
767
799
  getElement: (id: Fqn) => DiagramNode | null;
768
- triggerChangeElementStyle: (change: Changes.ChangeElementStyle) => void;
800
+ triggerChangeElementStyle: (change: ViewChange.ChangeElementStyle) => void;
769
801
  cancelSaveManualLayout: () => boolean;
770
802
  scheduleSaveManualLayout: () => void;
771
803
  triggerSaveManualLayout: () => void;
@@ -811,6 +843,7 @@ export declare function createDiagramStore<T extends Exact<DiagramInitialState,
811
843
  view: DiagramView;
812
844
  readonly: boolean;
813
845
  showElementLinks: boolean;
846
+ showNavigationButtons: boolean;
814
847
  fitViewEnabled: boolean;
815
848
  fitViewPadding: number;
816
849
  zoomable: boolean;
@@ -820,6 +853,7 @@ export declare function createDiagramStore<T extends Exact<DiagramInitialState,
820
853
  experimentalEdgeEditing: boolean;
821
854
  enableFocusMode: boolean;
822
855
  renderIcon: ElementIconRenderer | null;
856
+ whereFilter: WhereOperator<string, string> | null;
823
857
  enableDynamicViewWalkthrough: boolean;
824
858
  xyflow: XYFlowInstance;
825
859
  xystore: XYStoreApi;
@@ -833,7 +867,10 @@ export declare function createDiagramStore<T extends Exact<DiagramInitialState,
833
867
  onEdgeContextMenu: import('../LikeC4Diagram.props').OnEdgeClick | null;
834
868
  onCanvasClick: import('../LikeC4Diagram.props').OnCanvasClick | null;
835
869
  onCanvasDblClick: import('../LikeC4Diagram.props').OnCanvasClick | null;
836
- onEditorCommand: import('../LikeC4Diagram.props').OnEditorCommand | null;
870
+ onBurgerMenuClick: (() => void) | null;
871
+ onOpenSourceView: (() => void) | null;
872
+ onOpenSourceElement: ((fqn: Fqn) => void) | null;
873
+ onOpenSourceRelation: ((id: import('@likec4/core').RelationID) => void) | null;
837
874
  readonly storeDevId: string;
838
875
  xynodes: XYFlowNode[];
839
876
  xyedges: {
@@ -894,7 +931,7 @@ export declare function createDiagramStore<T extends Exact<DiagramInitialState,
894
931
  setLastClickedEdge: (edgeId: string | null) => void;
895
932
  resetLastClicked: () => void;
896
933
  getElement: (id: Fqn) => DiagramNode | null;
897
- triggerChangeElementStyle: (change: Changes.ChangeElementStyle) => void;
934
+ triggerChangeElementStyle: (change: ViewChange.ChangeElementStyle) => void;
898
935
  cancelSaveManualLayout: () => boolean;
899
936
  scheduleSaveManualLayout: () => void;
900
937
  triggerSaveManualLayout: () => void;
@@ -940,6 +977,7 @@ export declare function createDiagramStore<T extends Exact<DiagramInitialState,
940
977
  view: DiagramView;
941
978
  readonly: boolean;
942
979
  showElementLinks: boolean;
980
+ showNavigationButtons: boolean;
943
981
  fitViewEnabled: boolean;
944
982
  fitViewPadding: number;
945
983
  zoomable: boolean;
@@ -949,6 +987,7 @@ export declare function createDiagramStore<T extends Exact<DiagramInitialState,
949
987
  experimentalEdgeEditing: boolean;
950
988
  enableFocusMode: boolean;
951
989
  renderIcon: ElementIconRenderer | null;
990
+ whereFilter: WhereOperator<string, string> | null;
952
991
  enableDynamicViewWalkthrough: boolean;
953
992
  xyflow: XYFlowInstance;
954
993
  xystore: XYStoreApi;
@@ -962,7 +1001,10 @@ export declare function createDiagramStore<T extends Exact<DiagramInitialState,
962
1001
  onEdgeContextMenu: import('../LikeC4Diagram.props').OnEdgeClick | null;
963
1002
  onCanvasClick: import('../LikeC4Diagram.props').OnCanvasClick | null;
964
1003
  onCanvasDblClick: import('../LikeC4Diagram.props').OnCanvasClick | null;
965
- onEditorCommand: import('../LikeC4Diagram.props').OnEditorCommand | null;
1004
+ onBurgerMenuClick: (() => void) | null;
1005
+ onOpenSourceView: (() => void) | null;
1006
+ onOpenSourceElement: ((fqn: Fqn) => void) | null;
1007
+ onOpenSourceRelation: ((id: import('@likec4/core').RelationID) => void) | null;
966
1008
  readonly storeDevId: string;
967
1009
  xynodes: XYFlowNode[];
968
1010
  xyedges: {
@@ -1023,7 +1065,7 @@ export declare function createDiagramStore<T extends Exact<DiagramInitialState,
1023
1065
  setLastClickedEdge: (edgeId: string | null) => void;
1024
1066
  resetLastClicked: () => void;
1025
1067
  getElement: (id: Fqn) => DiagramNode | null;
1026
- triggerChangeElementStyle: (change: Changes.ChangeElementStyle) => void;
1068
+ triggerChangeElementStyle: (change: ViewChange.ChangeElementStyle) => void;
1027
1069
  cancelSaveManualLayout: () => boolean;
1028
1070
  scheduleSaveManualLayout: () => void;
1029
1071
  triggerSaveManualLayout: () => void;
@@ -1069,6 +1111,7 @@ export declare function createDiagramStore<T extends Exact<DiagramInitialState,
1069
1111
  view: DiagramView;
1070
1112
  readonly: boolean;
1071
1113
  showElementLinks: boolean;
1114
+ showNavigationButtons: boolean;
1072
1115
  fitViewEnabled: boolean;
1073
1116
  fitViewPadding: number;
1074
1117
  zoomable: boolean;
@@ -1078,6 +1121,7 @@ export declare function createDiagramStore<T extends Exact<DiagramInitialState,
1078
1121
  experimentalEdgeEditing: boolean;
1079
1122
  enableFocusMode: boolean;
1080
1123
  renderIcon: ElementIconRenderer | null;
1124
+ whereFilter: WhereOperator<string, string> | null;
1081
1125
  enableDynamicViewWalkthrough: boolean;
1082
1126
  xyflow: XYFlowInstance;
1083
1127
  xystore: XYStoreApi;
@@ -1091,7 +1135,10 @@ export declare function createDiagramStore<T extends Exact<DiagramInitialState,
1091
1135
  onEdgeContextMenu: import('../LikeC4Diagram.props').OnEdgeClick | null;
1092
1136
  onCanvasClick: import('../LikeC4Diagram.props').OnCanvasClick | null;
1093
1137
  onCanvasDblClick: import('../LikeC4Diagram.props').OnCanvasClick | null;
1094
- onEditorCommand: import('../LikeC4Diagram.props').OnEditorCommand | null;
1138
+ onBurgerMenuClick: (() => void) | null;
1139
+ onOpenSourceView: (() => void) | null;
1140
+ onOpenSourceElement: ((fqn: Fqn) => void) | null;
1141
+ onOpenSourceRelation: ((id: import('@likec4/core').RelationID) => void) | null;
1095
1142
  readonly storeDevId: string;
1096
1143
  xynodes: XYFlowNode[];
1097
1144
  xyedges: {
@@ -1152,7 +1199,7 @@ export declare function createDiagramStore<T extends Exact<DiagramInitialState,
1152
1199
  setLastClickedEdge: (edgeId: string | null) => void;
1153
1200
  resetLastClicked: () => void;
1154
1201
  getElement: (id: Fqn) => DiagramNode | null;
1155
- triggerChangeElementStyle: (change: Changes.ChangeElementStyle) => void;
1202
+ triggerChangeElementStyle: (change: ViewChange.ChangeElementStyle) => void;
1156
1203
  cancelSaveManualLayout: () => boolean;
1157
1204
  scheduleSaveManualLayout: () => void;
1158
1205
  triggerSaveManualLayout: () => void;
@@ -1196,4 +1243,6 @@ export declare function createDiagramStore<T extends Exact<DiagramInitialState,
1196
1243
  }>;
1197
1244
  }>), replace?: boolean | undefined, action?: A | undefined): void;
1198
1245
  }>;
1246
+ export type DiagramZustandStore = ReturnType<typeof createDiagramStore>;
1247
+ export type DiagramStoreApi = Readonly<Pick<DiagramZustandStore, 'getState' | 'setState' | 'subscribe'>>;
1199
1248
  export {};