@likec4/diagram 1.44.0 → 1.45.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 (134) hide show
  1. package/bundle/index.js +18160 -17671
  2. package/dist/LikeC4Diagram.js +7 -5
  3. package/dist/LikeC4Diagram.props.d.ts +9 -8
  4. package/dist/LikeC4Styles.js +0 -3
  5. package/dist/LikeC4View.d.ts +3 -3
  6. package/dist/LikeC4View.js +7 -3
  7. package/dist/ReactLikeC4.d.ts +2 -2
  8. package/dist/base/Base.d.ts +1 -1
  9. package/dist/base/updateEdges.js +25 -15
  10. package/dist/base/updateNodes.d.ts +14 -0
  11. package/dist/base/updateNodes.js +51 -18
  12. package/dist/base-primitives/Markdown.d.ts +30 -4
  13. package/dist/base-primitives/Markdown.js +3 -2
  14. package/dist/base-primitives/compound/CompoundActionButton.d.ts +3 -2
  15. package/dist/base-primitives/compound/CompoundDetailsButton.d.ts +3 -2
  16. package/dist/base-primitives/edge/EdgeActionButton.d.ts +3 -2
  17. package/dist/base-primitives/edge/EdgeContainer.d.ts +1 -1
  18. package/dist/base-primitives/edge/EdgeContainer.js +4 -1
  19. package/dist/base-primitives/edge/EdgeLabel.d.ts +2 -2
  20. package/dist/base-primitives/edge/EdgePath.js +24 -4
  21. package/dist/base-primitives/element/ElementActionButtons.d.ts +3 -2
  22. package/dist/base-primitives/element/ElementActionButtons.js +2 -2
  23. package/dist/base-primitives/element/ElementData.d.ts +3 -3
  24. package/dist/base-primitives/element/ElementData.js +13 -7
  25. package/dist/base-primitives/element/ElementDetailsButton.d.ts +3 -2
  26. package/dist/base-primitives/element/ElementDetailsButton.js +3 -0
  27. package/dist/base-primitives/element/ElementShape.js +5 -5
  28. package/dist/base-primitives/element/ElementTags.d.ts +6 -4
  29. package/dist/context/DiagramFeatures.d.ts +1 -0
  30. package/dist/context/TagStylesContext.js +1 -1
  31. package/dist/custom/hooks.d.ts +2 -2
  32. package/dist/custom/index.js +1 -1
  33. package/dist/hooks/index.d.ts +2 -1
  34. package/dist/hooks/useDiagramCompareLayout.js +7 -2
  35. package/dist/hooks/useLikeC4Project.d.ts +6 -1
  36. package/dist/hooks/useLikeC4Project.js +14 -2
  37. package/dist/hooks/useMediaPrint.d.ts +6 -0
  38. package/dist/likec4diagram/DiagramXYFlow.js +11 -6
  39. package/dist/likec4diagram/custom/edges/EdgeDrifts.d.ts +6 -0
  40. package/dist/likec4diagram/custom/edges/EdgeDrifts.js +38 -0
  41. package/dist/likec4diagram/custom/edges/RelationshipEdge.js +24 -14
  42. package/dist/likec4diagram/custom/edges/SequenceStepEdge.js +3 -1
  43. package/dist/likec4diagram/custom/edges/useControlPoints.js +3 -3
  44. package/dist/likec4diagram/custom/edges/useRelationshipEdgePath.js +5 -5
  45. package/dist/likec4diagram/custom/nodes/NodeDrifts.d.ts +6 -0
  46. package/dist/likec4diagram/custom/nodes/{ElementNodeDrifts.js → NodeDrifts.js} +8 -4
  47. package/dist/likec4diagram/custom/nodes/SequenceActorNode.js +4 -2
  48. package/dist/likec4diagram/custom/nodes/index.d.ts +1 -0
  49. package/dist/likec4diagram/custom/nodes/nodes.js +64 -23
  50. package/dist/likec4diagram/relationship-popover/RelationshipPopover.js +3 -3
  51. package/dist/likec4diagram/relationship-popover/actor.d.ts +1 -1
  52. package/dist/likec4diagram/state/DiagramActorProvider.d.ts +2 -2
  53. package/dist/likec4diagram/state/DiagramActorProvider.js +0 -1
  54. package/dist/likec4diagram/state/assign.d.ts +10 -6
  55. package/dist/likec4diagram/state/assign.js +17 -192
  56. package/dist/likec4diagram/state/createViewChange.js +15 -26
  57. package/dist/likec4diagram/state/diagram-api.d.ts +2 -6
  58. package/dist/likec4diagram/state/diagram-api.js +2 -10
  59. package/dist/likec4diagram/state/hotkeyActor.d.ts +0 -7
  60. package/dist/likec4diagram/state/hotkeyActor.js +1 -17
  61. package/dist/likec4diagram/state/machine.actions.d.ts +430 -746
  62. package/dist/likec4diagram/state/machine.actions.js +193 -284
  63. package/dist/likec4diagram/state/machine.actions.layout.d.ts +579 -0
  64. package/dist/likec4diagram/state/machine.actions.layout.js +129 -0
  65. package/dist/likec4diagram/state/machine.d.ts +17 -3712
  66. package/dist/likec4diagram/state/machine.js +59 -73
  67. package/dist/likec4diagram/state/machine.setup.d.ts +61 -18
  68. package/dist/likec4diagram/state/machine.setup.js +27 -5
  69. package/dist/likec4diagram/state/machine.state.initializing.d.ts +25 -0
  70. package/dist/likec4diagram/state/machine.state.initializing.js +5 -5
  71. package/dist/likec4diagram/state/machine.state.navigating.d.ts +5 -108
  72. package/dist/likec4diagram/state/machine.state.navigating.js +167 -34
  73. package/dist/likec4diagram/state/machine.state.ready.d.ts +2316 -2851
  74. package/dist/likec4diagram/state/machine.state.ready.focused.d.ts +386 -0
  75. package/dist/likec4diagram/state/machine.state.ready.focused.js +85 -0
  76. package/dist/likec4diagram/state/machine.state.ready.idle.d.ts +474 -0
  77. package/dist/likec4diagram/state/machine.state.ready.idle.js +96 -0
  78. package/dist/likec4diagram/state/machine.state.ready.js +144 -319
  79. package/dist/likec4diagram/state/machine.state.ready.printing.d.ts +128 -0
  80. package/dist/likec4diagram/state/machine.state.ready.printing.js +40 -0
  81. package/dist/likec4diagram/state/machine.state.ready.walkthrough.d.ts +511 -0
  82. package/dist/likec4diagram/state/machine.state.ready.walkthrough.js +177 -0
  83. package/dist/likec4diagram/state/mediaPrintActor.d.ts +12 -0
  84. package/dist/likec4diagram/state/mediaPrintActor.js +18 -0
  85. package/dist/likec4diagram/state/syncManualLayoutActor.d.ts +6 -240
  86. package/dist/likec4diagram/state/syncManualLayoutActor.js +150 -89
  87. package/dist/likec4diagram/state/types.d.ts +5 -7
  88. package/dist/likec4diagram/state/utils.d.ts +15 -2
  89. package/dist/likec4diagram/state/utils.js +43 -3
  90. package/dist/likec4diagram/types.d.ts +8 -13
  91. package/dist/likec4diagram/ui/notation/NotationPanel.css.js +5 -2
  92. package/dist/likec4diagram/useLayoutConstraints.js +107 -102
  93. package/dist/likec4diagram/xyflow-diagram/diagram-view.js +12 -15
  94. package/dist/likec4diagram/xyflow-sequence/sequence-layout.js +11 -8
  95. package/dist/navigationpanel/NavigationPanel.js +5 -1
  96. package/dist/navigationpanel/actor.d.ts +4 -204
  97. package/dist/navigationpanel/actor.js +1 -1
  98. package/dist/navigationpanel/controls/ToggleReadonly.js +8 -3
  99. package/dist/navigationpanel/walkthrough/DynamicViewControls.d.ts +66 -66
  100. package/dist/navigationpanel/walkthrough/WalkthroughPanel.js +4 -3
  101. package/dist/overlays/element-details/ElementDetailsCard.css.js +3 -3
  102. package/dist/overlays/element-details/MetadataValue.d.ts +2 -1
  103. package/dist/overlays/element-details/actor.d.ts +8 -83
  104. package/dist/overlays/element-details/actor.js +0 -8
  105. package/dist/overlays/overlay/Overlay.js +10 -10
  106. package/dist/overlays/overlaysActor.d.ts +7 -392
  107. package/dist/overlays/overlaysActor.js +67 -46
  108. package/dist/overlays/relationship-details/_types.d.ts +3 -4
  109. package/dist/overlays/relationship-details/actor.d.ts +6 -562
  110. package/dist/overlays/relationship-details/actor.js +1 -0
  111. package/dist/overlays/relationship-details/layout-to-xyflow.js +3 -5
  112. package/dist/overlays/relationship-details/layout.d.ts +3 -3
  113. package/dist/overlays/relationship-details/layout.js +4 -4
  114. package/dist/overlays/relationships-browser/_types.d.ts +2 -3
  115. package/dist/overlays/relationships-browser/actor.d.ts +7 -739
  116. package/dist/overlays/relationships-browser/layout.d.ts +2 -2
  117. package/dist/overlays/relationships-browser/layout.js +3 -3
  118. package/dist/overlays/relationships-browser/useViewToNodesEdges.js +0 -3
  119. package/dist/overlays/types.d.ts +12 -13
  120. package/dist/search/components/_shared.css.d.ts +1 -1
  121. package/dist/search/searchActor.d.ts +3 -66
  122. package/dist/shadowroot/ShadowRoot.d.ts +5 -7
  123. package/dist/shadowroot/ShadowRoot.js +7 -5
  124. package/dist/styles.css2.js +1 -1
  125. package/dist/utils/vector.d.ts +5 -0
  126. package/dist/utils/vector.js +7 -0
  127. package/dist/utils/view-bounds.js +7 -6
  128. package/dist/utils/xyflow.d.ts +4 -2
  129. package/dist/utils/xyflow.js +18 -50
  130. package/package.json +19 -18
  131. package/panda.buildinfo.json +17 -5
  132. package/styles-min.css +1 -1
  133. package/styles.css +1 -1
  134. package/dist/likec4diagram/custom/nodes/ElementNodeDrifts.d.ts +0 -4
@@ -0,0 +1,386 @@
1
+ import { CancelAction, StopAction, GuardPredicate, ActionFunction, Values } from 'xstate';
2
+ import { Context, Events, EmittedEvents } from './machine.setup';
3
+ import { NormalizeGuardArgArray } from 'xstate/guards';
4
+ import { SyncLayoutActorLogic } from './syncManualLayoutActor';
5
+ import { HotkeyActorLogic } from './hotkeyActor';
6
+ import { OverlaysActorLogic } from '../../overlays/overlaysActor';
7
+ import { SearchActorLogic } from '../../search/searchActor';
8
+ import { MediaPrintActorLogic } from './mediaPrintActor';
9
+ export declare const focused: {
10
+ id: string;
11
+ entry: CancelAction<Context, Events, undefined, Events>[];
12
+ exit: StopAction<Context, Events, undefined, Events>[];
13
+ on: {
14
+ 'xyflow.nodeClick': ({
15
+ guard: GuardPredicate<Context, {
16
+ type: "xyflow.nodeClick";
17
+ node: import("../types").Types.Node;
18
+ }, unknown, NormalizeGuardArgArray<["enabled: ElementDetails", "click: focused node", "click: node has modelFqn"]>>;
19
+ actions: ActionFunction<Context, Events, Events, undefined, Values<{
20
+ syncManualLayoutActorLogic: {
21
+ src: "syncManualLayoutActorLogic";
22
+ logic: SyncLayoutActorLogic;
23
+ id: "syncLayout";
24
+ };
25
+ hotkeyActorLogic: {
26
+ src: "hotkeyActorLogic";
27
+ logic: HotkeyActorLogic;
28
+ id: "hotkey";
29
+ };
30
+ overlaysActorLogic: {
31
+ src: "overlaysActorLogic";
32
+ logic: OverlaysActorLogic;
33
+ id: "overlays";
34
+ };
35
+ searchActorLogic: {
36
+ src: "searchActorLogic";
37
+ logic: SearchActorLogic;
38
+ id: "search";
39
+ };
40
+ mediaPrintActorLogic: {
41
+ src: "mediaPrintActorLogic";
42
+ logic: MediaPrintActorLogic;
43
+ id: "mediaPrint";
44
+ };
45
+ }>, never, Values<{
46
+ isReady: {
47
+ type: "isReady";
48
+ params: unknown;
49
+ };
50
+ "enabled: FitView": {
51
+ type: "enabled: FitView";
52
+ params: unknown;
53
+ };
54
+ "enabled: FocusMode": {
55
+ type: "enabled: FocusMode";
56
+ params: unknown;
57
+ };
58
+ "enabled: Readonly": {
59
+ type: "enabled: Readonly";
60
+ params: unknown;
61
+ };
62
+ "enabled: RelationshipDetails": {
63
+ type: "enabled: RelationshipDetails";
64
+ params: unknown;
65
+ };
66
+ "enabled: Search": {
67
+ type: "enabled: Search";
68
+ params: unknown;
69
+ };
70
+ "enabled: ElementDetails": {
71
+ type: "enabled: ElementDetails";
72
+ params: unknown;
73
+ };
74
+ "enabled: OpenSource": {
75
+ type: "enabled: OpenSource";
76
+ params: unknown;
77
+ };
78
+ "enabled: DynamicViewWalkthrough": {
79
+ type: "enabled: DynamicViewWalkthrough";
80
+ params: unknown;
81
+ };
82
+ "enabled: Overlays": {
83
+ type: "enabled: Overlays";
84
+ params: unknown;
85
+ };
86
+ "not readonly": {
87
+ type: "not readonly";
88
+ params: unknown;
89
+ };
90
+ "is dynamic view": {
91
+ type: "is dynamic view";
92
+ params: unknown;
93
+ };
94
+ "is another view": {
95
+ type: "is another view";
96
+ params: unknown;
97
+ };
98
+ "click: node has modelFqn": {
99
+ type: "click: node has modelFqn";
100
+ params: unknown;
101
+ };
102
+ "click: selected node": {
103
+ type: "click: selected node";
104
+ params: unknown;
105
+ };
106
+ "click: same node": {
107
+ type: "click: same node";
108
+ params: unknown;
109
+ };
110
+ "click: focused node": {
111
+ type: "click: focused node";
112
+ params: unknown;
113
+ };
114
+ "click: node has connections": {
115
+ type: "click: node has connections";
116
+ params: unknown;
117
+ };
118
+ "click: selected edge": {
119
+ type: "click: selected edge";
120
+ params: unknown;
121
+ };
122
+ }>, never, EmittedEvents>[];
123
+ target?: never;
124
+ } | {
125
+ guard: "click: focused node";
126
+ actions: ( ActionFunction<Context, Events, Events, undefined, Values<{
127
+ syncManualLayoutActorLogic: {
128
+ src: "syncManualLayoutActorLogic";
129
+ logic: SyncLayoutActorLogic;
130
+ id: "syncLayout";
131
+ };
132
+ hotkeyActorLogic: {
133
+ src: "hotkeyActorLogic";
134
+ logic: HotkeyActorLogic;
135
+ id: "hotkey";
136
+ };
137
+ overlaysActorLogic: {
138
+ src: "overlaysActorLogic";
139
+ logic: OverlaysActorLogic;
140
+ id: "overlays";
141
+ };
142
+ searchActorLogic: {
143
+ src: "searchActorLogic";
144
+ logic: SearchActorLogic;
145
+ id: "search";
146
+ };
147
+ mediaPrintActorLogic: {
148
+ src: "mediaPrintActorLogic";
149
+ logic: MediaPrintActorLogic;
150
+ id: "mediaPrint";
151
+ };
152
+ }>, never, never, never, never> | ActionFunction<Context, Events, Events, undefined, never, never, never, never, EmittedEvents>)[];
153
+ target: string;
154
+ } | {
155
+ actions: ( ActionFunction<Context, Events, Events, undefined, Values<{
156
+ syncManualLayoutActorLogic: {
157
+ src: "syncManualLayoutActorLogic";
158
+ logic: SyncLayoutActorLogic;
159
+ id: "syncLayout";
160
+ };
161
+ hotkeyActorLogic: {
162
+ src: "hotkeyActorLogic";
163
+ logic: HotkeyActorLogic;
164
+ id: "hotkey";
165
+ };
166
+ overlaysActorLogic: {
167
+ src: "overlaysActorLogic";
168
+ logic: OverlaysActorLogic;
169
+ id: "overlays";
170
+ };
171
+ searchActorLogic: {
172
+ src: "searchActorLogic";
173
+ logic: SearchActorLogic;
174
+ id: "search";
175
+ };
176
+ mediaPrintActorLogic: {
177
+ src: "mediaPrintActorLogic";
178
+ logic: MediaPrintActorLogic;
179
+ id: "mediaPrint";
180
+ };
181
+ }>, never, never, never, never> | ActionFunction<Context, Events, Events, undefined, never, never, never, never, EmittedEvents> | ActionFunction<Context, {
182
+ type: "xyflow.nodeClick";
183
+ node: import("../types").Types.Node;
184
+ }, Events, undefined, never, never, never, never, never>)[];
185
+ guard?: never;
186
+ target?: never;
187
+ })[];
188
+ 'focus.node': {
189
+ actions: ActionFunction<Context, Events, Events, undefined, Values<{
190
+ syncManualLayoutActorLogic: {
191
+ src: "syncManualLayoutActorLogic";
192
+ logic: SyncLayoutActorLogic;
193
+ id: "syncLayout";
194
+ };
195
+ hotkeyActorLogic: {
196
+ src: "hotkeyActorLogic";
197
+ logic: HotkeyActorLogic;
198
+ id: "hotkey";
199
+ };
200
+ overlaysActorLogic: {
201
+ src: "overlaysActorLogic";
202
+ logic: OverlaysActorLogic;
203
+ id: "overlays";
204
+ };
205
+ searchActorLogic: {
206
+ src: "searchActorLogic";
207
+ logic: SearchActorLogic;
208
+ id: "search";
209
+ };
210
+ mediaPrintActorLogic: {
211
+ src: "mediaPrintActorLogic";
212
+ logic: MediaPrintActorLogic;
213
+ id: "mediaPrint";
214
+ };
215
+ }>, never, Values<{
216
+ isReady: {
217
+ type: "isReady";
218
+ params: unknown;
219
+ };
220
+ "enabled: FitView": {
221
+ type: "enabled: FitView";
222
+ params: unknown;
223
+ };
224
+ "enabled: FocusMode": {
225
+ type: "enabled: FocusMode";
226
+ params: unknown;
227
+ };
228
+ "enabled: Readonly": {
229
+ type: "enabled: Readonly";
230
+ params: unknown;
231
+ };
232
+ "enabled: RelationshipDetails": {
233
+ type: "enabled: RelationshipDetails";
234
+ params: unknown;
235
+ };
236
+ "enabled: Search": {
237
+ type: "enabled: Search";
238
+ params: unknown;
239
+ };
240
+ "enabled: ElementDetails": {
241
+ type: "enabled: ElementDetails";
242
+ params: unknown;
243
+ };
244
+ "enabled: OpenSource": {
245
+ type: "enabled: OpenSource";
246
+ params: unknown;
247
+ };
248
+ "enabled: DynamicViewWalkthrough": {
249
+ type: "enabled: DynamicViewWalkthrough";
250
+ params: unknown;
251
+ };
252
+ "enabled: Overlays": {
253
+ type: "enabled: Overlays";
254
+ params: unknown;
255
+ };
256
+ "not readonly": {
257
+ type: "not readonly";
258
+ params: unknown;
259
+ };
260
+ "is dynamic view": {
261
+ type: "is dynamic view";
262
+ params: unknown;
263
+ };
264
+ "is another view": {
265
+ type: "is another view";
266
+ params: unknown;
267
+ };
268
+ "click: node has modelFqn": {
269
+ type: "click: node has modelFqn";
270
+ params: unknown;
271
+ };
272
+ "click: selected node": {
273
+ type: "click: selected node";
274
+ params: unknown;
275
+ };
276
+ "click: same node": {
277
+ type: "click: same node";
278
+ params: unknown;
279
+ };
280
+ "click: focused node": {
281
+ type: "click: focused node";
282
+ params: unknown;
283
+ };
284
+ "click: node has connections": {
285
+ type: "click: node has connections";
286
+ params: unknown;
287
+ };
288
+ "click: selected edge": {
289
+ type: "click: selected edge";
290
+ params: unknown;
291
+ };
292
+ }>, never, EmittedEvents>[];
293
+ };
294
+ 'key.esc': {
295
+ target: string;
296
+ };
297
+ 'xyflow.paneClick': {
298
+ actions: ( ActionFunction<Context, Events, Events, undefined, Values<{
299
+ syncManualLayoutActorLogic: {
300
+ src: "syncManualLayoutActorLogic";
301
+ logic: SyncLayoutActorLogic;
302
+ id: "syncLayout";
303
+ };
304
+ hotkeyActorLogic: {
305
+ src: "hotkeyActorLogic";
306
+ logic: HotkeyActorLogic;
307
+ id: "hotkey";
308
+ };
309
+ overlaysActorLogic: {
310
+ src: "overlaysActorLogic";
311
+ logic: OverlaysActorLogic;
312
+ id: "overlays";
313
+ };
314
+ searchActorLogic: {
315
+ src: "searchActorLogic";
316
+ logic: SearchActorLogic;
317
+ id: "search";
318
+ };
319
+ mediaPrintActorLogic: {
320
+ src: "mediaPrintActorLogic";
321
+ logic: MediaPrintActorLogic;
322
+ id: "mediaPrint";
323
+ };
324
+ }>, never, never, never, never> | ActionFunction<Context, Events, Events, undefined, never, never, never, never, EmittedEvents>)[];
325
+ target: string;
326
+ };
327
+ 'notations.unhighlight': {
328
+ actions: ActionFunction<Context, Events, Events, undefined, Values<{
329
+ syncManualLayoutActorLogic: {
330
+ src: "syncManualLayoutActorLogic";
331
+ logic: SyncLayoutActorLogic;
332
+ id: "syncLayout";
333
+ };
334
+ hotkeyActorLogic: {
335
+ src: "hotkeyActorLogic";
336
+ logic: HotkeyActorLogic;
337
+ id: "hotkey";
338
+ };
339
+ overlaysActorLogic: {
340
+ src: "overlaysActorLogic";
341
+ logic: OverlaysActorLogic;
342
+ id: "overlays";
343
+ };
344
+ searchActorLogic: {
345
+ src: "searchActorLogic";
346
+ logic: SearchActorLogic;
347
+ id: "search";
348
+ };
349
+ mediaPrintActorLogic: {
350
+ src: "mediaPrintActorLogic";
351
+ logic: MediaPrintActorLogic;
352
+ id: "mediaPrint";
353
+ };
354
+ }>, never, never, never, never>;
355
+ };
356
+ 'tag.unhighlight': {
357
+ actions: ActionFunction<Context, Events, Events, undefined, Values<{
358
+ syncManualLayoutActorLogic: {
359
+ src: "syncManualLayoutActorLogic";
360
+ logic: SyncLayoutActorLogic;
361
+ id: "syncLayout";
362
+ };
363
+ hotkeyActorLogic: {
364
+ src: "hotkeyActorLogic";
365
+ logic: HotkeyActorLogic;
366
+ id: "hotkey";
367
+ };
368
+ overlaysActorLogic: {
369
+ src: "overlaysActorLogic";
370
+ logic: OverlaysActorLogic;
371
+ id: "overlays";
372
+ };
373
+ searchActorLogic: {
374
+ src: "searchActorLogic";
375
+ logic: SearchActorLogic;
376
+ id: "search";
377
+ };
378
+ mediaPrintActorLogic: {
379
+ src: "mediaPrintActorLogic";
380
+ logic: MediaPrintActorLogic;
381
+ id: "mediaPrint";
382
+ };
383
+ }>, never, never, never, never>;
384
+ };
385
+ };
386
+ };
@@ -0,0 +1,85 @@
1
+ import { focusOnNodesAndEdges, resetLastClickedNode, emitPaneClick, assignFocusedNode, openSourceOfFocusedOrLastClickedNode, assignLastClickedNode, openElementDetails, emitNodeClick, stopHotKeyActor, undimEverything, startHotKeyActor } from './machine.actions.js';
2
+ import { machine, targetState } from './machine.setup.js';
3
+ import { fitFocusedBounds, returnViewportBefore, cancelFitDiagram, assignViewportBefore } from './machine.actions.layout.js';
4
+ import { x as xstateGuards_cjsExports } from '../../_virtual/xstate-guards.cjs.js';
5
+ import { x as xstateActions_cjsExports } from '../../_virtual/xstate-actions.cjs.js';
6
+
7
+ const focused = machine.createStateConfig({
8
+ id: targetState.focused.slice(1),
9
+ entry: [
10
+ cancelFitDiagram(),
11
+ focusOnNodesAndEdges(),
12
+ assignViewportBefore(),
13
+ openSourceOfFocusedOrLastClickedNode(),
14
+ startHotKeyActor(),
15
+ fitFocusedBounds()
16
+ ],
17
+ exit: [
18
+ stopHotKeyActor(),
19
+ undimEverything(),
20
+ returnViewportBefore(),
21
+ machine.assign({
22
+ focusedNode: null
23
+ })
24
+ ],
25
+ on: {
26
+ "xyflow.nodeClick": [
27
+ {
28
+ guard: xstateGuards_cjsExports.and([
29
+ "enabled: ElementDetails",
30
+ "click: focused node",
31
+ "click: node has modelFqn"
32
+ ]),
33
+ actions: [
34
+ assignLastClickedNode(),
35
+ openElementDetails(),
36
+ emitNodeClick()
37
+ ]
38
+ },
39
+ {
40
+ guard: "click: focused node",
41
+ actions: [
42
+ assignLastClickedNode(),
43
+ emitNodeClick()
44
+ ],
45
+ target: targetState.idle
46
+ },
47
+ {
48
+ actions: [
49
+ assignLastClickedNode(),
50
+ xstateActions_cjsExports.raise(({ event }) => ({
51
+ type: "focus.node",
52
+ nodeId: event.node.id
53
+ })),
54
+ emitNodeClick()
55
+ ]
56
+ }
57
+ ],
58
+ "focus.node": {
59
+ actions: [
60
+ assignFocusedNode(),
61
+ focusOnNodesAndEdges(),
62
+ openSourceOfFocusedOrLastClickedNode(),
63
+ fitFocusedBounds()
64
+ ]
65
+ },
66
+ "key.esc": {
67
+ target: targetState.idle
68
+ },
69
+ "xyflow.paneClick": {
70
+ actions: [
71
+ resetLastClickedNode(),
72
+ emitPaneClick()
73
+ ],
74
+ target: targetState.idle
75
+ },
76
+ "notations.unhighlight": {
77
+ actions: focusOnNodesAndEdges()
78
+ },
79
+ "tag.unhighlight": {
80
+ actions: focusOnNodesAndEdges()
81
+ }
82
+ }
83
+ });
84
+
85
+ export { focused };